Application Development - eWeek


Battery 500 Project Charged Up over All-Electric Cars
Charting the Final Frontier--Google Maps for Indoors
Get Smarter Technology on Your Mobile!
  Application Development


Google Gears Takes Ruby on Rails Offline




x}kw6DىCoٖۚؖRs-EBc䐔?qܳbVKZm'mKX( B?H9sur&56%3E]"I#(p,IfA)v@{iFuۚ8͂Aq@~kfD%x_@jG B.Rk2 Z575'47'x2)X$8kzZC'AjZ$l,P'w ZB'?*B4m$oqT}:XS=2rН3ݟXBTuxK41QDO(>г;/PQDXV>ٮq4]"X'[vx)By!l 1#osݿ!`$nRv'n7oR 205b"V,"%0Ýȵ :s 08juj=nf,}KH;R@}k {>5I iw1 9o VqFQ@+).#-b|+0#ƌ_8@f9v򳹥s1\]^u2^u;'>ߘecfy3?TrJw3F~ V'݋uqsGV}Bg#j`BcYuuUo~vO]3R?&:aZ+땆~Ffw4r!޺tx="IKG|<8&8Cj ݖEB_*D\KŗG)LY4C ! ,6ɌSHzPN@לYhXliJuV!`FC 0sn6 G@kiFkPYTak6R\ 9jb)6B̄H )'wRާ,-|y"brݠHPs>Χ+foF"> ef"ȅQ.%-> g|8JKu=bapY<<Zo֖͉*]X[u5jZlE?iYwΤui>]uIwN؁)WIF4 ,heݴ3榣V61W*P\?(ËJCU~^p-Aqj2B c=M:vXy8`;}FwgԴHwH<: pѦMޡ:BݘZH/FA>+wOݺzL^TŞ+LКkF#m@T8n([A0? [ O`p\&[ xkE0]ӑ4a qj =*3<9»=woouG &SsnPB=@8dN˕ },P cRRR$S !hI#r Bг!,`@o%``[X ar T<ʦBIg}vn2V{TKh!+K@fsfd(4{~4 cbB|#'fXr`Y \d+|i)lb ը˶V-iDi$P^Cs2 =WVk*ZҧF(+<>gS<rH:unsx9p$'HwHSJLa/s|g< Z|' MgT2u& f+LoLhQĸG63ˀ)4ٜi83A0>A̞,j\r ,_zt?dcMEikJ/ι7)j`W*7vrgNH/x|WY 3EDVhdF!zC1{ޡPXY32;= =MjƳ"#P7oZťp(mtgѹ+>q^v.iԆ'i[I%ͺZIT*{a]hk%Rd7Bj^¢ym<2D֑`9H^0K+ezlӇ8&e6LG%Eio  C[ MܟXTM.v0dz#ohMkTr9vn g%A qsGIݔ6 [IF|t|MKߵ("}=r=C6Ol#p:xBJmHכABc cOѭ,h8)4j+zF 烊7@E30kŠ%lDc*t퇙grptה=- Τ_8'Wy+B*ޏ1f&6Xc˦z`׽iAʫef!lX(%UMhj"yd\s˰e0|j}]v)+ܸ~ QK!VȹCg@:*X#çV "IJkYPzP* `k_.z]9 ܊ WܕVR5󀻬3wdlrCJrE}x.)J5w` N 2$Ћ|h :|!#X& ,w\d0!QP\Q0.#_L_LU1(TOnQE^q~VWK t갢Ԙ}Sː 0gted->흧 IV/굄ЪZZs82:Ś&1pV6ʼnGG q?@+:2 XX 0(E{h⢉!h;+4khý235RP*ݝ'(U2~-h/nZyYf0`l*?崲E MLQs?@ťQzgicfMMafFžnJQ/=7yE0֛q-fdaDF4DwbC-YM~pߎ3XA mҚ9k+sD ü z32Jј LV|`o4F5oٝNC7E$79PܘG[HOo_`n /.I7ai|7[JEVK`uցDZ%y9HG].g}]٘y4>ʐiG2gdY hVz\ v}cLJ΋Mo 4y̔Qʣ",߸X֪́g~hJJ]aQn6=IT\Q=@Q>M|ݤ1p NuzAr~VS=YKrvzJ rF22@BZA$d1~^>]K? F&;fB,&8H ӸWsQ=-#G銿z=;  Fk;r zycB|};]Sz{ёX'Kփ 7Y>BVç&B}XynÌ#:*VZZFZv*'?vb'%6 HTzH0HreF\A=?65mOfX{Er?gF'q?Iȸt2Ti 'sX6 wѺB Сw{v$sm#g.Ս)A/]s>ͥ=`L8M\gwhNPD(Vp9c2'4,`*hM5nWeKot.q\}6\ŗ)ar؁>cAɼ}Gw;}\=eNd>HАZ=ty9#- LF=n/?vcW}FyP1hg4vlLgI")Vz5w7`\8%/+Txr1ϢI/n9P2vAK Js`ȾqCwb R?w@|]& {~W]ߣPIݣ뻻~=mҊ(r]6ZD܎pw5U {II5)tu<-J`RToy^Af6vo"B"fcME[ބNfrAG\2H,9PQ:c+ݲN^Кtf9-'!2ci P\iJCiw>[_RR'9%)9AljNx zq* <~V?v:'IMlzT F_p(~|45)Z% Zޔ.ɼnvяԍ!$k1UNaAN`zMSTF9u|}ZõXӛ<ћpXdЙc߭ģickd~n YQ``"yw^_Vkp ҴxTݔGK/ţ,_JKڮ+%DYЮR _n1Hl"o͞ݨkn 5I7l bwG kڠ],Զ.}N SHsX~iFIr$M6ᰉMlrSey`'UDPWV)V^C?Ҁ5=Dg2tI@i ̓r|R>Z܊t8ʵJ=>2p% ,5 &Xi0nI֓^{76KqcQȵm}$(u4oh eKEsJA!aD|0@#"'0&8%dK2U7^MԾj pz֑:.ci-JenXܝa`I ϱ؊@kWѣ^rUZvm\k\MtB\ {{{{{ P<{ƗpboLLtx#MaTmÀa oNha!<ټMP #eEOqn9?Kl̋ ^J:А;Y4Dq-VL|07dY>96ՁZg9azR3jRa@1c <"Ew7n/H6hmΆTy8,F/ KD>/z bG=[ P~+vb&nmRk󻴛 s~s~s~s~s~JRR~NUS@#QP$x -nmˤsm%{B8`538B 8@ֶd(%Z}炥®ZcfJtl0 hSgkg6amµRk[X3d{֟tzX9T%&7ѽfpG}j|mZ:.;Q]AA¤cԙQ&ywƃn)f U77)(\?uH@{!afH?ٜm$w_m5)/"qip=Ro 1]NDr˖hm-J`Y7ͣ>\)e=]/\] ~:3&3 N9ۑ"ٿܦ뭭m:5zVTQS+ >9C2`C*E >ysҖTuBkk}Q:t0tgw+#=i--252P+ٝ|;?UGk{bpCv'.C ]@lKRtş A{{,~܊D7{KP} 7;Woix󁙾vGgSh~_6 Nmey6S#ZxM_ &`ljVXVEqf{ [{V̽K畲ttS;`Ibۀ́h6ꇠd+Ь%5̐X-j%M"q0M[H)⌉fae%s_ %I5p7 DڜDS`jq פ{ |:aO)8eSŏ|ׂmxi/^xЧjܒ`a/]۶$}qc]X,hILÑ@u}œ3TQ#)Gz]]FHQ #ָol`18;~ߛ=eO) x-5,=df?=Iw$d!;d QߒNKux'h'/ :âIY0XVl.pìfYG(oNpdɷKƷ1V^cm2UȏT%~'`EDe¤ZYt'O|oqdQ?f(p Kfb{[ō \OF:(bUňе𮪚Z/G ɿ bu+n^L5|5ձ ! =de Q]ݣA`O}яw⛾>z48E -=6i[mO]E a!/(/.#~aI{`&{ǘ$ q}EMm& kQN*flZO>'p.t+CIۏAE!Lj̾ee3-t{Qnͨ>gFSYh9]o15\RwPWK.`܋%,-c 2^Z!tOHk˜xt<vlNz ԣ:BMwTU"j%xm#-5נ)|9}nZbfģ Zkah;Xÿ́kj=!vc`.қ≡37:US Ñ;7A4`]*oZ%24Z^U'q{WhkJML8'E>h+~D0`)XyeZ{rcu]IϝGz^hRyG:$ELe8a->"A%bo2cȸ8}L ''+}Ւl4l__u8h +^Q"c-5=}E93F;1뮒tڤJWs>eP]g&r?js{&ʒ2?O+ 66mEUk)7g%ۅ]aYJ`,r4>SK3=jX:N#RF¯~9UI&q{VaaVtbjJǛh-;QDӤ5kL(:z"3^+@ZBB(YYv' o.'G>Wv/?VHzՕod}ext{J"HrdEN'& ):]БܟޕjmO*IgO4~|l@ "6 ?Ki:2 gMr+7LWROzg\I\ؐ!,E|E|0XV$ʽOg->|-RWldb"@՘^_չt~A~hwE :W} d#?s,~lnFtq5tSgU%E;f+L@No`(0O> xtT$l.c oVZC8ްn?p%A H3'Thv+ HE>p4.pgj9,UtK$L+2&Bs879࿿_LIsnOKZ&6@@P0H4ooEWpbZ1Ř!&"cs6#i`/}76&1(o{j31Faŷ~$lC;b21cbHcLx c T&}fA=bA!>?~eOM)H0^pnp"(3[]ă0LngAؼO^F 3+f)u n9 :jeO g>򽉑{0u{ s!aZ;:0QB<ⱴP <'l&iHGoMzojr =;ȑkhxN=^[LI'M& 2p4ħYh@zB+2[EYN/PKNPkN_/?js{P)GN/?wrʏh} $>9֗v q=)9{Sws_h)_֗0۵ss{Csy}Ρ9?z9.~QFxdB$Wɴ&Vی 3l?QǒGЬ.Ǒrۿe?|ka[<G4q=Pޛ@Kn ] 8ڭ#r75inq[~r^<^Ȭuj7mO1y}2So!&`*+6WY-KaaP$oj'܌3&X^A7\]φЙϚ%¦>ga3f^*gB8D#wo0<1Cx @؅4\xt؉w&,/P7maHH5ZUj;_ #O1wQ5YUdN*jUQ)&K<# .M3^e&MȡN!3pA&J#D`5~B@N,1"/c@6of!)^ ~*U{_ۉ #Hbf@p b'[{z98;cy0`ɰUIW1hӐM Fؒ%Dİ-#GN>@fL"xNO,E~f&gmcAqߢ=G'x<:ed`K%g')ɹ\" 9oъ^\g΅*K X-0gx¡. 5t@O2Äc6O 5U"yw|uIn_.˃[`dx$""H "s{B|%؄'2󯀿Pn2!%؉ C~:4v"$SVT#cE ^2PzSA۽$}מ Vل?=V@sfJq=GcБ_45ﵱtZзkdY;\MϫHѝEXp";߶]ǕJm.U ?`nۭ2w}x.^| Њ3Obx`#Y}bӦ#]^Πo'b_n7e&PLcSu\z#rnR']K7"%ioPm J0C`{ , CP@&Iw`R1|j;;.^ɿlܹeUhJl[9Ud2- kc'pg !mX03 n=ձ w O`7G}L4ԦJu A]?_vs[>/৲_p;Щ0T\NսJʶE=b농 Ѩip[TVDnS^-S7qݼSQa[O_<.FP1M ?&Il}MX<^|cwϏq`2﮳z/O6pN}+\ȏ,,$[Z']ZD!hXrE"O q~ жX3e"@a)5z`Ʉn~3 f<˜4W6IĶqynuҵ-ˑ=S'>F]&LzUN]Z ^cdKX$_֬-LE")0ON= zBLk|FXK]s.%tԵa}a^8q Q3|Jj轇Iȝoz^j=]x O0YdWPRэX -f1%IDb$8ґCAȞB>e3#7Dn0Br? d[Lօtv\j)/cY4~1<99.@OI"cXM1}a`|L2UűUQ(ZN긓 ztEg0 6A|>hy6=xL -2VjwV㛾V cSEᘸe4r};7 D^4†mJHU&s)c MW_\)MC39U/;VM&Z2c{͵N_ l?b,