gondolat


15
jún 09

Költségcsökkentés

Hamarosan lejár a Vodás illetve UPC-s internet valamint a Pannonos telefonelőfizetésem hűségideje. Költségcsökkentés címszóval ezekből kellene valami gazdaságosat kihoznom, de ha az egyes szolgáltatok iránti lojalitásomat félreteszem, akkor sem egyszerű a képlet. A Vodafonehoz még egy évig köt a hűségszerződés, hó végén csak az 1 évre kötött Internet szabadon tarifahűség jár le vagy le kell szurkolnom 25.000 ropogós magyar forintot a szolgáltató felé. A Pannonnál és a UPC-nél ténylegesen lejár a hűségidő így mindenféle szankció nélkül felmondhatom a meglévő előfizetéseimet.

Kézenfekvő megoldás lenne a Pannontól a Vodához átvinni a telefon előfizetést, így az internetes SIM-et használhatnám az iPhone-ban és persze telefonálhatnék is. Lemondanám a Pannonos előfizetést, az Internet szabadon csomagot egy kisebb csomagra váltanám és keresnék valami jó kis Vodafoneos díjcsomagot is mellé. Azonban még a 2G-s iPhone-om van ami ugye nem 3G ready így max edge-en tudnám használni az internetet ami talán a célnak meg is tenné de mégsem az igazi (bár most meg csak wifi van, így már ez is előrelépés lenne).  Ezzel spórolnék valamennyit a telefonelőfizetésen illetve az 3G-s netelőfizetésen is, valamint a Chello megmaradna a jelenlegi formájában (Silver) ami a munkavégzéshez megfelelő (amikor épp nem haldoklik a szolgáltatás a sávszélesség-licit miatt). Nagyságrendileg 40.000 Ft lenne az éves megtakarítás, viszont lenne egy tökéletesen használhatatlan mobilnet előfizetésem az iPhone 2G okán, valamint nem kapkodhatnám ki a kártyát sem a telefonból (hogy átdugjam az USB stick-be) mert akkor meg telefonon nem tudnának elérni ami nem megengedhető.

A másik lehetőség, hogy a mostani telefonomat upgrade-elem egy 3G-re ezzel értelmet adva a mobil netezésnek amelynek nagyobb hasznát venném mint a mostani – ritkán használt – USB stickes megoldásnak. Az új 3.0 OS segítségével pedig ha úgy hozza a sors akkor alkalmanként akár a notebookkal is tudnék internethez jutni. Tehát minden ugyanúgy történne mint az előző esetben, csak lenne mindig egy instant net a zsebemben valamint az iPhone-t mint 3G modemet használhatnám a notebookkal is. Az telefon upgrade miatt ez a buli kb. 11.000 Ft-tal növelné meg a mostani költséget. (Persze éves szinten az első évre számolva, a mostani telefonom eladása után egy használt 3G-re történő frissítéssel.) Így történne ugyan egy jó kis telefon frissítés, de a kitűzött cél, a költségcsökkentés kudarcot vallana.

A harmadik lehetőség, hogy kifizetem a Vodafone felé a 25.000 Ft-os lelépési díjat és a T-Mobile-nál bevállalva két év hűséget és eladva a mostani telefonomat befizetnék egy iPhone 3G-re. Ezzel tulajdonképp ugyanott volnék mint az előbbi esetben csak az első éves 11.000 Ft-os mínusz helyett már első évben kb. 4.000 Ft megtakarítást realizálnék. Persze ha a telefon upgrade volna az eredeti cél akkor ez egy jó választás lenne, hiszen egy éves távlatban nullszaldósra jönne ki a dolog, de nem ez a cél. Éves 4eFt megtakarítás lenne az eredmény valamint egy 2 éves T-s előfizetés lenne a hagyatéka. Újabb hűséget pedig a mai nehéz gazdasági körülmények között csak nagyon indokolt esetben vállalnék be. Ez pedig nem tűnik kellőképp indokoltnak.

A további lehetőségek a célkitűzés tükrében nem igazán hoznak eredményt így azokat nem taglalom tovább. Arra jutottam, hogy lesz egy köröm a Vodánál intenet downgrade ügyben valamint, hogy telefon előfizetést is válasszak. Ha minden jól megy akkor ülök egy évet a seggemen és remélem, hogy addig lesz új iPhone (így a 2G-ről közvetlenül a 3GS utódjára váltok majd) amire megéri majd váltanom. Már ezzel a lépéssel is sikerül spórolni valamennyit. A Chello Silver csomagból átmehetnék Bronze-ra – a letöltési sebesség nálam nem dominál, inkább a stabilitás számít – de az a 4 Mbit kicsit nyomaszt. Félek, hogy a munkámban akadályozna, pedig tudom, hogy gyakorlatilag elegendő lenne a 4 Mbit is a stabil munkavégzéshez. Akkor pedig már a 3G-s net is elegendő lenne, hisz volt idő amikor egész nap azon keresztül dolgoztam akadálytalanul. Ez utóbbi esetben viszont a torrentezésnek mondhatnék búcsút ami ugyan nem lenne rettentően nagy érvágás, de azért előfordulhat, hogy ezt-azt csak torrenten lehet lerántani. Az Internet szabadon díjcsomagban azonban ez szigorúan tilos, valamint esténként Anitával nehezen osztoznánk a neten vagy venni kellene egy 3G-s routert. Ez pedig megint beruházás, megint költség!

Dilemmázok ezeken a dolgokon egy jó ideje, de csak nem akar összeállni a kép. Van még persze időm átgondolni a dolgokat és nem akarok elkapkodni semmit. Most egy kicsit hagyom ülepedni a dolgokat, mindamellett igyekszem nyitott szemmel járni hátha van még olyan lehetőség ami mellett elsiklottam. A lényeg, hogy a fókuszt az eredeti célra kell irányítani: költségcsökkentés! Ezt most nagyon komolyan gondolom, mert nyomaszt, hogy mennyi fix kiadás van havonta, olykor teljesen indokolatlanul. Kézbe kell venni a dolgot és intézkedni kell. Egyébként is válság van, vagy mi a faszom. Azt mondják, hogy “aki sonkát eszik az is párizsit fog enni” a válság miatt. Én inkább maradok a szaláminál. Az nem baj, ugye? :)


22
júl 08

Külsőre váltás

macbook_keyboard

Elég régóta notebookot használok. Az első “hordozható” gépem egy Compaq Armada 1750-es volt. Azóta sikerült belefutnom két Gericom-ba (soha többé), volt egy Asusom, sokat dolgoztam egy Acerrel, volt az első MacBookom és a mostani, egy MacBook Pro. Emellett volt néha asztali gépem is, jobbára csak tartaléknak vagy fájlkiszolgálónak, sosem használtam azokat a notebookok mellett igazán.

Egy visszatérő problémám, hogy a MacBookot sajnálom mindennap magammal cipelni az irodába, ugyanakkor tudom, hogy két gépet használni (otthon és az irodában) nem vezet sehova. Mindig az hiányozna ami a másik gépen van, állandóan szinkronizálgatni kellene. Egyébként is a notebookot munkára vettem. Akármennyire is drága volt és féltem, azért van, hogy a munkámat szolgálja és nem azért, hogy kultikus bálványként imádjam. Így hát hordom magammal minden nap, de eszközöltem egy apró változtatást. A notebookjaimat mindig a saját kijelzőjükkel és billentyűzetükkel használtam. Egyedül egeret kötöttem rá külsőt, bár a MacBook Pro óta sokszor annak saját trackpad-jével dolgoztam inkább. Kényelmes és kézre is áll. Most azonban elkezdtem külső LCD-vel és billentyűzettel használni. Nem csupán azért, hogy kíméljem a gépet, hanem kényelmi szempontokból. A MacBook Pro kellemesen felmelegíti az alu házat és a billentyűzetet (igaz, ez minden korábbi gépemnél is így volt) és napi 10-12 órán keresztül nem túl kellemes azt a meleg felületet taperolni. Ebben a rohadás melegben különösen nem.

Egyelőre csak az irodában vezettem ezt be, de tervezem az otthoni áttérést is. Ehhez azonban be kell még szereznem egy monitort. Persze egy Apple Cinema Display 20″ mutatna jól az asztalomon, de annak ára miatt azt hiszem maradok valami olcsó kínai alternatívánál ;) Úgyis kell még Apple Wireless Alu keyboard, Airport Extreme, NAS és hátizsák is.

old_desktop


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 :-(


23
júl 07

Ma már másodszor újul meg az index?

Egyszer már elhitette az Index az egész országgal, hogy feltörték az oldalát. Akkor poénos politikai tartalommal töltötték fel az oldalakat. Lehet, hogy most is erről van szó?

Reggel a megújult dizájnnal jelent meg az oldal most azonban valami egészen új látható. De megszokhattuk már ezt az indexes fiúktól :-)


03
júl 07

Gondolatok keretrendszerekről

Az elmúlt másfél-két évben az ASP.NET-el való foglalatoskodásom eredményeként sikerült kisebb-nagyobb eredményeket felmutatnom a webes fejlesztések területén. Persze egy fejlesztő sosem – vagy csak meglehetősen ritkán kötelezi el magát – egyetlen programozási nyelv, fejlesztőkörnyezet vagy netán platform mellett. Magamból kiindulva mindig keresem az új lehetőségeket és mindig akad valami ami aktuálisan lázba tud hozni. A kezdeti lelkesedés aztán gyakran rövid idő alatt elmúlik de van olyan is, hogy valami végleg vagy legalábbis hosszabb időre belopja magát a szívembe. Kezdetben az ASP.NET és az egész .NET keretrendszer pont ilyen volt számomra. Nem igazán értettem, hogy miért jó nekünk egy újabb “Java szerű” nyelv egy “Java szerű” virtuális géppel stb. Aztán persze a C# nyelv megismerését követően enyhült az ellenszenvem. Az i-re a pontot végül a Mono project tette fel, amikor megteremtette a valódi platformfüggetlen alkalamazásfejlesztés lehetőségét.

Azt hiszem, hogy senkinek sem kell azt bizonygatnom, hogy mennyire szeretem a C#-ot, az ASP.NET-et vagy a Mono keretrendszert. Rengeteg dologra nyitotta rá a szemem ez a trió. Annó úgy gondoltam, hogy a C nyelvnél és a gcc fordítónál jobbra sosem lesz szükségem, hisz ezekkel mindent meg lehet csinálni amiben csak valaha gondolkodni mertem. Persze ez az állítás továbbra is igaz, de tekintve, hogy a fejlesztési idők drasztikusan csökkennek, nekem ma már sem időm, sem kedvem azzal bajlódni, hogy memóriát allokáljak és szabadítsak fel az alkalmazásomnak vagy azon gondolkodjak, hogy egy adatszerkezetet hogyan írok ki lemezre, ne adj isten hogyan továbbítom azt hálózaton keresztül. Nem újkeletű a problémán, a hozzám hasonló cipőben járók tudják, hogy miről beszélek.

Persze most a kliens oldali alkalmazások fejlesztésről beszéltem, de lassan majdcsak oda érek amiről írni szeretnék :-) Úgy négy éve lehetett mikor elkezdtem nyitni a .NET felé. Ez még messze volt attól, hogy komolyan foglalkoztam volna vele, túlságosan új volt számomra az egész technológia ahhoz, hogy átlássam és megértsem. Mindazonáltal érdekelt a dolog és túl voltam már azon, hogy puszta dacból elutasítsam az egészet a Java fejlesztők által azóta is gyakran hangoztatott indokokra hivatkozva.

Nagyjából három éve kezdtem el aktívan foglalkozni a keretrendszerrel és a C# nyelvvel. Akkoriban Linuxos (és/vagy Windowsos) desktop megoldásokkal foglalatoskodtam, úgy mint például a Gnome-RDP és a SharpSzámla, de akadtak szép számmal belső fejlesztések is. Később egyre gyakrabban merült fel az igény webes alkalmazások fejlesztésére. Ekkor kezdtem el kacérkodni az ASP.NET gondolatával. A hagyományos ASP-s oldalak készítésével kapcsolatban volt már tapasztalatom és pont ez volt sokáig a visszatartó erő, de a C# mindezt feledtette velem és szép lassan sikerült elmerülnöm az új technológia nyújtotta előnyökben. Ezzel szemben persze a PHP volt a “konkurencia”, azonban az ASP.NET használatával oly mértékben lerövidült a fejlesztési idő és annyi kész megoldást kaptam a 2.0-ás keretrendszer használatával, hogy már gondolni sem mertem a PHP-s session- és formkezelésre vagy például a felhasználók hitelesítésére. Persze itt még sokáig tudnám folytatni a kellemes és hasznos dolgok taglalását, de szeretnék egy kicsit az dolgok árnyoldalával is foglalkozni és legfőképpen kitérni arra amit mások már megint évekkel előttem észrevettek :-)

A Mono-t az Microsoft .NET frameworkjének a mintájára készítik. Azt nem tudom, hogy milyen módszereket alkalmaznak, őszintén megvallva nem is érdekel, egy dolog biztos: az aktuális Microsoft féle .NET keretrendszerhez képest a Mono-nak mindig kisebb-nagyobb lemaradása van. Ha valaki a legfrissebb újdonságokra épít, biztos lehet benne, hogy a programja nem fog hiba nélkül működni Mono-val. Ez a kisebbik probléma. Sajnos sokszor egy-egy feature máshogy működik az egyik keretrendszerben mint a másikban. Épp csak egy kicsit, de az épp elég ahhoz, hogy rendellenes eredményt produkáljon. Csak, hogy egy példát is hozzak erre:

Az MS féle ASP.NET-et használva a DataGrid-nek az oszlopait futási időben eltüntethetjük vagy megjeleníthetjük, Mono esetén kivételt kapunk, hogy ez a feature még nem került implementálásra. És sok-sok hasonlót lehetne még hozni. Ha jól tudom, akkor a Vistát már a 3.0-ás .NET frameworkkel szállították, Monos oldalról itt igen tekintélyes lemaradás tapasztalható. Mindezek mellett persze a Mono framework egy kiemelkedő és hiánypótló alkotás és nem lehet a fent említett hiányosságokat részére hibaként felróni. Az elmaradások érthetőek és nem szorulnak magyarázatra.

Számomra a legfájóbb hiányosság Monos oldalról a hosting tekintetében tapasztalható. Nem nagyon lehet találni olyan hosting céget aki Linuxos szerveren ASP.NET 2.0-ás szolgáltatást biztosítana. Eddig csupán egy amerikai céget találtam akiknél megfizethető áron lehet Linuxos kiszolgálással ASP.NET-es szolgáltatásra előfizetni, de sajnos csak 1.1-esre. Hát, azt pedig köszi, de inkább már nem! Windowsos persze van, de nem hiszem, hogy magyarázatra szorul az, hogy ettől miért nem jövök lázba.

Ez volt tehát a fekete leves, most pedig jöjjön az amit az imént említettem, ami rányitotta a szemem a saját vakságomra. Ha azt mondom, hogy Ruby On Rails akkor a tapasztalt webes fejlesztők már fel sem kapják a fejüket hiszen teljesen természetes dologról van számukra szó. Nem úgy az olyan maradi, Pascal és C nyelven felnőtt “programozóknak” mint például én. Számomra sokáig nem állt össze a kép a fent említett nyelv – vagy nevezzük inkább keretrendszernek – kapcsán. Félreértés ne essék, nem egy Ruby On Rails áradozás fog következni.

Egy-két posttal ezelőtt elkezdtem ismételt áradozásomat a Drupal CMS-ről. Akkor is említettem, hogy mennyire jó a Drupal modul fejlesztőknek szóló dokumentációja. Ekkor indultam el azon az úton, hogy hosszú idő után ismét PHP-t kezdtem idomítani. Erre alapvetően három okom volt:

  1. az előbb említett ASP.NET-es hosting hiányosság,
  2. a Drupal CMS kellemes programozhatósága,
  3. Mac OS X-en is fejleszthető, nem kell virtuális gépen kódolnom vagy másik rendszert bootolnom.

A Drupal kapcsán aztán rájöttem, hogy több régóta érlelt projektötlet is van amit szeretnék megvalósítani vagy akár migrálni a szélesebb körben való elterjedés érdekében PHP-s alapokon. Mindaddig amíg egy egyszerű Drupal modul megvalósításáról beszélünk könnyű dolga van a programozónak, – de a saját véleményem szerint – egy komplexebb projekt megvalósítása már komoly tervezési és megvalósítási nehézségekbe ütközhet ha elrugaszkodunk a Drupal alapverő mivoltától, attól, hogy ez egy tartalomkezelő rendszer.

Így találtam rá véletlenül valamelyik nap a Prado-ra. A Prado, hogy egészen pontos legyek egy PHP 5-ös komponens keretrendszer (component framework for PHP 5), amely az ASP.NET szolgáltatásaival elég komoly hasonlóságot mutat. Csak, hogy néhány fontosabbat említsek a teljesség igénye nélkül:

  • Eseményvezérelt programozási keretrendszer
  • Felhasználókezelés
  • “CodeBehind” alkalmazása, az oldal és az azt vezérlő kód elszeparálása
  • MVC (Model-View-Controller) architektúra
  • DAO (MySQL, PSQL, MS-SQL és Sqlite), Active Record, SQL táblák osztályokhoz rendelése (SqlMap Data Mapper)
  • Integrált AJAX-os vezérlők
  • XML alapú konfigurációs állományok
  • SOAP szolgáltatások
  • Mester és tartalmi oldalak
  • Kivételkezelés

Adódik a kérdés, hogy mindezekhez mire van szükség? Mindössze egy webszerverre, amely rendelkezik legalább PHP 5.1.0 támogatással. Valljuk be ez nem túl nagy igény :-) A Prado oldalán lévő dokumentáció és a példaprogramok elég komolyan rávilágítanak arra, hogy mi mindent lehet megvalósítani a keretrendszerrel és mindezt mennyi idő alatt, mekkora befektetéssel. Valamint arról sem szabad elfeledkeznünk, hogy mennyire marad áttekinthető és módosítható a későbbiek során a kódunk. Lássuk a HelloWorld példát:

  • Home.page:
  • <html>
      <body>
        <com:TForm>
          <com:TButton Text="Click me" OnClick="buttonClicked" />
        </com:TForm>
      </body>
    </html>
  • Home.php:
  • class Home extends TPage
    {
        public function buttonClicked($sender,$param)
        {
            // $sender refers to the button component
            $sender->Text="Hello World!";
        }
    }

    Prado-t leginkább a Ruby On Rails-hez tudnám hasonlítani koncepcióban valamint az ASP.NET-hez szintaktikában és filozófiában. Mindezt PHP-s megvalósítással. Elég érdekes, ugyanakkor ütőképesnek tűnő egyvelege ez a különböző nyelveknek és technológiáknak. Nekem nagyon felkeltette az érdeklődésemet és tekintve, hogy 2004 óta fejlesztik, elég kiforrottnak is tűnik. Ami pedig a dolog apropója, hogy pont a napokban jelent meg – egy év fejlesztést követően – a 3.1.0-ás verzió ami számos nagyon hasznos újítást hozott magával.

    Egy gondolat és egy kérdés maradt a végére:

    • Nem tudtam róla, hogy ilyen sok jó PHP-s framework létezik: Prado, Symfony vagy CakePHP. Nyitottabb szemmel kellene járnom.
    • A kérdés: hogyan lehet védeni a PHP-s forráskódot. Létezik erre valami technika, hogy a PHP-ben írt alkalmazás kódja védhető legyen a külső módosításoktól? Nem a webszerver felőli védelemre gondolok, hanem a tényleges PHP állományok védelmére.