Spicy weapons

februarie 6, 2008

Pentru bucatarii sadici carora le place sa-si "impuste" bucatele.
Spice it down, bubba!

image

Distillery District at night

februarie 6, 2008

image

Found here.

Oberly Farm

februarie 6, 2008

image

Found here.

Quote no. 1

februarie 3, 2008

"A compromise is the art of dividing a cake in such a way that everyone believes he has the biggest piece."

Ludwig Erhard

Moldable Mouse

februarie 2, 2008

image

Dupa mouse-ul gonflabil vine mouse-ul care poate fi modelat dupa dorinta, un shapeshifter adevarat, pentru cei care se plictisesc repede de forma mouse-ului lor. Read all about it!

Obsolete men

februarie 2, 2008

Din acest moment, conform unor experimente de ultima ora, barbatii nu mai sunt necesari din punct de vedere reproductiv, totul datorita unor oameni de stiinta britanici.

Acestia se pare ca au descoperit cum sa obtina sperma din maduva spinarii unei femei. Joy spoilers!

image

Toata lumea vorbeste despre oferta facuta de Microsoft pentru achizitia Yahoo!. O miscare destul de putin surprinzatoare tinand cont ca piata motoarelor de cautare si servicii instant messaging e dominata de MS, Yahoo si Google. Cum nici unul dintre cei doi individual, Yahoo! si MS, nu puteau ajunge la nasul lui Google, la un moment dat ceva trebuia sa se intample.

Desi se pare ca Yahoo! a primit si alte oferte, se zvoneste ca oferta MS e acceptata. E interesant ce va face MS cu MSN in urma achizitiei, il va inlocui cu serviciile Yahoo! sau nu? Unul dintre ele va disparea, ramane de vazut care, in cazul in care Yahoo! va deveni proprietate MS.

HelloWorld cu Ruby on Rails

februarie 2, 2008

Presupunand ca aveti totul pregatit pentru a dezvolta cea mai simpla aplicatie Rails, incepem si pornim o consola Ruby din meniul InstantRails(pe care daca nu l-ati pornit acum ar fi un moment bun). Aceasta apare ca o consola standard Windows si va avea ca si cale de pornire folderul in care sunt puse aplicatiile rails, rails_apps.

Haideti sa facem folderul noii aplicatii cu ajutorul comenzii rails urmata de numele aplicatiei. Deci introduceti la consola comanda rails hello, comanda ce va avea ca efect crearea unui folder hello iar in interiorul lui alte foldere si fisiere predefinite. Cel mai folosit va fi continutul folderului app al aplicatiei pentru ca aici vor fi puse cele trei componente ale MVC. Daca il deschideti veti vedea folderele corespunzatoare fiecarei componente. Mai este un folder numit helpers in care ne vom pune la nevoie functii ajutatoare si care nu isi au locul in controller(ere).

Cand browserul face un request la o aplicatie Rails, cel care preia requestul este controllerul care la randul lui invoca modelul iar apoi controllerul, cu raspunsul dat de model, invoca view-ul care afiseaza in browser raspunsul.

Pentru a face ceva avem nevoie in primul rand de un controller sa-i zicem say si de o actiune hello. Ni le putem genera foarte usor cu ajutorul consolei din folderul aplicatiei. Deci daca nu ati facut un cd hello in consola, ar trebui. Apoi scrieti comanda ruby script/generate controller say hello. Aceasta va genera controllerul cerut si actiunea hello care apare sub forma unei metode in clasa controllerului.

Haideti sa vedem ce apare pana acum in browser. In consola scrieti ruby script/server ceea ce va avea ca efect pornirea serverului default ce va asculta la portul 3000 implicit. Pornim browserul si introducem http://localhost:3000/say/hello

Vom obtine un raspuns ca cel in imagine:

image

Automat a fost creat si fisierul view pentru actiunea hello si Rails ne informeaza chiar si unde este situat: app/views/say/hello.html.erb

Nota: de la versiunea 2.0 a Rails s-au schimbat un pic extensiile la view-uri. Aici view-ul are extensia .html.erb ceea ce inseamna ca este de tip html iar erb vine de la Embedded Ruby. In versiunile anterioare extensia fisierului ar fi fost .rhtml

Sa deschidem acest fisier cu un editor si sa zicem ca am vrea sa scrie "Hello! Peste 5 minute va fi x". Cum am scrie asta? Cam asa:

Hello! In 5 minute va fi ora <%= 5.minutes.from_now %>

Introduceti linia asta in view dupa ce stergeti ce era in el, salvati si dati un refresh la browser. Rezultatul va aparea fara sa fie nevoie de restart al serverului, pentru ca in stadiul de development serverul va incarca de fiecare data ultimele modificari, de aceea dureaza un pic mai mult incarcarea.

Ar mai fi totusi ceva. In mod normal orice tine de logica aplicatiei ar trebui sa stea in controller iar view-ul doar sa referentieze datele. Sigur pentru o aplicatie ca asta nu isi are rostul, dar haideti sa mutam obtinerea datei in controller.

Deschideti fisierul controllerului say_controller.rb in editor si si faceti-l sa arate asa:

class SayController < ApplicationController

  def hello
      @ora = 5.minutes.from_now
  end
end

Modificati apoi linia din view:

Hello! In 5 minute va fi ora <%= @ora %>

Si gata! Dati un refresh si veti vedea ca nu e schimbat nimic, in schimb ne invatam sa lucram organizat! :P

image

Deschid sectiunea dedicata Ruby on Rails a blogului, cu ce altceva, decat cu o introducere. Nu stiu cat de familiar sunteti cu Ruby on Rails, dar pe mine m-a prins din prima.

Ar trebui stabilite doua lucruri din start: Ruby este un limbaj interpretat inventat de Yukihiro “matz” Matsumoto, iar Rails este un framework derivat dintr-o pagina web avand ca dezvoltator pe David Heinemeier Hansson.

Ruby on Rails urmeaza cu strictete batrana arhitectura MVC (Model-View-Controller) care impune separarea logicii aplicatiei(controller) de partea de prezentare(view) si partea de date(model).Cu RoR se pot face orice fel de aplicatii web, intr-un mod organizat. E mai dificil la inceput pana te obisnuiesti unde ar trebui sa fie fiecare partea a aplicatiei, dar odata ce ai trecut peste acest obstacol va fi mult mai simplu.

RoR foloseste principiul Convention over Configuration insemnand ca daca respecti conventiile initiale nu vei avea de configurat aproape nimic pentru a da drumul la dezvoltare. Conventiile pot fi rupte, dar in majoritatea cazurilor nu o sa fie nevoie.

RoR respecta si alt principiu intitulat DRY : Don’t Repeat Yourself si inseamna sa nu pui acelasi cod, care face acelasi lucru in mai multe locuri in aplicatie, evita codul redundant.

Pentru a dezvolta cu RoR pe Windows cea mai simpla solutie la instalarea tuturor necesitatilor este un proiect numit InstantRails. Dupa ce il downloadati si il porniti o sa va confruntati cu urmatoarea fereastra:

image

Fereastra va da informatii referitoare la starea celor doua servere: Apache si MySql. Pentru rularea aplicatiilor  este necesar Apache cu un modul numit Mongrel care este free si poate fi descarcat dar pentru dezvoltare poate fi folosit WEBrick care vine cu pachetul default RoR.

Din acest moment sistemul e pregatit pentru a rula aplicatii RoR. Tot ce mai aveti nevoie e un editor de text si va puteti apuca de treaba. Orice editor sunteti obisnuit e fantastic. Ca recomandari: EditPad, E, Notepad++ iar daca vreti mai mult ajutor decat cel dat de un editor, folositi Netbeans 6.0 cu modulul de RoR.

Next: HelloWorld with RoR

China opreste ploaia

februarie 1, 2008

Ce au in comun chinezii si indienii din SUA? Nu e banc, e realitate. Se pare ca in China este o persoana care are functia de "head of weather manipulation" si care are sarcina de a opri ploaia pe timpul Olimpiadei, ce se va desfasura pe un stadion neacoperit. Nice trick! Read all about it!