kaj zna ruby::na::rails narediti za vas

  • sprogramira program v ruby ali objective-c
  • naredi kičasto spletišče namesto vas
  • svetuje pri razvoju in nameščanju Rails spletišč
  • sestavi namizno aplikacijo v Cocoa
  • izdela kičasto iPhone aplikacijo
  • razmišlja namesto vas, kadar rabite tehnološke možgane

extreme freelancing

dan: 308, teden: 44 [03.11.08]

coding for nothing and bits for free.

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’

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/

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.

s takšnim zapiskom v /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.

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.