Blogbejegyzések

Véget nem érő végtelen ciklus

Minimális Lisp interpretert készítő sorozatom előző részében arról számoltam be, hogy az értelmezőnek már lehetséges rekurzív procedúrákat megadni, amiket helyesen futtatni képes. Ma sikerült egy végtelen ciklust ábrázoló végtelen rekurzív függvényt úgy futtatni, hogy az "soha" nem ér véget, azaz a végtelen rekurzió nem szakad meg memóriaelfogyás, veremtúlcsordulás vagy egyéb probléma miatt, hanem stabil memóriafogyasztás mellett szépen pörgeti a processzort, amíg le nem lövöm a processt.

Ehhez alapvetően két összetevő volt szükséges: garbage collector és tail-call optimization. Garbage collector azért, hogy az "iterációk" során létrehozott, de később már fölösleges objektumok felszabaduljanak. Ellenkező esetben folyamatos memóriaszivárgás miatt utóbb elfogyna a memória, ami a program összeomlását okozná. Tail-call optimization pedig azért kell, hogy "visszacsinálja" azt, hogy egy ciklust rekurzióval írunk le, mivel (egy egyszerű) funkcionális nyelven csak így lehet. Ellenkező esetben, a rekurzió naív függvényhívásos implementációjával a stack folyamatosan növekedne új frame-ekkel, ami nem mehet a végtelenségig.

Visioned Frailty LP

Lassan, de biztosan elkészül kis csapatunk első nagylemez anyagával.
Egy kis előzetes lefigyelhető az alábbi linken, mégis milyen irányt vett a formáció a tagcserék után.
És persze nem apróztuk el, a legnehezebb, leggonoszabb nóta került ki... ;)

https://soundcloud.com/visionedfrailty/visioned-frailty-04

Természetesen ha végleges formát ölt az anyag, azonnal tájékoztatom a HUP közösséget!

Metal!

Ubuntu Firefox Extension és az OWA

A cégnél átvette levelezőszerver üzemeltetését egy másik cég. Az Exchange-et OWA-en keresztül szoktam elérni, ami eddig a Firefoxal viszonylag gördülékenyen működött. Most viszont a böngésző nem válaszolt, ahányszor be akartam lépni az OWA-ba, fagyás.

Nyilván az első gondolatom az volt hogy milyen szar az új OWA, de aztán kénytelen voltam a megoldáson is gondolkozni, ezért elkezdtem tiltogatni a pluginokat és az extension-öket.

És igen, a nyertes az Ubuntu Firefox Extension lett. Fogalmam sincs miért veszett össze az OWA-val, de mindegy, letílta, és újra használhatom a levelezőt, happy end.

Rekurzív pillanatok

A korábbi fejlemények után végre megcsináltam a

set!

és az

if

formákat. A set! felülírja a változók (= environment elemek) értékét, if az elágazáshoz kell.

Ezzel lehetővé vált, hogy végre rekurzív függvényeket fogalmazzak meg.

Mivel számok nincsenek, listák és logikai típus viszont van, vegyünk egy nagyon egyszerű függvényt: a függvény állapítsa meg, hogy a kapott lista elemeinek száma páros-e.

rossz rádió

reggel munkába menet valami nagyon hülye sistergést hallottam: egy idő múlva le is halkítottam a rádiót, mi a szar lehet ez. immár nem hallottam semmi rendelleneset, csak az autó zaját. visszaadtam is a hangerőt, de 2 perc múlva megint "cirip".... kva anyját még egyszer lehalkítottam, eredmény ua más állomáson is: ~"király, be fog rosálni a rádió" :S

reggel én nyitottam, azonnal elkezdtem készülődni a vidéki melóhoz. mivel árut is vinnem kellett, azt is előkészítettem, előrébb hoztam a raktárból stb. 10 perc múlva bepakoltam a csomagtartóba amit kellett, majd kinyitottam a hátsó ajtót, mivel oda hátra is szándékoztam tenni pár cuccot. jeah, kösz tücsök haver, hogy megláttalak a hátsó ülésen :D sokkal jobb érzés volt így elindulni, hogy nincs baja a rádiónak. mondjuk hirtelen majd beszartam mi a fsz 3-4 centis koromfekete bogár pózol előttem.

Böngésző választás

Mint, ahogy korábban írtam, váltottam operáról firefoxra. Valahogy nem az igazi. Olyan robosztus érzésem van, meg a gtk-oxygen témával sem illeszkedik bele tökéletesen a KDE-s környezetbe. Hát, elkezdtem nézelődni:

- Chromium sem tetszett. A beállítás felülete nagyon fúrcsa volt, hogy web alapú, de ezen még túl tudtam volna lépni. Ami leginkább nem tetszett, hogy operából nem tudta betölteni a könyvjelzőket. Hát kiexportáltam operából, majd meg akartam nyitni chromiumban, de percekig szenvedtem. Nem jött fel egy ablak valami oknál fogva. Hát ezt is elvetettem.

isc-dhcp-client, gratulálok

Kénytelen voltam squeeze-ről wheezy-re térni, mert kerek perec bejelentették ugye, hogy oldstable iceweasel-hez nem lesznek biztonsági frissítések.

Úgy-ahogy lezavartam a frissítést; ilyenkor persze mindig megnézem, mennyire sikerül hazavágnia az iptables szabályaimat, mennyi új fos daemon indul automatikusan, hány új port nyílik meg kéretlenül. A kép egészen jól alakult, amíg el nem értem a netstat -anp-hez, amikor is belefutottam ebbe (ubuntu link, de debian-on is ugyanez van):

https://bugs.launchpad.net/ubuntu/+source/isc-dhcp/+bug/1176046

Dokumentáció nulla, kikapcsolási lehetőség kizárólag ./configure opcióval és újrafordítással. Gratulálok!

LMDE - iscsi - cryptsetup

A Synology DS-411j NAS-om egyik LUN-ját encryptálva szeretném használni /home-nak.

... de nem jön össze a sorrend.

Jelenleg előbb indul a network , aztán a cryptdisks, aztán az open-iscsi.

Ezek az rcS.d -ből idulnak.

A network sajnos nem hozza fel a Wifi-t (egy n-es Wifi kapcsolat van egy TP-Link 1043-as routerel). A network-manager felhozza már de az meg már bőven az open-iscsi után indul (rc2.D -ből)

Nézegettem ezeket a /etc/rc?.d kvtárakat meg a scripteket a /etc/init.d alatt.

Megpróbáltam olyat hogy kézzel átnevezem meg átlinkelem hogy (szerintem jó sorrendben induljon el) de egyszerűen nem működöt. Nem láttam nyomát hogy elindult volna ott ahol akarom. Úgy nézem hogy ha átrakok egy scriptet rcS- ből rc2 be akkor nem indul el valami miatt.

Teszteltem a DELL supportját...

Történt ugyanis, hogy internetszolgáltató-váltás miatt pár napig nélkülöznöm kellett az asztali gépet. Ezideig kizárólag wifin keresztül tudtam dolgozni, tehát a laptop asztali géppé lett alakítva (külső bill, egér, monitor)...

Két napig nem is volt gond. Egyszer aztán bedugtuk a billentyűzetet, de nem reagált. Sőt, az egér hasa sem világított. Mint kiderült, kitört a bal oldali USB-ből egy darab, amit nem is értek, mert az ember azért nem állat módjára dugdossa a csatlakozókat...

Következő indításnál már el sem indult a laptop: winyó felpörgött, és itt meg is állt a POST. Már a DELL logó sem jött be.

waze - a csalódás

Ma este fél nyolc körül még mindig le akart vinni az egyébként akkor már majdnem egy napja lezárt rakpartra, ami elég kínos (jelen esetben alkalmazás = tartalom = hasznosság). Legalább útvonal elkerülést be lehetne állítani, de még az sincs.

Egyébként nem tudom eldönteni, hogy mi történt, de dugóból dugóba navigált és meg se próbált alternatív útvonalat mutatni (illetve amikor fű alatt mentem, akkor meg vissza akart vinni a dugóba).

Nem hiszem, hogy rajtam kívül senki nem volt a környéken. Főleg, hogy reggelenként egészen jól informált és többször tudott már olyan útvonalat mutatni nap közben, ami átment a városon és szinte csak a lámpáknál kellett megállnom.

How to install postgresql 9.2 on ubuntu 13.04 (Raring Ringtail) Server

PostgreSQL is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness. It runs on all major operating systems, including Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X,Solaris, Tru64), and Windows. It is fully ACID compliant, has full support for foreign keys, joins, views,triggers, and stored procedures (in multiple languages). It includes most SQL:2008 data types, including INTEGER,NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and TIMESTAMP. It also supports storage of binary large objects,including pictures, sounds, or video. It has native programming interfaces for C/C++, Java, .Net, Perl, Python,Ruby, Tcl, ODBC, among others.