extreme freelancing
dan: 308, teden: 44 [03.11.08]
coding for nothing and bits for free.
ničesar več ne vem in lepo mi je
dan: 286, teden: 40 [12.10.08]
odkar sem začel delat z RubyOnRails in ruby nasplošno sem doživel mnogo presunljivih dogodkov. rodil se mi je sin, Tihožit Bit. vmes ko sem živel z njim in njegovo mamo sem poskušal nekaj malega sprogramirati. v dveh letih mi je uspelo zase narediti 3 aplikacije. prva, ki je imela sprva dober odziv, in se je vanjo prijavilo 10 resničnih oseb, je izgubila smisel, ko je eden izmed njenih članov dobesedno umrl, čeprav bi naj tam vladala že večnost. njegov vzdevek je bil Smeh in njegov blog je izginil po njegovi smrti. kasneje sem izdelal še drugo, ki bi naj prinesla moji družini tudi kakšne sadove. z njo sem potem sam izmenjal nekaj datotek in ne vem, da bi kdo uporabil tisto zadevo v resničnem svetu.
tokrat sem šel še en korak dalje in se odločil. odločil sem se odkriti. prekinit s starimi navadami, da delam v prostem času le spletišča za osebno zabavo. odločil sem se tokrat pomagati takšnim kot sem jaz. takšnim, ki bi radi bili umetniki, pa jih imajo le za kičaste. zato sem naredil tretjo, da bi tiste, ki so takšni kakor jaz, ustvarjalni, nebeški, svobodni, a iz svoje umetnosti nimajo nič, da bi takim dal možnost zbiranja se na enem placu, grupiranja in marketinga, da bi vas bolj resno vzeli in vam tudi kaj odkupili.
tako sem se odločil zadevo speljati do konca. kičmojster je narejen po občutku. značilnost spletišča je, da se drzno spoprijema proti avtentikaciji, avtorizaciji in podobnim prijavnim sistemom, ki nikakor ne morejo voditi v razsvetljeno stanje človeškega bitja. vsak je enakovreden pred kičmojstrom, pa četudi je samo google, ki šnjofa strani za podatki, ali pa kakšen spamer, ki bi mi rad prodal zadnje odkritje na področju tablet za dvigovanje moškega uda v erotično stanje. tega jaz ne rabim, ampak filtrov še nisem vgradil, dokler bom lahko živel z spemom, je dovoljena kakršnakoli provokativna vsebina ali umetnina.
vse kar je na kičmojstru je samo po sebi kič, držite svoje cene nizko. uporabljajte paypal gumbe, ali kaj takega. znajdite se. kičmojster ni za začetnike.
naredil sem kičmojstra
dan: 286, teden: 40 [12.10.08]

tukaj objavljam prvi dostop, čeprav še ne zagotavljam, da bo vnešeni kič, tam ostal. saj nevzdržno ženem razvoj dalje.
how to install geoip_city gem on leopard
dan: 235, teden: 33 [22.08.08]
had some corners installing this gem on OSX 10.5.4.
first get geoip c API
then do this to install the api:
./configure
make
make check
make install
then install the gem like this:
install the GeoCity C library
tar xvfz GeoIP.tar.gz
cd GeoIP
./configure
make && sudo make install
download the GeoLite City database
gzip -d GeoLiteCity.dat.gz
copy it into share:
/usr/local/share/GeoIP/GeoLiteCity.dat
install the geoip_city gem
sudo gem install geoip_city
if it fails, saying you have no GeoIP library installed… try this:
git clone git://github.com/ry/geoip-city.git
cd geoip_city
export ARCHFLAGS="-arch i386"
rake
don’t care for the failing tests but don’t forget to export the archflags and:
make install
this will install the C bindings in proper place
/usr/bin/install -c -m 0755 geoip_city.bundle /Library/Ruby/Site/1.8/universal-darwin9.0
now you can go and require ‘geoip_city’
kulsko
dan: 112, teden: 16 [21.04.08]
odpravljam se spat. večer sem prebil v garaži. najbolj hitro programiram namreč na kos papirja. s svinčnikom.
ko bi kdaj bil narejen takšen program, ki bi vzel kos počečkanega papirja in izpljunil rezultat.
pa ni bil.
zato ga delam jaz. v garaži.
torej iz tega početja že ne more priti kaj drugega kot nekaj za prodajat pleh, pičke ali mobitele.
a kljub temu in v resnici, je pa tako odštekan program, da bodo le redki srečneži deležni njegove nirvane.
pot se vidi zelo jasno. vrata so odprta. stopnice so iz zraka. po vdihu stopi naprej, po izdihu stopi naprej.
kodi-raj. testi-raj. kodi-raj. testi-raj. kodi-raj. testi-raj. kodi-raj. testi-raj. kodi-raj. testi-raj. kodi-raj. testi-raj. kodi-raj. testi-raj. kodi-raj. testi-raj.
ok. write tests for your programms please. does god need bugs in heaven? my wife and I are killing the ants in our bathroom, they are dying all over the floor. each day she vacuumes them, with Hoover. nature is everywhere, there is no diff between human or ma-n-chine. we will write errorless apps for us all.
enjoyable web development
dan: 104, teden: 14 [13.04.08]
I got up this morning thinking about building a retro style web application.
I then remembered dreaming about going to my old school and telling my old teacher something that really hurt her feelings. She was crying like a baby in front of all my school-mates.
Later this day. While deciding, if I should actually dive in and write some RSpec, I found out, my retro idea has already manifested.
Just to let you know, with what kind of devil we are dealing here. -> RSpec stands for something like: Behaviour Driven Development framework.
What?
But hey friend, how can I write association specs whithin that cool looking thing?
So looking around all those blogs that blog about rspec I found my retro style web application.
Here it is, mihael’s muxtape.
And then I just figured it out. I was writing tests only once or twice in my life, and I was writing them in Java. I wrote some tests. Showed them to my employer. I did that about once in my life. And after that, nobody bothered me anymore.
I was working in Oria and the software there was built directly. At the customer. :) They are still doing it, thanks to SmallTalk and some really cool employed programmers, who actually don’t know alot about Objects, but can smoke alot of weed.
Today I am getting more and more convinced, that, what I do as a web developer, is pure art.
I mean. Come on people. I am selling my own brain to people. I sit in front of a billion pixels. And I think, each one of them is just made of light. And is surely laughing at me now.
I have never worked on anything for anyone, that had any beneficience to my being, other than paying my stress.
So, all this chaos programmers all over the world are trying to harmonize for their sick customers. In this very moment.
I don’t have their time. I am sorry. I am going to die.
But wait. I have a son. That is my reason. I do want him to grow on a clean planet, before I go on to other dimensions.
My woman wants a simple father. Not a chaotic bloat of information.
Therefore.
I need no toxic people interacting with me. Becouse I don’t want to produce toxic programms, you know!
I should be payed for loving.
Unless I have peace, not scheduled development. Unless I have harmony, not agile methods. Unless I have trust, not functional specs.
I, will not work for you.
I will rather work for free.
Dear possible customer of mine. You should know The School System has crushed. It can no longer be of any use to real human beings. Programmers all over the world are uniting their strenth. Now.
The way of the last development is here.
Let’s enjoy it together. ;)
rails plugin hashable_wu
dan: 092, teden: 13 [01.04.08]
Vzel sem si ene par urc… in sem študiral… in sem sprobaval… in sem natipkal…
Zdaj se počutim, kot da nimam pojma o ruby.
Ampak naredil pa sem si.
V model class lahko zdaj vtaknem takšno metodo:
class Site < ActiveRecord::Base
hashable :option # "option" naj bo fild v tabeli "sites".
end
Hashable metoda serializira fild option in izvede nekaj trikov.
Tako da sem sposoben takole delati:
s = Site.create
s.option # v option je le prazen hash => {}
s.add_options(:logo => "tisti.png", :description => "Nice.") # v option je sedaj nov hash
In kar je še najbolj fajn, metoda add_options, ne samo da doda nekaj hasha, celo zvije nekaj novih metod. Za vsak element hasha po eno.
s.option_logo # vrne => "that.png"
s.option_description # vrne => "Nice."
Ko imam dovolj, lahko odstranim delčke hasha, in z njim vse prikladne metode:
s.rem_option(:logo)
... kdor bi rad kaj takega naj si povleče takole:
svn co http://svn.rubynarails.com/projects/hashable_wu vendor/plugins/
strani modrosti
dan: 086, teden: 12 [26.03.08]
pred kratkim sem imel čast spoznati človeka, avtorja frišnega nadobudnega spletišča modrestrani.
spletišče je naredil popolnoma sam. zastonj. to je res kulsko.
in naredil ga je, glej ga zlomka. v ruby on rails razvojnem okolju. hehe.
on pravi, da so modre strani narejene, da lahko ti Poveš kako se ti zdi!.
da lahko nekam sprazniš svojo dušico, ko te tišči.
recimo kadar si lačen, v solati pa še vedno živi nek polž, ki ga kuharca ni vidla. potem greš lepo na svojega mobilca in vneseš v modrestrani, da se ti zdi, da je ta gostilna res zanič. in jutri ne bo več nobenega v tisto gostilno.
preden narediš multi site spletišče
dan: 082, teden: 11 [22.03.08]
hočeš narediti rails aplikacijo, ki bi bila sposobna obstajati na različnih domenah, ki si jih uporabniki sami zberejo. ali pa bi vsak uporabnik imel svojo subdomeno. recimo.
tedaj si je dobro pripraviti svoj lepi OS, da ti pomaga, za dober začetek, pri testiranju.
ker jaz ne bi za vsak testni primer delal zapiskov v /etc/hosts.
/etc/hosts, bi lahko probaval samo 3 različne sajte na localhostu.
127.0.0.1 friend.fromhell.local
127.0.0.1 friend.justone.local
127.0.0.1 truper.fromhell.local
ne pa tudi tiste, ki bi si jih lahko kar sproti izmišljeval. recimo tulili.tulele.rails, potem pa recimo heh.eh.rails. hočem svobodo odločanja.
zato je mnogo bolje, če se pozanimam na google in naredim nekaj resnega. kot je na primer: local name server.
to sem naredil, potem sem naredil pa tole (na OSX Leopard):
kmak:~> $ sudo -s
bash-3.2# rndc-confgen > /etc/rndc.conf
bash-3.2# head -n5 /etc/rndc.conf |tail -n4 > /etc/rndc.key
bash-3.2# mate /etc/named.conf
na tem mestu sem v fajl named.conf pred “logging” zadegal tole:
zone "rails" IN {
type master;
file "rails.zone";
allow-update { none; };
};
in to je zdaj naša zona. ali tisti string, ki je na koncu urlja. sedaj morem še povedat nekomu, da naj tole upošteva. v ta namen sem naredil še tole:
bash-3.2# cd /var/named/
bash-3.2# cp localhost.zone rails.zone
bash-3.2# mate rails.zone
v tem fajlu sem le preimenoval eno pojavitev niza localhost v niz rails. tam pri ORIGIN. potem pa dodal zadnjo vrstico.
$TTL 86400
$ORIGIN rails.
@ 1D IN SOA @ root (
42 ; serial (d. adams)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
1D IN NS @
1D IN A 127.0.0.1
* IN A 127.0.0.1
zadnja vrstica nazorno prikaže, da bodo vsi dostopi do domen z obliko subdomena.domena.rails, preusmerjeni na localhost. hehe.
dalje, priročno uporabim program, ki dela čudeže, a ima neizgovorljivo ime : launchctl.
bash-3.2# launchctl load -w /System/Library/LaunchDaemons/org.isc.named.plist
bash-3.2# exit
sedaj bo OSX vedno nalagal tole zadevo, tudi ko reštartam.
edino, in res zadnje, ostane, da za vsako TCP/IP povezavo dodaš DNS server z naslednjo IP
127.0.0.1
ja res.
to lahko narediš, če greš na črno japko, pa na System Preferences, pa na Network. in tam greš čez željene povezave in nastaviš pod DNS.
ta članek sem radostno povzel po setting up local name server on mac os x.
meni je delalo takoj. naj še tebi.
bog je mrtev človek ni biorobot
dan: 052, teden: 07 [21.02.08]
v vsakem zrnu spomina, se povsem naravno shranjuje vsa zgodovina. to je laž. še vedno ne veš nič o vesolju. tudi če jutri znanstvenik odpre teleport v prihodnost, zdaj je neuničljiv in le naš. lahko se mu približaš tukaj. sede pred ekranom. lahko odmisliš ekran. lahko odmisliš tega blogerja. lahko odmisliš srferja. lahko odmisliš vse za nazaj, kakor za naprej. ničesar ni več v spominu. spet sva le ti in jaz. otrok in računalnik.
Nadaljuj branje teh besed...mir in tipke
dan: 128, teden: 19 [08.05.07]
Zelo sem vesel. En dan že tuhtam. Razlika je neverjetno majhna. Obstaja ena vrsta težav. To so težave tipa mali b. Najdemo jih v ponavljajočih se vzorcih.
Tako je izgledala vrstica, ko sem še verjel sam sebi, da sem alergičen na cvetni prah in sem temu primerno čihal in pihal dobrih dvajst let.
self.template_root = Mephisto::Plugin.view_paths[:blogat]
Tako pa je moj prvi “vtičnik” za mephisto prišel na svet.
self.template_root = Mephisto::Plugin.view_paths[:Blogat]
Čutim mir, na tipkovnici. He he.
ne me basa
dan: 116, teden: 17 [26.04.07]
Nekajkrat sem poskušal sam sebi komentirati na ruby::na::rails spletišču. Pa ni šlo. Shranil se je le en komentar, ta prvi. Takoj sem pomislil na vse možne zaplete, ki bi bili vzrok takemu obnašanju, drugače pridnega mefistoja.
Danes sem se dejansko prepričal, da zadeva res ne deluje. Do sedaj sem mislil, da je bilo vesolje pač malo nepravično, do mene osebno. In šele danes sem v gugle vtipkal prave besede. Štrene mi je mešal stari dobri Apache strežnik, ne pa novi ljubljeni mefisto.
Rešitev sem naumil praktično po prvem kliku v guglejove rezultate. V datoteko public/.htaccess sem potem zadegal tole vrstico:
DirectorySlash Off
Finta, ki jo ta vrstica sporoči Apache strežniku je, da naj ne dodaja dodatnih ”/” na konec url zahtevkov, samo zato ker misli, da klient dostopa do direktorija. Mephisto je namreč rails aplikacija in operira z lepimi urlji. Apache jih je dodajal, te črtice, in nastala je zmeda, kdo bo počel kaj. Zelo lepo je o tem napisano še tu.
Torej, težava je odpravljena. Komentiranje je od zdaj naprej zastonj (brez basanja tja v glavo).
pokaži mi
dan: 101, teden: 15 [11.04.07]
Zdaj je pravi čas za vizualno komunikacijo. In ker je ruby VHLL 1 programski jezik za njega učenje ne rabimo dosti več kot preprost video, ki na kratko prikaže potek dela. Zaradi odlične berljivosti kode postane žuljenje knjig ali učenje ukazov na pamet predvsem nadležno pa tudi nepotrebno. Ruby se z lahkoto učimo iz kode ali iz “screencast”-ov.
Predpostavljam, da v ruby lahko ustvarja vsak otrok. S popularizacijo rails ogrodja so tako na vsemrežju začela rasti majhna in uspešna podjetja. Ponavadi sestavljena le iz enega, dveh ali treh ljudi. Sedaj na ruby on rails podlagi rastejo povsem novi pristopi in napredna razvojna orodja tretjega tisočletja.
Zanimivo spletno razvojno ogrodje na katerega sem naletel nedavno je Hobo. Temelječ na ruby on rails obljublja še hitrejše razvojne cikle in nasmejane programerje. Osebno mi je všeč pristop s katerim se ponujajo trgu. S preprostimi “screencast”-i neukemu začetniku hitro prikažejo osnovne principe delovanja ogrodja. Od tam naprej ostane le še zabava in raziskovanje.
1 very high level language
naga jiva baba
dan: 097, teden: 14 [07.04.07]
Tam od koder prihajam – z vasi, namreč. “Njivi” pravimo “jiva”. Brez n-ja. (za meščane je njiva ponavadi kos zemlje, kjer rase krompir)
Naslov članka ima torej opravka z nago njivo in babo. Kakor koli že. Pred nekaj dnevi sem se pogovarjal z bivšim sodelavcem in prijateljem iz Orije kompjuters. Ugotavljala sva, da v Sloveniji ruby kot dinamični objektni programski jezik sploh ni ne vem kaj razširjen. Poskušal sem najti kakšno podjetje, ki bi ga uporabljalo, a v najdisi nisem zvedel ničesar pametnega. Tako da si upam trditi, da je Orija zaenkrat edino podjetje v Sloveniji (poleg ruby::na::rails ekipe, seveda), ki inovira in celo razvija na tem področju.
Srčno si želim, da bi mi kdo oporekal. A najbrž ga ni junaka. Hh.
Razvojno ogrodje RubyOnRails ni baba, pa tudi naga njiva ne. Zame je le čista in preprosta pot do programerske zadovoljitve. To je vse. Kdor ne verjame pa naj poskusi sam.
blog@
dan: 094, teden: 14 [04.04.07]
Blog@ je zelo preprost spletni “čet”, ki sem ga sestavil za spletišče večniprijatelj.org, kjer si lahko ogledaš delujočo verzijo. Ker je izdelan kot komponenta, ga je možno prilepiti na katero koli stran.
Na kratko bom pokazal, kako enostavno je izdelati takšen enostaven klepet v razvojnem okolju Rails. Primer sem izvajal na linux podlagi, prepričan sem, da na enak način dosežete rezultate tudi v window$ okolju.
(Pogoji za izdelavo: zadnja verzija ruby interpreterja, rails razvojnega ogrodja in delujoča podatkovna baza, npr. MySQL ali PostgreSQL)
Projekt sem poimenoval Klepetnik. Izdelal sem ga s preprostimi AJAX poizvedbami. Omogoča preprosto “četanje” na vašem rails spletišču.
Za lenobno premišljujoče je celotna koda primera dosegljiva v ZIP ali GZIP arhivu. Vsebuje celoten rails projekt. Samo razpakiraš, nastaviš podatkovno bazo in poženeš.
Nadaljuj branje teh besed...


