web


27
aug 09

Online bázisom

godaddy

Néhány hete észrevettem, hogy felszabadult a vbali.com tartomány, amit gyorsan be is regisztráltam magamnak a GoDaddy-n. Régebben már próbáltam rátenni a kezem a domain-ra, de akkor még foglalt volt, aztán egyszerűen feledésbe merült. (Itt jegyzném meg, hogy a GoDaddy-s felhasználói felület nélkülöz minden fajta logikát és szembe megy az összes webes megjelenésre vonatkozó elvnek. Agyhalál az egész, a regisztrációs formot a reklámok közül kell előhalászni, de legalább pillanatok alatt megvan a kiszemelt domain.)

A vbali.com-ra az online bázis miatt volt szükségem. A Twitter esetén például későn kaptam észbe és lemaradtam az áhított felhasználói névről, ami baszta is a csőrömet. A bloggal pedig már régóta bajom volt, hogy a linuxforge.hu domain-en futott ami egyrészt semmitmondó, másrészt egy 5 évvel ezelőtti világnézetet reprezentált. Ideje volt szakítani vele. A blog megkapta a vbali.com tartományt amivel össze is állt online identitásom bázisa. Ez azért is fontos számomra, mert több évnyi aktív online jelenlétet követően, sikerült megtalálni minden tartalomnak a megfelelő színteret. A napi szintű apró szösszenetek és történések a Twitteren jelennek meg, a vicces videók, beszólások, chatlogok, idézetek – magyarán az összes webszar – a Tumblrre kerül, aminek pedig van esetleg egy kis értelme is vagy csak túl hosszú ahhoz, hogy Twitterre vagy Tumblerre kerüljön, az landol a blogon.

Tökéletes a rendszer. Minden színtér – a maga módján persze – más értéket képvisel és minden tartalomnak megvan a maga helye, ezáltal nem kell beleerőltetni azokat más kontextusba. Az pedig, hogy ezek a tartalmak a háttérben, transzparensen integrálódnak a különböző platformokon, csak hab a tortán. Amihez ugye hozzájön még a Facebook és a Flickr is. Az API-k korát éljük, bár tudom, ez most pont úgy hangzik, mint Jim Carrey “Emberek, a holdra léptünk!” beszólása.


03
júl 09

Projekt elnevezési irányelvek

Kutakodásom során belebotlottam ebbe az ősrégi wiki bejegyzésbe és késztetést éreztem, hogy magyarítsam amennyire tőlem telik, hogy aztán visszaolvassam újra és újra, hogy tanuljak belőle. Mert lehet belőle tanulni még ha rég lerágott csontról van is szó.

Legyen használható és rövid. A hosszú neveket – mint például a “Gutenblog” – a közösség nagy valószínűséggel rövidíteni fogja (“GB”) ami így megtéveszthető lehet. Az emberek lusták, az idő pénz, a sávszélesség drága és hasonlók… A rövidség a szótagokra és a karakterekre is vonatkozik: maximum két szótag. Könnyen és helyesen leírhatónek kell lennie, kérdezz csak meg bárkit akinek a domain neve provokálja az elírásokat.

Kerüld a betűszavakat. Ezek már idejétmúltak. Isten hozott a 21. században. Figyelmeztető jelnek kell lennie, hogy milyen zavar van az RSS és a W3C betűszógyártó-motorja által készített egyéb nevek körül.

Legyen egyedi és megjegyezhető. Előnyei: kevesebb névütközés más projektekkel; kevesebb zavar a jelentéssel kapcsolatban amiben használják; azonnal felismerhető bármilyen környezetben azok számára akik már ismerik; elválasztja a nevet bármilyen meglévő címkétől vagy jelentéstől amire az emberek felfigyelnek; könnyeb a népszerűséget mérni a keresőmotorokkal. Az elírt szavak érdekesek lehetnek (pl. Wyre) csakúgy mint a kitalált szavak (pl. Panovox).

Legyen általános. Az olyan elemeket mint például a “blog” kerülni kell, mert az szűkíti az értelmezési kört. Ugyanakkor ez ne riasszon el attól, hogy más szinonímára alapozzál, csak bizonyosodj meg róla, hogy ne legyen túl behatárolt.

Legyen multikulturális. A névnek pozitív csengésűnek kell lennie a legtöbb nyelven. Emlékezz csak a Chevy Nova autómárka különös történetére, a névre amely egyszerűen nem működött Spanyolországban (ami persze csak egy városi legenda, ugyanakkor tanulságos mese).

Törvényi erő. Mi a követelmény a domain névvel kapcsolatban, ha van ilyen egyáltalán? A .com vagy .org elengedhetetlen? Sok megosztott név található a különböző termékek és szolgáltatások között, gondolj csak a Maverickre vagy az Apple-re. Mások egyedi és általában kitalált nevet használnak, amely vagy védelmet nyújt az eltérő használattal szemben, mint például a Kodak, vagy elvesznek az általánosításban, mint az aspirin és a formica. Az uspto.gov-on lehet keresni a védjegyekre.

Az ügyes, retrós, érdekes, mézédes és megdöbbentő nevek a legjobbak. Kerüld az gyakorta elcsépelt és túlszajkózott szavakat, úgy mint “meta”, “web”, “simple”, “open”, “new”. Fordulj a görög etimológiához, érdekes betűkombinációkhoz és hasonlókhoz.

Tiszta kiejtés. Minél kevésbé félreérthető a szó kiejtése annál kevesebb félreértés származik a verbális kommunikáció során (bár, talán a nehezebb kiejtés elsősegíti a kiemelkedést a tömegből).

Használható legyen főnévként és igeként. Ha megnézed a múltbéli példákat, az olyan szavak mint “Hoover” és “Google” hamar igévé váltak ahogy a népszerűségük nőtt. Bár a Google lépéseket tesz, hogy a védjegyüket ne lehessen igeként használni, ez nem fog sikerülni. A projektnek el kell fogadnia ha igévé vagy általánossá válik a neve.


25
jún 09

TwitterTop frissítések

twittertop

Tegnap ejtettük meg a második TwitterTop “beta” kiadását, @angelday-jel karöltve. Még csak most jutottam el oda, hogy erről szót ejtsek. Kereken egy hónappal korábban indultunk el az első publikus bétával így időszerűnek éreztük az azóta elkészült fejlesztések közzétételét. Nem kevés időt és energiát öltünk bele a fejlesztésbe, de úgy gondolom, hogy mindenképp megérte, mert az új csomag rengeteg apró finomságot és csemegét tartogat a látogatók és a regisztrálók számára. Ezekről részletesen lehet olvasni a TwitterTop blogján megjelent írásban.

Rengeteget pöcsöltünk a ranking algoritmus kidolgozásával, ami első ránézésre nem tűnt túl komoly feladatnak, amikor azonban az első elképzelést rávetítettük a valós adatokra, kiderült, hogy sokkal nehezebb dolgunk lesz mint azt eredetileg gondoltuk. Elkezdtük hát finomítani az elképzelést és további faktorok bevonásával – rengeteg zsákutcát követően – sikerült megalkotnunk azt a “misztikus” algoritmust amely a jelenlegi eredménylistát produkálja. Úgy gondolom, hogy szemben a korábbi – követőszámon alapuló – ranglistával,  a mostani sorrend sokkal közelebb áll a valósághoz és sokkal relevánsabb eredménylistát produkál.

A másik nagy újítás amelynek megvalósítása komoly kihívást jelentett, a “hömpölygő folyam”. Ez tulajdonképp a TwitterTop felhasználók státuszüzeneteinek folyama, amely valós időben jeleníti meg a regisztráltak twittjeit. Mellette a “Barátaim” menüpontban azoknak az üzenetei látszódnak akiket a bejelentkezett felhasználó követ (így ebben a listában azoknak az üzenetei is megjelennek akik nem regisztráltak az oldalon). Ezekkel valóságos zsongás indult meg az oldalon, öröm nézni, ahogy az üzenetek elárasztják a képernyőt. Ott van még a Vidítsd fel! doboz is, ami remek lehetőséget teremt arra, hogy megpróbáljuk felvidítani azokat akiknek valami bánatuk van és ennek egy hangulatjel formájában “hangot” is adnak.

A motorháztető alatt is csiszoltunk jó sokat. Míg angelday a felületen dolgozott és pixelről-pixelre megtervezte az oldalakat, addig én a kódot finomítgattam  a megfelelő eredmény érdekében, gyakran éjszakába nyúlóan. Sokszor az API eléggé megnehezítette a dolgunkat, de összességében véve a Twitter API az egyik legkirályabb dolog amivel az utóbbi időben találkoztam. Nagyon átgondolt, lényegre törő és profi. Vannak ugyan itt-ott hiányosságok, furcsaságok, de akkor is csak azt tudom róla mondani, hogy kurva jó! Az új API képességek bevezetésével pedig még jobb, még tökéletesebb lesz.

Úgy tartja a mondás, hogy “csak az nem hibázik aki nem is dolgozik”. A mostani csomagon elég sokat dolgoztunk de azért remélem, hogy ez nem lesz egyenes arányban az esetlegesen megbúvó hibák számával. Minden esetre nagy örömmel vesszük, ha rámutattok azokra a hibákra, amiket mi esetleg nem vettünk észre a fejlesztés közben és ezt velünk is tudatjátok!

Ha van már Twitter accountod, de még nem regisztráltál az oldalon, akkor irány a twittertop.hu és “add hozzá magadat“. Ha esetleg még nincs Twitter fiókod, akkor előtte tegyél egy kitérőt a twitter.com oldalon, de utána mindenképp nézz be hozzánk!


08
ápr 08

CSS pucérkodás

Ma van a CSS naked day. Tavaly olvastam erről először kobaknál, de akkor sajnos lemaradtam a dologról. Idén kobak ismét írt a dologról (olvasható továbbá itt is) és úgy tűnik most már sikerül participálni:

Április 9-én mindenki megmutatja hogyan néz ki az oldala valójában. Ezzel is szemléltetve az xhtml+css erejét.

by kobak

Akkor hajrá, lássuk a medvét…


03
ápr 08

Leopard, BIND, Apache és vhost

Úgy kezdődött, hogy XAMPP-ot telepítettem a gépemre, mert a Leo-s php-ba nincs beleforgatva a MySQL PDO támogatás, a MySQL szervert pedig nem lehet a System Preferences-ből indítani leállítani (meg még a jogosultságokkal is küzdeni kell). Méretes oboa. Egyszer ugyan már újraforgattam a php-t is és az apache-ot is 10.5-re, de a tökömnek sincs kedve ezt minden frissítés után eljátszani, főleg ha van MAMP meg XAMPP.

Aztán felmerült az igény, hogy ha már ilyen jó kis fejlesztői szervert varázsoltunk a MacBookra XAMPP-al, Bazaarral meg Eclipse PDT-vel (az utóbbi kettőről majd máskor bővebben) akkor jó lenne magát a fejlesztést is kényelmesebbé tenni. Ennek az első lépése az lenne, hogy ne kelljen minden egyes új projekt indulásakkor a hosts és a virtual-hosts beállításokat piszkálgatni. A hosts állománynak az a legnagyobb baja, hogy nem eszi meg a wildcard karaktereket. Így mindig be kell püfölni az új aldomain (pl.: mynewproject.devserver: 127.0.0.1) elérhetőségét. Majd ezután elő kell rántani az apache virtuális hosztokra vonatkozó konfigját is és oda is fel kell venni a mynewproject-et www-root-ostól-, mindenestől. Na ebből lett nagyon elegem!

Szerencsére az OS X-ben alapból megtalálható a BIND névszerver, csak nincs aktiválva. Bővebben lehet erről olvasni itt. Bár még Tigeres időkben készült az írás, Leopard alatt is tökéletesen működik. Kivonatosan az alábbiak szerint élesíthető a BIND:

# sudo -s
# rndc-confgen > /etc/rndc.conf
# head -n5 /etc/rndc.conf |tail -n4 > /etc/rndc.key

A /etc/named.conf-ba:

zone "devserver" IN {
        type master;
        file "devserver.zone";
        allow-update { none; };
};

A /var/named/devserver.zone-ba:

$TTL    86400
$ORIGIN devserver.
@       1D IN SOA    @ root (
            42    ; serial (galaxis uk.)
            3H    ; refresh
            15M   ; retry
            1W    ; expiry
            1D )  ; minimum
        1D IN NS   @
        1D IN A     127.0.0.1
* IN A 127.0.0.1

Végezetül a named indítása:

# sudo launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
# sudo /usr/sbin/named

Hát nem gyönyörű? A BIND szerverünk már üzemel is és feloldja a *.devserver neveket, csak hozzá kell adni a DNS szerverek listájához:

Már csak egy virtual hostot kell belőni a következő módon: az én fejlesztői notebookomon a ~/dev könyvtár tartalmazza a web alkalmazásokat, minden egyes alkönyvtár egy külön projekt így szeretem ezeket külön aldomainen elérni. Így tehát egyetlen virtual hostot vettem csak fel a /Applications/xampp/etc/extra/httpd-vhosts.conf-ba:

<VirtualHost *:80>
    ServerAdmin webmaster@devserver
    DocumentRoot "/Users/vbali/dev"
    ServerName devserver
    ServerAlias *.devserver
    ErrorLog "logs/devserver-error_log"
    CustomLog "logs/devserver-access_log" common
</VirtualHost>

Ezáltal minden *.devserver-hez irányított kérés a “/Users/vbali/dev” könyvtárban landol, ahol egy .htaccess várja az érdeklődőt:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)\.devserver$
RewriteRule (.*) /%1/$1 [L]

ami semmi mást nem csinál csak az aldomainként megadott alkönyvtárba irányítja a kérést. Például a mynewproject.devserver-nek intézett kérés a “/Users/vbali/dev/mynewproject” mappából kerül kiszolgálásra. That’s all!