Hoy he descubierto https://www.givmo.com/ una web donde puedes regalar todo lo que ya no uses pero no quieres votar por que todavia puede ser util a otras personas .Este servicio hace exactamente el mismo trabajo pero por nosotros. Podemos cargar todo tipo de objetos para donar a otras personas en un formato similar al de una tienda online, pero sin cobrar ningún costo por la operación. Quien encuentre un objeto y esté interesado en tenerlo deberá contactarse con el donador y pasar a retirarlo por su cuenta.
Me gusta este tipo de ideas :D
visita las pagina esta muy interesante la idea https://www.givmo.com/
No soy un experto.... pero me gusta compartir lo que aprendo leyendo de otras personas e internet.
lunes, 30 de abril de 2012
Actualizar node.js en windows
Hoy cuando seguia con mi estudio de node.js mire que habia una nueva version y me pregunte como se actualizaba node en windows busque en google pero no encontre nada en español.
Para los que sepan solo bajas el instalador de windows y lo instalas de nuevo y ya queda la nueva version solo tienes que actualizar los modulos que usas actualmente , ami me funciono de esa manera
Para los que sepan solo bajas el instalador de windows y lo instalas de nuevo y ya queda la nueva version solo tienes que actualizar los modulos que usas actualmente , ami me funciono de esa manera
viernes, 27 de abril de 2012
Que es responsive design ?
He encontrado una presentacion muy corta , sencilla y directa para comprender que es Responsive design aqui se los dejo me gusto mucho :
miércoles, 25 de abril de 2012
Comparacion de terminos de uso en la nube Google , Microsoft , Dropbox
Ahora esta el panico en el nuevo servicio de almacenamiento de google algunos dicen que todo lo que subas a su servicio Google drive sera de google bueno veamos un poco las politicas de privacidad de cada uno :
GOOGLE DRIVE : “cuando subes o envías contenido a nuestros Servicios, le das a Google (y a quienes trabajan con nosotros) una licencia mundial para almacenar, reproducir, modificar, crear contenido derivado (como traducciones, adaptaciones y otros cambios para hacer que el contenido funcione mejor con nuestro servicio), comunicar, publicar, mostrar públicamente y distribuir tal contenido (…) Esta licencia continúa aún si dejas de usar nuestros servicios”.
DROPBOX : “Al usar nuestros Servicios, nos entregas información, archivos y carpetas que envías a Dropbox. Tú mantienes completa propiedad de tus cosas. No clamamos ninguna propiedad sobre nada. Estos Términos no nos dan derecho a tus cosas o propiedad intelectual, excepto por los derechos limitados que son necesarios para correr el Servicio“
SKYDRIVE : “5. Tu Contenido: A excepción del material que licenciamos para usted, no reclamamos propiedad del contenido que usted envía al servicio. Su contenido sigue siendo suyo. Tampoco controlamos, verificamos o endosamos contenido que usted u otros almacenan en el servicio”
Bueno juzguen ustedes mismos.
GOOGLE DRIVE : “cuando subes o envías contenido a nuestros Servicios, le das a Google (y a quienes trabajan con nosotros) una licencia mundial para almacenar, reproducir, modificar, crear contenido derivado (como traducciones, adaptaciones y otros cambios para hacer que el contenido funcione mejor con nuestro servicio), comunicar, publicar, mostrar públicamente y distribuir tal contenido (…) Esta licencia continúa aún si dejas de usar nuestros servicios”.
DROPBOX : “Al usar nuestros Servicios, nos entregas información, archivos y carpetas que envías a Dropbox. Tú mantienes completa propiedad de tus cosas. No clamamos ninguna propiedad sobre nada. Estos Términos no nos dan derecho a tus cosas o propiedad intelectual, excepto por los derechos limitados que son necesarios para correr el Servicio“
SKYDRIVE : “5. Tu Contenido: A excepción del material que licenciamos para usted, no reclamamos propiedad del contenido que usted envía al servicio. Su contenido sigue siendo suyo. Tampoco controlamos, verificamos o endosamos contenido que usted u otros almacenan en el servicio”
Bueno juzguen ustedes mismos.
editando html con Storage.js
Miren este script que encontre se llama Storage.js y segun trasteando en su web los ejemplos veo que es para poner lugares editables en nuestras paginas web con html 5 , esto esta muy interesante imaginen todos los usos que se le puede dar a esta herramienta.
Tener partes en tu web que sean editables para el usuario y poder almacenar esos datos sin necesidad de formularios .Tambien tiene eventos de los cuales disponemos para disparar nuestros propios metodos.
Usa el nuevo atributo de html 5 " attribute " y " localStorage " para trabajar , los invito a que hagan sus prueban y compartan algun ejemplo
aqui el link Storage.js
Tener partes en tu web que sean editables para el usuario y poder almacenar esos datos sin necesidad de formularios .Tambien tiene eventos de los cuales disponemos para disparar nuestros propios metodos.
Usa el nuevo atributo de html 5 " attribute " y " localStorage " para trabajar , los invito a que hagan sus prueban y compartan algun ejemplo
aqui el link Storage.js
Cuenta Github para la educacion
Te gusta Github y eres profesor o estudiante ? pues ahora puede pedir una cuenta por motivos educacionales
aqui el link https://github.com/edu
aqui el link https://github.com/edu
martes, 24 de abril de 2012
Google drive llego por fin.
Y llego google drive el servicio de almacenamiento en la nube , personalmente yo uso Dropbox ahora que google ha lanzado Drive no estoy seguro de usarlo , que google tenga muchade mi informacion personal me da un poco de miedo desde que cambiaron las reglas de privacidad no hace mucho tiempo , pero por lo que se dice estara muy integrado con google Docs y eso es un punto muy importante que mi parecer le saca ventaja a Dropbox.
EL poder compartir documentos sin importar si la persona destino tendra el programa apropiado para abrir el documento dice mucho . veremos que tal es el servicio aqui les dejo el video de lanzamiento de google DRive
EL poder compartir documentos sin importar si la persona destino tendra el programa apropiado para abrir el documento dice mucho . veremos que tal es el servicio aqui les dejo el video de lanzamiento de google DRive
miércoles, 18 de abril de 2012
lunes, 16 de abril de 2012
Convierte tu web a movil en 3 pasos sencillos
He encongtrado un sitio que convierte tu pagina web a un diseño movil rapido en 3 pasos sencillos el servicio es de pago pero me impresiona como deja tu sitio web , tienen una herramienta de de previa vista con muchas plantillas y el resultado es muy bueno
aqui les dejo el link
aqui les dejo el link
viernes, 13 de abril de 2012
Como probar tu responsive design
Responsive design es diseñar un sitio web para que se adapte a todas resoluciones de pantalla y siga mirandose igual de cool en todos los dispositvos y como carajos hacemos eso??
Bueno si googlean hay muchos tutoriales sobre como hacer buen responsive design , lo que queria comunicarles con este post es una duda que tienen todos cuando quieren hacer responsive design es como lo pruebo si no tengo otros dispositivos aparte de mi pc ??
Bueno hoy he dado con una web que te ayuda a probar tu responsive design en varios dispositivos de esta manera muy comoda puedes diseñar y probar tu web en muchos dispositivos.
http://jamus.co.uk/demos/rwd-demonstrations/
y para profundizar un poquito mas en esto del responsive design dejo un link de Cristal Lab de freddy vega
http://www.cristalab.com/tutoriales/responsive-design-diseno-receptivo-y-adaptivo-en-la-web-c105160l/
Bueno si googlean hay muchos tutoriales sobre como hacer buen responsive design , lo que queria comunicarles con este post es una duda que tienen todos cuando quieren hacer responsive design es como lo pruebo si no tengo otros dispositivos aparte de mi pc ??
Bueno hoy he dado con una web que te ayuda a probar tu responsive design en varios dispositivos de esta manera muy comoda puedes diseñar y probar tu web en muchos dispositivos.
http://jamus.co.uk/demos/rwd-demonstrations/
y para profundizar un poquito mas en esto del responsive design dejo un link de Cristal Lab de freddy vega
http://www.cristalab.com/tutoriales/responsive-design-diseno-receptivo-y-adaptivo-en-la-web-c105160l/
jueves, 12 de abril de 2012
Que es realmente Node.js ?
Hace algunos dias he estado con la idea de aprender a usar Node.js para reemplazar el PHP de toda la vida pero llego a un punto donde esta cosa llamada Node me deja confundido he dado vueltas en la web buscando mas informacion sobre que es Node y que hace en realidad sin mucho exito .
Ha sido hasta ahora que me he acordado de unos desocupados tipos llamados freddy y cristian de http://mejorando.la/ que ellos tenian un capitulo en su programa sobre Node.js y donde despejaban muchas dudas al respecto asi que les comparto el video por que es informacion muy importante para comprender mas a fondo Node.js. Como ultima nota recomiendo seguir a estos tipos en sus twitter tiene mucho que decir y mucho que compartir sobre tecnologia
Aqui dejo otro video interesante
miércoles, 11 de abril de 2012
npm de node.js en windows 7
Como estoy comenzando con el libro node web development en este libro y muchas web he visto que solo hablan de las instalaciones en sistemas que no son windows , y despues llega una parte donde hablan que hay que instalar el npm de node.js , bueno en mi libro y en muchas webs no sale nada de como instalar esto en windows .
Y para que nadie pierda el tiempo como yo , les tengo una noticia: el instalador de windows de node ya trae el npm y lo instala de una vez , solo un consejo hay que correrlo con privilegios de administrador
ODDNS: Posible solución a la censura de sitios web
Esta noticia es muy buena como para no compartirla , ya esta en fase de pruebas este nuevo sistema de DNS muy interesante les dejo aqui el link para que se enteren
link en html 5 facil
link en html 5 facil
martes, 10 de abril de 2012
Olvidemos php es lo que se habla en la red
Desde hace unos 5 meses que vengo leyendo muchos post en ingles y español sobre como hay que olvidar PHP y migrar a otras tecnologias , todos los articulos tienen puntos validos , como yo aprendi a programar con PHP no puedo evitar sentirme un poco insultado.
Pero aunque me aferre mucho a PHP tengo que aceptar que tienen mucha razon , no voy a escribir las razones por las que PHP se considera hoy dia un lenguaje muy tonto y con malas practicas de programacion , pueden googlear y se encontraran todo los post donde hablan de ellos
Tal vez les ponga solo uno aqui los dejo php suck
Bueno a lo que iba señores : " aprendamos nuevas tecnologias dejemos PHP morir de viejo y descansar en paz , si estas en este mundo de la tecnologia sabras que reemplazar una cosa por otra mas nueva y novedosa es un rito cada 2 años , asi deja morir a PHP "
En cambio aprendamos nuevas plataformas de programacion tenemos PYTHON, NODE, RUBY , ect. y si todavia no quieres pasarte pues mi ultimo ultimatum es : Quieres ganar mas dinero ? pues programa otra cosa que no sea PHP.
Todos comenzamos a programar web con PHP y por eso es el aprecio pero creo que es hora de dejarlo ir
lunes, 9 de abril de 2012
Escribir codigo que otros puedan leer
Cuando realizamos algun proyecto propio escribimos el codigo como nos venga en gana , ponemos los nombres de variables a como queramos y las funciones pueden hacer mil y un cosas por que es nuestro codigo y nos importa un carajo quien lo vera.
Pero cuando trabajas para una empresa de desarrollo web tienes que seguir ciertas reglas para que tu codigo pueda ser leido y entendido por otros programadores , tu codigo puede hacer mil maravillas para si no esta bien escrito no servira de nada , mas aun si trabajas en una empresa donde vendes el codigo a otra empresa.Codeando javascript es que aprendi estas reglas que les mencionare a continuacion pero pueden aplicarse a cualquier otro lenguaje .
Como deberias de escribir tu codigo , como deberias de nombrar a tus variables , como deberias de usar las llaves que abren y cierran un bloque de codigo , como deberias de estar estructurado tu codigo ? todo eso importa cuando codeas para ti y para todo tu equipo de desarrollo.
Queremos que el codigo sea legible.
Queremos que el codigo sea consistente.
Queremos que el codigo sea escrito con buenas practicas de estilo.
Primero el nombre de las variables
Tiene que ser lo mas exacto del dato que almacene , evita lo mas que puedas usar variables con nombre a , b, c, temp , esos nombre de variables no aportan nada cuando lees el codigo de otra persona por ejemplo:
"sumaColores" esta variable por ejemplo nos dice que en ella esta almacenada la suma de los colores , como puedes notar para separar las palabras he escrito la C en mayuscula eso es CammelCase , escribir la primera letra de la segunda palabra de la variable con mayuscula para diferenciarla mejor , otros ejemplo son: resultadoComprobacion , procesoFinal, tempCargar , ect.
Para los nombres de variables queremos claridad , significado , legibilida.
Segundo para los nombres de las funciones
Las funciones o metodos se escriben comenzando por un verbo que indican que alguna accion sera ejecutada para asi poder notar que son metodos o funciones , por ejemplo:
sumarDatos = function ( ) { .....} notar que la primera es un verbo con eso dejamos por sentado que es una funcion o metodo. en el caso de encontrar codigo como el siguiente :
resultadoFinal = sumaColores + sumarDatos();
aqui siguiendo el standar CammelCase , sabemos que sumarDatos es una funcion no por que tenga los parentesis sino por que el verbo nos indica que va a sumar algo , asi es mas facil leer codigo de otra persona y siempre define tus funciones o metodos antes de llamarlos.
Algunas recomendaciones tambien son : Que tus funciones y tus metodos solo hagan una sola cosa , no pongas muchas tareas en una sola funcion o metodo , si es posible dividela en mas funciones o metodos , entre mas simple mejor , asi el mantenimiento de codigo sera mas facil
Para las llaves puedes seguir estos ejemplos:
if( operacion){
...........
}else {
...........
}
for ( operacion){
.........
}
Abre la primera llave siempre en la primera linea del bloque de codigo y usa siempre Indentación con el tab , siempre que estes en un bucle for , if , ect.
En resumen siempre usa la tecnica de CammelCase en tus nombres de variables y funciones , abre la llave siempre en la misma linea donde comienza el bloque de codigo , define tus funciones antes de llamarlas y siempre usa Indentación .
Pero cuando trabajas para una empresa de desarrollo web tienes que seguir ciertas reglas para que tu codigo pueda ser leido y entendido por otros programadores , tu codigo puede hacer mil maravillas para si no esta bien escrito no servira de nada , mas aun si trabajas en una empresa donde vendes el codigo a otra empresa.Codeando javascript es que aprendi estas reglas que les mencionare a continuacion pero pueden aplicarse a cualquier otro lenguaje .
Como deberias de escribir tu codigo , como deberias de nombrar a tus variables , como deberias de usar las llaves que abren y cierran un bloque de codigo , como deberias de estar estructurado tu codigo ? todo eso importa cuando codeas para ti y para todo tu equipo de desarrollo.
Queremos que el codigo sea legible.
Queremos que el codigo sea consistente.
Queremos que el codigo sea escrito con buenas practicas de estilo.
Primero el nombre de las variables
Tiene que ser lo mas exacto del dato que almacene , evita lo mas que puedas usar variables con nombre a , b, c, temp , esos nombre de variables no aportan nada cuando lees el codigo de otra persona por ejemplo:
"sumaColores" esta variable por ejemplo nos dice que en ella esta almacenada la suma de los colores , como puedes notar para separar las palabras he escrito la C en mayuscula eso es CammelCase , escribir la primera letra de la segunda palabra de la variable con mayuscula para diferenciarla mejor , otros ejemplo son: resultadoComprobacion , procesoFinal, tempCargar , ect.
Para los nombres de variables queremos claridad , significado , legibilida.
Segundo para los nombres de las funciones
Las funciones o metodos se escriben comenzando por un verbo que indican que alguna accion sera ejecutada para asi poder notar que son metodos o funciones , por ejemplo:
sumarDatos = function ( ) { .....} notar que la primera es un verbo con eso dejamos por sentado que es una funcion o metodo. en el caso de encontrar codigo como el siguiente :
resultadoFinal = sumaColores + sumarDatos();
aqui siguiendo el standar CammelCase , sabemos que sumarDatos es una funcion no por que tenga los parentesis sino por que el verbo nos indica que va a sumar algo , asi es mas facil leer codigo de otra persona y siempre define tus funciones o metodos antes de llamarlos.
Algunas recomendaciones tambien son : Que tus funciones y tus metodos solo hagan una sola cosa , no pongas muchas tareas en una sola funcion o metodo , si es posible dividela en mas funciones o metodos , entre mas simple mejor , asi el mantenimiento de codigo sera mas facil
Para las llaves puedes seguir estos ejemplos:
if( operacion){
...........
}else {
...........
}
for ( operacion){
.........
}
Abre la primera llave siempre en la primera linea del bloque de codigo y usa siempre Indentación con el tab , siempre que estes en un bucle for , if , ect.
En resumen siempre usa la tecnica de CammelCase en tus nombres de variables y funciones , abre la llave siempre en la misma linea donde comienza el bloque de codigo , define tus funciones antes de llamarlas y siempre usa Indentación .
MeritusPro la red del freelance
Hoy he visto una noticia de esta nueva web que es para las personas que se dedican al freelance esta enfocada a latinoamerica y promete ser lo mejor para conseguir trabajitos extras .
Con MeritusPro la idea es que todos ganen al minimizar el tiempo y los costos transaccionales en los procesos de outsourcing y offshoring de servicios globales. Y para asegurarse de la calidad, cuentan con un sistema de feedback, referencias técnicas y reviews de los profesionales y los empleadores.
Los invitos aprobarlar yo por mi parte estoy en ello
http://www.merituspro.com/
Con MeritusPro la idea es que todos ganen al minimizar el tiempo y los costos transaccionales en los procesos de outsourcing y offshoring de servicios globales. Y para asegurarse de la calidad, cuentan con un sistema de feedback, referencias técnicas y reviews de los profesionales y los empleadores.
Los invitos aprobarlar yo por mi parte estoy en ello
http://www.merituspro.com/
martes, 3 de abril de 2012
Aprender node.js
Bueno como voy a estar de vacaciones en estos dias , los voy a aprovechar para aprender la nueva tecnologia que todos hablan NODE.JS , que es nada menos codigo javascript del lado del servidor y promete mucho mejor rendimiento en las webs como estoy bien noob en este tema no puedo comentarles mas pero ya tengo mi librito NODE.JS listo para aprender.
aqui les dejo un video muy bueno de iniciacion muy facil de la web de html5facil para que sepan que es NODE.JS sus beneficios y un ejemplo muy sencillo , he de decir que me tiene emocionado esta tecnologia
aqui les dejo un video muy bueno de iniciacion muy facil de la web de html5facil para que sepan que es NODE.JS sus beneficios y un ejemplo muy sencillo , he de decir que me tiene emocionado esta tecnologia
Gradientes y formas css3
Quiero mostrasles unas paginas muy utiles de css3 , la primera es para hacer gradientes con css muy pratica para tus proyectos solo tienes que copiar el codigo generado.
http://css3generator.com/
y la segunda es para hacer formas distintas solo con css muy interesante para que dejes de usar imagenes de fondo gif
http://css-tricks.com/examples/ShapesOfCSS/
http://css3generator.com/
y la segunda es para hacer formas distintas solo con css muy interesante para que dejes de usar imagenes de fondo gif
http://css-tricks.com/examples/ShapesOfCSS/
Javascript y su interpretacion en navegadores
Como todo buen programador web en sus comienzos leyendo tutoriales javascript para comenzar en este mundillo , no tenia a nadie quien me dijera algo muy importante de javascript , podemos programar durante horas un bonito script que haga algo bonito y llega el momento de probarlo y lo ejecutamos en nuestro navegador y corre perfecto .
despues lo llevamos al cliente y el cliente lo corre en otro navegador que no es el tuyo y mucho menos una version actual y es donde comienza el desmadre , que paso aqui???? bueno lo que nadie me dijo por que supuestamente es basico de saber ...bueno pero YO NO LO SABIA..!!!
Pues resulta que los distintos navegadores tiene su propia interpretacion de javascript asi que por ejemplo un ciclo foreach puede funcionar en firefox pero no en internet explorer y tu script puede correr de puta madre en tu navegador Chrome pero corre leeento en firefox y todo por que cada navegador interpretar como quiere javascript si no lo sabias pues enterate .
Para salvarnos de este problema podemos usar frameworks de javascript que se encargan de que tu codigo funcione igual en todos los navegadores por ejemplo JQUERY , algunos dicen (como mi jefe) que es lento que hacer las cosas en javascript se ejecuta mucho mas rapido y es cierto pero tienes el problema de interpretacion . ademas hacer las cosas en javascript personalmente yo opino es un poco pesado cuando estas viendo el reloj y quieres salir corriendo de tu trabajo :)
Cuando usas JQUERY puedes hacer con menos lineas de codigo algun metodo que con javascript , aunque si lo haces con javascript aun si tiene mas lineas de codigo cuando lo ejecutes sera muy rapido , asi que tienes que pensar cual quieres usar. yo personalmente uso los 2 combinados dentro del codigo metodos que llaman a eventos de JQUERY y click de JQUERY que llaman metodos de javascript nativo.
en resumen si escribes codigo javacript siempre haz pruebas en varios navegadores para asegurarte que funcionaran bien en todos y consulta la documentacion de cada navegador de cuales metodos soportan por ejemplo aqui les dejo la de MOZILLA
https://developer.mozilla.org/en/JavaScript/Reference
Tambien pueden ver la referencia de w3schools que es muy bueno y les muestra que pueden soportar cada navegador.
http://www.w3schools.com/js/default.asp
lunes, 2 de abril de 2012
Douglas Peucker algoritmo de simplificacion de puntos
Hola hoy quiero hablarles del algoritmo de simplificacion de puntos que se usa para reducir la cantidad de puntos requeridos para dibujar una curva , normalmente seria con un poligono .
Este algoritmo esta en javascript y lo he usado la semana pasada en un proyecto de google maps. en este caso se requeria reducir la cantidad de puntos necesarios para dibujar un poligono .
Lo que quiero comentar hoy es como pasarle los datos al metodo , para usarlo se necesita pasar un arrelgo o un objeto , cualquiera que sea la coleccion de objeto y dentro de esta coleccion cada elemento tiene que estar compuesto por 2 elementos que serian las coordenas x, y
aqui les dejo el ejemplo de como le he pasado los parametros al metodo:
var count = path.getLength();
for(var b = 0; b < count; b++)
{
newPath.push( {y: path.getAt(b).lat(), x:path.getAt(b).lng()} );
}
var newPoints = simplifyPath(newPath,0.15);
return newPoints;
path es un arrayMVC de google que tiene elemetos LntLng , asi iteramos en cada elementos y armamos el nuevo obj que sera pasado al metodo de Douglas Peucker , tambien hay que recordar que se le tiene que pasar la tolerancia yo he usado 0.15 , tiene que hacer pruebas haber cual les gusta mas.
bueno eso seria todo para usarlo , el metodo les devolvera un arreglo que tiene que pasar de nuevo a un arryaMVC para dibujar su figura aqui les dejo el link del metodo en github
Douglas Peucker
Este algoritmo esta en javascript y lo he usado la semana pasada en un proyecto de google maps. en este caso se requeria reducir la cantidad de puntos necesarios para dibujar un poligono .
Lo que quiero comentar hoy es como pasarle los datos al metodo , para usarlo se necesita pasar un arrelgo o un objeto , cualquiera que sea la coleccion de objeto y dentro de esta coleccion cada elemento tiene que estar compuesto por 2 elementos que serian las coordenas x, y
aqui les dejo el ejemplo de como le he pasado los parametros al metodo:
var count = path.getLength();
for(var b = 0; b < count; b++)
{
newPath.push( {y: path.getAt(b).lat(), x:path.getAt(b).lng()} );
}
var newPoints = simplifyPath(newPath,0.15);
return newPoints;
path es un arrayMVC de google que tiene elemetos LntLng , asi iteramos en cada elementos y armamos el nuevo obj que sera pasado al metodo de Douglas Peucker , tambien hay que recordar que se le tiene que pasar la tolerancia yo he usado 0.15 , tiene que hacer pruebas haber cual les gusta mas.
bueno eso seria todo para usarlo , el metodo les devolvera un arreglo que tiene que pasar de nuevo a un arryaMVC para dibujar su figura aqui les dejo el link del metodo en github
Douglas Peucker
Suscribirse a:
Entradas (Atom)