Blogbejegyzések

Napi picsogás, avagy a windows és a stereo "upmix"

Adódott, hogy fel kellett tennem egy windows 7-et. Ideig óráig áthoztam ide a dolgaimat, nem szeretnék ide-oda bootolgatni.

Első észrevétel: 2014-ben, egy linux alatt is jól támogatott nem őskövület gépen (nvidia gts 450,intel sandy bridge) még mindig ott tartunk, hogy windows-t bootlova lényegesen gyorsabb, folyamatosabb a működés: tettenérhető lemezműveleteknél, komolyabb kép szerkesztésnél, blu-ray lejátszásnál, illetve egyszerű scrollozás közben is.

Ami viszont kivitte a biztosítékot: Egyszerűen nem tudom megoldani komolyabb haxolás nélkül, hogy a stereo hangok mind a 4 hangszórómon megszólaljanak:

Automatikus top lista algoritmus #2

Előzmény itt.

Használom ezt a megoldásmat, és arra jutottam, hogy még jobb, ha kibővítem egy olyam limittel, hogy a linkeket csak addig íratom ki, amíg a delta idő értékek egy maximum alatt vannak.

Ugye van egy listám a megnézett linkekkel. Ezekhez csak a megtekintés időpontját tárolom, és ezen időket sorba rendezve képezek egy olyan listát, ahol az idők különbségét nézem az aktuális időhöz képest. Vagyis azt, hogy mostanhoz képest mennyi másodperccel régebben volt megtekintve egy link.

Ehez az előzményekben leírt algoritmusom alapján generálok egy olyan top listát (leggyakrabban nézett linkek), ahol igényem volt az, hogy ne legyen se rövid, se túl hosszú ez a lista - mert különben egyszerű lett volna csak simán sorbarendezni idő szerint és levágni egy fix értéknél, hogy pl. csak a top 5-öt mutatom. De én kicsit okosabban akartam ezt.

CUPS craps

Hogyan lehet két perc alatt több napos hibakeresést csinálni CUPS alatt?
Kell hozzá egy PC, két USB nyomtató, és a CUPS nevezetű ipari hulladék. Első lépésként csatlakoztassuk a nyomtatókat és kapcsoljuk be. Telepítsük a CUPSban mindkettőt és állítsuk be az egyiket alapértelmezett nyomtatóként. Nyomtassuk ki a tesztoldalakat. Örüljünk. Kapcsoljuk ki a számítógépet és a nyomtatókat, majd pár nap múlva kapcsoljuk be, és kapcsoljuk be azt a nyomtatót, amelyik nem az alapértelmezett.
Próbáljunk nyomtatni valamit, de nyomtatóként az alapértelmezett nyomtatót használjuk. Próbáljunk nyomtatni valamit a nem alapértelmezett nyomtatóra. A nyomtatás elindul és kis idő műlva "Unable send data to printer" hibaüzenettel megáll, a nyomtató Paused módba kerül és Resume Printer-re sem hajlandó a nyomtatás folytatni. Függetlenül mivel és hogyan próbálkozunk nyomtatni a hiba ugyanaz lesz.
dmesg-et megnézve ilyen szépségeket fogunk látni:


[ 1011.586214] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 1013.305372] usblp0: removed
[ 1013.319910] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 1251.757315] usblp0: removed
[ 1314.595655] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4268.295899] usblp0: removed
[ 4268.309545] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4273.799281] usblp0: removed
[ 4273.813451] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4279.342722] usblp0: removed
[ 4279.356950] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4284.646289] usblp0: removed
[ 4284.660189] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4290.077973] usblp0: removed
[ 4290.092037] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4295.585363] usblp0: removed
[ 4295.599516] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4301.116841] usblp0: removed
[ 4301.130880] usblp 8-1.3:1.0: usblp0: USB Bidirectional printer dev 6 if 0 alt 0 proto 2 vid 0x04A9 pid 0x10C1
[ 4306.612244] usblp0: removed

Pipa

Azért érdekes élmény, hogy kész vagyok az első "komolyabb" programommal, és valahogy inkább az izgat, hogy hogyan lehetne módosítani. Mondjuk a közben beszerzett tapasztalatok is kellemesek voltak.
Kezdjük azzal, hogy hosszú ideig csodáltam a számológép-programokat, el nem tudtam képzelni, hogy hogyan is működnek. (Igaz, ehhez az is hozzájárult, hogy egyrészt nem tudtam, hogy van, aminek a forráskódjét is meg lehet tekinteni, másrészt féltem, hogy a kód bonyolultságát egyből meg sem érteném...) Ehhez képest már az is kicsit csalódás volt, hogy egyfajta gyakorlófeladatént kaptam. Az még inkább, hogy lényegében elégé nyúlfarknyi dologról van szó.
No, de hogyan is kezdjek hozzá? Eleve adott, hogy a Java, a modern kor követelményeihez igazodva, eléggé megnehezíti a nem GUI programok írását (legalábbis nekem eddig ez jött le). Tehát grafikás lesz a dolog.
Az rögtön nyilvánvaló, hogy a GUI és maga a program két különálló egység kell legyen. Logikusan gondolkodva a GUI néha változhat, illetve a számolás, mint olyan, szintén elég zaklatott életet élhet. Egyelőre a GUI-t hagyjuk, majd a végén foglalkozom vele. Illetve annyiból ne hagyjuk, hogy milyen típust kaphatunk legegyszerűbben vissza? Hát persze, stringet, szóval erre kell építeni.
No, a stringet kell szépen szétszedni, külön a számokat, és külön az operátorokat. Itt komolyan elkezdtem gondolkodni azon, hogy ezt hogyan is kellene. Az világos, hogy operátor az, ami nem szám. Aztán rájöttem, hogy ez nem teljesen igaz, mert van például előjel meg tizedesvessző. Ő, pont. Egyelőre maradjunk a pontnál (még mindig itt is tartok). Tehát szedjük szét a stringet rész-stringekre. A rész-string számmal kezdődik, vagy előjellel, illetve maga egy operátor. Az operátorokat legegyszerűbb egy stringben tárolni (lévén maguk egy-egy karakter), és mindig megnézni, hogy ami jön, az mi, aztán végigmenni, amíg valami más nem jön... Itt kezdett elbonyolódni az életem, amikor teljesen véletlenül fel nem fedeztem, hogy a kulcsszó, amit keretem, a token. Ilyen rémlett a Java dokumentációjából is. Találtam valamiTokenizer nevű izét, ami nem az volt, amit kerestem, de nagyon hasonlított rá. Akkor keressünk StringTokenizert, és lőn hepinessz és erekció. Ez azért is jó, mert a String osztályból lehet mondjuk Double osztályt gyártani. Egyedül az előjelre kell figyelni, de az nem gond. És minő szerencse, hogy az operátorokat egy Stringben adtam meg, mert ez mehet a StrinTokenizer egyik paraméterének.
No jó, már szét tudom szedni a kapott izét mizékre. No akkor a következő probléma: hogyan is számolunk? Gondoltam, hogy úgyssem lesz jó, de hogy teljesen szar legyen, azt nem. Megpróbáltam ceruzával papíron végigkövetni, de ezt a legkevésbé gondoltam értelmezhetőnek a számítógép számára. Itt kicsit le is álltam, enyhe feladásszagot érezve. Azért gyötrődtem vele, de a megoldás teljesen véletlenül jött. Az iskolai gépen kerestem Lengyel Bélára, és a Google hirtelen felajánlotta a lengyel formulát is. Ez felrémlett még ifjúkoromból. Felajzott, de sajnos a magyar wikin ilyen bejegyzls nincs. Kerestem az angolon, de kiderült, hogy nem egy Lengyel navű fasziról nevezték el, hanem egy lengyel matematikusról. Nem baj, megtaláltam, és ott lapult egy szép algoritmus is, hogyan lehet egy kifejezést ilyenné alakítani. Cirka két hét küszködés után sikerült is szépen átalakítani a beadott kifejezést fordított lengyel formára. Ennek jelentős része papíron ceruzával történt, kicsit meg is lepett, valahogy mindig úgy képzeltem, hogy ha az ember programozik, akkor leül a gép elé, és vagy néz okosan, vagy pötyög.
Az az igazság, hogy az objektumorientált szemlélet valójában valahogy úgy szólhat, hogy "osztály az, amivel van mit csinálni". Nos, az operátorokkal van mit, eleve annyi minden kapcsolt infó van, hogy egyértelműen jobb megcsinálni osztálynak, mint egy mezei stringnek. Például ott a precedencia, meg ott a velük való munka. Közben eszembe jutott, hogy az operandusok száma sem mindegy. Lett tehát egy operátor-osztály, ezzel némileg a formula-átalakító metódus is egyszerűsödött. No meg lehet csinálni egy metódust, ami egyszerűen kiszámolja a megadott paraméterek alapján a művelet eredményét.
Tehát eddig van egy osztály az operátoroknak, a kapcsolódó metódusokkal, van egy, ami kiszámol, meg a GUI. Hm, jobb lenne, ha a kiszámoló osztály tényleg csak kiszámolna, úgyhogy legyen egy külön osztály, ami a minden egyébbel foglalkozik. Kap egy stringet, abban leellenőrzi, hogy nincs-e durva hiba, aztán átadja a kiszámoló osztálynak, ami az operátor osztály segítségével átalakítja, majd kérésre ki is számolja. Természetesen van pár hibalehetőség, úgyhogy beleástam magam a kivételkezelésbe, de, mint kiderült, ez elég sekély halom.
Végül csak eljutunk a GUI-ig. Gondolkoztam, aztán rájöttem, hogy a legtöbb programmal a legnagyobb bajom, hogy teljesen felesleges dolgokkal bajmolódik - tényleg számológépnek akar kinézni. De kérdem én, mi a fasznak? Mi is kell? Egy beviteli mező, egy felirat, ahol az eredmény vagy lebaszás jelenik meg, meg két gomb (hogy szimmetrikus legyen): egy, ami kiszámol, meg egy, ami kilép. Itt még egy vidám kanyart elszórakoztam az Event nevű dolgokkal, de ezek eléggé egyszerű dolgok. Tékápé arról szól a dolog, hogy ha történik valami, akkor azzal vagy csinálok valamit, vagy leszarom (utóbbi a jellemző, ahogy nézem).
Van egy fasza számológépem. Nekem legalábbis tetszik. Csak az a kár, hogy nem tud mondjuk logaritmust számolni. Nem baj, már van ötletem, mit lehetne vele kezdeni. Másrészt pedig ez alapján nem lehet nehezebb mondjuk egy függvényábrázoló program sem, aminek viszont órán jó hasznát vennénk.
Hű, mi lesz, amikor holnap, józanul visszanézek ide...
Bassza meg újabban valahogy feszt funeral doomot hallgatok, úgyhogy azt kaptok tik is:
Pantheist - Sloth
Funeral Tears - For You
Dreams After Death - Genesis
Evoken - Into the Autumn Shade
Fallen - Gravdans

dvb-t /focivb/ vlc wifi vlc

A nagy terv

HW:

dvb-t usb kártya
PC1: win7
wifi
PC2: win7

SW: vlc

-
PC1:
A dvb-t jelét megkapja az usb-s cucc.
A jel átmegy a vlc-be.
A vlc valamilyen protokollon, wifin keresztül sugározza a jelet a másik vlc-nek.

PC2:

vlc megnyit: /hálózati műsor megnyitása/ és néz vb. :)

A megoldás valahol fent van az interneten, hup.hu google.com, eddig nem segített.

Elméletileg működhet, gyakorlatilag nem megy.
Ha valakinek van valami ötlete és megosztja velem azt szívesen veszem.

Nekro Negro puzzle

Pár napja feldobtam egy - lényegében - 5 feladatból álló rejtvényt az itstoohard.com.com-ra (érdemes regisztrálni vmilyen néven, de nem létszükséglet). A legokosabb, leggyorsabb, legügyesebb egy Nekro játékot tud elhozni vele, ha minden igaz megy linux alatt is.

Nincs még meg a győztes, pár ember jutott el a 4. feladatig de ott jelenleg erőteljes fixírozás folyik csak, szóval még van remény azoknak is akik szeretik a rejtvényeket és most esnének neki. Jó játékot.

A fontos levélküldemény intézményének abuzolása

Az hinné az ember, hogy egy cég akkor küld fontos levelet, ha valóban fontos közlendője van. A fontos levélküldeményt onnan lehet felismerni, hogy az ember kezéhez kézbesítik. Ha az ember nincs otthon, akkor a fontos levelet a postás nem dobja be a postaládába, hanem visszaviszi a postára és egy értesítőt hagy arról, hogy a fontos levelet hol lehet átvenni.

A napokban kaptam egy levelet az egyik szolgáltatótól. Mivel nem voltam otthon, a postás hagyott egy értesítőt arról, hogy mikor vehetem át. Gondoltam, hogy fontos levél lehet, mert nem dobták be. Tegnap fogtam az értesítőt, a rugalmas munkaidőm terhére elmentem érte a postára. Téptem sorszámot, kivártam a sorom. A sorszámmal, plusz két okmánnyal (szig. és lakcímkártya) felvértezve megküzdöttem a sárkány a postásasszonnyal.

Végighallgattam 2 ajánlatot arról, hogy miért kössek balesetbiztosítást egy olyan utazásra, amire el sem akarok menni, illetve miért fektessem be a pénzem egy olyan kihagyhatatlan, magas kamatot nyújtó ajánlatba, amibe eszemben sincs. A végén megkaptam a levelet.

Remegő kézzel bontottam ki. Ez állt benne:

Tesla Motors szabadon felhasználhatóvá tette szabadalmait

Mindenki kedvenc IRL Tony Starkja, Elon Musk blogbejegyzésében jelentette be, hogy szabadon elérhetővé és felhasználhatóvá teszik a Tesla Motors által jegyzett szabadalmakat. Mielőtt a "peace, love, and open-source" hívők meggyújtanák a füstölőt érdemes a felszín alá nézni.
Mr. Musk nem evett túl sok gombát a talpáról és nem is szívott a kelleténél több rakéta üzemanyagot, szimplán a cégének túlélésért küzd. Ugyanis a Tesla Motors egyik legnagyobb problémája, hogy nem tudja eladni az autóit. Ennek az oka, hogy a vásárlók a hagyományos autók mellett az istenért sem akarnak villanyautót venni, a hagyományos gépkocsigyártók meg nem akarnak villanyautót gyártani. Ez egy olyan piaci helyzetet eredményez, ahol a nemlétező versenytársak miatt, a terméküket automatikusan a belsőégésű-motoros gépkocsikkal hasonlítják össze a vásárlók, és az alma-körte hasonlat miatt, egyértelműen a hagyományos gépkocsikat választják. Innen kezdve, hiába uralja a piaci szegmens jelentős hányadát a cég, nem képes eladni a termékét. Logikus lépés, hogy versenytársakra van szükség akikhez hasonlítani lehet a saját termékeket, akiket lehet ekézni, és innen kezdve a szabadalmak mér nem segítséget, hanem akadályt jelentenek. Ugyanis a mai világban, mikor cégek egy lekerekített forma miatt mennek a bíróságon ölre, senki nem áldoz milliókat egy olyan, bizonytalan piacra történő belépésre, ahol valamely versenytárs már minden sarkot bevédett, és az ügyvédei kiéhezett vérebként állnak készen egy jó kis szabadalmi vérfürdőre.
És ez mutatja meg, hogy Elon Musk miért tart ott ahol és miért sikeres üzletember.

ZFS on Linux: 0.6.3

Egy ideje mar hasznalom elesben, egesz jonak tunik.
Kulonosen erdekes a Posix ACL support es a ZED.
Vmint valoban _sok_ hibajavitas kerult bele, sokkal stabilabb es kevesebb memoriara van szuksege.
=================================================================================================

The ZFS on Linux team is happy to announce the release and immediate availability of version 0.6.3! This release is major step forward for ZFS on Linux. It includes a large number of new features, bug fixes and other enhancements.

http://archive.zfsonlinux.org/downloads/zfsonlinux/spl/spl-0.6.3.tar.gz
http://archive.zfsonlinux.org/downloads/zfsonlinux/zfs/zfs-0.6.3.tar.gz

Site Down - thanks to the spam leeches

http://jackaudio.org/
:(

"The jackaudio.org website is temporarily shutdown due to a deep hack by the leeches who post pharmaceutical spam. It is not clear quite how they got in, but the penetration is sufficiently bad that the entire Drupal-based website is completely suspect and will have to be torn down and recreated."

duckdns

Találtam egy aranyos, gyors dyndns szolgáltatót. Néhány hostot ingyen kapunk, donation fejében továbbiakat.
Instant signup az ismert social networkökön keresztül, per-system help.
Csak beirjuk a parancsokat, és kész az automatizált refresh script (ha nem tetszik valami, akkor belepiszkálunk).

Kb. 15 másodperc alatt kész vagyunk.

https://duckdns.org/

lenovo te drága...

...mérnökeid egy részét akasztani kéne.

thinkcentre m75e (amd proc)

win7 telepítő partícionál, formáz, telepít, működik.
ubuntu 12.04 desktop (amd64) (graf) telepítője lát (üres) /dev/sda-t, de nem lehet partícionálni, így a telepítés ugye nem megy...
(konzolban fdisk teszi a dolgát, konzolos telepítés 10.04-en ment)

már megint az átgondolatlan agyonfejlesztés :)

Steam 500

A Steam-en a Linux alatt is elerheto jatekok szama elerte az 500-at, pontosabban mara mar meg is haladta (*). Ez amelett, hogy szep kerek, azert is erdekes, mert korabban volt olyan nyilatkozat, ami szerint a Steam Machine megjelenesere lesz kb 500 jatek. Szoval ez megvan, pipa. Johet a gep. :)

Persze nem vagyok eltevedve, vilagos, hogy nem a darabszam a donto, bar bizonyos limitet nyilvan darabszamban is el kell erni.

Csak mihez tartas vegett, Steam-en kb 3200 jatek van osszesen, szoval mar az 1/6-a (~16%) elerheto Linuxra.

(*): van egy kis bug a Steam weblapjaval (gondolom azzal), az hogy hany jatekot szamlal nalam attol fugg, hogy hogyan rendezem sorban, kiadasi datum szerint rendezve 514 Linuxos jatek van, Metascore szerint 519. Kezzel nem szamoltam le. :P

Halfdome, Yosemite

Nézegetem az új Mac OS X Yosemite-ből szerzett háttérképet mikor rádöbbenek, hogy azt a Halfdome-ot ábrázolja, amiről réges-régen a HP csúcsszámítógépe, a Superdome kapta a nevét. Nyilván tök véletlen, ráadásul talán a Halfdome Yosemite egyik legnépszerűbb látványossága, de nekem tetszik ez az elképzelt kapcsolat.