palacsint blogja

Catan telepesei tapasztalatok II.

Összejött megint egy adag a játék közben felírt félmondatos észrevételekből.

A legfontosabb, hogy nagyrészt pszichológia a játék. Főleg ha nem profikkal játszik az ember. Sokat segíthet a nyerésben, ha sosem mi vagyunk az elsők, mindig le vagyunk maradva fél lépéssel az első után. A leghosszabb út után eggyel, nem fejlesztjük ki idő előtt a metropoliszokat, vagy épp nem kapunk véletlenül +1 pontos fejlesztéskártyát, nem vesszük el egy egy-két ponttal előttünk járó ellenféltől a kereskedőt (amivel ugyanannyi vagy több pontunk lesz, mint neki).

Sokan csak a pontok számát nézik, ha odébb kell rakni a rablót, azt már nem, hogy milyen kilátásai vannak az illetőnek: elvesztette épp a városát az első támadásnál, van-e egy rakat városfejlesztése és már csak hajszál választja el egy, esetleg két metropolisztól, csak egy utat kell építenie, hogy összekösse az útjait, amivel végleg megszerzi a Leghosszabb út kártyát. Vagy esetleg egy árva aktivált lovag és búzamező melletti település nélkül kallódik, miközben a barbárok már csak egy-két lépésre vannak a támadástól, és a többiek se igen fogják megmenteni a városát, városait.

A fentiek egyébként jó lista ahhoz is, hogy mit érdemes figyelni. Egy kezdő ezek miatt könnyen királyválasztó lehet, ha mindig csak a pontok alapján ítél. Nem mindenki játszik racionálisan, és nem is mindig könnyű racionálisan dönteni.

Konkrétumok alább:

  • Ha van 2:1-es kikötőd, akkor cserélj legalább első szintű commoditykre mielőbb. A kezdésnél is érdemesebb a várost commodityt termelő helyre tenni, a falut meg lehetőleg tégla és búza mellé, mert azok nem adnak ilyet, de attól függetlenül még szükség van rájuk.
  • Ha a könyves városfejlesztésből hármas szinten vagy, akkor a rablót nyugodtan rakhatod magadhoz is egy olyan mezőre, aminek a számából csak az az egy van, és falud van mellette. Akár lehet ez hatos-nyolcas is. Ha ilyet dobtok, akkor kérhetsz egy kártyát, ami bármilyen lehet, nem csak a mező által adott nyersanyag. Persze még jobb, ha ezzel akadályozol egy ellenfelet is (akinek városa van a hatos mellett, vagy van más hatosa is, így ő nem tud ilyen vízvezetékes kártyát kérni ilyenkor, illetve nincs hármas szinten a könyves fejlesztése), és tudsz kártyát is húzni a rabló mozgatásakor.
  • A Remove a road kártyát ne a Weedding előtt játsszuk ki, ha elveszti ezzel a leghosszabb út után járó plusz két pontját az ellenfél.
  • Harbor kijátszásakor lehetőleg ne olyan kártyát adjunk az ellenfélnek: amilyen mező mellett nincs települése; amihez van 2:1-es kereskedelme; amelyik mezőjén a kereskedő áll.
  • Ha 17 ponting megy a játék, akkor nagyon nagy szerepe van a Catan megmentője kártyáknak.
  • Először játszd ki a mindenféle monopoly, két érc/gabona mezőnként kártyákat, csak utána építkezz-fejlessz. Így nehezebb a többieknek nyomon követni, hogy épp milyen lapjaid vannak. Ráadásul a monopolynál nem is tudhatod biztosan előre, hogy hány lapot fogsz kapni.
  • A Dice control kártyával lehet hetest is dobni. Átrakhatod a rablót magadtól, meg akár meg is szívathatod a többieket, ha el kell dobniuk a lapjaik felét.
  • Wedding vagy Master Merchant először? Wedding. Először kapsz két lapot véletlenszerűen (az ellenfél választja), majd húzhatsz még kettőt, ami passzol az ellenfél által választott lapokhoz. Fordítva, ha okos az ellenfél, olyat fog adni, amivel a legkevésbé segít összegyűjteni egy városra, falura, vagy másra valót.
  • Ugyanígy Move robber + Wedding esetén a Wedding kártyát először kijátszva az ellenfél magának tartogatott jobb lapjai közül húzhatsz, és az ellenfélnek kevesebb beleszólása van a történésekbe, mint fordított esetben.
  • Ha csak olyan helyre tudnád lerakni az ellopandó lovagot, ahova építkezni is akarsz, akkor nem biztos, hogy érdemes ellopni azt a lovagot. Persze gondolni kell arra is, hogy vajon van-e valamelyik ellenfélnek Spy kártyája, illetve kaphat-e a következő körben olyat.
  • Control Dice és Master Merchant vagy Monopoly: Dobj olyat, ami az ellenségnek is jó, majd szedd el tőle az épp most kapott lapokat.
  • Egy még nagyobb szemétség: Cserélj az ellenféllel, adj neki valami ritka kártyát, majd „kérd vissza” monopolyval.
  • Ha az első körben semmi esélyed megvédeni a városod a barbároktól, akkor legalább a városfejlesztést kezd el. Később jól tudnak jönni a fejlesztőkártyák. Mondjuk egy Cheap City sokat segíthet, vagy egy-egy monopoly, esetleg kereskedő.
  • A hatos vagy nyolcas választható mező sokkal-sokkal nagyobb értéket képvisel, mint az ötös-kilences, mert utóbbit rögtön elviszik a számcserélős kártyával az ellenfelek, ha van rá lehetőségük.

Pár nagyon alap dolog:

  • Ha valaki már ötödik szintre fejlesztett egy commodityt, akkor majdnem felesleges arra gyúrni, hogy neked is meglegyen. Főleg ha ezzel az erővel megszerezhetnél egy másik metropoliszt.
  • Ha az ellenfél nyolcas legelőjére akarod rakni a rablót, amiből van neki kettő is, és egyik mellett sincs semmilyen lovagja, akkor azt válaszd, amelyik mellett városa van, nem faluja.

Hét félév

A korábbi költségtérítéses anomáliák után eléggé meglepett, hogy több kieges ismerősöm is kapott olyan levelet a villanykartól, amelyben arra hívják fel a figyelmüket, hogy mivel hagyományos képzésben végeztek az csak hét félévnek számít (akármeddig is jártak az egyetemre), így még van öt államilag finanszírozott félévük egy MSc-t végezni. Rákérdeztek, főiskola ide, főiskola oda, tényleg komolyan gondolják.

6 + 6 félév után még 5. Szumma 17. Csak sietni kell vele, mert már talán egy hét sincs hátra a jelentkezési határidőig. Ja, és korábbi tárgyakat is elfogadhatnak, vagy ilyesmi.

SCWCD jegyzetek

A Sun Certified Web Component Developer vizsga hasonló volt, mint az SCJP. Lentebb a múltkorihoz hasonló jegyzet néhány dologról, ami eszembe jutott tanulás közben, kérdezték valamelyik tesztkérdésben, érdemes megjegyezni, vagy épp elrontottam a valamelyik feladatban. Az angol szövegek többnyire javadoc-ból származnak, a gyakorlatiasabb dolgok pedig Tomcat 6 alatt kipróbált tesztek eredményeként.

A lista pontjait az általam használt Charles Lyons-féle SCWCD Study Companion (2nd Edition) c. könyv fejezetei alapján csoportosítottam. A web.xml-es és TLD-s részeknél néhol az XML elemek neveivel egybeírtam az előfordulásaiknak lehetséges számát is (?; 1; +; *).

Az előbbi könyvön kívül érdemes belenézni a Head First Servlets and JSP-be is, mert volt pár apróság, amiről az egyik könyv biztosan állította, hogy nem lesz vizsgán, miközben azt a másik úgy tárgyalta, mint rendes vizsgaanyag - és fordítva is. A Head First utolsó száz oldala ráadásul egy teljes tesztvizsga. Ehhez viszont ajánlott a webes hibajegyzéket is átvezetni a könyvbe, mert sajnos elég sok elírás van benne.

Lesz fsck a következő újraindításnál?

Épp összedobtam a fenti problémára egy shell szkriptet, aztán találtam egy kész megoldást: showfsck. A karmic-os Ubuntu csomag működik Debian alatt is. Egyébkén ez is csak egy egyszerű shell szkript, a csomagból kiszedve valószínűleg más rendszerek alatt is gond nélkül futtatható.

Szerintem érdemes berakni crontabba, így minden újraindítás után kapunk egy levelet az aktuális helyzetről.

# cat /etc/cron.d/showfsck 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

@reboot         root    /usr/sbin/showfsck

KOrganizer -> Evolution migráció

Fájl menü, Importálás, Előre, Egyetlen fájl importálása, Előre, Fájlnév: ~/.kde/share/apps/korganizer/std.ics, Megnyitás, Fájltípus: iCalendar fájlok, Előre, Előre, Importálás.

Ezen kívül a ~/.kde/share/apps/korganizer könyvtárban még volt néhány üres könyvtár. Ezekkel nem foglalkoztam. Elképzelhető, hogy csak valamilyen általam nem használt funkció miatt voltak csak üresek, és adott esetben ezeket külön kell migrálni.

SMART adatok rendszeres naplózása

A korábbi winchesterlistás bejegyzés továbbfejlesztett változata a következő két szkript. Az első a SMART értékeket fájlba naplózza, a második pedig e-mailben küldi őket. Debian alatt a /etc/cron.daily, cron.weekly, stb. mappába megfelelő helyük van.

smartlog:

#!/bin/bash
# smart data log script by palacsint, v1.0
# http://palacsint.hu/
# 2009. 11. 18.

DATE=$(date +%Y-%m-%d)
LOGDIR=/var/log/smart/
SMARTCTL=/usr/sbin/smartctl

if [ ! -x $SMARTCTL ]
then
    echo "error: $SMARTCTL not found"
    exit 1;
fi

#grep 0 /sys/block/{sd*,hd*}/removable | awk -F"/" '{print $4}' | while read DEVICE
grep 0 /sys/block/sd*/removable | awk -F"/" '{print $4}' | while read DEVICE
do
    DEVFILE=/dev/${DEVICE}
    if [ ! -b $DEVFILE ]
    then
	echo "${DEVFILE}: is not a block file"
	continue;
    fi

    LOGFILE="${LOGDIR}${DATE}-${DEVICE}.log"
    $SMARTCTL -a -d ata /dev/${DEVICE} > $LOGFILE
done

smartmail:

#!/bin/bash

# smart data mail script by palacsint, v1.0
# http://palacsint.hu
# 2009. 11. 18.

DATE=$(date +%Y-%m-%d)
SMARTCTL=/usr/sbin/smartctl
MAILADDR="miki@localhost"

if [ ! -x $SMARTCTL ]
then
    echo "error: $SMARTCTL not found"
    exit 1;
fi

#grep 0 /sys/block/{sd*,hd*}/removable | awk -F"/" '{print $4}' | while read DEVICE
grep 0 /sys/block/{sd*}/removable | awk -F"/" '{print $4}' | while read DEVICE
do
    DEVFILE=/dev/${DEVICE}
    if [ ! -b $DEVFILE ]
    then
	echo "${DEVFILE}: is not a block file"
	continue;
    fi

    $SMARTCTL -a -d ata /dev/${DEVICE} | mail -s "smartctl - ${DEVICE} - ${DATE}" $MAILADDR
done

Középtájon van egy kikommentezett sor, ami akkor hasznos, ha nem csak sd* lemezek vannak a rendszerben.

Szabad Szoftver Konferencia és Kiállítás 2009

Szintén pontokba szedve pár gondolat:

  • Ami eddig elkerülte a figyelmem: FLOSSZine. Magyar.
  • dd if=/dev/zero of=testfile bs=1 count=1 seek=1048576k - Így pillanatok alatt lesz egy 1 gigabájtos fájlunk, tele nullákkal, az ext3 ritka fájl tulajdonságának köszönhetően.
  • „állatkert ábra” – tagfelhő
  • Érdemes lehet az adatokat JSON-ban, kicsomagolva tárolni a gyorsabb olvasás végett.
  • Egy egész jó ötlet: http://fixme.hu/uds
  • Az LVM-et lehet snapshot-olni. Mentésekhez egész kényelmes lehet.

Akadozó stream-ek mentése

Egy apró shell szkript, amely mindenféle, időnként megszakadó stream felvételére használható.

#!/bin/bash

URL=$1
while true
do
    DATE=`date +%Y%m%d_%H_%M_%S_%N`
    mplayer -dumpstream "$URL" -dumpfile ${DATE}.dump
    sleep 2
done

A kimenete elég sok fájl lesz, de cserébe akár ssh-n, X nélkül is futtatható.

JavaScript alert() végtelen ciklusban

Kissé vicces, hogy egy olyan DoS támadásra nem nyújt védelmet a Firefox, amiért már nyolc-kilenc éve is kitiltás járt az akkori IRC csatornáinkról. A címből már valószínűleg kiderült, a végtelen alert() JavaScript hívások sorozatáról van szó. A Google Chrome egész okosan megoldotta:

Kis keresgélés után két ilyen kiegészítőt találtam a Firefox-hoz: AlertCheck, AlertStopper.

Ha viszont már megtörtént a baj, és a meglévő munkamenetünket, megnyitott füleket sem akarjuk elveszteni, akkor a következő talán segíthet:

  • Nyiss egy új Firefox ablakot, és telepítsd fel a NoScriptet, vagy esetleg a fenti két kiegészítő egyikét.
  • Tűzfallal tiltsd le a problémás oldal hostját, IP címét.

Ha ezek közül megvan valamelyik, akkor Windows alatt a feladatkezelővel, Linux alatt pedig egy megfelelően paraméterezett kill paranccsal lődd ki a Firefox processzét. Újraindítás után remélhetőleg betölthető marad a összeomlott munkamenet, de NoScript esetén már nem fognak lefutni a JavaScriptek, tűzfalas tiltás esetén pedig a problémás oldal nem fog betöltődni. Ez utóbbit nem próbáltam. A tűzróka esetleg előhúzhatja a gyorsítótárból az oldal tartalmát, de ilyenkor a megnyitott új ablakban törölhető a cache tartalma is.

Hacktivity 2009

Három év és két kihagyott Hacktivity után idén ismét kimentem a rendezvényre. Most nézem a lemaradást. Voltak érdekes dolgok. Azt pedig már el is felejtettem, hogy ilyenkor mindig megdobják az ember egy táskányi marketinganyaggal. Még jó, hogy hoztam hátizsákot, mert kézben nem sok kedvem lett volna egész nap cipelni az ajándéktáskát. Mondjuk a v1.0-n még nem volt ilyen nagy felhajtás.

Pár gondolat, viccesebb, vagy elgondolkoztatóbb idézet, megállapítás az idei konferenciáról:

  • „Akik szeretik a sötét hátterű dolgokat...” [putty/konzol ablak]
  • Nmap: kíváncsiságcsökkentő eszköz.
  • „$ ≠ ☺” – vagyis: a pénz nem boldogít.
  • „A személyes adat fizetőeszközzé vált." Például a konferencián is sört adtak CV leadásáért/kitöltéséért.
  • „Aki bezár egy zeneiskolát, az veszélyezteti a belbiztonságot.”
  • A karszalag is megjelöl. És simán elfogadjuk.
  • „Külföldi országokban is...”
  • „Aki bűnözni akar, az olvassa már el a Btk.-t.”
  • „Tudjátok mi az a best effort delivery? Magyar Posta.”
  • „Kiszűrtük a pornót, az nem érdekel minket.”
  • A dd-nek van (több) forensics verziója is. Érdemes megnézni a wikipédiás szócikkét. Ezek közül a Dcfldd tűnt a legérdekesebbnek, de a dd_rescue sem rossz. (De erről már írtam az adatmentős cikkemben.)
  • Szintén forensics: létezik olyan szoftver, ami összegyűjti az összes szót a merevlemezről. (Ha valaki talált, dobhatna linket kommentbe.)
  • Senki sem olvas el ezer oldalas doksikat, ha épp csak egy hello world-öt kell összedobni, így simán bekapcsolva maradnak az extra funkciók (amik netre kikerülve biztonsági hiányosságot jelentenek). Persze ha biztonságos beállításokkal szállítanák a rendszert, akkor más lenne a helyzet. Csak akkor valószínűleg tovább tartana a hello world-öt megírni. Örök dilemma.
  • Egy hasznos link: http://virustotal.com/
  • Egy érdekes eset: betárcsáztak az UPS-be (volt soroskábeles-modemes-telefonvonalas vezérlési lehetőség), onnan továbbmentek a LAN-os monitoring kábelen keresztül a helyi hálózat felé, majd feltörték a levelezőszervert. Tényleg igaz, hogy rajzolni kell egy kört a szerver körül, és védeni kell az összes kábelt, ami átmegy a körön. Plusz, ugye a wifit is. Valamint a soros portra dugott bluetooth-os „hosszabbító” és társai.
  • Netbankolás: dedikált Linux csak erre a célra jó ötlet. De ez mondjuk még nem véd a BIOS vírusok ellen.
  • Ha nincs digitális aláírással ellátott fake drivered a kernel mode-hoz, attól még felrakhatsz egy olyan régebbi driver-t, amin van jó digitális aláírás, és tartalmaz olyan hibát is, amit ki tudsz használni.

Egy kis kritika: tényleg el kell mondani, hogy mi az az nmap, SSL, valamint XOR titkosítás? Lehet, hogy inkább egy starter kitet kellene összedobni a konferenciához. Az előadások tematikái alapján nem lenne nehéz összeállítani egy ilyen listát.

Pár dolog az utolsó előadásból (Alexin Zoltán: Az egészségügyi adatvédelem jogi problémái), amin elég kevesen voltak, de szerintem a konferencia legjobb előadása volt:

  • A magánszférában benne vannak az egészségügyi adatok is.
  • Az önkéntes beleegyezést az egészségügyi adatokról nem lehet visszavonni. A törvényben nincs benne, a bíróság meg úgy értelmezi, hogy akkor nem is lehetséges.
  • Az egészségügyi adatkezelés, adatközlés a törvényekben önkéntesként van feltüntetve, de a bíróság kényszerként értelmezi.
  • Érdekes kérdés, hogy az orvosnak ki kell-e adnia a gyereknek az adatokat a szülőről, ha őt is érinti. (Például öröklődő betegségek esetén.) Valahol külföldön volt egy ilyen per.

Azt hiszem megyek jövőre is. A program tetszett, meg jó volt összefutni pár régebbi és újabb arccal.

Tartalom átvétel