uno in oo.org

Tegnap egy egész érdekes szárnypróbálgatást tettem az uno háza táján. Aki nem tudná mi az az uno (helyesen UNO, Universal Network Objects) annak elmondom: openoffice.org API megvalósítása. Ennek segítségével java-ban c++-ban vagy akár pythonban lehet programozni az OpenOfficet. Mivel c++-ban annyira nem vagyok otthon, Java-t meg még csak most tanulom, így maradt a python.
A program mérete miatt el lehet képzelni, hogy mennyire hatalmas az API dokumentációja, arról már ne is beszéljünk hogy milyen bonyolult és átláthatatlan első ránézésre. A hab a tortán, hogy python példakódok nem lévén (Java se nagyon van!) azért nem 5 perc mire átlátja az emberfia hogy mit és hogyan kéne.
Két 2 óra alatt sikerült is megtalálnom hogy hogyan keressek meg egy táblát a dokumentumban név alapján. A kulcs a getTextTables() és a getByName() metódusok. Logikus elnevezések. 🙂 Aki használta annak mindenképpen.

itemsTable = doc.getTextTables().getByName(‘elemek’)
tableText = itemsTable.getCellByName(“A1”)
tableText.setString(“szöveg”)
Sötöbö.

Így lehetőségem nyílt például ilyen irodai felhasználásra:

  • Gizike megírja a dokumentumsablont (vagy körlevélsablont)
  • betölti egy erre megírt célszoftverbe
  • a program megtalálja a sablonban az entitásokat (vagy mezőket) amiket gizike elhelyezett.
  • majd fogja a forrás adatbázist (partnerek, megrendelések, számlák, árajánlatok, raktárnyilvántartás stb…) és a sablont az adatokkal összeműtve a kimenetet valahogy feldolgozza: PDF, email küldés, e-szignó, Fax, nyomtatás)

Így, minimális energiabefektetéssel kaptunk egy minőségien megszerkeszthető sablonozható rendszert. Teszt gyanánt kipróbáltam, és pár óra alatt sikerült Szállítólevél készítő programot összedobni a vállalatirányítási szoftverhez amit most kezdtem el csinálni. Az eredmény lenyűgözően szép és pontos. Ráadásul minden formázási eszköz rögtön rendelkezésemre áll, nem kell fejleszteni.
Pár óra fejlesztést vessük össze azzal, mi lenne akkor ha az ismétlődő fejléc (élőfej), ismétlődő táblázatfej, behúzások, automatikus szövegigazítások, stb mindezt nekem kéne implementálni és produkálni hasonló minőséggel mondjuk egy számlázó szoftver esetén. Nem beszélve arról, hogy így gyakorlatilag egy-két napos munkával akár egy számlázót is össze tudok már pakolni. Kész a linux alapú táviroda. 🙂

Hihetetlen perspektívák nyíltak így meg. Még magam se nagyon tudom elképzelni hogy mennyi mindenre fel tudnám használni ezt az infrastruktúrát. Pár gyakorlati terv és biztos vevő már így is akad. Van egy tippem, hogy a google is használja az UNO-t… 🙂

odt2png

Az unoconv és az imagemagick csomagok segítségével egészen egyszerűen lehet ezt a problémát megoldani. Ím a script ami elvégzi az átalakítást.


#!/bin/sh

if [ ! -f $1 ]; then exit; fi
unoconv -f pdf $1
convert -density 300x300 $(basename $1 odt)pdf $(basename $1 odt)png
rm $(basename $1 odt)pdf

M.D. linux

Épp egy barátom próbált meg küldeni egy szép msn vírust ami szerint Britney meghalt. Kár érte. A linkre azért nem kattintottam rá. Persze csak azért mert más dolgom van. 🙂

Viszont megint eszembe jutott egy ötlet amit közhírré teszek, aztán ha valakinek van batár sok ideje meg kapcsolata valamelyik vírusharcos céggel (akár magyarországival, like VB) akkor jópízé meg is csinálhatná. Én meg örülnék mint majom a farkának hogy kitaláltam 🙂 Persze a havi juttatások mellett…

Nos az elképzelésnek van már gyakorlati előszele, miszerint ha egy dualboot-os gépünk van akkor a linux alól bátran tudjuk managelni a win-t. (jelszó módosítás, regiccstri turkálás és a többi)

Ha kapunk (vagy van) egy win, ami tele van mindenféle vírussal akkor kézenfekvő megoldásnak tűnik hogy a fertőzött rendszert békén hagyva egy olyan rendszert indítunk ami tiszta és még véletlenül sem fertőződik. Linux. 🙂

A tiszta rendszerre (linux) kéne olyan grafikai felülettel és vírusadatbázissal megtámogatott programot készíteni amivel képesek vagyunk megkeresni a win-t egy partíción, felmérni a fertőzött rendszer indulásakor induló folyamatokat (regedit regiccstri), azok károsságát megítélni és adott esetben a regiccstrit megtisztítani a káros dolgoktól.
Jó kis iparágat lehetne erre ráépíteni. Livecd be (vagy PXE): linux bootol, automatikusan keres, javasol, töröl. Gép kikapcs, tulaj örül, hogy nem kellett az egész gépet legyalulni…
Ennek megvalósításához csak kétféle szakember kell:
– nagy tudású windowsos szakember, és
– nagy tudású linuxos szakember/jó programozó.

Ha majd egyszer sok időm lesz… Bár ha most elkezdek házalni az ötlettel lehet, hogy valaki lecsap rá.

Olympus

Olympus ws-310m digitális felvevő rádugva zubuntu-ra azonnal pöccre működik, mint egy pen.
lsusb:
07b4:0215 Olympus Optical Co., Ltd

Wma átkódolása wav-ba ffmpeg-el aztán ki cd-re… Mai örömem megvan.

magyar postfix feketelisták

A hup-on található spammer szégyenfal adta az ötletet, egy magyar feketelistához, mely ip alapú. Kicsi ország kicsi tartomány. 🙂

http://workshop.connor.hu/hipbl.php
http://workshop.connor.hu/hispbl_dump.php?type=postfix

Ez kétféle lista, előbbi egy ip alapú feketelista, utóbbi a magyar dialup tartományokat hivatott összegyűjteni (kaptam már vodás mobilnetről spamet).

Csak olyan IP-ket hagyok jóvá amik a hup topic-ba felkerülnek a bizonyító erejű spam szövegével együtt. Tartományokat viszont szívesen veszem ha küldötök (hiszen nem férek hozzá minden szolgáltató minden hálózatához, hogy tudjam pl az upc-nek mi).

Adott kliens ip netmaskja whois alapján:
IP=$(wget myip.connor.hu -O – -q); netmask $(whois $IP | grep ^inet | sed ‘s/\ \-\ /:/’ | awk ‘{ print $2 }’)

linuxhw, hwdb

Warp nagyon lelkes marketingjének hála ismét elkezdtem hwdb kimeneteket kapni -ezeket újfent köszönöm, a korábbiakkal karöltve-. Ha az emberek fáradnak azzal, hogy elküldik a kimeneteket akkor illő lenne valamit szólni a korábbi bejegyzésemről.

Amikor az a bizonyos blogbejegyzés megszületett még nem tudtam egy külföldi kezdeményezésről, melynek címe: http://www.ubuntuhcl.org/
Magát a külföldi adatbázist nem ismerem közelebbről, de ahogy elnéztem amikor tudomást szereztem róla, komplett dobozos gépek konfigurációiról nyújt egy tetszőleges listát és pontozási lehetőséget (ahogy a hupon valaki találóan megjegyezte, laptopomat mint laikus rápontozom 5.0-ra pedig csak annyit tud hogy bekapcsolom és megy, kamera, hotkey és egyéb ínyencségek nem működnek…). Ez azóta változhatott. Mint írtam nem ismerem.

Vegyük a következő eseteket:
o Szeretnék venni egy tv-tunner kártyát.
o Szeretnék venni egy komolyabb hangkártyát, vagy esetleg egy külső vasat, hangdigitalizáláshoz.
o Szeretnék magam összerakni egy gépet.
o Szeretnék mobilnetet használni.
o Szeretnék scannert venni. (akciós a madaras teccsóban, de támogatja-e a linux. Megtörtént eset, hogy póruljártunk.)
o Digitális kamerámmal le tudom-e szedni a képeket? Canon eos sorozatú gépem van. (vagy lenne ha lenne sok pízem)
o Nem Ubuntu-t használok, hanem xy linuxot, 2.6.108.10-es verziójú kernellel.
o Most még windowsom van, de szeretnék gentoo-t telepíteni mer’ az menő.

(mj.: Az esetek között vagylagosság van.)

Mi lenne egy ideális megoldás (szerintem)? Tetszőleges operációs rendszeren, Linux/windows, futtatok egy programot (python, pygecko, glade), az felsorol minden csatlakoztatott hw eszközt és az adatbázisból gyártó és termék azonosító (vendor/product id) alapján kiválaszja az eszköz nevét. Ha már van róla teszteredmény akkor azt is mutatja, hogy támogatott-e (akármilyen linuxon valaha, vagy adott terjesztésen ezzel a verizóval). Ha nincs még akkor ki tudom tölteni, hogy nálam az adott eszköz megy-e.
Tudok egy termékhez meghajtó vagy howto információkat linkelni (valós pl: web’n’walk stick esetén a hso drivert) vagy tetszőlegesen magam írni leírást a beüzemeléséről.
Ahogy látszik én leginkább olyan eszközök támogatottságát szeretném böngészni ami egyedi (hubble űrtávcső :D), és ami leginkább megakasztja az embert ha oda kerül, hogy szeretné megvenni, de nem akar zsákutcába szaladni. És ugye ki szereti lapátolni kifele az ablakon a pénzt?

Nos, ezek az elképzelések és a színes-szagos terv. És akkor most a valós tények:
o Szabadidő konvergál a 0-hoz.
o Nem szeretnék lelkes-hírbeküldő-aztán-csendesen-project-elhaló lenni, így vagy itt lesz a blogban az előrehaladás publikálva, vagy nem. (utóbbi esetén a project stagnálása várható :))
o Nincsenek kitűzött dátumok és konkrét adatbázis/oldal tervek (lásd: egyes számú tény).
o Van egy domain és egy rakás lelkes álom. http://linuxhw.hu
o Van jó pár xml-em amit korábban és most küldtetek. Ezeket néha megnézem és megállapítok dolgokat.
o Van egy nemzetközi oldal ami mögött van ember és van (valamilyen) adatbázis ami fejlődik és bővül.
o A netem júniusig hétközben a modemes betárcsázós időket idézendő sebességgel hasít.

Szóval így állunk ezekkel a dolgokkal.

más: Van egy új, programozóknak készülő project, melyet a “diákjaim” írtak. Hamarosan erről is szólok. (csak azért írom le, hogy maradjon írásos nyoma, hogy ezt is meg kell majd tennem :))

hwdb

Egy Ubuntu hardware database-nál sokkal jobb, informatívabb és kereshetőbb adatbázis terve rajzolódott ki a fejemben. Ha valakinek van kedve segíteni a fejlesztést küldje el a “hwdb-xml -a” parancs kimenetét email-ben a connor [k] connor [p] hu -ra.

A T-mobile, a 3g és a E220 HSDPA Modem esete…

… Ubuntu-n.

Végre sikerült kölcsönkérni egy, a címben megnevezett modemet, amit kis bütykölés után be is tudtam állítani.
A következő volt a telepítés nálam:

Csatlakoztatás után az usb háttértár része feljött jelezvén, hogy észlelte a csatlakoztatást. Ezt egy lsusb-vel még meg is erősítettem, melynek a kimenete a következőképpen nézett ki:

Bus 002 Device 002: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem

/etc/modules fájlhoz hozzáfűztem ezt a két sort:

options usbserial vendor=0x12d1 product=0x1003
post-install usbcore modprobe usbserial

Gép restart (elég lenne a modulokat kiszedni majd újra betölteni, de most lusta üzemmódban üzemelek). Újraindulás után azért győződjünk meg arról, hogy a /dev/ttyUSB0 létrejött.

Rendszer -> Adminisztráció -> Hálózat, Modem beállítása

http://workshop.connor.hu/tmp/screen_20080126211148.png (jelszó web)
http://workshop.connor.hu/tmp/screen_20080126211156.png
http://workshop.connor.hu/tmp/screen_20080126211204.png

Utolsó fül beállításait jóérzés és a felhasználói igények szerint tessék.
Majd csatlakozás és ha minden jól megy a kék led felvillan a modemen.

Akitől kölcsönkértem a modemet mutogatta a wines felületet amit a Tcégnél írtak és volt benne egy statisztika ami azt mutatta (volna), hogy mennyi volt az adott hónapban a forgalom. Ez egy jó dolog lenne ha működne, viszont nem működött.
Kicsit bogarásztam a témában hogy mit lehetne alkotni linuxon és erre jutottam:
/etc/ppp/ip-down.d mappába egy 01stat-save fájlt létrehoztam, majd futtatás joggal láttam el.
A tartalma pedig ez lett:

#!/bin/sh

bytes=$(ifconfig ppp0 | grep RX\ by)

RX=$(echo $bytes | cut -d: -f2 | awk '{ print $1 }')
TX=$(echo $bytes | cut -d: -f3 | awk '{ print $1 }')

DATE=$(date "+%Y%m%d")

echo $DATE $RX $TX >> /tmp/ppp-transferstat

Persze ehhez még valami jól kinéző grafikonos cucc kéne ami összesíti a számokat mert így kicsit fejszámolós a téma 🙂
De kezdetnek legalább működik. (nem úgy mint a hivatalos cucc :))
Ha szerény akarnék lenni, azt mondanám: connor t-mobil 1:0 😉