Application Development - eWeek


Is the Smart Grid a Dumb Idea?
Surgical Adhesive Offers Smarter Way to Mend Bones
Get Smarter Technology on Your Mobile!
  Application Development


Ruby on Rails: Making Programmers Happy




x}ks㶲*Q3皢HY#MɖleXqfj I)dϟ/Oon|AI~L{3mFwh4~ ogOD.018̢dw3齿K$mLj9P[ Ϡ^-WZj:@a5۵Nz:pDd>J`OS;Su 5Ǔߙ1=+SmL}F\3Ѣeeb^P+$ȁ_ Ek9J~=K Qݯw,8"a}#$F g*N5ol Q!/^b&{By4%;^7W;0>BaUw0vK]K{8$CoAUVekVlvy!rs#gߎz$3d9c';{R'͑w2M*5f{б:9zuur<r6O( |@AuӱCģZr(˚7heynJtV be|P?8ߋWm8eڳ&Neם[ֺwQ(+Z(tz ? n04h;\ARyMS E}ruOuqNoxvy/@m&bDR4D>-ĆP= ;5=(G-[jA=Rdꑞf1Sd!XI#/Yprn򓹥uo]_]{-o_[>1fP*U~(#3%+%ԩ\uܜ6o9nڗMvI}!+|vf!5 0\6:jo~?Wc!"wA]*Q#w=^f/\RRG1Al8{ØWҽTVws^ [|08.כEsLVt];7yя0/;{\?m5[Mһ^g-xX18,0]ev|`\\67J 6k_)A>X8P G@8ʍ??1m!S[ö@ .Si3+k,|0tZC6/=Sjimvi(| I}ЦޣR?7MiI70i|+Gݺ|LnXŞ+ R߭0C5m|&6l d $4(sw[LL)σ. JCˋF0P= 2/?6axşP}MrA}5`sDokwiiC1)_]jJdN˥)@FX "D% T h4AǰEENmbſH~ޑvROZ'9Tt{B#;TZG;7 K){TKh!+K@fsfh(4{~u}bB+|#'bXr`Y \h+e) <CɣQHċl - 686p#}nP rQ 'G,-s9ZR j%R{5>k断,0!.(2n@п,olVCax5Zz' As,Cz[{fl.n:  p>h>JeHǝ8~L&&[BUJb35-F   _ǂK ރȁUrqXSabaa;m- eC_H_(̧׭i+Co{LsCm0 G"|zXE3Os'])W=B~,˥BQQb?$I?րH{A2,exY΁5mIr 'jYHp]i)%1Y$p}ڣnssQ*/J73g RGHR-zjeE)UJf~~{ ߥ:8pF#}y0/N7TFa Y<\8Jo֯m^:J{`s|eLJմlxXa<(JI+$#v%*' Lه0=Gf^9/l?!'jWj8zCynR)Hɘ-qVCY=w7jAU[MޭlF'F vo(0f4fӤ-Rxs޽e=VN~RkEBZG t)D ^k@zM-Sb_@הBZT+knxEk‡1ር54&U|8꓍"ZJqv3Ty9kY%f+aEL4=:YCP$*< ?~WޒO,gf);pi)uQby*A /r=]MM:f2/cX_hU-%06gL4Ω$6 خiϼV*9e6e'}Tco*\$t+\ Z۶AS3ѻMclޥ0͜)6@yz`۠ea, bȈCrfH|f^-Zi ]ozJrgHW4qMݗ[;nHCo`k3_R{4@̘5_JhU m{\ c4w=u]oITY)݊Ug@Zf2U/WEZz,JHB L5|E࣏ C/ PNZ]C^$}T>VAU%UHUܯ+JP?ITAteYT1n?eVPVW`Zd&s \%\{3i0o)Q󱋗AfD]R/)3nQ/ ~egm S?PG te[ ,L;J}UVJrH4 : 엫_=B$"p?lZ.*Ń GrF2R@BRNbxœo =$P aV*7o~.RȓC$ |BJ D;}ZXfW&# 1114/x۹ V oP@/I6C.:;Ղ_tM`3axք-䤔YԕºpnIQeا˾t/> =~l?<!o&#rj4{~BxYEj_6[E͇˦4Zb8s!,Uރ `i8Fnx{D(}׆̿{9۫Fپ<; Ex0ZֈȰRW J_ĥ{l]sfjj ^Ok5W''27Le]?ZFp6~Y; ²Y oH2|(_b #{ r H)'4-v9:\b/H4B R`2"穔(BS.hDOg4:^78S9j6_}FF/JN^K+{)[N7c+t,GD{_q-sz4~&\2Z9nl"݋=B2^'68/=h)9HB}/p]Zinu zsH&aP;DZ3pu*lhw)~ڰOz|+"9inьiq a#)Ŕ9tv/Mːg: ' _ER;N4Pw4r< dGτX@&m}0Ɂ!(<@TH퀥?j:,ˎfAk4jaiv? !-6ùQżwoB"Eml8NH)?˚dS GIzԟ̦C_1?y/ j|!yV,e7T")M(vg}@Zs}Mm9,M9g91=](Ā+C;$xC؛ܝF j޽{c~~2 دźAe*n 8 ?:-5V2CCꍥKH鴺zpC $B8\i9~.؆-*E7qh50XG)5 F GȭĨKP:|Wj3_vԻl~\=dtI%9yT/`O~ Fp=љ ѫoX} 3l3qɆg$v˄1M}lx6(p޷]Q] [AS@;v{IhX6o-Xs/AmS\,5pN /՗'18Vj.%2sh~w<ŎlV7]^ɩu#l(I#xۀձ4(JP_4ׅdUoo#fyN;mV)j;1}vilR#t{c ~P2oO3@84+I/Nȏ$8&wA8e[ZBWxgQ ,gIq5]D/ޮcX>&9EuLʼ~~/u~ax1T\~4k5_ '҈a47_a1Y|GjO/P5g.fPģ@ a姚9l{.5RvGeFٿggvWS{}-^U;{U5pg_@ǵf&1eif8C:-FRﯔD;9k)PAgt~GD)F$?^-Y?6O0q_7nוyK9q({gap/k܉2u̩xfG?OaRM:'D2~?zM p;Os{[q'H|K-d,;}\Z3ʉmOE:TG1}M[,Ņ] p=BYWP>D0‡,gw rذ BwDNt[Q*nv_Ar@Ym2}O]I a C^( #%1M=1PozN6#eT]RSWs,ZϳG9DNE0V!7"vyapD]bɠpX /l&vf- ۜ951E!^r>&ƘKjxZ)(%>%sZk^YR+ȈZ+5fL-P;qU6'aA1R9 3#67xm;Xifm;b:k+mLxE8Ow| 􄼥޼vwO%YՉH]l>Ir&:Ʋxq.K`c{ǡ[ x6_j~DR.gI* =qJd RJW/\٥UPQJR8>P*Vc\&I\1꣱vǘk0/b¼yoYȥ$}sʏhu`|XIǏ>HP*$6w~g?h\z1W5vᮦqCX0GXH7"^KJL6 "|͑ɒ&3&:/0ڱ]stK3>н^3B;s³#1߯n90؞ʒ29GlfmmIQ* 6B۹aiJ %N&0rٚmj{6A`St KuSi~RBm$**19`V>1oiw\X>kT N._ňR>dD+9mFNW2h}S/ L%& H!gYiv' \֏pY=XCE3  v>VHUv%r"&ev*-;-qb2}~1}^IM $O t7^ #4G_ 6f^ZgZQ1IG)>xAE1K= ,▽k3`j* r!߰,VIm{7R[ lyꊍ\DQLڡ`뭛VC}A.[7VߺU Cy6 fu&n45vZEhaG| 'lI<R+'3W  [z>K8ǪC^!&  l \Zs4ezuW8(1}~! g6L-i DN"c*41GJ["}ɹcMN[fBE< ,i YC) Q?aF$1шb .aں5c3bwp]oyn\53 ȧn1JOs\-B@eRjV|8snj򽉡{0u3krSRC´vx`~L ]ǒ 4B1hW,vt…y 1ºޝ/#}|AaP8Z  +zJP &uO"3KINJRwxI ^ͲG2Vq&JZ!`xZNRsdehz߃;G| LBz،\;< {M"ǽUݽwlkI/WQq{}ٺn_sSӃSd&R0mw 5ebvʌPN\ «.Y.2U94dG0}4y+(5U6rUzq7 &6YaCFyljŵ6v/N|veIt Χ& }$l0ZIc ӣbQ׺hI&5+۸v(2ʿ@k(^]~NmdwQ_]W4['P~sA3YF>B\͌r_;i_fC?2?C">vNtNɂdзdЧw2v2O /?As(?(#坌rˌ̐KˌBf.n~+x*k  {/>_?B?}OP)'ߧ @MV9M@7d_ryrָ…)R~/2苬+ OY射<(? }V.@yJ2,c2\. e{9;[?_W'fr]!,.%PUZ«3/Y[SʹVq  .? Vt{r*%n J9 xL| ~iMnڧn[Gp~k;ُϋGkwե |3O߆z-2L^YCPS4M$LBpD` H-L{HNե8a箩%gh諡r:Hù֦@$~;?薉#5sgCJ~+JR#߫æ{D˦QTY)ȅ*[  D`q9#Tx|Deiƫ9 C8b{hDŽ[ɖ^cp EУc/)1/c*>6of.)^uj^"Uv3*Ece +?o 7 ̯ vRW!+B\Ùg5m^q6 ߄=g-X+MD ҃Yhk䣿 t8gR4ǭair0@ z}y<8־ 'xa$l1@Щ zhn2$23U{:ﰂ1|<R%U L1s60k&? B`u ,jϗ53[nb扵U$7O6#=Erly0963OHKzU:_瑅adakf i|'o»]#xpS?p$c2 ?L/ ީn'Qg˜0ٚL(_ ϙIqMS>&Ơ}ֽD#e&[yGo"9S2aс(Y{XnD8k8=/aoAkx}6,7(M8ۀJoē}6tA6H_,mgtlCk+Kvu;Lђߴ'/a/L{ u=v`& ]~2'i+-}sO=J&lI[05j9'4wO%m^Πo'b/;MzKo7j(&\`ьU%fPJҍHqp/>~؆|!O']E{sHjO)tI`S & 1|0j;;5mTeuLc(ŬBCd=)O?5G[nA5y`0l4`ehDS,T6y *>% /r%hoKoڇc.;H|n4~Uf2{M{:o0kn>7Q$Lyyw5H?J B Oɮx@FC0!6[im,KE0%&(Xp\GAVΙi9Qh~0.r,#m+9ЍiO|3'ȱ ya1 g{yW=?5j3l5F{0^5O7p2$82epCdkZ 0DqU XLâWqTR:!;/D?8- cL;fcXJ309,O)xI1%h3l䣈mAb ?iÕc),}`)/:|^}]x O!0gWPR Y -f1%IDb88)ym&vж?f8}fƲ 7cP.Wd-%oB@S .xBG,?ɋ|P byx ^ŧ$NS?x@ǩW.r+ Sa%P|Zk'oYi/6:χ<|Xyx(~ 1JbQ'.iKO,Z~K'ή/RXBYzhI:f+ AHdcf,Y7 ~} Wha<+xL k5E-D;ydM^l+:cQEae=9(Wgv[W셳Qbmئd i29?R{) 1^Y)MjS9Q/kFsKq>tgLp -ͱ=RZ`'l/Zw?Z:,q