andrasf's blog

(Mac vs sör) vs (Linux vs VPN)

Szeptember 7, szombat, 21 óra: egy rossz mozdulattal sör kerül a Macbook Pro-ra (nem én voltam). Hamarosan elmegy a kép.

Szeptember 9, hétfő, 10 óra: egy ügyfél ír hogy rá kellene nézni valamire.
...16 óra: egy másik laptopra megy fel az Ubuntu.
...17 óra: fenn a LAMP, repó klónozva, kéne a VPN.
...19 óra: ismerős megérkezik szétszedni a Macbookot.
...20 óra: hát a ...va anyjáért nem megy az L2TP/IPSec a network-manager-l2tp-gnome-mal még mindig, pedig már a hatvanadik féle cipher methoddal próbálom.
...21 óra: megvan a hiba oka, a képernyő alatti takaró műanyag mögötti csatlakozóba jutott egy pici folyadék, máshol nincs nyoma. Valószínű hogy az alaplap jó, HDMI-n megy, lámpával megvilágítva látszik egy picit a kép. Ismerős elviszi magával.

How to secure phpMyAdmin

Sok helyen a következőt ajánlják:


location /phpmyadmin {
  auth_basic "Admin Login";
  auth_basic_user_file /etc/nginx/pma_pass;
}

Ez azért jó, mert ugyan a szerverem/phpmyadmin címen valóban bekéri a jelszót, de a szerverem/phpmyadmin/index.php címen már nem. Ennek ellenére még a DigitalOcean howto-iban is így szerepel.

Azért ez vicces :) Esetleg ajánlható lenne helyette:

location ~ /phpmyadmin/.*

FF vs Chrome

Lenovo T400-as laptop, Intel(R) Core(TM)2 Duo CPU P8800 @ 2.66GHz, 2 GB ram:

Chrome = lassú, ha a Gmail-t megnyitom, vége mindennek.
Firefox = semmi gond.

Érdekes. Mi több, meglepő.

Kavarás Ubuntu módra

Érdekes dolgok vannak egymással összekötve néha, például én elgondolkodtam amikor tudatosult bennem hogy a grafikus felület végzi az automatikus mountolást meg a hálózati kapcsolat létrehozását.

Nézegettem különféle disztrókat, hátha valamelyik meg tudja oldani hogy fagyás nélkül tudjam kikapcsolni és újraindítani a gépemet, és a felfüggesztés is megy.

Semelyik nem volt rá képes, az Ubuntu alapú disztrókon kívül még az se mindig sikerül, hogy elinduljon a grafikus felület, és néha a wifi se működik.

Viszont érdekes, hogy az elementaryOS Ubuntu 12.04 alapú, ami eddig a gépemen volt. Az Ubuntu 12.04 az utóbbi időben mondjuk kb. 50%-ban nem fagyott le reboot és halt közben miután töröltem a hardverhibás SSD-t bootoláskor, és 95%-ban sikerült a suspend is a postban hivatkozott shellscript-tel.

ruby, sl4a, bluetooth és a hangerő

Néha szeretek zenére elaludni, vagy legalábbis ha elalszok miközben szól a zene, akkor nem kelni föl hogy kikapcsoljam.

A hétköznapokban az első probléma az, hogy mindig nyugtalan vagyok az ébresztőórát illetően. Ha egész éjjel szól a zene akkor vajon fölébredek rá? A válasz valószínűleg igen, mert a zene nagyon halkan szól, de azért jobb a biztonság :)

A következő probléma az, hogy ha elindítok valamilyen rádiót (pl. stereomood), és olyan szám jön ami nagyon nem tetszik, akkor kapcsolgatni szeretném. Ha túl halk/hangos, akkor pedig állítani a hangerőt. Ez laptopon kényelmetlen, de mobilon egész jó.

Kép szétválogató tool

Történt, hogy beállítottam a telefonomon különféle szinkronizációkat, amelyek a fotóimat feltöltik az úgynevezett felhőbe.

Igen ám, de így össze van hányva az összes fotó egy-egy mappába, én meg persze sose raktam őket rendbe, ráadásul olyan is történt, hogy megszakadt a kézi feltöltés, illetve lemaradtak fájlok, aztán újra lett kezdve, arról nem is beszélve mikor csak unalmamban kattogtattam, szóval nagy volt a káosz.

Egérrel borzalmas volt rendezgetni őket, és elképzeltem, hogy milyen jó lenne, ha megadhatnék pár mappanevet, és előnézet után egyetlen billentyűzetleütéssel áthelyezhetném az aktuális képet valamelyikbe.

Suspend és a döglött ExpressCache

Ubuntu 12.04 + Samsung Series 7 = nem megy a suspend. És nem csak a suspend, hanem a reboot sem. Kifagy, sdb error, minden baja van, suspend helyett meg csak úgy visszajön a loginhoz. Az sdb egy 8 GB-os SanDisk iSSD, amit a Samsung ExpressCache néven tett a gépbe, és amire nem lehet írni, nem lehet róla olvasni, és nem lehet rajta partíciós táblát se létrehozni, szóval se jobbra, se balra.

MySQL boolean + text

Megjelenített sorok: 0 - 5 ( 6 összesen, a lekérdezés 0.0008 másodpercig tartott)
SELECT *
FROM user
WHERE email = FALSE

Ahol email TEXT típusú.

Ugyanígy:

Megjelenített sorok: 0 - 5 ( 6 összesen, a lekérdezés 0.0008 másodpercig tartott)
SELECT *
FROM user
WHERE email = 0

Következésképpen ha POST helyett GET-tel nézem a címet, amikor a POST üres (NULL, majd ebből 0), ami hamis érték, akkor a lekérdezés minden sort visszaad a user táblából.

Az ilyen implicit konverzió mire jó? A TEXT értéke nem kéne hogy egyenlő legyen egy BOOLEAN-nal, főleg egy FALSE értékkel. Még ha azt mondjuk hogy a nem üres TEXT legyen TRUE, az elfogadható lehet. De amúgy inkább a FALSE-t konvertálja 0-vá, valamint a 0-t szöveggé, ne fordítva...

Unity

Kipróbáltam az Ubuntu 11.04-et. Ez a Unity minden, amire vágytam :) A képernyő "széles, de nem magas", 1366x768-as. A Gnome fönt is, lent is panel elrendezése teljesen hibás volt, próbálkoztam intellihide-os Avant Window Navigatorral helyette, de nem volt az igazi. Ez, hogy az ablak menüsora összeolvad a fölső taskbar-ral, és megszűnik az alsó, miközben bal oldalt pont jókor (könnyen, de nem azonnal és bármikor) jön elő egy jóféle panel, jobbról, föntről és alulról pedig nem zavar semmi, hát ez k.rvajó. Meg az Ubuntu jól is néz ki. E öröm! Van hely! :)

Opera Mini 6

Hát ez nagyon tetszik nekem. A Symbian-os változatot töltöttem le, és... most nem tudom... ez már nem Java-s, hanem natív? Gondolom... de nagyon gyors. Sokkal gyorsabbnak tűnik mint a Mobile, mármint nem a letöltés meg ilyesmi, hanem a felhasználói felülete és a betöltődése (eddig ez fordítva volt). Ráadásul még a betűtípus is szebb lett mint abban (a Mobile-ban kicsit mintha megcsúnyult volna a 10->11 váltáskor).

Li-ion / Kindle / USB / lecsatolás

Mióta az USB portok megkezdték a konnektorok szerepének átvételét, sok eszköz a bedugás után azonmód töltődni kezd. Teszi ezt akkor is, ha ez a töltődés esetleg nem volna kívánatos, például mert ~5 mp-en belül eltávolításra kerül a szóban forgó portból.

Gondoltam is magamban: de jó, hogy a Kindle nem csinál ilyet, hanem csak akkor kezd el töltődni, ha az USB-ről leválasztom (nem volt még szükség töltésre). Igen ám, de ilyenkor ha túlzottan fürge vagyok, akkor rosszul íródnak ki a fájlok, és szükségessé válik az fsck.vfat parancs futtatása (persze a meghajtó read only módban van fölcsatolva, ezért google lesz a dologból, később pedig átfáradok a Windows-os géphez, mivel ott a feladatom az "ellenőrzés indítása" gomb megnyomására korlátozódik, ezzel elvégezve a kívánt műveletet). Ez történt tegnap.

Debian + Canon MF4580D

Küzdöttem sokat a hálózati nyomtatóval. A Canon ad hozzá drivert, amiben van 64 bites rpm, amit alien-nel átkonvertáltam deb-bé, aztán feltelepítettem, de nem működött, mindig leállít

src = libcanon_pdlwrapper.c, line = 511, err = 0¥nError Response:ReqNo=2, SeqNo=3,opvpErrorNo=-2

hibaüzenettel.

Nem hittem volna, de Paterick-nek igaza van, és az apt-get install ia32-libs valóban megoldja a problémákat (a felsorolt többi csomag függősége neki).

Már csak az az egy kérdésem maradt, hogy a deborphan miért hiszi orphan-nak ezt a csomagot, amit szándékosan föltelepítettem.

Átköltöztem

A munkahelyemen lett asztali gépem, ezen kívül egy bivalyerős "közös" gép is került idehaza, így a saját gépemen végre nem kell a dependency hell-lel foglalkoznom (ld. Photoshop, CorelDRAW, Ableton, Reason, Office, stb). Mióta rendes munkaidőben csinálom azt amit korábban hobbiként, egy kicsit meguntam a monitorokat. De jön már a Kindle 3 ;)

Szóval mivel a régi vinyó furcsa dolgokat produkált néha (olvashatatlan fájl, sérült exe, lemez leáll majd felpörög, smart szerint tökéletes) így új vincsim is lett, tehát adattologatás nélkül kezdhettem rendszert telepíteni. Nem is gondolná az ember hogy milyen nehéz 500 GB adatot backupolni. Egyszerűen nincs hova. Ráadásul ha élesben használt adatok vannak rajta, akkor nincs mikor. Az elsőként kiválasztott 1 TB-s notebook HDD másfélszer olyan vastag volt, mint lennie kéne, és nem fért bele a gépembe. Így lett belőle egy 750 GB-os. A számítástechnika fejlődése pedig kellemes dolog. Például a laptop vincsit gond nélkül bele tudtam tenni az asztali gépbe. Éljen.

PHP static

Ha ilyenek vannak a forráskódban hogy:

/* Not sure what should be done here if it's a static method */

Az jót jelent? Mindjárt letöltöm a Java VM forráskódját is, és megnézem hogy abban mit írnak erről :)

Viccesen (de jól) átírt zenék

Ha már belinkeltem egy oda nem illő helyre, ide is ideírom.

Tehát egy ember átírja a zenét mások alatt, és szerintem ezek nagyon jók lettek (főleg így videóval):

Lady Gaga - Polka Face: http://www.youtube.com/watch?v=Cr8KiihK3ks
Metallica - Enter Sandman (smooth jazz version): http://www.youtube.com/watch?v=OBmM79YadYM

MeeGo / Jolicloud

Mindkét rendszert telepítettem ma.

MeeGo-t egy 12"-os notebookra (mivel a sajátomon nem indult el, lévén hogy nvidia chipsetes). Eléggé tetszik a megjelenése, meg minden, viszont ez a világ legérzékenyebb operációs rendszere. A telepítésénél a particionáló az esetek nagy részében csak akkor működik, ha ráhagyjom hogy mit csinál, ehhez viszont minimum 3,5 GB szabad helyre van szüksége. Ha nem hagytam hogy saját akarata szerint járjon el (aka kézi particionálás), akkor vagy rögtön, vagy a bootsector írásakor feladta. Miután sikerült föltelepítenem, nem működtek az acpi gombok teljesen jól, így letiltottam az acpit (acpi=off). Ilyenkor bekapcsolt wifi-vel lefagyott boot-nál, kikapcsolt wifivel meg nem. Ha később kapcsoltam be a wifit, akkor már jól működött. Erre az acpi_backlight=vendor lett a megoldás acpi=off helyett. A resolv.conf-ban az szerepel, hogy options edns, valamint hogy 127.0.0.1. Ez azt eredményezi, hogy egyszer tud föloldani egy címet, a továbbiakban pedig unknown host lesz az adott cím. Ha kiveszem hogy options edns akkor működik, de a network manager mindig felülbírálja ezt. Ha 8.8.8.8-at (google dns) adok meg címnek, akkor is jól működik, de a network manager ezt is felülbírálja. Szerencsére a kapcsolatnál meg lehetett adni a dns címét, így beállítottam hogy 8.8.8.8, és így működik. Szóval azért nem tökéletes még az a rendszer.

Ovi suite van pc suite helyett, és nem szikronizálja az sms-eket. Föl lehetne őket másolni a telefonra, de a kedves Nokia úgy gondolja, hogy tökéletes ha a kijövő-bejövő sms-eket egyben, egy kis ikonnal megkülönböztetve megmutatja nekem, és nem lehet leszűrni kijövő/bejövőre külön. Hülyét kapok. És még volt merszük leírni azt hogy "intelligens csoport létrehozása", amivel konkrét címzettre lehet csak szűrni, meg időpontra. Tényleg nagyon intelligens csoport, mintha nem ez lenne a legkevesebb amit egy számítógépes adatizélő izének tudna kellene... Exportálni persze nem tud, úgyhogy most gondolom kézzel kell végig válogatnom az elmúlt 1 év sms-eit. Áh... Legalább pc suite-ba át tudnám valahogy rakni őket, az biztos tudná.

Érdekes álláshirdetés

A jobb oldali dobozban található jelenleg, "web programozó - informatikai cég" címen: http://www.profession.hu/allas/346582/p/703

"Ügyviteli szoftverekkel történő közvetlen kapcsolat kialakítása." - kicsit perverz :)
"Az irodában zuhanyzó és ebédlő található." - ezeknek nem az irodában lenne a helyük. Ha ügyfél van nálunk, akkor különösen furcsa helyzetet teremthet az irodában zuhanyozó munkatárs.
"Munkakezdés 8.00-tól 16-ig." - ez mondjuk jól hangzik :)

Tapasztalatok: Node.js, Jaxer, ExpressJS, MongoDB, Github

Mivel készül a saját hobbiszerverünk, mostanában értelmes tevékenység helyett perverz webkiszolgálási lehetőségek után kutatok. PHP+MySQL alapon hozzáférek több kiszolgálóhoz is, ezért a saját szeveremre szeretnék valami mást. Nézegettem a Ruby on Rails-t, de nem tetszik nekem a Ruby szintaxisa. Nagyon szeretem viszont a Javascriptet, főleg mióta komolyan megtanították nekem az elméleti alapjait. Nagyon-nagyon dinamikus, prototípus alapú, és jó esetben még gyors is.

Először az Aptana Jaxert néztem meg, ez nagyon tetszett. Minden sokkal szerveroldalabbi kontrol, mint az ASP.NET-nél, könnyű volt telepíteni, bármilyen JS-t lehet használni vele szerveroldalon is (akár jQuery-t is pl.). Ezt a

<script runat="client|server|both">

opció dönti el.