Bingo sobre Railes

Mayo 22, 2008

ver tutorial anterior

En este tutorial Desarrollaremos un bingo para un solo usuario utilizando sessiones para guardar el progreso de la partida

Creamos la Aplicacion

rails bingo

Ahora metemos en en la carpeta \app\models las clase Bingo.rb y Carton.rb

class Bingo
attr_accessor :bombo
attr_accessor :mesa
def initialize
@bombo=Array.new
@mesa=Array.new
(0…80).each {|x| @bombo[x]= true}
end
# Devuelve un numero aleatorio y Apunta que salio
def canta
num= rand(80)+1
until self.bombo[num]
num= rand(80)
end
self.bombo[num] = false
mesa << num
num
end
def bombo_vacio?
res=false
self.bombo.each {|x| res=true if x}
res
end
def ver_bolas
@mesa.sort
end
end
class Carton
attr_accessor :carton
attr_accessor :lineas_cantadas
def initialize
numeros=Array.new
while numeros.size < 15 #Genera 15 Numeros Unicos
numeros<< rand(79)+1
numeros.uniq!
end
numeros.sort! # Los Ordena
carton=Array.new
(0…3).each do |y| # Los deordena de Arriba a Abbajo y de Izquierda a Dedecha
fila=Array.new
(0…5).each do |x|
fila[x]= numeros[x*3+y]
end
carton[y]= fila
end
@carton=carton
@lineas_cantadas= Array.new
(0…3).each do|x| # Define que no se han cantado Lineas
@lineas_cantadas[x]=false
end
end
def recorrer
self.carton.each_index do |nlinea|
self.carton[nlinea].each_index do |num|
yield(nlinea,num)
end
end
end

def tachar_numero(num)
res=false
self.recorrer do |x,y|
if self.carton[x][y]==num
self.carton[x][y]*=-1
res=true
end
end
res
end
# Devuelve si se canta linea y si se canta apunta que se canto
def es_linea?
res= false
(0…3).each do |x|
linea= true
(0…5).each do |y|
if self.carton[x][y] >0
linea=false
end
end
if linea and !self.lineas_cantadas[x]
res=true
self.lineas_cantadas[x]=true
end
end
res
end
def es_bingo?
res=true
self.recorrer { |x,y| res=false if self.carton[x][y] > 0}
res
end
end

creamos el Controlador

ruby script\generate controller bingo

Y lo Editamos

class BingoController < ApplicationController
#Pagina principal Recoge los valores de la sesion y segun Estado este
#Parado => Partida sin empezar
#Funcionando => Canta una bola y muestra el resultado
#hasta_en_fin => Juega Hasta el final y guarda lo que pasa en @mensaje
def index
@partida=busca_partida
@cartones=busca_cartones
@mensaje= Array.new
@estado=busca_estado
bolas_sacadas=0
salir=false
if @estado != “parado”
while (@estado == “hasta_el_fin” or bolas_sacadas==0) and !salir
@bola= @partida.canta
@bolas=@partida.ver_bolas
bolas_sacadas+=1
@cartones.each do|c|
n_carton= @cartones.index(c)
if c.tachar_numero(@bola)
@mensaje << “Se Tacha el numero #@bola en el carton numero #{n_carton}”
if c.es_linea?
@mensaje << “Cantas Linea en el carton numero #{n_carton}”
if c.es_bingo?
@mensaje << “El Carton numero #{n_carton} ha Hecho Bingo”
@mensaje << “Ha necesitado #{bolas_sacadas} Bolas”
salir=true
session[:cartones]=nil
session[:partida]=nil
session[:estado]=nil
break
end
end
end
end
end
end
end
# Añade un carton
def compra_carton
@cartones=busca_cartones
@cartones << Carton.new
session[:cartones] =@cartones
ir_a_index
end
# Solo regirige al index
def ir_a_index(msg = nil)
redirect_to :action => :index
end
# Devuelve la PARTIDA almacenados en la Session o una PARTIDA Nueva
def busca_partida
session[:partida] ||= Bingo.new
end
# Devuelve un Array con los cartones almacenados en la Session o una Array Nuevo
def busca_cartones
session[:cartones] ||= Array.new
end
# Devuelve el Estadoalmacenado en la Session o “parado” si no hay session
def busca_estado
session[:estado] ||= “parado”
end
# si esisten cartones Pones ESTADO = hasta_el_fin
def hasta_el_fin
@cartones=busca_cartones
session[:estado] = “funcionando” if @cartones.size>0
session[:estado] = “hasta_el_fin”
ir_a_index
end
# Si esisten cartones Pones ESTADO = “funcionando”
def empezar
@cartones=busca_cartones
session[:estado] = “funcionando” if @cartones.size>0
ir_a_index
end
end

Ya esta el programa ahora necesitamos gestionar como mostrarlo. Para lo que usaremos plantillas (Layouts) y Vistas

Primero la Plantilla, creamos \app\views\layouts\bingo.html.erb

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>
<head>
<meta http-equiv=”content-type” content=”text/html;charset=UTF-8″ />
<title>Productos: <%= controller.action_name %></title>
<%= stylesheet_link_tag ‘bingo’ %>
<%= javascript_include_tag :defaults %>
</head>
<body>
<h1>Bingo</h1>
<div id=”all”>
<div id=”cabecera”>
<h2>BINGO SOBRE RAILES</h2>
</div>
<div id=”izquierda”>
<h2>Numeros Cantados</h2>
<ul>
<%= render(:partial => “bolas”, :o bject => @bolas) %>
</ul>
</div>
<div id=”contenedor”>
<div id=”centro”>
<%= yield %>
</div>
<div id=”derecha”>
<ul>
<li><%= button_to “Comprar Carton” , :action => :compra_carton %></li>
<li><%= button_to “Empezar”, :action => :empezar %></li>
<li><%= button_to “Ir al Final” , :action => :hasta_el_fin %></li>
</ul>
</div>
</div>
</div>
</body>
</html>

Ahora las Vistas:

\app\views\bingo\index.html.erb es la vista de la Accion index

<div class=”cartones”>
<% if @cartones.size>0 %>
<% @cartones.each do |c| %>
<div class=”carton”>
<table>
<% c.carton.each do |linea|%>
<tr>
<% linea.each do |num|%>
<td <%= ‘class=”tachado”‘ if num >0 %>> <%= ” #{num.abs} ” %></td>
<% end %>
</tr>
<% end%>
</table>
</div>
<% end %>
<% else %>
<h2>Bienvenido a Bingo sobre Railes </h2>
<h3>compra uno o mas cartones y dale a empezar</h3>
<% end %>
</div>
<% if @bola %>
<div id=”pantalla”>
<p><%= @bola %></p>
<% if @mensaje %>
<ul>
<% @mensaje.each do |m| %>
<li><%= h(m) %></li>
<% end %>
</ul>
<% end %>
</div>
<% end %>

\app\views\bingo\_bolas.html.erb es llamada desde la plantilla con <%= render(:partial => “bolas”, :o bject => @bolas) %>

<ul>
<% if @bolas %>
<% @bolas.each do |bola_salida| %>
<li><%= bola_salida %></li>
<% end %>
<% end %>
</ul>

Por ultimo podemos darle Estilos con \public\stylesheets\bingo.css

BODY{ padding: 1em 1%; text-align:center;}
H1{display:none;}
UL{
list-style:none;
padding:0px;
margin:0px;
}

#all
{
width: 100%;
}
#cabecera
{
padding:0.4em 0%;
margin: 0em 0% 0.2em;
background:#CCCCCC;
}
#izquierda
{
float:left;
width: 20%;
background:#FFFFCC;
}
#contenedor
{
float:left;
width:80%;
}
#centro
{
float:left;
width:70%;
}
#derecha
{
float:right;
width:28%;
padding: 1em 0% 1em 0%;
background:#FFFFCC;
}
#derecha INPUT
{
width:70%;
padding: 0.3em 5%;
margin: 0.3em auto;
}
.carton
{
width:23%;
float:left;
padding: 0.5em 0.5%;
margin: 0.5em 0.5%;
background:#FFCC99;
}
.carton TABLE
{
width:90%;
margin:auto;
}
.carton TABLE TD{color:#009900 ;}
.carton TABLE TD.tachado{color: #990000 ;}
#pantalla{ clear:both;}
#pantalla P
{
width: 4em;
font-size:2em;
padding: 0.5em;
background:#99FFFF;
margin:auto;
}


Pequeño ejemplo en rails

Mayo 15, 2008

Como hacer el ejercicio 1 de ruby en Rails => Programa que coge 2 números y los Suma, Resta, Multiplica o Divide

Desde el directorio de ruby

Rails calculadora #Creamos la Aplicación
cd calculadora
ruby script/generate controller calculadora # Creamos el Controlador

Editamos \app\controllers\calculadora_controller.rb


class CalculadoraController < ApplicationController
def index
end
end


En Esta ocasión vamos a dejar index vacio. Rails asume que queremos hacer Render usando el archivo \app\views\calculadora\index.html.erb (.rhtml para versiones de rails anteriores a la 2) y Usando la plantilla \app\views\layouts\calculadora.html.erb

empezamos por la Vista index.html.erb.


<% form_for :calcu, :url => { :action => :resultado } do |formulario| %>

<label for=”numero1″>Numero

<%= text_field_tag ( “numero1″, “”, {”size” => 30}) %>

</label>

<label for=”numero2″>Numero

<%= text_field_tag ( “numero2″, “”, {”size” => 30}) %>

</label>

<fieldset> <legend>Operaciones</legend>

<label for=”operacion_suma”></label>

<%= radio_button_tag “operacion”, ’suma’, true %>Suma

<label for=”operacion_resta”></label>

<%= radio_button_tag “operacion”, ‘resta’ %>Resta

<label for=”operacion_multiplica”></label>

<%= radio_button_tag “operacion”, ‘multiplica’ %>Multiplicacion

<label for=”operacion_divide”></label>

<%= radio_button_tag “operacion”, ‘divide’ %>Division

</fieldset>

<input type=”submit” value=”Calcular”/>

<% end %>


Para insertar código usamos:
<%= %> # Ejecuta y muestra el resultado
<% %> # Solo ejecuta
<% puts %> # Ejecuta y muestra el resultado en la consola de WEBrick para depurar

La declaración del formulario es diferente de las declaraciones de los Inputs porque la Etiqueta start_form_tag no funciona en rails 2 así que Las variables :rails y |formulario | no se usan

Este formulario Llama a la Acción Resultado. Tenemos que crearla en el controlador calculadora_controller.rb


def resultado

@num1= params[:numero1].to_f
@num2= params[:numero2].to_f
@operacion = params[:operacion]
case @operacion
when “suma”
@resultado = @num1 + @num2
@operacion=”+”
when “resta”
@resultado = @num1 – @num2
@operacion=”-”
when “multiplica”
@resultado = @num1 * @num2
@operacion=”*”
when “divide”
@resultado = @num1 / @num2
@operacion=”/”
end
end


Ahora necesitamos una Vista para la nueva Acción Resultado (resultado.html.erb). Por ejemplo:


<h1>Resultado de la operacion</h1>

<br />

<%= “#@num1 #@operacion #@num2 = #@resultado” %>

<br />

<%= link_to “Volver”, :action => “index” %>


Probamos la Web
ruby script/server # Abrimos el servidor web
y
http://127.0.0.1:3000/calculadora

Ahora se podría poner guapo creando la plantilla \app\views\layouts\calculadora.html.erb. como esta:


<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”

“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” lang=”en”>

<head>

<meta http-equiv=”content-type” content=”text/html;charset=UTF-8″ />

<title>Calculadora: <%= controller.action_name %></title>

<%= stylesheet_link_tag ‘calculadora’ %>

</head>

<body>

<p style=”color: green”><%= flash[:notice] %></p>

<div id=”all”>

<div id=”cabecera”><h1>MiniCalculadora sobre Railes</h1></div>

<div id=”cuerpo”>

<%= yield %>

</div>

</div>

</body>

</html>


yield Indica en donde se “Pegaran” las Vistas.

Con stylesheet_link_tag ‘calculadora’ es un Link a una Hoja de estilo en \public\stylesheets llamada calculadora.css:


BODY{ text-align: center;}
A{ color: White;}
#all{ margin: 10px auto;}
#cabecera{
width: 400px;
background: Gray;
padding: 5px 0px;
color: White;
border: 2px solid #cccccc;
margin: 10px auto;
}
#cuerpo{
width: 340px;
margin: 5px auto;
padding: 30px;
background: Gray;
border: 2px solid #cccccc;
color: white;
text-align: left;
}
#cuerpo LABEL{
display: block;
padding:6px;
}
#cuerpo FIELDSET{ margin: 10px 0px;}


Espero os sea Útil. Si veis algo mal, por favor, Avisa

Ver siguiente Tutorial


Hola Mundo con Rails 2.0 Paso a Paso

Abril 26, 2008

Después de leer varios artículos enumerando las ventajas de Ruby on Rails, ya tenia gana de probarlo. A continuación pongo los paso que seguí.

Instala Ruby para Windows versión ruby184-20.exe. Puedes bajarlo de: Aquí.

Abre una Ventana de símbolo de sistema, vete al directorio donde hallas instalado Ruby y pon:
gem update –system

Con esto consigues actualizar Ruby Gems a la ultima Versión

gem install rails –include-dependencies

Para Instalar Rails Con todas sus dependencias (se instalara la ultima versión 2.02).

gem install sqlite3-ruby

Instala SQLite3 (El gestor de BBDD que vamos a utilizar en este caso)

rails videoclub

Crea una Aplicación Rails Vacia con todos sus Directorios

Vete al recien creado directorio videoclub y pon:

ruby script\server

Ahora en esta ventana esta Arracado WEBrick el servidor web Incluido Rails.

Abre el navegador y pon:

127.0.0.1:3000

Si todo ha ido bien deberías de ver la ventana de bienvenida de WEBrick.

Abre otra Ventana de símbolo de sistema, vete al directorio de la aplicación videoclub y pon:

ruby script\generate controller Sitio

Esto Genera un Controlador asociado a un Sitio Web.

Edita con SciTE el archivo \videoclub\app\controllers\sitio_controller.rb

tras editarlo deberia quedar asi:

class SitioController < ApplicationController
def index
render:text => “Hola Mundo”
end
end

Esto crea una pagina web llamada index dentro de nuestro sitio llamado principal

Pon En el navegador 127.0.0.1:3000/sitio

YA esta, Ya tienes Hola Mundo la Web que se muestra en realidad es
127.0.0.1:3000/principal/index porque index es la pagina por defecto.

Espero que os halla sido útil.


Platial MapKit

Abril 18, 2008

Encontré en WordPress un Widgets para insertar un mapa, muy relacionado con el concepto de “Mashup“, asi que despues de hacer pruebas en mi Blog y hacer que funcione lo subo al Blog comunitario.

He puesto la Dirección del curso y la de mi casa en Gijon, si queréis colaborar con la vuestra, seréis bienvenidos.


Blog Colectivo

Abril 18, 2008

Despues de construir colectivamente el concepto de Mashup, que puede verse en el blog debajo. Lo construimos utilizando Google docs, para un solo concepto esta bien pero para un tema mas amplio con subtemas seria mejor opcion: Zoho Wiki.

Creamos un Blog colectivo para resumir lo que hemos hecho durante toda la semana, en este blog todos somos administradores y todos vamos a colaborar con post. Yo personalmente decidi Exportar mi blog para despues Importar algunos post al comunitario.


¿Qué es un mashup?

Abril 18, 2008

APUNTES DE MASHUPS


Breve historia de Mashups

Durante los primeros días de los mashups, por lo general, los programadores tenían que rastrear los sitios web a través de la pantalla para obtener datos útiles. Hoy en día, los principales actores, como Google, Microsoft y Yahoo! han permitido a los usuarios y creadores mashup utilizar sus mapas para sus aplicaciones. La finalidad de ello es lograr una mayor exposición de sus productos y obtener más profunda penetración en el mercado y el más amplio mercado de distribución. Esto ha abierto las puertas para el aumento de la tasa de creación de sitios mashup.
¿Que es un Mashup?

Según la propia definición de la Wikipedia podemos definir el Mashup como:

“Una aplicación Web híbrida, sitio Web o aplicación Web que usa contenido de otras aplicaciones Web para crear un nuevo contenido completo, consumiendo servicios directamente siempre a través del protocolo HTTP”.

De forma profana podemos definir un mashup como la recolección de datos de distintas partes y con ellos confeccionar un documento o aplicación específica, utilizando como medida de recolección el propio protocolo HTTP.

Un web mashup no es mas que crear una nueva aplicación web uniendo la funcionalidad de 2 o mas aplicaciones web que ya existen. Como siempre Google es la estrella de las mashups, encontrando cientos de mashups que unen Google maps con alguna otra cosa.

Para ello programmableweb.com es un sitio muy recomendado, ya que recoge más de medio millar (726 a día de hoy) de APIs de aplicaciones webs.

Otras aplicaciones que permiten generar mashups son: popfly, de Microsoft y Google mashup editor, actualmente en beta con colaboradores limitados.

Sobre popfly hay que destacar que, a diferencia de Yahoo! pipes cuyo propósito es crear filtros de feeds, popfly ofrece la posibilidad de crear mashups de forma visual a través de un editor gráfico en el que a unos cubos se les asocia un servicio web.
Otro detalle interesante de popfly es que usa la tecnología Silverlight, que Microsoft ha creado para competir con Adobe Flash.
De todas formas, popfly es aún un servicio reciente, por lo que existen muy pocos desarrollos que, en general, no pasan de ser pruebas consistentes en mezclar información de dos sitios web.

Actualmente, los mashups podrían ser clasificados en función de su contenido y fuentes. Los tipos más comunes de mashups son los siguientes:

  • Cartografía.
  • Noticias.
  • Video y fotografía.
  • Compras.

Pasos para crear un mashup:

Supongamos que a partir de Google Maps queremos crear un mashup del estado de los pantanos españoles.

Lo primero que se necesita para hacer un mashup es una o varias fuentes de datos. En formatos sindicados (RSS, Atom) o mediante APIs que exponen los datos en formato XML o JSON. Si no existen feeds disponibles podemos crear uno propio, una herramienta gráfica por ejemplo Openkapow. Podemos por ejemplo crearlo a partir de una página que agrega los datos como puede ser http://www.embalses.net de la página del Ministerio de medio ambiente (http://www.mma.es/). Una vez publicado, ya está listo para utilizarse.

Puesto que el feed contiene mucha información que puede que no estemos interesados en mostrar se pueden manipular los datos del feed antes de usarlos. Para ello se puede utilizar una herramienta online llamada Yahoo! Pipes (http://pipes.yahoo.com/) que permite manipular diferentes fuentes de datos y sacar un feed en RSS, un objeto JSON, XML…


A grandes rasgos el pipe lo que hace es filtrar los ítems que nos interesan, extraer los valores que luego se utilizarán como variables (nivel de llenado, coordenadas del embalse, nombre del pantano, …) y sacarlo en el feed.

Una vez cargado el objeto JSON proporcionado por el pipe que hemos creado, representarlo en el mapa es casi trivial. En función del nivel de llenado se pone un icono diferente al marcador, y se usa un gestor de marcadores para su representación puesto que el número de pantanos es muy elevado. A continuación podeis ver código fuente donde se genera el mapa.

Y el resultado: Estado de los embalses españoles.


Otro ejemplo de localización de museos con el geocodificador de Yahoo! y Google maps, podeis verlo aquí.

Ejemplos de Mashup`s

Panoramio: permite geolocalizar fotografías sobre los mapas de Google y compartirlas con otros usuarios de la web. Está traducido a más de diez idiomas y permite colocar una ventana de los mapas en otras webs e incluso dentro de un blog.

Tagzania: es un sitio en el que se pueden etiquetar lugares y mostrar su situación sobre los mapas. Los usuarios poco a poco van creando una enorme base de datos con información de lugares de todo el mundo.

es.wikiloc.com: El mejor mashup hispano de Google Maps. Una estupenda web en la que publicar y compartir datos de GPS de forma simple y rápida. La web en sí ofrece decenas de características como la de añadir fotos en las localizaciones elegidas, visualizaciones en 3D con Google Earth, obtener rutas por carretera y un sin fin más de características.

Conversor GPS: Utiliza tus códigos GPS para situarlos en un mapa.

Noticias del Mundial: Las noticias de cada país sobre el mundial de fútbol.

Google Maps nocturno: ¿Cómo es el mundo en la oscuridad de la noche?

Terremotos: Los últimos terremotos…

www.spaniards.es: Es un mapa para ver a los españoles en el mundo.

www.geoviviendas.com: Portal Inmobiliario: Alquiler y venta de pisos, locales comerciales en toda España, localizados en Google Maps.

www.horaylugar.com: Un sitio en Internet donde podrá crear recordatorios de citas para usted y/o para otras personas. Puede usarlo para una entrevista de trabajo, una reunión entre amigos, una cita a ciegas, una visita al médico, un evento público o para cualquier otra circunstancia que desee.

www.urbaniza.com: Buscador viviendas de obra nueva.

Otros mashups curiosos:

Puedes pasar un rato entretenido en fisgonia que mezcla un listado de webcams, con el mapa de Google.

Otro mashup curioso es ClockR, que usa el API de FlickR para buscar números y montar con ellos un reloj que muestra la hora en línea:

FlickrSudoku. Mashup que usa el API de FlickR para buscar números y montar una partida de este famoso juego.

Buscando por la red también podemos encontrarnos con VerveEarth que es un mashup que pretende recoger en un mapa los bloggers del planeta tierra.

También es un buen ejemplo de mashups el servicio esfresh que mezcla de last.fm, youTube y Wikiliricks o GoolzOOm, iniciativa de Jesús Barrio con el ánimo de facilitar el acceso al Catastro Español (Google Maps + Catastro). También cabe destacar su más reciente InmoMaps, un mashup de anuncios inmobiliarios simple y práctico.

Y otro de los ejemplos más populares de mashups es el que se produce en la generación de páginas de inicio personalizadas, mezclando los contenidos de las fuentes de feeds rss, imágenes, vídeos, buscadores, correo, widgets… de tu preferencia.


Importancia de los mashups.


Los mashups son uno de los pilares de la web 2.0. Si bien el principio de ésta es la colaboración entre usuarios, los mashup extienden esta colaboración a las aplicaciones web. Así, los usuarios ya no sólo pueden aportar nuevo contenido a la red, sino que, gracias a la sencillez con la que se crean, pueden generar información más completa, combinándola que ya existe en la red, y por lo tanto con más calidad.


Cabe destacar la influencia de estas “remezclas” en los programadores web que cada vez están más forzados a ofrecer APIs claras, ligeras y sencillas si quieren que sus aplicaciones se extiendan ampliamente y en el menor tiempo posible. Esto repercute directamente en la calidad del código y, por tanto, del servicio que se ofrece creándose cada vez mejores aplicaciones.

De momento, los principales abastecedores de contenido para mashups son grandes servicios como Flickr, eBay, Youtube, Amazon, Yahoo!, Microsoft o Google. En España, la mayoría de mashups se basan en Google Maps.

¿Qué hay de malo?

Los pioneros del “mashup” en España reconocen que tiene aún puntos oscuros. Para Julián Martínez, de Adoos, “lo malo es que exigen más recursos, tanto a nuestros usuarios, ya que a una conexión telefónica normal le costará bastante tiempo mostrar los mapas con toda la información, como a nuestro sistema, que debe soportar más de dos millones de usuarios y un mashup muy interactivo”.

Rogelio Bernal, de eListas, teme por la propiedad intelectual: “Un mashup combina dos o más propiedades intelectuales para crear una tercera. Por ejemplo, tú subes una foto a Flickr. Flickr ofrece una API para que la gente cree mashups. De repente, aparece tu foto en un mashup. ¿Y si alguien en el proceso intenta obtener beneficios económicos? ¿Y si a mí me parece bien que la gente cree mashups en Flickr, donde aparezca mi foto, pero me opongo a que alguien se lucre con ello? Conforme se desarrolle más el fenómeno, este tipo de situaciones puede complicarse”.

José Antonio del Moral, de Alianzo, ve otro riesgo, la dependencia: “Hoy en día Google nos permite usar sus mapas hasta ciertos límites, que son unas 10.000 cargas diarias. Pero, ¿qué sucedería si mañana decide cortar el grifo?”.


Utilizar Zoho

Abril 17, 2008

Bueno me registro en Zoho. Al entrar veo la diferente posibilidades que me ofrece:

Zoho Sheet: Hoja de Calculo
Zoho Writer: Procesador de Textos
Zoho DB: Bases de datos
Zoho Show: Presentaciones
Zoho Notebook: block de notas
Zoho Meeting: Videoconferencia
Zoho Planner: Calendario
Zoho Chat : Mesajeria Inatantanea
Zoho Creator: Creador de Aplicaciones.
Zoho Wiki: Wikis con acceso publico y privado

Osea que es una especie de Office Online, lo que mas me llama la atencion es el Zoho Creator. Voy a echarle un vistazo.

Te permite crear formularios, para recoger datos, supongo que se almacenesn en zoho DB, puedes crear vistas donde recivir esos datos, puedes incluir Codigo para filtrar los formularios. y luego da una opcion para incrustarlo en tu WEB.

Es todo muy Visual arrastras lo que quieres utilizar, no parece que sea muy potente, pero desde luego es interesante, seguire mirandolo mas adelante.

El procesador de textos, la hoja de claculo y las presentaciones no tienen nada que envidiarle a office. Muy parecido a Google Documents.


Abril 17, 2008

¿Qué es lo que es? Software Libre

A través de You tube si me deja Poner el Video


Integrar un video de YouTube

Abril 17, 2008

Voy a YouTube escojo un video ¿Qué es lo que es? Software Libre:

Me da problemas al insertalo por Codigo; deveria de funcionar pero WordPress lo borra automaticamente el codigo ( <object> ) al guardar el post. Asi que lo habra que hacer desde los menus de youtube

Me avisa mi compañero Ivan que el problema es pegar el codigo en la pestaña HTML. Hay que pegarlo en la pestaña de visual, desde el icono de Add video.


Un vistazo a Twitter

Abril 17, 2008

Parecido a Xing, linkedin y facebook. Te permite buscar personas y relacionarte con ellas. Pero esta mas orientado pequeños mensajes cortos como “Que estoy haciendo ahora? estoy en clase” es algo así como cuando en el Msn pones lo de estoy desayunando, voy a comer …

Trae una opción de Indicación RSS así que lo pondré en el Blog. Usando la misma indicación lo asocio a las Notas de FaceBook. Así queda integrado Twitter en FaceBook.