Blogbejegyzések

LUA > LPeg > Saját számológép

Azt hiszem mindenki álmodott saját számológépről. Ez a fajta igencsak érdekes, mert egy mintaillesztő nyelvet használ a célra. Mindehhez fel kell rakni az lpeg-t, ami az én csomagkezelőmben (synaptic) az "lpeg" keresőszó alapján megtalálható.

Mivel több vagy kevesebb az LPeg a reguláris kifejezéseknél? LPeg-ben a minták elsőosztályú változók, úgy mint a függvények.

Hogyan is kéne értelmezni a kódot?
(1) Létrehozzuk a lexikai elemeket: Whitespace karakterek, Számok, Nyitó/Csukó zárójel, Szorzás/Osztás operátor, Összeadás/Kivonás operátor.
(2) Írunk egy függvényt, ami megkapja a két operandust és a közrezárt operátort. Az operátor alapján dönti el milyen műveletet végez az operandusokon, az eredményt visszaadja
(3) A bonyolult rész. Nyelvtan definiálása. A tábla első bejegyzése az a nem-terminális elem, amit meghív az adott mintára. Ezután a kulcsok változók amiknek az értékei LPeg minták.

A Mozilla elhagyja a Google-t a Microsoft Bingjéért?

Cikk

Azért elég gáz, hogy a Mozilla bevételeinek 97%-át a Google adja, és a szerződés 2 év múlva lejár!

Oké, hogy át tudnak állni Bingre is, de ez azt jelenti, hogy a Googlet használó felhasználók után nem fognak pénzt kapni! Tehát tizedére fog visszaesni a bevételük. Egyébként is nagyon sérülékeny az az üzleti modell, ami egyetlen vevőtől függ.

Ha viszont nem lesz bevétel, nem lesz miből fejleszteni. Úgy tudom, hogy a Firefox 40%-át önkéntesek írják, tehát a fejlesztés sebessége akár a felével is visszaeshet, ha nem lesz pénz.

Karmic boot szar, jöjjön a Plymouth

Szerintem sem illik csak úgy belinkelgetni Phoronixos cikket ide, de...

Plymouth Gets Pulled Into Ubuntu 10.04 LTS

Miről is van szó?

RedHat annak idején kijött a Plymouth nevű bootsplash-megvalósításával. Csak ezért letöltöttem egy Fedorát, kipróbáltam, gyönyörű és gyors bootolás volt. Amolyan Mac-es professzionizmus. Aztán Ubuntuék elhatározták, hogy ez kell nekik is a Karmicba.

Később azt mondták. Ő nekik nem a szépség kell, hanem a sebesség, stb., ezért a Karmicban nem lesz Plymouth, hanem egy saját fejlesztés. Nos, azzal - nem is értem, hogy, de - nem számoltak valószínűeg, hogy az grub->KMS->xsplash->Xorg folyamat olyan villogást eredményez, amelytől epilepsziás rohamot lehet kapni (mostanság ez menő talán (1:46-nál)).

Flash, Silverlight, HTML5: egy kis amatőr elmélkedés, spekuláció.

6 évvel az x86_64 platform megjelenése- és 4 évvel a Fedora Core 5 (64bit) kiadása után gondoltam ideje 64 bitre váltani. A Fedora 12. kiadását installáltam "nulláról". Minden flottul ment, amíg el nem jutottam a jó öreg Adobe flash pluginhoz: 2010 -ben -azaz 4 évvel azután, hogy komplett disztribúciók álltak át 64 bitre több ezer szoftverkomponensel- nincs stabil 64 bites kiadás! Ez nyilván bitlisz nektek, de én ezt elképzelni se mertem. Állatorvosi lova annak, hogy a zárt forráskód hogy hátráltatja az innovációt a gyakorlatban manapság. A másik oldalon persze ott van, hogy bizonyos szempontból a flash maga az innováció, mert nélküle no youtube - és ez igaz is, de a webet manapság már multiplatformon fogyasztjuk, a Flash megbélyegezte a sorsát a zárt forrással, neki vége. Átbukott a hullám aminek a tetején lovagolt, az AIR -korábban kipróbáltam- pedig megy vele.

LUA > C függvény elérése > sleep(int sec);

Korábban írtam egy bugyuta lua szkriptet, ami a magyarországon található közlekedési lámpa állapotátmeneteit volt hivatott szimulálni. Nagyszerű érzés, hogy nem sikerül a vermet túlcsordítani, de jó lenne, ha kicsit lassabban pörögne. Ekkor jön a képbe a sleep függvény. Mivel nem az ANSI C szabvány része, így natívan nem is tartalmazza a lua.

Kód


#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"

int l_sleep(lua_State *L){

	unsigned int sec = luaL_checknumber(L, 1);
	sleep(sec);
	return 1;
}

static const luaL_reg reg_sleep[] = {
	{"sleep", l_sleep},
	{NULL, NULL} // őrszemek
	}; 
int luaopen_sleep(lua_State *L){
	luaL_register(L, "io", reg_sleep);
	return 1;
}

Fordítás:


cc -o sleep.so -shared sleep.c

viszlat count(*)

nezem, nezem de a count(*) csak nem akar a JDO(DataNucleus) - BigTable keresgelesbol eljonni
lehet nem is kell...

vegulis mindig szoktam egy odo tablat csinalni, bar complex deletePersistentAll utan vicces lesz frissiteni

megis fura, kell legyen valami kezenfekvo oka, miert nem akarja a BigTable a nepszamlalast

LUA > C függvény elérése > Könyvtárlistázás

Cél: Könyvár tartalmának listázása LUA-ban

Működés:

Nézzük a LUA értelmező szemszögéből. A require függvény megpróbálja behúzni a modult: a megadott paramétert , .dll vagy .lua kiterjesztéssel a LUA_PATH vagy LUA_CPATH környezeti változók elérési útjaiban. Ha talált egy dll-t, meghívja a luaopen_dir függvényt, ami a Lua állapotváltozót adja át, egy lua_State típusra mutató pointert L. Az L-be ezután regisztrálni kell a modul nevét. A luaL_register harmadik paraméterként olyan lual_Reg rekordokat tartalmazó tömböt vár, aminek utolsó eleme a {NULL,NULL} rekord. A luaL_reg rekord a függvény nevéből LUA-ban és a hivatkozott függvény C nevét tartalmazza. Végre elérkezünk az l_dir függvényhez, ami valóban csinál valamit.

SKL Konferencia

Sziasztok!

Ezen a héten vasárnap (20:00) megtartjuk az első SKL Konferenciát. A kezdésre való tekintettel ezt még csak IRC-n tartjuk meg, de reméljük így is nagyon sokan jelen lesztek a megbeszélésen. Elsősorban a sEEcher OS fejlesztéséről és a közeljövőben indítandó projektekről lesz szó.

Nagyon sok szeretettel várunk mindenkit!

További információk itt:
http://skl-projekt.hu/news.php?readmore=1343

u.i.: És még mielőtt valamelyik jóindulatú felhasználó elkezdene "reklámozni", ez nem reklám, csupán egy értesítő azoknak, akiket érdekel.

A Karmic tényleg visszalépésnek tűnik

Azt hiszem, hogy nem lepődik meg már senki, ha azt mondom, hogy az Ubuntu 9.10 elég vacak lett az előzőekhez képest és hogy ez az Ubuntu egyik legnagyobb visszalépése. Nem lepődik meg senki, mert mindenki ezt hajtogatja.

Van, aki azt mondja, hogy az Ubuntu kb. a Dapper (6.06) óta folyamatosan lassul. Nem tudom, hogy ezt hogy vette észre. Én azt talasztaltam, hogy az utolsó előtti kiadás, a Jaunty (9.04) nagyon gyorsan betöltött a muterom régi laptopján, ami csak 256 MiB RAM-mal és elvileg nem túl ütős processzorral rendelkezik. Ráadásul a grafikus kártya Ati, amihez hírhedten rossz zárt drivereket ad ki a visszafejlesztő cég, ennek ellenére semmit sem kellett beállítanom Jauntyn, out-of-the-box ment a 3D gyorsítás, már a live CD-n is rögtön csillogott-villogott a Compiz.

Thunderbird 3 szép, Ubuntus fontokkal

Nem hagyott nyugodni, ronda volt.

cpufreq-set -c0 -g performance
cpufreq-set -c1 -g performance

./configure --enable-application=mail --enable-system-cairo --enable-default-toolkit=cairo-gtk2
--enable-xft --disable-ogg --disable-wave  --disable-crashreporter
--prefix=/opt/thunderbird-src --enable-static --enable-official-branding

make -j3

Most pedig szépek a betűk.

FreeBSD SoftUpdates + Journaling

Már megint ivoras blogját olvastam, ahonnan Jeff Roberson oldalára jutottam. A cikkben arról van szó, hogy egy igen picike naplózást hozzáadva a jelenleg használatos softupdates-hez, hogyan lehet a rendszerösszeomlásokat követő fájlrendszer helyreállítások idejét sok nagyságrenddel felgyorsítani. A leírásban van pár szó az egyéb, gyors helyreállítást lehetővé tevő fájlrendszer megvalósításokról is (utalások az XFS-re és a ZFS-re). A friss fejlesztést Jeff és Kirk McKusick, az FFS és a softupdates eredeti kitalálója/kifejlesztője együtt hozta össze. Érdekesség, hogy egyszerre támogatta őket ebben a Juniper és a Yahoo! is (a talán kicsit kisebb iXsystems-szel). A kód elvben 2 héten belül kerül nyilvánosságra (gondolom akkor tervezik beolvasztani a FreeBSD-CURRENT-be), és a BSDCan rendezvényen lesz róla szó részletesebben.

sokáig éljen az ATI support

(EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM
(EE) RADEON(0): Acceleration initialization failed

Mert persze olyan nincs, hogy az a retkes fglrx sikeresen betöltődne. Naná, hogy a kernel kidobja.
Marad az xorg "radeon" ja, ami viszont 3d gyorsitást pont erre az RV630as kártyára nem ad.
Nem értem, hogyan lehet ennyire balf*sz ez az ati.
Érdekes, NVIDIA-ék driverjeivel még soha semmi gondom nem volt, de ez a tetű fglrx, ez minden kernelfrissitésnél, minden xorg frissitésnél, sőt amikor csak teheti egyből bedobja a törölközőt.

LUA > Tail rekurzív függvény > Közlekedési lámpa

Ha valakinek elvonási tünetei lennének, mert mondjuk nem vezethet íme egy béjnácska villanyrendőr implementáció.
Ami elsőre feltűnik, hogy nincs veremtúlcsordulás. Na ez a tailrekurzió áldása.
Itt kipróbálható: http://www.lua.org/cgi-bin/demo

[code]
function feny(...)
print(...)
end

function CsakPiros()

feny("piros")
return PirosEsSarga()
end
function PirosEsSarga()

feny("piros","sarga")
return CsakZold()
end
function CsakZold()

feny("zold")
return CsakSarga()
end
function CsakSarga()

feny("sarga")
return CsakPiros()
end

Újra itt a vizsgaidőszak, és az új Neptun is, persze.

Nos hát, ismét eljött az évnek ez a szakasza, ami sokaknak a beiglit és a csillagszórót juttatja eszébe. Engem (és szerintem itt még sok más olvasót is) nem csak ezek a dolgok foglalkoztatnak¹. Jön a vizsgaidőszak, tehát menetrendszerűen itt egy új Neptun verzió². Ami azért jó, mert már nincs leckekönyv se, vagyis mi nem kapjuk meg, szóval a jegyeinket rábízhatjuk mindannyiunk kedvenc tengeristenére.

gwt + osx = crash

Gondoltam kiprobalom a GWT-t.
A project skeleton egy hello [itt lesz a neved] world! szeru kis RPC.
Megnyomom a fuss gombot.
Szepen elindul.
Majd:
Invalid memory access of location 0x10 eip=0x90cca148

vagyis kernel crash!!!

OS Version: Mac OS X 10.5.8 (9L31a)
Report Version: 6

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000010

sikerult a java-val is olyan fejlesztokornyezetet osszerakni ami kernel crash-t produkal
es meg mondjak, hogy nem fejlodik a programozas kultura! /* szarkazmus */

A nap álláshirdetése

Épp eladó lézervágót kerestem, amikor ráfutottam erre, a mai magyar alkalmazásfejlesztői szakmát, már-már zen szinten összefoglaló gyöngyszemre:

Programozó pozícióba keresünk munkatársakat

Amit kínálunk:
Magas havi alap fizetés
Jelentős jutalék
Bejelentett alkalmazotti jogviszony
Céges -telefon, -laptop (eredmény után autó)
Teljes körű szakmai képzés, fejlesztés
Jó légkör

Feladatok:
CNC vezérlő rendszerekhez Windows alapú
alkalmazások fejlesztése
Új kreatív megoldások kitalláása és szoftveres
kifejlesztése
Már meglévő szoftverek esetleges tesztelése,
hibaszűrése

Elvárások:
C++ és/vagy Delphi
Objektum orientált elmélet
Hardver közeli programozás képessége
Legalább 5 éves programozási múlt, referenciák
Átlátható kód írásának képessége, érthető kommentálás
Minden feladatot következetesen, magas minőségben és
gyorsan kezel
Képes előre meghatározott határidőknek és ütemtervnek
megfelelően dolgozni

napi LOL

idézet egy magyar PC gyártó hírleveléből (SPAM):

"A felső kategóriás grafikus kártyával a programok még szebbek és gyorsabbak lehetnek."

:-D

update1:
elnézést, magyar PC forgalmazó, aki saját márkás gépként árulja, mint a FEFÓ, de nem tőlük jött a levél...

update2:
ha 1-2 program ki tudja használni a 3D chip képességeit, attól még az állításuk hamis, mert nem érvényes mindre...
és mitől lenne szebb a program megjelenítése???

LUA > Állapot nélküli iterátor > rt_cache-ből származó ip-k decimális pontossá alakítása

Feladat:

Az rt_cache-ből származó hex alakú ip-k decimálissá alakítása. Érdekesség, hogy az rt_cache-ben fordítva van az ip.

Teszt:


   Be: 0100007f
   Ki: 127.0.0.1

Megvalósítás:

Az általános for ciklust használom. Az általános for ciklus nagy előnye lua-ban, hogy egy generátor függvényt(olyan függvény, ami függvényt ad vissza) hív meg a ciklusban.

 Szintaxis: for k,v in func(akarmi) do 

Ahhoz hogy a k és v értékek elérhetőek legyenek a generált függvénynek vissza kell ezeket adnia. Példánkban az srev függvény visszad egy függvényt, a bemenetét és a ciklusváltozó kezdeti értékét. Tulajdonképpen az ált. for ciklus-nak ez az "interfésze": minden egyes ciklusban meghívja a kapott ciklusfüggvényt, a visszaadott bemenettel és a módosított ciklusváltozóval. A meghívott ciklusfüggvénynek is vannak megkötései: addig hívódik meg, amíg visszaad valamilyen értéket és ezek az értékek másolódnak a k és v változóba.
Lehet kicsit túlbonyolítottam. Még lehet átírom.

Utalom a telet

Utalom a telet, vagy nem is a telet. A telet azt szeretem, szeretem a havat (az ami meg mindig nincs...), azt, hogy nem sulok meg. Szeretem a fust illatat ami a kemenyekbol jon. Szepek ilyenkor a tajak, foleg a hegyvidek. A fak mar elhullajtottak lombkoronajukat, szeretem ezt a sok sarga levelet is a foldon.
Amit viszont rohadtul gyulolok az a decemberi honap. Faradt vagyok, nyugos vagyok, kurvara nincs semmihez kedvem, es rohadtul nem sikerul semmi.
Ja de sikerul: auto jobb hatsojat szetkurnom villanyoszloppal, meg elbarmolnom amihez hozzanyulok. Utalom. Van meg valaki akinek nem jon be ez a honap? :)
Johetne mar dec 21...

How to Configure compiz Fusion in Ubuntu 9.10(Karmic)

Compiz is a compositing window manager that uses 3D graphics acceleration via OpenGL. It provides various new graphical effects and features on any desktop environment, including Gnome and KDE. Compiz Fusion is a collection of plugins and a configuration system for the Compiz compositing window manager. It was created from the remerging of Beryl into Compiz.

Full Story