tool


01
szept 08

SVN statisztikák


A fejlesztett kódok nagy része – amelyben ilyen-olyan módon közreműködök vagy dolgozok  - Subversion tárolóban vannak. Több szempontból is jó ez. Azon túl, hogy több fejlesztő tud egyszerre egyazon törzsön dolgozni vagy saját ágat készíteni, biztonsági mentésként is szolgál, hiszen egy-egy nagyobb mérföldkő elérésekor elegendő egy új tag-et létrehozni és a forráskód megjelölt állapotára bármikor vissza lehet “lapozni”. Ez pedig szükségtelenné teszi az ezredik biztonsági mentés elkészítését, hiszen elegendő napi mentést készíteni az SVN fáról, abban minden korábbi változat megtalálható.

Webes szolgáltatás esetén sokat tud egyszerűsíteni a kiadások és javítások közzétételén is, hiszen ha a szolgáltatás az SVN repository egy adot tag-jéből épül fel, akkor elegendő azon egy update parancsot lefuttatni és az biztosan lefrissíti a tárolóban lévő összes megjelölt váltatást. Nem felejtődhet ki semmi, jó eséllyel elmarad a szopódás. Persze ezt meg lehetne még fejelni a Phingel. A közeljövőben tervezünk megvalósítani az egyik munkához egy komplett Phingre és SVN-re épülő release metódust, ahol a teljes kód Subversion-ben tárolódik. A Phing segítségével kerül majd a kód és az SQL delták a staging majd később a production szerverre, rsync közbeiktatásával. Gyönyörűen automatizált lesz minden és – az előzetes tesztek alapján – a megvalósítás sem tűnik bonyolultnak.

Maga az Subversion tároló centralizált így kiválóan alkalmas arra, hogy bizonyos kimutatásokat készítsünk belőle. A Cacti például remek eszköz az összegyűjtött numerikus adatok megjelenítésére grafikonok formájában, de sajnos nem találtam igazán jó SVN riportáló cuccot, amit felhasználhattam volna grafikonok generálásához. Ez inspirált arra, hogy összedobjak egy minimális, de a célnak megfelelő kis PHP scriptet, ami például Cactiból használható adatbemeneti metódusként (Data Input Method). Tényleg minimál, csak a következő dolgokat tudja:

  • Az SVN-ben tárolt adatok filerendszer statisztikája: forrásfájlok, könyvtárak és az összes állomány száma.
  • Forrásállományokban lévő kódsorok száma.
  • SVN revízió állapota az idősíkon.
  • Tag-ek és branch-ek száma az idősíkon.

Sajnos a script használatához szükség van a Subversion PHP kiterjesztés telepítésére is. Én speciel a PECL tárolóból telepítettem azt. Helyi svn repóból tud dolgozni (file://), de csak egy kicsit kell rajta hegeszteni ahhoz, hogy távoli tárolót is elérjen. Ha felmerül rá az igény és más nem oldja meg, akkor összedobom azt is, csak kérjétek ;p

Kiexportáltam Cactiból az általam készített adat- és diagram mintákat, így még egyszerűbb munkára bírni az információbegyűjtőt. Talán másnak is hasznára válik majd a cucc. A telepítés:

  1. Az svn_stats.php-t be kell másolni a <cacti_path>/scripts/ könyvtárba.
  2. Csipkebokor vessző.
  3. Az svn_stats.php-ben ki kell cserélni a (4. sor) $_countExts változó értékét a kívánt kiterjesztésre (pl.: c, php, js, cs…). Array, tehát több értéket is kaphat. Ezen kiterjesztésű állományok sorait fogja számolgatni. Az $_excludeUrls változó értékében felsorolt elérési utakat figyelmen kívül hagyja (pl.: külső libek). Szintén array.
  4. Az XML állományokat beszippantjuk  a Cacti felületén keresztül: “Import Templates”.
  5. “New Graphs” alatt lehet is készíteni új grafikont, ott fogja bekérni a repo URL-t.

Letöltés: svn_stats-0.1.zip


20
feb 08

Asztalhoz ragadva

Ezer felől hallom, hogy egy trendi tech geek GTD eszköze a Gmail és kizárólag a Gmail. Nincs Mail.app, sem Thunderbird de még csak iCal sem. Egy szimpla böngésző és kész. Már többször is próbálkoztam hasonlóval, mindeddig hiába.

Nálam a levelezés kondicionálódott valamely – platformtól függő – levelezőklienssel, amelytől egyszerűen nem vagyok képes megválni! Windowson és Linuxon Thunderbird, Mac-en Mail.app. Gmail-ről, IMAP-en keresztül szinkronizálom le a leveleket. Ha minden kötél szakad, akkor böngészőből még mindig bármikor és bárhol rá tudok kukkantani a fiókomra.

Ami nagyon megfog a böngészőből való levelezésben, hogy egy helyen el tudom érni a levelezésemet, a naptáramat és a naptárba integrált todo listámat is. Nem kell görcsölni szinkronizálással. Ott van minden és kész. De mikor oda kerülök, hogy levelet kell írnom és a böngésző bambul rám eközben, akkor elbizonytalanodok. Nem megy. Fapados és ingerszegény. Egy fél napom ráment, hogy erre megint rájöjjek :-(


22
jan 08

Time Machine

A mai naptól elkezdem használni a Time Machine-t. Eddig az iBackup-ot használtam és tulajdonképp semmi bajom sem volt vele. Egy párszor már jól jött, hogy a mentésből elő tudtam túrni ezt-azt, amit véletlenül – vagy esetleg szándékosan – töröltem korábban és később szükségessé vált a megléte.

Rendszeresítettem hát egy külső 80 GB-os winchestert a mentéseknek, amely a MacBook firewire portjára lett kötve. Nem különösen szerettem eddig ezt a külső firewire eszközt, mert a ventilátora elég zajos, de erre a célra tökéletesen megfelel. Amikor mentést akarok készíteni akkor bekapcsolom és Ctrl+klikk-el nyomok egyet a dockon lévő Time Machine-on, majd “Backup now” és már pörög is a mentés.

Most cirka 42 GB-ot tesz ki a mentés, amiben benne van a teljes iPhoto és iTunes library, a teljes rendszer valamint a számomra legfontosabb: a Users mappa. Meglepődtem! Sokkal többre számítottam.

Alapvetően az győzött meg a Time Machine használatát illetően, hogy állítólag lehetőség van már a Leopard telepítés során megadni egy backup disket, amelyről a meglévő adatokat visszahúzza az OS X telepítő. Az pedig igencsak fincsi. Elég sok olyan dolgot tárolok a notebookomon, ami ha bármi oknál fogva elveszne az komoly problémát okozna számomra. Így nyugodtabban alszok, hogy biztonságban vannak az adataim.


08
aug 07

Játszadozás az iPhotoval

A múltkor írtam egy pár sort iPhotos tapasztalataimról. Most két újabb apróságot osztanék meg a témával kapcsolatban. Ez egyik bizonyára sokak által ismert, de az ismétlés sosem árt alapon: Library választás. Az Option-Click (alt-click) az iPhoto ikonján arra készteti a programot, hogy rákérdezzen melyik libraryből akarunk indítani:

A másik apróság innen: ugyebár ismert, hogy amikor egy importált fotón módosításokat eszközölsz akkor az iPhoto készít egy másolatot az eredeti fotóról, majd a modosításokat ezen a másolaton alkalmazza és menti el a “Modified” könyvtárban a libraryn belül. Nem gyenge helypazarlást lehet vele rövid idő alatt elérni, ugyanakkor nagyon hasznos funkció, hogy bármikor visszatérhetünk az eredeti képünkhöz! Ha azonban mégis meg szeretnél szabadulni a fölöslegesen tárolt eredeti képektől, akkor az alábbi script segítségül jöhet! Ez abból indul ki, hogy ha egy képen módosítások történtek, akkor az eredeti néven létezik belőle egy másolat ez előbb említett Modified könyvtárban is (tehát az eredeti mehet a kukába). CSAK SAJÁT FELELŐSSÉGRE!!!

mkdir ~/.Trash/iPhoto-Originals
cd ~/"Pictures/iPhoto Library/Modified/"
find . -type f -exec mv "../Originals/{}" ~/.Trash/iPhoto-Originals/ \;

30
júl 07

Defektes DVD Játékosok

A 4 hónapja vásárolt DVD Játékosunk másodszor lett defektes. A vásárlást követő egy hónapon belül sikerült megejteni egy garanciális cserét mivel az olvasónak elég komoly problémái akadtak a DVD lemezek 70%-ával. Meghatározhatatlan időközönként megakadt a lejátszás, majd 10-20 másodpercet kihagyva, tovább játszotta a műsort. Ez egy 90 perces film esetén úgy 15-20 alkalommal fordult elő.

Először a nyersanyagra gondoltam, de miután a márkás diszkektől kezdve a NoName lemezeken át mindegyiknél jelentkezett a hiba így ezt sikerült kizárnom. Aztán gondoltam még az írási sebességre és az íróra is, de idővel egyértelművé vállt, hogy a hiba a készülékben van. Tesóm gyors közbenjárásának köszönhetően sikerült kicseréltetni a Játékost – megúszva a javíttatást – egy hibátlan példányra.

Bár a hibátlanság csak tegnapelőttig jellemezte ugyanis a legújabb heppje az lett, hogy először “lekeverte” a képet a SCART kimenetről, kvázi kép volt, hang nem. A vicc, hogy tette ezt használat közben. Épp belefogtunk egy film nézésébe a hétvégén amikor egyszer csak eltűnt a kép. Rövid vizsgálódás után rájöttem, hogy a lejátszó átállt composite-ra, de az SCART-ra való visszaállítást követően csak egy durva “szinkronhibás” képet sikerült előcsalogatni belőle (mint a kódolt TV csatornáknál).

Így ma ment a szerkezet a szervizbe. Nem bánnám ha nem tudnák megjavítani és akkor beneveznék inkább egy Apple TV-be vagy valami hasonlóba, de tartok tőle, hogy ez nem fog összejönni. Ez már a 3. DVD játékos egyhuzamban amelyik rendellenesen teljesít a birtokomban :-( Lehet, hogy rosszul tartom őket és több kényeztetést és becézgetést igényelnének?