szotsaki blogja

Játékfejlesztés Linuxon

Valamelyest belevettem magam a GPGPU-val való szórakozásba, és hát ilyenkor rengeteg grafikus fejlesztést támogató eszköz kerül az ember látókörébe. Mivel elsősorban Linuxon dolgozom, így kíváncsi voltam, hogy egy egyszeri játékfejlesztő mennyire könnyen boldogul a Linux alatti játékfejlesztéssel, OpenGL platformon.

Első dolgom természetesen az Eclipse pluginok megtekintése volt, de semmit nem találtam a Marketplace-en sem a GPU, sem pedig az OpenGL kifejezésekre.

Jól van, hát NVIDIA tulajdonosként akkor megnézem, hogy a gyártó mit ajánl. Volt is miből válogatni, elég széles a paletta. Képernyőn megjelenő játékfutás-közbeni HUD, shader modellező, shader hibakereső, két komplett fejlesztőeszköz (saját, illetve Visual Studiohoz) stb. De mind csak Windowson…

A Qt jövője

Elég sokunkat érdekel, hogyan alakul a Qt jövője a Microsoft kapcsolat közben.

Megjelent egy marketing írás a Qt-sektől, ami azt taglalja, hogy a platform jelentős eséllyel tovább fog fejlődni. Sok igazság van abban, amit állítanak annak ellenére, hogy marketing anyagról van szó.

Viszont egy sokkal kevéssé pr-os személetű nézőpont a KDE-seké. Aaron írása az, ami legjobban összefoglalja a mostani helyzetet: "még nem lehet tudni". Érdemes végigolvasni.

However, we (KDE) won't know the full shape of how this will impact our landscape in the mid- and long-terms until we speak more with people at Nokia as well as within the Qt team itself. That's going to take weeks, not hours or days. Pretty much anything said before then is going to be premature and stand an awfully high chance of being wrong. Qt is a big ecosystem with many players right now, and as with any big company making a big announcement sorting out the practical implications is not something done in an hour or a day.

A Neptun margójára

Sokszor előkerül itt a HUP-on is a tárgy- és vizsgafelvétel körüli mizéria.

A hallgatóknak pedig nemrég elegük lett, készítettek egy petíciót, benne egy PDF melléklettel, melyben összefoglalják az ötleteiket. A címzett a BME KTH (Központi Tanulmányi Hivatala - hivatalosan ők foglalkoznak a Neptun üzemeltetéssel).

Érdekes módon erre pedig két bővebb reakció is érkezett, meglehetősen pozitív hangnemben. Az első a petíció pontjaira reagál, míg a második dokumentum a terheléselosztó rendszerről szól.

Ha lassú a KDE-d...

...NVIDIA kártyán, akkor a következő perl script segíthet neked, innen: KDE Hugo.

A hibajegy itt található egyébként: Bug 234463. A hiba jelensége, hogy egy idő után a processzor 100%-on pörög az X és a kwin folyamatok miatt.

Csak a kdebase4-workspace-devel (openSUSE-n ez a neve), cmake, subversion csomagok kellenek neki, illetve még pár, ami valószínű már fent van (de nevük megtalálható a blogban).

Facebook hivatalos iDontLike?

Valamiért néha lassan tölt be a Facebook, és ez történt most is. Az egyik CSS dokumentum vagy az oldal vagy egyéb része nem jött le, így a szinte nyers HTML kódot mutatta az Opera.

Érdemes megnézni a Tetszik gomb mellett a Nem tetszik-et is. Tovább nem ellenőriztem, mert annyira nem érdekel a téma.

OpenOffice alternatíva létezik (linuxra)?

Miután eljutottam odáig, hogy nem évente ötször nyúlok bele egy .doc fájlba, hanem most egy 30 oldalas szösszenetet kell szerkesztenem, így újra "aktívan" használom a linuxok alapértelmezett irodai csomagját, az OOo-t.

Igazából minden egyes betű leütésekor egyre jobban érzem, hogy ezt a programot nem szabadott volna kiadni. Elképesztően sok olyan hibával van tele, amely, ha fejlesztő lennék és tudnék róla, lesülne a három réteg bőr az arcomról. Kétszer. Pláne, hogy tudom, hogy nem csak olyan felhasználók használják, akik évente párszor kapnak egy doksit, azt rögtön két kattintással áttolják PDF-be és onnantól kezdve el van felejtve a programcsomag (mint én), hanem olyanok, akik naphosszat ülnek előtte és rá vannak kényszerítve ennek a használatára.

WordPress hozzászólások frissítése

Ha valaki elszórakozta volna az adatbázisát, és valamiért az oldala nem a helyes hozzászólások számát mutatná, akkor itt egy PHP kód, ami segít ezt rendbe tenni:

[code]
<?php
header ( "Content-type: text/plain" );
error_reporting ( E_ALL );

echo "Including files\n";
require_once 'mysql_connect.php';
require_once 'wp-load.php';
require_once 'wp-includes/comment.php';
echo "Files included\n";

echo "Selecting IDs from posts\n";
$query = mysql_query ( "SELECT ID FROM PrEfIx_posts" ) or die ( mysql_error () );
echo "IDs selected from posts\n";

while ( $row = mysql_fetch_row ( $query ) ) {
wp_update_comment_count_now ( $row [0] );
echo "Updated post with ID $row[0]\n";
ob_flush ();
flush ();
ob_end_flush ();
}

Pirate Pontén (LOL)

Az Aftonbladet svéd újság írja, hogy Henrik Pontén, az Antipiratbyrån jogásza (akik a fájlmegosztás ellen küzdenek), hivatalos értesítést kapott arról, hogy elfogadtak egy névváltoztatási kérelmet, mely szerint a "Pirate" szó immár a keresztneve. A hatóságok nem ellenőrzik a névváltoztatást kérők személyazonosságát. Pirate Pontén pedig küldhet egy újabb kérést, hogy változtassák vissza a nevét...

Kötelező ujjlenyomat az útlevélben

Ha valakit idegesít a tudat, hogy június 28-a után eltárolják az ujjlenyomatát az útlevélben, akkor neki ajánlom, hogy még most foglaljon időpontot egy okmányirodába. Negyven perc alatt megvan fényképezéssel együtt az egész; 6.000 Ft öt évre, 10.000 Ft tíz évre.

A múltkori kisebb incidens után lehet, hogy megéri :)

Remek ingyenes, bő C/C++ referencia

Egy éve sikerült rátalálnom az IBM ezen dokumentumára, amely sajnos azóta elköltözött, és vagy húsz perc Google használatba került, amíg újra ráleltem (elsőre kicsit nehéz megtalálni az IBM oldalán amit keres az ember és az nem mainstream).

Szóval egy nagyon igényesen szerkesztett, 460 oldalnyi, példákban bővelkedő C/C++ referencia és oktatóanyag ez. Igaz, hogy elvileg az IBM XL C/C++ for Linux verziójához van, de külön jelölik benne, ha valami IBM specifikus.

A weboldal változata: http://publib.boulder.ibm.com/infocenter/comphelp/v9v111/index.jsp (XL C/C++ V9.0 for AIX > Introducing XL C/C++)
A PDF változat: http://www-01.ibm.com/support/docview.wss?uid=swg27013159&aid=1 [pdf]

Hunspell Windowson DLL-re, Cygwin nélkül

A probléma: van egy Qt-os programom, amihez szeretnék egy hunspell.dll-t linkelni. A gond csak az, hogy sehol sem találok egy előre lefordítottat, és a hunspell mellé ékelt extrém szűkszavú leírás is csak cygwint említ, de nem szól egy szót sem a .dll-ről.

Cygwint kipróbáltam végső elkeseredésemben, de csak arra volt jó, hogy a programom még 3 DLL-t behúzzon és 100%-on pörgesse a procit induláskor. Szóval semmiképpen sem a nyerő út.

Régi leírás 1.5.4-ig

Jó néhány óra szórakozás után álljon itt a megoldás MingW/GCC 5.3-mal:

  1. Töltsük le a hunspell forráskódját és csomagoljuk ki.
  2. MinGW telepítése (én a Qt-osat használtam, mert vele jár, de gondolom, ez is ugyanolyan jó);
  3. állítsuk be a Path-t és egyéb környezeti változókat a parancssorban (a Qt Command Line ezt megteszi nekünk);
  4. másoljuk be az src/parsers összes .hxx, .c és .cxx fájlját az src/hunspell könyvtárba (a Makefile-okat ne írjuk felül);
  5. az src/win_api-ból szintén másoljuk az src/hunspell-be az összes fájlt, kivéve a Makefile.am és a Makefile.in fájlokat;
  6. az src/hunspell/Makefile.cygwin fájlból töröljük ki az -mno-cygwin két előfordulását (elavult kapcsoló, amit az új make már nem ismer), illetve opcionálisan az -O2-t cseréljük -O3-ra;
  7. nevezzük át az src/hunspell-ben található "hunvisapi.h.in"-t "hunvisapi.h"-ra;
  8. lépjünk be az src/hunspell-be, majd adjuk ki a mingw32-make -f Makefile.cygwin parancsot. Kapunk két hibát, de ne foglalkozzunk vele (nem találja az ar csomagolót);
  9. adjuk ki a következőt: g++ -DHUNSPELL_STATIC -O3 -ansi -I. -c odfparser.cxx xmlparser.cxx (valamiért ezeket nem tették bele a cygwines Makefile-ba, illetve a -pedantic kapcsoló sem működik náluk)
  10. végül pedig adjuk ki a következő parancsot: g++ -DHUNSPELL_STATIC hunspelldll.c -shared -o hunspell-1.5.dll -L. replist.cxx affentry.o affixmgr.o csutil.o filemgr.o firstparser.o hashmgr.o htmlparser.o hunspell.o hunzip.o latexparser.o manparser.o phonet.o suggestmgr.o textparser.o odfparser.o xmlparser.o -O3 -pedantic -ansi -Wl,-enable-auto-import

Weboldalak mentése képként

Többször láttam itt olyan kérdéseket, amik arról szóltak, hogyan lehet Linux alatt weboldalakat "lefényképezni", tehát a tartalmukat egy képbe menteni.

Most a Qt-s srácok készítettek egy ilyen progit. A lényege, hogy a Qt-be beépítve található egy WebKit motor, és ezzel a program megjeleníti a weboldalt, majd lementi azt egy megadott képbe.

Lehetőség van átméretezni is. 4.4 esetén előbb megjeleníti a weblapot, majd aztán méretezi a képet, de Qt 4.5 esetén már a teljes oldalas zoom funkciót használva a megadott százalékérték szerint jelenít meg, és azt a képet menti le.

Widgetek 3D-ben: WolfenQt

A Qt blogról:

Sok ember kérdezi, hogyan ágyazza be a Qt által rajzolt tartalmat (különösen a Qt widgeteket - pl. checkbox, lenyíló menü, böngésző, médialejátszó stb.) 3D-s térbe.
Ezt már azóta szerettem volna megtenni, amióta a QTransform teljesen támogatja a kivetítéses transzformációkat, így leültem, és megírtam ezt a bemutatót. Hadd mutassam be WolfenQt-t:

Gyorsabb lett a "nagy számú fájl" törlése KDE 4.2-ben

Hadd idézzem az idevágó blog tartalmát, amelyben szó esik arról, hogy körülbelül 30-szor gyorsabb lett a sok fájl törlése a KDE 4.2 előtti állapothoz (beleértve a KDE 3-at is) képest.

Forrás: 32 times faster deleting your home directory

Yes, KDE-4.2 will be 32 times faster deleting a large number of files compared to KDE-4.1!

I was looking at the highest-voted bugs last Monday (yes, voting _is_ useful in bugzilla, some people weren't sure about that), and bug 43356 (260 votes) was about konqueror taking too much time deleting a large number of files (in kde-3.0, but still true in 4.1).