View posts for » Category "aprender"

Un vacio interior

La historía de este emprendedor da para mucho, un personaje que de una u otra manera conoceré en los próximos años. Fuera de su vida empresarial, me quedo con su definición de emprendedor.

Un emprendedor se define porque tiene un vacio interior. Esto no quiere decir que no sea feliz, posiblemente sea feliz, pero tiene un vacio interior, realmente profundo… que llenar y la unica manera que tiene para llenar ese vacio interior, es… creando conceptos y no muchas más cosas.

Les dejo el video para que lo disfruten.

Comments (5)

Conferencias en Santiago, Viña del Mar y la Serena

 3048570179_078dcbcd68.jpg

Este año la semana del emprendimiento global mantuvo muy ocupados a los emprendedores intentando inspirar cambio como decía la camiseta que ocupamos los organizadores y speakers en el Summit Endeavor 2008 (ver fotos), realizado en Casa Piedra. Este año además de ayudar junto a Carito, en la organización del Summit, fui invitado a dar una charla sobre mi experiencia emprendiendo. La idea era simple, motivar e inspirar a gente joven y espero junto a Leo y resto de los speakers lo hayamos conseguido.

n766786801_1687109_5176.jpg

Además di otra charla en La Serena en el V congreso de emprendimiento organizado por la escuela de Ingeniería Comercial de la Universidad de La Serena. Danko Ravlic se mando una organización de lujo junto a un equipo de cerca de 30 personas, en donde todo lo tenían bajo control. Juan Pablo me paso a buscar al aeropuerto y Ale me ayudo en todo, muy preocupados y les doy las gracias.

picture-7.png

En ambas charlas mencione  2 puntos que creo son importantísimos para emprender y especialmente difícil cuando somos jóvenes.

Ser consecuente

Cuando salimos del colegio muchas veces miramos al lado y vemos como nuestros padres han hecho sus carreras, amigos o cualquier persona a quien admiremos. Creemos que por que ellos han ido por un camino debemos seguirlos y creo que eso es el peor error. Si tu amigo emprendedor sueña con vivir en Nueva York, eso no quiere decir que tu también debas hacerlo. Un ejemplo son los emprendedores del sur de Chile, amaban el sur… y en vez de seguir el camino de la mayoría (irse a Santiago), se quedaron en Puerto Varas y emprendieron desde allá.

Rompe las reglas

Creo que las personas que no rompen las reglas, simplemente seguirán el camino del resto. No harán un camino único y vivir un camino único aunque termine mal, no tiene precio.

En lo personal no sé si termine bien, no sé si nuestras empresas consigan lo que soñamos. Pero nos la estamos jugando con todo para conseguir nuestros sueños, salir adelante y hacer un trabajo no sólo por el cuál pueda cobrar, sino buscamos hacer trabajos que cambien la forma convencional de ver las cosas. En nuestro caso, la forma en que hoy la gente ve la publicidad en nuevos medios. Los clientes están comenzando a creer, saben que esto no es un camino fácil y valoran el como hemos ido construyendo nuestras relaciones comerciales y eso nos encanta.

En la charla que di junto a Camilo en el DUOC de Valparaíso hace 2 semanas, hablamos exactamente de esto. De lo difícil que es armar una empresa para 2 tipos de 22 años, las cosas que tuvimos que aprender en el momento de emprender, lo que no se cuenta en la universidad y las ganas de que deben ponerle para no quedar en el camino.

picture-8.png

Armar empresas, materializar tus ideas es algo que no tiene precio y estoy feliz! … porque creo que toda la semana anterior fue algo único y esperamos que continue en los próximos años. No podemos detenernos. Gracias a todos por una linda semana.

Comments (5)

Joven emprendedor 2008 y competitividad digital 08

Hace unas semanas el mundo webprendedor estuvo marcado por la visita a Chile de Wenceslao Casares, el maradona argentino del emprendimiento en Internet. Aunque en muchas ocasiones remarco que no estaba satisfecho con el éxito logrado por Patagon, visto si como un gran negocio, pero no cumpliendo su sueño que era democratizar las finanzas (gaaper lo logrará?). Tuve la suerte de participar en un panel la semana pasada y compartir escenario en el evento Competitividad Digital 08, contandole al publico junto a Leo Prieto, de como crear Micromultinacionales.

El premio Joven emprendedor 2008

El diario financiero con el áfan de acercarse a los jovenes comenzo este año a entregar una mencion honrosa a los emprendedores jovenes que destaquen en diferentes areas, y este primer año, decidieron darme el premio en el area tecnologica. Un poco mucho quizás… no he inventado nada tecnologicamente muy sofisticado, pero muy honrado porque junto a cientos de webprendedores hemos conseguido creernos el cuento, armar empresas, viajar por el mundo y decir!, juntate y luego emprende! Sin duda, la persona más feliz de todo el mundo es mi madre que me acompaño a recibir este premio en el club manquehue. Y este premio se lo dedico a ella.

Puerto Varas, Agosto 2008

Mi madre, Rebeca, nunca hablo mucho de emprendimiento (porque prefería actuar)… pero me dejaba subir a los arboles, me dejaba jugar con fuego (hacia fogatas enormes en nuestro Valle del Elqui), me mandaba a comprar pan cuando solo tenia 5 o 6 años, y me veia cruzar la calle con miedo… pero con confianza de darme toda la libertad del mundo, para conocerlo por mi mismo. Eso me hizo un emprendedor y se lo agradeceré toda la vida. A los 20 años le dije, vecky… congelaré la U y me iré a vivir por 8 meses a Inglaterra, fueron solo 10 minutos de mmmm hasta que finalmente fue la primera en apoyarme. La educación pasa por dar libertadades, y para emprender debemos tener claro, que los riesgos son nuestros y mientras más sabemos que todo esta en nuestras manos. Es más facil emprender.

Eso lo aprendi de mi vieja y se lo agradeceré (de nuevo) toda mi vida, gracias Vecky!

Competitividad Digital 08

Competitivad Digital 08

Y la semana pasada estuvo aún más entretenida, la SERCOTEC me invito a dar una charla junto a Leo al evento que organizan por segunda vez en la hermosisima ciudad de Puerto Varas. Nos juntamos con Leo y nos propusimos dejar muy motivada a la audiencia y creemos que lo logramos, se trato de como crear Micromultinacionales desde LATAM. (termino made by leo)

La gente estaba muy entusiasmada y mi impresión fue que se fueron muy contentos.

Competitivad Digital 08

Después de esa gran aventura, OMB ideas aprovechando que teniamos a Wences con nosotros, organizo una gran conversación en donde hablamos de todo, como emprender y espero haber aportado mi granito de arena como un emprendedor que esta comenzando, porque no puedo negar, que estaba nervioso de compartir en una conversación abierta con 3 grandes emprendedores. (2 con IPOS en sus bolsillos, uno con la red independiente mas grande la web en latam, etc)

Competitivad Digital 08

Recorri Chiloe junto a emprendedores Endeavor (feliz por la invitación de Alan y Christian, gracias!) pero eso no cabe en este post.

Comments (2)

Convocatorio de Chile on Rails, bienvenidos gente con 0 experiencia pero con ganas.

Chile on Rails es la pequeña Comunidad de desarrolladores Rails en Chile, la idea es agrupar a quienes trabajamos en esta gratificante herramienta y compartamos. De Chile on Rails venimos conversando desde el 2006 y concretamos una reunión formal en Mayo de este año y no habíamos podido concretar algo más serio hasta ahora.

En realidad buscamos hacer una convocatoria para lo que pueda surgir, la idea inicial es organizar una miniconf con charlas, seguido de copas en algun pub de Santiago de Chile, si no reunimos a la gente suficiente… nos quedamos con las copas, además recibimos la visita de un interesante amigo de la comunidad Argentina on Rails y es una excelente forma de cerrar lazos en la región. Por qué si en Europa lo hacen nosotros no?

Los posibles temas serían.

Introduccion a Ruby on Rails, RSPEC, Despliegue, etc.

En los comentarios anotense y hacemos una lista para ver si sale algo interesante, si tienes un blog afin te pedimos difundir la convocatoria para ver si sale algo interesante.

Link | Más info en Chile on Rails

Comments (7)

Más conferencias: Ruby Hoedown

hoedownlogo.png

Soy consumidor impulsivo de videos en linea especialmente de los que se habla de emprendimiento y desarrollo de aplicaciones. Personalmente he participado en 2 conferencias sobre desarrollo y es mucho lo que se aprende, lamentablemente aún en Chile la comunidad no es lo suficientemente grande y activa como para organizar workshops o pequeñas conf (aunque claramente esto esta cambiando).

marcel-rubyhoedown.jpg

En Carolina del Norte el 10-11 de Agosto se realizo una mini conf: Ruby Howdown y Confreaks se dedico a documentar cada unas de las sesiones. Una de las mas interesantes, recomiendo verla entera… incluso la discusión entre Marcel y los oyentes con respecto a que hace el código bonito. Marcel propone 3 pilares fundamentales y más bien académicos, como el mismo sugiere.

  • Integridad
  • Claridad
  • Proporcionalidad

Y un comentario de un participante (me hace cara conocida, ya he visto un video de el, estoy seguro!, Chad Fowler?) al final, que simplemente dice que no debemos preocuparnos tanto sobre escribir código bonito y preocuparnos simplemente de apegarnos a esos 3 pilares y escribir código claro. Estos temas para desarrolladores son muy difíciles debido a que todos somos muy apasionados en lo que hacemos… pero la conclusión es simple: Escribamos código claro, integro y proporcional.. que mas podemos decir?, a ti te preocupa?

Link | Ruby Hoedown, Vía RubyInside

Comments (2)

Startpoint: La mejor forma de empezar a retocar Wordpress

Hace ya casi una semana lance Webprendedor un proyecto que tenia en mente hace ya casi 2 meses y en el cual siempre me detenía su diseño para ajustarlo con Wordpress el CMS que lo gestiona.

picture-3.png

Buscando por Internet una plantilla fácil de modificar para ajustarla al diseño que ya tenia XHTMELEADO, recordé que mi amigo y colega Jesús Carrera de Vigo en España había estado trabajando algunos meses atrás en esto mismo.

Totalmente recordado, gracias a Jesús y Startpoint… logre tener corriendo Webprendedor en menos de una noche. (aunque bastante larga).

Link | Startpoint, Tu primer paso a Wordpress

Comments (2)

Nunca trabajes gratis

Trabajo desde los 15 años especialmente en temas dedicados a la informática. Recuerdo una vez que hicimos un Anuario Multimedia en Flash para un 4to medio del Colegio Serena en la Serena, a los 17 empece a diseñar sitios web y desde los 19 que estoy en lo que hago actualmente que es el Desarollo de aplicaciones Web, primero en PHP y ahora en mi “querido” Ruby, y Ruby on Rails.

El problema es que cuando somos inexpertos derepente por nutrir nuestros portafolios aceptamos trabajos de amigos, organizaciones amigas, etc. Mi consejo es simple:

Nunca trabajes gratis, siempre pide algo a cambio.

Esto no quiere decir que seamos desgraciados con nuestros familiares y amigos pero si no quieres dañar las relaciones que tienes con estos, te aconsejo no tomes sus proyectos y si lo haces… algunos consejos.

1. El trato debe ser el mismo que le darías a un cliente normal.

Cuando el trato es diferente y trabajas con un amigo. El tiempo que estarás sobre el proyecto será demasiado y empezaras a desperdiciar tu tiempo por no haber fijado plazos y términos claros, aunque el trabajo sea gratis, no quiere decir que sea menos serio.


2. Busca incentivos que te motiven

Es importante recordar que como Seres Humanos nos movemos por incentivos y es en esto que se basa nuestra motivación, sin motivación el trabajo no es bueno y sin un buen trabajo no logramos esa sensación de bien hecho. No quiero decir que busques el incentivo económico $$$, pero tiene que haber algo que te motive. Estas haciendo un sitio para una fundación de caridad en la que crees y confias? … o Obtienes un servicio a cambio de los tuyos (Ej. Servicios legales por trabajar con un abogado)?.. mientras te encuentras motivado, no tendrás problemas, pero tienes que encontrar tu incentivo.

3. No mezcles las cosas, no es personal

Trabajando es cuando quizás ves a la verdadera persona, puede ser muy positivo o muy negativo. El problema es cuando se discuten temas del proyectos y crees que es personal rompiendo lazos de amistad con la otra parte pasas a otro lado. Recuerda que al trabajar se esta discutiendo entre profesionales y no entre amigos. Cuidado.

4. Aprende a manejar tu carácter

No todos piensan como tú y no todas tu ideas son tan fácil de entender como lo crees, conceptualiza y llega con prototipos para representar de mejor manera tus ideas. Esto es super importante, porque cualquier paso en falso puede significar romper relaciones no solo comerciales sino personales y esto es peligroso para tus futuras referencias.

5. Soldado que arranca sirve para otra guerra

No me gusta mucho este dicho pero puede ser aplicado perfectamente en algunos casos como este y yo entiendo como saber cuando las cosas no dan para mas y retirarse, en cualquier relación: amorosa, comercial o social no seguir este consejo solo terminará destruyendo todo lo que quede entre las partes.

Tú tienes algún consejo?

Comments (4)

Recursos anidados en Rails

Los recursos anidados son una de las cosas que mas me gustan de trabajar con REST en Rails y es básicamente la forma de generar rutas mas amistosas de una manera mucho mas rapida asociando los modelos, usando esta forma se crea un lazo inseparable entre el padre y sus hijos.

El efecto lo puedes lograr tu mismo iterando sobre el contenido de los modelos, modificando las rutas, pero el problema es que pierdes el acceso REST a los controladores o al menos se te haga muy muy enredado.

Recuerda, Rails es acerca de convenciones, cuando las sigues te convertirás en uno de los miles de programadores felices, si no… mejor no uses Rails (Obviamente, en ocasiones romper las convenciones ayuda, solo no lo hagas cuando no sea necesario).

Pero como lo implemento


map.resources :branches, :path_prefix => '/admin' do |branches|
branches.resources : orders
end

2do, tienes que agregar las asociaciones

En app/model/branch.rb

has_many : orders # Ojo con las convenciones, has_many :plural

En app/model/order.rb

belongs_to : banch # Ojo con las convenciones, belongs_to :singular (lógico!, se lee!)

3ero. Tenemos que retocar los controladores, para que sepa donde buscar a los hijos.
En este caso app/controllers/orders.rb

class OrdersController < ApplicationController
before_filter : load_branch

# GET /orders
# GET /orders.xml
def index
@orders = @branch.orders.find(:all).reverse

respond_to do |format|
format.html # index.rhtml
format.xml { render : xml => @orders.to_xml }
end
end

# GET /orders/1
# GET /orders/1.xml
def show
@order = @branch.orders.find(params[:id])
@lines = @branch.types

respond_to do |format|
format.html # show.rhtml
format.xml { render : xml => @order.to_xml }
end
end

# GET /orders/new
def new
@order = Order.new
end

# GET /orders/1;edit
def edit
@order = @branch.orders.find(params[:id])
end

# POST /orders
# POST /orders.xml
def create
@order = Order.new(params[:order])

respond_to do |format|
if @order.save
flash[: notice] = ‘Order was successfully created.’
format.html { redirect_to order_url(@branch,@order) }
format.xml { head : created, :location => order_url(@branch,@order) }
else
format.html { render : action => “new” }
format.xml { render : xml => @order.errors.to_xml }
end
end
end

# PUT /orders/1
# PUT /orders/1.xml
def update
@order = @branch.orders.find(params[:id])

respond_to do |format|
if @order.update_attributes(params[:order])
flash[:notice] = ‘Order was successfully updated.’
format.html { redirect_to order_url(@branch,@order) }
format.xml { head : ok }
else
format.html { render :action => “edit” }
format.xml { render : xml => @order.errors.to_xml }
end
end
end

# DELETE /orders/1
# DELETE /orders/1.xml
def destroy
@order = @branch.orders.find(params[:id])
@order.destroy

respond_to do |format|
format.html { redirect_to orders_url }
format.xml { head : ok }
end
end

# Notar como obtengo al papa de las ordenes
def load_branch
@branch = Branch.find params[:branch_id]
end
end

Notar en el código de arriba, como llamo a el padre (before_filter) de en este caso las ordenes, y como genero sus rutas (order_url(@branch,@order))

Lo que automáticamente te genera por ejemplo, las siguientes rutas:

/branches (Lista de sucursales)
/branches/1 (Muestra sucursal 1)
/branches/1;edit (Editas sucursal 1)
/branches/1/orders (Lista de ordenes para la sucursal 1)
/branches/1/orders/1;edit (Editas la orden 1 de la sucursal 1)

ups, pero estoy ocupando path_prefix asi que en realidad quedaría:

(Esta opción es completamente opcional y no recomendada (Es preferible tener una sola interfaz para todo, al menos algunos lo creen así… yo no mucho, aunque creo depende del tipo de proyecto.)

/admin/branches (Lista de sucursales)
/admin/branches/1 (Muestra sucursal 1)
/admin/branches/1;edit (Editas sucursal 1)
/admin/branches/1/orders (Lista de ordenes para la sucursal 1)
/admin/branches/1/orders/1;edit (Editas la orden 1 de la sucursal 1)

Se puede jugar un poco mas….

Aunque lo dejo a tu discreción


map.resources :branches, :path_prefix => '/admin' do |branches|
branches.resources : orders do |orders|
orders.resources :line_items
end
end

Nota: Para este ejemplo ocupe scaffold_resource para generar todo el código, si ustedes también lo hacen podrán verlo funcionando de inmediato.

Nota 2: Lamento lo difícil que es leer código en mi blog, lo tengo como uno de los principales puntos del porque quiero re diseñar mi sitio, pero igualmente espero ayudarlos (ojo: Hay muchos dos puntos ( : ) que separo para no generar emoticons, recuerden es :variable)

Comments (4)

Amazon S3: Como implementarlo con Rails? Parte I

railsas3.png
Sistema de archivos del CMS que me encuentro desarrollando

Implementaremos una aplicación en Rails apegado al modelo REST que nos permitirá subir archivos a un Bucket en Amazon S3. Usando algunos plugins también serás capaz de crear thumbnails de tus archivos si estos son imágenes. Debes estar dispuesto a ensuciarte las manos (Digo, como nos gusta a nosotros, que a jardinear ni a palos).

Requisitos

  • Un Computador
  • Tener instalado Rails y sus amigos
  • Crearte una cuenta en AmazonWS y activar S3 (Necesitas Tarjeta de crédito en dolares, buuu si sé, pero no hay otra opción)
  • Desde el Panel de control tomar tu Access_key_id y tu Secret_access_key
  • Al rededor de xx minutos

Creamos la aplicación

En este caso nuestra aplicación se llamará s3 y la base de datos, no olvides modificar el archivo /config/database.yml y poner los valores que correspondan, como no vamos a testear (mi próximo must do TDD, esta primero en la lista)


rails as3

Creamos nuestra base de datos


mysql -u root -p
>> create database s3_dev;
>> exit;

Creamos nuestra primera migración

Vamos a ocupar scaffold_resource, que vendrá a cambiar definitivamente a scaffold en la versión 2.0 de Rails, lo que nos permitirá tener una flamante estructura REST en nuestro controladores (Nuestros 7 famosos métodos) e inmediatamente creamos nuestro modelo.


ruby script/generate scaffold_resource Archive name:string created_at:datetime updated_at:datetime content_type:string filename:string thumbnail:string size:integer width:integer height:integer parent_id:string

Lo que nos genera automáticamente todo lo necesario para tener desde ya nuestra aplicación corriendo y con el plus de ya tener generado nuestra migración del modelo necesario para nuestros archivos.


create_table "archives", :force => true do |t|
t.column "name", :string
t.column "created_at", :datetime
t.column "updated_at", :datetime
t.column "content_type", :string
t.column "filename", :string
t.column "thumbnail", :string
t.column "size", :integer
t.column "width", :integer
t.column "height", :integer
t.column "parent_id", :integer
end

Para terminar solo tenemos que migrar

rake db:migrate

Quiere probar como vas? arranca el servidor y apunta tu navegador a http://localhost:3000/archives

ruby script/server

Si no fuera porque estamos implementando S3, ya puedes decir que has creado tu primera aplicación en Rails (Claro, si nunca lo habias hecho. Para los viejotes ahora viene lo bueno).

Haciendo la magia

En el próximo articulo, instalaremos las gemas y los plugin necesarios para que todo quede funcionando.

Comments (7)

La pesadilla de la Terminal: bash command not found

Tuve que formatear el Mac por motivos X, y al volver a instalar todo mi arsenal. Decidí esta vez hacerlo a través de Darwin/MacPorts lo que te permite fácilmente instalar paquetes completes al mas puro estilo de linux (apt-get).

El problema era que después de instalar los Ports, comencé a tener problemas en la Terminal abriendo archivos con Textmate y con el comando SVN que ya estaba instalado. No tener el comando mate es tolerable, puedes ocupar nano, pero no tener soporte SVN a través de la consola es fatal, no puedes hacer despliegues con capistrano, bajarte repositorios con algun cliente como el SVN X y entenderán que para un desarrollador Rails es fatal.

No podía encontrar la solución (Quizás solución simple para un linuxero/maquero experimentado, pero recuerden que tengo un pasado oscuro) y después de pegar un par de gritos al cielo, varios minutos y mucho googleo. Encontré la solución y aquí esta, espero a alguien le ayude si se encuentran en este problema.

  • Abre la terminal
  • Dentro de tu usuario, escribe touch .profile [enter]
  • Luego editalo con, nano .profile
  • Finalmente agrega en el bash profile al final de todo: export PATH=$PATH:/usr/local/bin

Cierra la terminal y vuelve a abrir la consola: Tu pesadilla debería haber terminado

Comments (0)
norellan