Mindenkinek jó az informatika?

Kicsit jobban belegondolva, az informatika talán semmivel nem tette jobbá a világot a megjelenése óta, viszont egy kicsit mindenképpen kényelmesebbé tette egy bizonyos rétegnek az életét.

Mindent átalakított, mindent megpróbáltak általa digitalizálni, aminek az eredményét minden percben tapasztalhatjuk. Azaz fizikailag bizonyára pozitív a jóság mérlege, de mentálisan – véleményem szerint – egyértelműen negatív.

Az információ-narkózis dealer-e az informatika, az önismeret kialakulásának egyik legnagyobb ellensége, az egyes ember szempontjából csak a valóságtól való minél messzebbre szökés lehetőségét adja.

Természetesen elég sokan vagyunk, akik jól megélünk ebből a tudományból, de félő, hogy néhány száz év múlva, ha visszatekintenek erre a korra, nagyjából ugyanazt a csuhát fogjuk kapni, mint az írástudó papok a sötét középkorban. Inkvizítorok vagyunk, csak még nem tudunk róla, mert képtelenek vagyunk kívülről szemlélni azt a valóságot, amiben a többi emberrel együtt élünk.

Az IT mindent sokkal bonyolultabbá, nehézkesebbé és drágábbá tud tenni, hozzáértő ember kezében pedig ezt a végtelenségig is fokozható módon…

Mondom ezt több mint húsz éve függőként.

roka-20090929210117_a-gat-ver-1-ff

Azt nem tudom, hogy ha lenne, akkor milyen alternatíva lenne, viszont az egyes egyedek szempontjából – főleg, ha azok intelligenciával és meg vannak áldva – talán fontos az is, hogy miként érzik magukat benne. Az egyedek számára a világ talán még soha nem volt olyan biztonságos és kényelmes mint most, ezek az egyedek mégis egyre rosszabbul érzik magukat benne. A fizikai kényelem buborékja már kipukkanni látszik.

Ami történik a világban az mindig egy buborék, azaz növekszik, tovább növekszik, aztán kipukkan és számtalan apró dologra bomlik, majd azok valamelyikéből ismét növekedésnek indul egy új buborék. Olyat nem tudok elképzelni, hogy egy buborék ne növekedjen, mert akkor csökkenni fog és azért semmisül meg.

Egyedül a növekedés sebessége a kérdés, illetve az, hogy amíg a buborék létezik, azon belül milyen az azt kitöltő légkör.

Alfresco 2.9

Lassan kezd kibontakozni az Alfresco 3.0 verziója, a decemberben megjelent 2.9Labs és 2.9B kiadásokban olyan, elsősorban a csoportmunkát támogató tulajdonságok jelentek meg, mint a Project space típus, vagy a Blog integráció. Ez utóbbi is – mint egy projekt hírcsatorna – projekthez rendelhető, azaz a közös naptár, a dokumentumtár, a fórum, az e-mail archívum – az összes, projekthez kapcsolódó e-mail és annak csatolmányai – és képtár az általánosan használt projektek leképezésére alkalmas lehet. Látványos, talán nem is túl haszontalan megoldás az éppen online-ban (jelenleg Skype és Yahoo account-okat tud kezelni) tartózkodó kollégák avatar-jainak megjelenítése.

alfresco_project_space.png

Az egyes felhasználókhoz rendelhető személyes adatok száma is jelentősen megnőtt, így beállítható – már feltöltött képből – saját fotó, elsődleges nyelv a felülethez és a dokumentumokhoz, illetve immár felhasználói szintű adat-kvóta is megszabható.

Alfresco user profile

A fejlesztők számára mindenképpen jó hír, hogy számos, a tartalom típusokkal kapcsolatos beállítás már on-the-fly módon is elvégezhető, nem igényli az Alfresco újraindítását. Ilyenek a content model XML, az üzenet leíró file-ok (message bundles), illetve a web-client-config-custom.xml definíció is. Ami talán ennél is fontosabb, hogy új munkafolyamatot (workflow) is deploy-olhatunk – erre nem tudok magyar kifejezést sajnos – a rendszerbe, amit azonnal használni is lehet a többi kapcsolat megszakítása nélkül.

Alfresco Dynamic Models

A dokumentum űrlapok használata immár a Data Dictionary alatti Forms space-ben a Create Form akcióban feltöltött XSD leírókkal keződik – a WCM-ben használt form-okhoz hasonlóan itt is a Chiba engine végzi a feldolgozást.

Aki fejlesztéssel foglalkozik annak mindenképpen érdemes néhány pillantást vetni az új verzióra: Alfresco ECM

OSX server – redirect port

Előfordulhat velünk – akár a t-online SMTP szűrése és egy vendégként használt hálózat okán – is, hogy szükségünk akad egy gyors port-forward-ra, vagy port-redirect-re. Ehhez a jól bevált OSX szerverünket vesszük elő, ahol némi XML szerkesztéssel megvalósítjuk a feladatot.

Tegyük fel, hogy ez az eset az SMTP (25) port duplikálása egy másik portra, például a 11125-re, továbbá a mail szerverünk IP címe legyen 1.2.3.4.

Ehhez első körben nyissuk ki a tűzfalon a 11125-ös portot:

        # ipfw add 11125 allow tcp from any to any

A kiszemelt, módosítandó file a /etc/nat/natd.plist, amelyből a szerver majd generálja a natd.conf.apple file-t, amit a natd szerver futási paraméterként kap.

        /usr/sbin/natd -f /etc/nat/natd.conf.apple

A /etc/nat/natd.plist file-ban helyezzük el a következő sorokat a </dict> lezáró XML tag elé:

        <key>redirect_port</key>
        <array>
                <dict>
                        <key>aliasIP</key>
                        <string>1.2.3.4</string>
                        <key>aliasPortRange</key>
                        <string>11125</string>
                        <key>proto</key>
                        <string>tcp</string>
                        <key>targetIP</key>
                        <string>1.2.3.4</string>
                        <key>targetPortRange</key>
                        <string>25</string>
                </dict>
        </array>

Ezek után indítsuk újra a NAT szervert:

        # serveradmin stop nat
        # serveradmin start nat

Ez után, ha minden jól alakult a szerver létrehozza a natd.conf.apple file-t, amiben a következő sornak kell szerepelnie:

        redirect_port tcp 1.2.3.4:25 1.2.3.4:11125

Egy telnet paranccsal egyszerűen ellenőrizhetjük a végeredményt, mielőtt az SMTP kliensünket is beállítjuk az új címre és portra:

        $ telnet 1.2.3.4 11125
        Trying 1.2.3.4...
        Connected to 1.2.3.4.
        Escape character is '^]'.
        220 1.2.3.4 ESMTP Postfix

ELGG – magyarítás

Ismét elkövettem egy olyan dolgot, amit nem szeretek, de szükséges volt… Legyen majd mentségem valami, ami elkészül ennek segítségével! :)

elgg

Elgg was started in 2004 with the aim of providing an elegant and powerful solution for anyone who wants to create their own online community. Elgg is free and open source and powers all kinds of social networks – from education and business to martial arts and rugby. If you are looking for a professional social intranet or just want to run a site for your fishing club, Elgg is a great choice.

Az ELGG engine-hez – miután szörnyülködtem egy sort az aktuális magyarításon – megcsináltam egy új lokalizációt, fogyasszátok egészséggel…

Download: elgg-hu.tgz

A letöltött file tartalmát a telepített ELGG languages könyvtárában kell elhelyezni. Ha gond adódna a .po és a .mo file-okkal, eképpen lehet újra generálni az utóbbit:

msgfmt -cv -o elgg.mo hu.po

Alfresco 2.1

Nemrégiben látott napvilágot kedvenc dokumentum kezelő rendszerem, az Alfresco 2.1-es verziója – amely ugyan még csak release candidate státuszú, de már kiválóan használható. Új elemként jelent meg benne a Web Script névre keresztelt megoldás, mely egy REST stílusú keretben teszi lehetővé az Alfresco-ban tárolt dokumentumok integrálását más rendszerekbe.

blogintegrationadddetails.JPGElkészült az Alfresco-hoz egy blog integrációs modul is, amely egyelőre a WordPress engine, majd a későbbiekben további blog motorok felé is biztosít átjárást.

A Microsoft Office csomagjában található Word szövegszerkesztőjéhez is készült egy Web Script alapú plugin, amely anélkül teszi lehetővé a dokumentumok kiválasztását és a keresést, hogy ki kéne lépnünk a szövegszerkesztőből. A dokumentumokon túl, az Alfresco Dashboard-on – szintén egy AJAX-os felületen – listázható Task-okat is képes megjeleníteni. Sajnos ez a megoldás kizárólag a Windows alapú MS Office csomaggal működik, se a Mac verzióhoz, se az OpenOffice-hoz nem biztosít átjárást.

Hamarosan jön a beépített wiki és a kibővített feladat kezelő modul is – már csak egy jó projekt management modul kell bele és minden vágyam teljesül… :)

Letöltés

JDB – lessünk JAVA programot

Ma a szükség úgy hozta, hogy egy JAVA programot kellett debug-olnom, mert sehogy sem akarta azt csinálni, amit vártunk tőle.

Az OSX-ben megbújó JDB (This is jdb version 1.5 (J2SE version 1.5.0_07)) eszközt használtam. Két részre kellett bontani a figyelést, egyrészt a JAVA VM-nek meg kell mondani, hogy legyen kész a debugger kiszolgálására. Ezt úgy teszi, hogy egy TCP portra ül, és ott várja a debugger csatlakozását.

# start example.java class in debug ready mode
java -Xdebug \
-Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n \
example.java

louise$ ./start-debug
Listening for transport dt_socket at address: 8000
App status change: 1 Status text: Waiting for start…

louise$ jdb -attach 8000
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
Initializing jdb …
>

Másrészt, ha sikeresen csatlakozott a JDB a 8000-es porton a szerverként üzemelő JAVA VM-hez, a következő lépés, hogy megtudjuk tőle, vajon most mit is csinál az adott program.

Ehhez először meg kell állítani a futását a “suspend” paranccsal:

> suspend
All threads suspended.

Ekkor az összes futó thread megáll, a program az operációs rendszer felé semmilyen interakcióval nem bír, windows-os nyelven homokórázik, mac-es nyelven pörgeti a strandlabdát… :)

Ha áll a program, meg lehet tőle kérdezni, hogy éppen milyen függvény végrehajtásával van elfoglalva, erre a “where” parancs hivatott:

> where all
Signal Dispatcher:
Finalizer:
[1] java.lang.Object.wait (native method)
[2] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:116)
[3] java.lang.ref.ReferenceQueue.remove (ReferenceQueue.java:132)
[4] java.lang.ref.Finalizer$FinalizerThread.run (Finalizer.java:159)
Reference Handler:
[1] java.lang.Object.wait (native method)
[2] java.lang.Object.wait (Object.java:474)
[3] java.lang.ref.Reference$ReferenceHandler.run (Reference.java:116)
main:
[1] org.eclipse.swt.internal.carbon.OS.ReceiveNextEvent (native method)
[2] org.eclipse.swt.widgets.Display.sleep (Display.java:3,796)
[3] application.PCAppAuto.main (PCAppAuto.java:35)

A továbblépésben a “man jdb” vagy a SUN oldalán megbújó link segíthet…