Archiwum dla 'Uncategorized'Kategoria

Psujemy internet

wrzesień 15, 2009

Mam nadzieję, że chociaż Google Wave popchnie internet w dobrą stronę. Puki co, sam przyczyniam się do sukcesywnego oddalania internetu od słusznych idei jego twórców. Tak, jak Ameryka powstawała jako państwo ateistyczne i stricte wolnorynkowe, a dziś w jej PR wpisał się kościół i ekonomia socjalna, tak w zdecentralizowany internet wtacza się coraz więcej centralizujących projektów.

Google Search i Gmail to pół biedy. Pamiętam jeden przypadek awarii Gmaila i 0 awarii wyszukiwarki. Dalej wyłania się Facebook – scentralizowany mikrointernet – i Twitter – najszybsze medium świata polegające na wadliwej architekturze jednej grupy ludzi bez biznesplanu.

Dzisiaj podłączyłem Twittera do Google Readera za pomocą Readtwit. Właśnie tego najbardziej się obawiam – kultury mashupów pośredniczących w wymianie informacji. Te wędrują z rąk do rąk narażone na pęknięcie któregoś z ogniw.

To wszystko musi być zorganizowane inaczej. Tylko jak?

SOFEA/SOUI

czerwiec 11, 2009

W tym tygodniu:

  • Tworząc skomplikowany system modułowy w ruby-sinatra/haml/js/compass-css zainteresowałem się javascriptem po stronie serwera jako językiem, w którym można stworzyć dynamiczny ajax-comet-framework
  • Poznałem trochę Moo Tools i zainteresowałem się Google App Engine
  • Uruchomiłem na GAE js, ruby (sinatra), scalę i javę
  • Poznałem idee SOFEA/SOUI i zdecydowałem się na oddzielenie interfejsu od serwera
  • Zainteresowałem się Jersey, Pure JS, Open Ajax Alliance, Ext JS
  • Zainteresowałem się także Flash Builderem
  • Zainteresowałem się tworzeniem aplikacji desktopowych i mobilnych
  • Postanowiłem kupić iPhone’a
  • Gdy zobaczyłem HTML 5 w Google Wave i Safari 4, zrezygnowałem z Flash Buildera na rzecz otwartych webowych standardów
  • Postanowiłem przetestować Google Web Toolkit
  • Zaczerpnąłem trochę inspiracji z Lift’a i pomyślałem, że można wykorzystać GWT jako podstawę pod framework, w którym rolę MXMLa i AS we flexie odgrywałyby XML i Scala
  • Zrezygnowałem z GWT, gdy się okazało, że nie współpracuje ze Scalą, ani żadnym innym językiem poza Javą
  • Znalazłem Appcelerator Titanium
  • Uznałem, że Titanium na razie nie nadaje się do użytku, ale wersją finalną będę BARDZO zainteresowany
  • Jersey i Scala na GAE też na razie sprawia za dużo problemów, więc zacząłem pisać w czystej Javie i JDO z zamiarem przesiadki w przyszłości

Perspektywy na dziś:

  • Google App Engine
  • Java
  • JDO
  • json/xml
  • OpenAjax, PureJS + biblioteczki js w zależności od potrzeb

Perspektywy na przyszłość:

  • Jersey + Scala
  • HTML 5
  • Titanium
  • Google Wave

flash[:notice] flash[:error] feature in Sinatra

luty 21, 2009

That’s my solution for simple implementation of flash feature in Sinatra:

helpers do
  def flash
    @flash ||= {}
  end
  def redirect(uri, *args)
    session[:flash] = flash unless flash.empty?
    status 302
    response['Location'] = uri
    halt(*args)
  end
end

before do
  if session[:flash] and not session[:flash].empty?
    @flash, session[:flash] = session[:flash], nil
  end
end

Pastie