miércoles, 17 de diciembre de 2014

Las 20 Claves para ser un mejor programador


ESTE POST NO ES MIO, Pero me parece que puede ayudarles mucho.

Ya llevo varios años como programadora, a nivel web el lenguaje que mas me gusta o al menos el que mas domino es PHP, voy a intentar dar algunos tips o puntos claves que realmente me han servido mucho durante mi aprendizaje para ser  mejor programadora.
PRY_16
1. Estudia, estudia y estudia
El estudiar nos permite perfeccionarnos, cuanto mas estudiemos mas oportunidades de programar mejor tendremos, no solamente estoy hablando de universidades, ni tampoco de cursos, hoy por hoy gracias a internet existen infinidad de tutoriales y manuales, sin ir mas lejos el sitio oficial de PHP es realmente muy bueno.
2. Busca antes de preguntar
Esto es un mal común del que quiere aprender a programar, es mas fácil preguntarle a alguien que sepa, pero realmente no tiene que ser así por varias razones, primero por que es algo de muy de vago, luego que cuando alguien nos da la respuesta fácil no aprendemos nada, lo interesante cuando se nos presenta un problema es buscar la solución nosotros mismos, sino damos con la respuesta recién ahí preguntar, este ejercicio realmente es muy beneficio, nos permite preparar nuestra cabeza para solucionar futuros problemas.
3. Busca scripts ya desarrollados
Por lo general podemos encontrar muchas funciones, scripts listos para utilizar, pero lo interesante es estudiarlos, ver como funcionan, de ahí aprendemos si copiamos y pegamos vamos mal.
4. Lee el código fuente libre
Yo muchas veces descargo algunas aplicaciones para ver como están programadas, de verdad que se aprende mucho, a medida que realicemos esta practica cada vez iremos aprendiendo mas, en especial si estas aplicaciones son de uso popular en donde miles de programadores del mundo “meten” mano para mejorarla. Un buen ejemplo de esto es WordPress.
php-e1365105790471
5. No copies y pegues
Es fácil, entramos a google buscamos una función que sirva para lo estamos necesitando y listo. Pero la realidad es que no siempre lo que descargamos es correcto, y si luego tenemos que solucionar un problema lo mas probable es que no tengamos ni idea por donde empezar. Ni hablar del factor aprendizaje cero que esta practica implica.
6. Buscar el momento para programar
Estas sentado delante de tu ordenador, llaman por teléfono, tu compañero de trabajo o familiar te pregunta algo, realmente es lo mas molesto e incomodo que hay, es difícil concentrarse, es preferible hacer algo mas “Light” antes de programar algo mal y después tener que arreglarlo.
7. Ten tu propia Wiki
Esto lo recomiendo muchísimo, es muy sencillo instalar una Wiki en nuestra pc, simplemente podemos descargar el Easyphp y tener en nuestro ordenar un servidor funcional, y mejor aun si quieres hacer la instalación “a mano”. La wiki es interesante para poder almacenar rutinas que usamos frecuentemente, en mi caso suelo guardar validaciones, etc. Una vez que aprendimos a hacer algo y lo tenemos lo mejor posible es interesante tenerlo a mano para no perder tiempo escribiendo lo mismo una y otra vez.
8. Comenta todo lo que sea necesario
Escribir comentarios en el código suele ser bastante molesto y parecer innecesario, pero comentar las cosas importantes nos puede ahorrar mucho tiempo cuando tengamos que retocar el código meses después.
9. Participa en foros/comunidades
Es interesante para interactuar con otras personas que estén en nuestra misma sintonía, muchas veces ayudaremos nosotros y otra vez nos podrán ayudar. En línea general estas comunidades tienen muy buena onda, y la ayuda mutua es lo que abunda, unas líneas de código pueden ser útiles para muchas personas, de ahí que entre todos se puede perfeccionar. Recuerden respetar el punto 2.
10. Habla con otros programadores
Mensajería instantánea, en un café, por teléfono, etc. Es interesante tener amigos que están en lo mismo, no solamente por el tema de la ayuda mutua, estos grupos suelen ser también de ayuda “emocional” del programador, unos chistes, algún comentario puede ser una inyección de energía para continuar con un problema que no podemos resolver.
11. Tiempo libre para otras cosas
Me encanta programar, pero entendi que no es lo unico en la vida, a veces es bueno una salida, una película, realmente es necesario desenchufarnos.
12. Arma tu bunker “Escritorio”
Tener un espacio de trabajo acorde con tus gustos es indispensable para programar, un buen sillón que no dañe nuestra columna, un lindo escritorio que nos permita desparramar CDS, libros, etc. También hay que ser organizado, pero siempre a nuestro gusto, es bueno que sea TU espacio y que nadie meta mano, uno a la larga lo termina sintiendo como un refugio.
10805562_10152930540809948_722991583208697282_n
13. Tu equipo en condiciones
Otro punto importante, una buena computadora, que no tenga problemas, si es necesario un poco mas de RAM, no hace falta tener una supermáquina para programar con PHP pero si algo que no se este colgando cada 2 seg.
14. Usa herramientas gratuitas
Si no podes pagar ciertas herramientas realmente ni te gastes en bajar las versiones piratas, en PHP no se necesita mucho y realmente no vale la pena estar trucando programas.
15. Organiza tu propia biblioteca de scripts
Relacionado con el punto 7. La wiki es muy buena, pero hay que tenerla organizada, sino encontrar algo puede llevarnos mas tiempo que volverlo a escribir. Yo soy bastante desorganizado, pero con los años aprendí a manejar mi problemita :D
16. Se agradecido con los que te ayudan
Si alguien te ayuda, por favor al menos di gracias. Recuerda que las personas que te rodean no son tu soporte técnico (Al menos que les pagues). Si alguien se molesta en responder a tus consultas agradécele, para la próxima esa persona seguirá teniendo buena predisposición.
17. Se humilde
Esencial. Siempre hay alguien que sabe más que uno y mas en este “rubro” en donde hay verdaderos cráneos, Yo hace varios años que programo en PHP y sin embargo siempre aprendo algo nuevo, y en parte eso es lo que me gusta de programar, siempre se puede mejorar.
18. Siempre busca perfeccionarte
Relacionado con el punto anterior. Las tecnologías evolucionan y nosotros debemos hacer lo mismo. Una linda practica cuando tenemos un poco de tiempo libre es tratar de optimizar un código nuestro de unos meses anteriores, si aprendimos cosas nuevas de seguro que podemos hacerlo mejor que antes.
19. Intenta ser eficiente y luego inténtalo de nuevo
Que funcione no quiere decir que este bien. También una de las cosas más lindas de programar: Siempre se puede hacer una función mas eficiente, que consuma menos recursos, no hay que conformarse que arroje los resultados que queremos, probablemente lo podemos hacer mejor.
20. Programa primero lo que menos te gusta
Esto es bastante personal, pero por lo general me da buenos resultados. Cuando me siento a programar algo los primeros minutos son de “ambientación” luego tengo un periodo de concentracion digamos maxima, en ese momento las cosas que parecen o son mas complicadas son cuando mas rápido y mejor salen, luego cuando uno esta mas cansado puede dedicarse a las cosas mas sencillas y rutinarias.
Tenia varios tips mas pero realmente la lista se iba a hacer muy larga
Espero que les sea útil.


Les recomiendo leer el post completo en la siguiente dirección: Aqui

lunes, 8 de diciembre de 2014

Cómo compactar archivos VDI de VirtualBox para que usen menos espacio


Los que trabajamos con VirtualBox estamos acostumbrados a las bondades de virtualizar un sistema operativo dentro de otro, ya sea para aprender a usar un sistema nuevo, para probar “cosas” que no quisiéramos probar en nuestro sistema si salen mal, para abrir archivos que pudieran tener virus, o incluso para probar software tan antiguo que necesitamos “simular” un Windows 2000 virtual para poder usarlo.
Pero algo que a ningún novato le enseñan, y que a muchos les cuesta encontrar es un método detallado para compactar un archivo de disco virtual VDI luego de mucho uso.
Primero tenemos que saber cómo funcionan. Con VirtualBox podemos usar dos formatos de discos: estático o dinámico.

El disco estático asigna la totalidad de su capacidad desde el vamos, de modo que si creamos un disco estático de 25 GB, nos va a ocupar 25 GB reales en el disco del host. La contra es que aunque usemos menos de 1 GB de esos 25, el disco del host va a tener 25 GB reservados aunque no los usemos. Pero hay que destacar que los discos estáticos tienen un mejor rendimiento, justamente porque los sectores vacíos ya están asignados desde su inicio.
Pero si creamos un disco dinámico de 25 GB, comenzará ocupando unos pocos KB y se va a ir extendiendo a medida que lo vayamos llenando de archivos. Es interesante cuando no sabemos realmente cuanto espacio se va a consumir y no disponemos de espacio real y suficiente en el disco host. Pero la contra es que como estos discos dinámicos “emulan” la ubicación de los archivos en un disco, pueden ser un poquito más lentos ya que tratan de ocupar el espacio mínimo indispensable. Y la gran contra es que cuando trabajamos con sistemas virtualizados que tienen muchos movimientos de archivos (copiar, crear, y sobre todo, eliminar) el disco vdi virtual va acrecentando su tamaño de modo que cada vez más se acerca al tamaño real que se le asignó. Aunque borremos archivos, nunca van a achicarse solos, pero sí crecen hasta tener el tamaño designado. Y esa situación, muchas veces indeseable (porque de otro modo usaríamos discos estáticos!) es lo que vamos a tratar de solucionar con este tutorial.
Vamos a seguir una breve serie de pasos para adelgazar el archivo de disco VDI y que ocupe lo indispensable según su contenido. Veamos:
1) Primero tenemos que defragmentar el disco virtual VDI.
df_642
Se puede usar el defragmentador que viene con Windows, pero yo prefiero usar la herramienta gratuita Defraggler, de Piriform, que tiene una excelente interfaz de usuario que nos permite saber con certeza cómo va el proceso e incluso defragmentar archivos individuales. En la primer opción de menú vamos a desplegar la opción que dice “defragmentar espacio libre” para que junte todos los archivos al principio del disco duro virtual y deje la mayor cantidad posible de espacio vacío al final.
Tenemos que usar esa opción sí o sí porque la compactación de un disco duro virtual (o incluso si lo hiciéramos con una partición de disco físico) solamente puede llevarse a cabo “recortando” el espacio vacío al final de un disco.
Pero para asegurarnos que ese espacio vacío al final del disco, esté realmente vacío, vamos al segundo paso:
2) Nulificar el espacio vacío.
Como ya saben, se pueden recuperar archivos borrados de una computadora porque los datos siempre quedan guardados en el disco. Incluso cuando vaciamos la Papelera de Reciclaje de Windows, esos archivos simplemente dejan de estar visibles y disponibles para el usuario, pero los datos quedan grabados en el disco. Al borrar un archivo simplemente le decimos al disco que si quiere puede usar el espacio que ocupaba el archivo para guardar otros, pero Windows intenta no pisar archivos borrados durante un tiempo, y siempre que haya espacio libre suficiente, para que tengamos chances de recuperar algo que hayamos borrado por error.
La única manera de limpiar realmente ese “espacio vacío” en el disco, es nulificando ese espacio. Esto se hace con programas que vacían el contenido de cada sector marcado como libre en el disco, eliminando así toda traza de archivos eliminados.
Se pueden usar distintos programas para esto. Piriform también tiene su famoso CCleaner, que tiene una función de Borrado de Unidades, donde uno elige la opción de “borrar el espacio libre” y la cantidad de pasadas (con una sola nos alcanza para este caso).
Pero yo me siento más cómodo con el viejo y querido SDelete, el Secure Delete, de Mark Russinovich que forma parte de la suite SysInternals que le vendió a Microsoft hace unos años. De ahí bajaremos un zip lleno de interesantes herramientas, pero la que nos interesa aquí es el sdelete.exe:
sdelete
Este programita de DOS tiene un comando especialmente diseñado para nulificar espacio libre en discos virtuales. Así que sólo debemos ejecutar sdelete -z desde la misma unidad que queremos limpiar, y dejarlo hacer su trabajo. Puede tardar bastante si es un disco grande.
Si el disco tuvo muchos movimientos de archivos (se copiaron muchos, se eliminaron muchos), puede que no se haya defragmentado bien en una sola pasada y por ende no hayan quedado todos los archivos al comienzo del disco. Un truco que podemos usar en esos casos, es configurar el Windows del virtual para que no use archivo de paginación, así al reiniciar el virtual y abrir el defragmentador, tendremos disponible el espacio que usaba antes el archivo pagefile.sys, que a menos que le hubiéramos puesto un tamaño fijo desde el primer minuto que creamos el espacio virtual, es normal que esté muy fragmentado, y a veces bastante disperso (sobre todo si el virtual contiene versiones de Windows que sean XP o anteriores, que no hacían una muy buena gestión del archivo de paginación). Luego de defragmentar el espacio libre sin archivo de paginación, le damos otra pasada con SDELETE.EXE -z, y a su término, continuamos con el siguiente paso del tutorial. OJO: este párrafo deben usarlo sólo en casos de pequeños discos virtuales, donde el espacio libre sea muy valioso, en casos donde por ejemplo el disco pese 25-50 GB, de los cuales un 50% esté ocupado y el archivo de paginación use 2-3 de esos GB. En discos con más GB no se gana mucho realmente, a menos que el disco del host esté empezando a quedarnos chico, o que tengamos la suerte de que el pagefile.sys esté alegremente ubicado al final del disco (típico de Windows 98). Nótese que todavía no le vamos a volver a hacer crear el archivo pagefile.sys…
3) Compactar el archivo VDI con Virtualbox.
Virtualbox tiene en su carpeta de instalación un ejecutable que nos permite hacer una serie de cosas con los sistemas virtuales. Ahora que ya tenemos al disco virtual defragmentado y con el espacio libre realmente vacío, vamos a compactarlo quitando todo el espacio vacio al final.
Para esto vamos a abrir la consola de DOS en la carpeta de instalación de VirtualBox y vamos a ejecutar el siguiente comando:
VBoxManage.exe modifyhd “C:\Virtuales\el disco virtual.vdi” –compact
Deben remplazar “C:\Virtuales\el disco virtual.vdi” por la ruta completa al archivo de disco, y entrecomillar el nombre si tiene espacios.
Esta tarea puede tardar un buen rato en discos grandes, así que yo lo ejecuto antes de irme a comer :)
Cuando termine, vamos a notar cómo ahora el archivo VDI pesa menos que antes. Incluso puede que noten que el sistema virtual carga más rápido ahora.
No olvidarse, que si en el paso 2 le hicieron quitar el archivo pagefile.sys al virtual, ahora hay que volver a crearlo para que el sistema virtual se cargue con mayor rapidez.


Fuente: http://www.marcelopedra.com.ar/blog/2014/02/09/como-compactar-archivos-vdi-de-virtualbox-para-que-usen-menos-espacio/

viernes, 5 de diciembre de 2014

Error de CO_E_SERVER_EXEC_FAILURE (0x80080005) Virtual Box

Este fue un error un poco tonto, pero me dio duro.

Es basicamente ejecutar los comandos SIN privilegios de administrador.

cd C:\Program Files\Oracle\VirtualBox

C:\Program Files\Oracle\VirtualBox>VBoxManage.exe modifyhd --compact "C:\Users\PC-Dell\Documents\Virtual\DISCO.vdi"

Despues de eso todo funciona normal.

Espero que sea de ayuda.

¿Qué te parece este blog?

Vídeos subidos