November 2nd, 2007 por Gugo en Apple, CoolStuff, Geeks, Technical |
Tenemos Leopard en la oficina :)!! Como hoy es noche de Wii ( si si.. insistimos ) yo aprovecho y voy a bloggear live la instalacion, en una Mac Intel y en una G4.
Stay Tuned for Updates!!
18:48 - Acabo de poner el DVD en la INTEL - Let the fun Begins.
18:49 - Restarteando y va a empezar la Instalacion. Me pide elegir el idioma, y ahora empezamos a seguir instrucciones, aceptando el Agreement y elijo destination disk. En Customize hay opciones para printer drivers , lenguajes, fonts adicionales y x11 ( si tenes problemas de espacio esto puede ser un tip importante. ). Ahora esta corriendo la instalacion y va por el 3%
19:04 - 35% completed - no dice cuanto va a tardar ( o al menos no lo veo ). se escuchan gritos desde el Wii sector :)
19:12 - 80% completed - me mata la ansiedad
19:45 - termino de chequear todo y ahora lo esta instalando. 16 minutes remaining
20:00 - Install Succeeded - ni uno mas ni uno menos. 16 minutos exactos sumados a la hora anterior. ahora esta restarteando.
20:03 - mantuvo el wallpaper, las cosas que tenia en el desktop, la barra transparente arriba es MUY FEA, la calidad del video de bienvenida es INCREIBLE, estoy moviendo el dock para abajo para ver el 3d ( lo uso al costado y no se ve en 3d )
20:08 - los rounded corners del menu estan BUENISIMOS, la transparencia me sigue pareciendo FEA, el dock nuevo no esta mal, pero los iconos estan como muy mezclados. el Mail me upgradeo los mensajes, me desactivo el mailtag, y el growlMail.. mi primer Email.. Lottery Results - you may be a winner
jajajaja. voy a probar un par de cosas mas. El finder nuevo me gusta.. quick look es GENIAL, los stacks con carpetas tambien estan buenos.
20:15 - probe spaces, esta muy muy bueno. ahora le toca la instalacion a la otra INTEL y despues a la G4 - la semana que viene hago Review COMPLETO de Leopard.
Espero que les haya gustado la transmision
June 29th, 2007 por Jeffy en CoolStuff, Geeks, Yada-yada |
En Livra hay muchos Apple fans y hoy no fue un dia cualquiera. Pero esto no lo esperábamos:
Dozens of photographers hovered outside Apple’s flagship store on Fifth Avenue near East 59th Street, waiting to snap pictures of the elated, often sunburned faces of the first iPhone owners. Some Apple faithful had waited in line for days.
At 6 p.m., their patience paid off.
“I guess I didn’t need to get in line because they have thousands of them in there,” said Norbert Pauli, 52, who had waited since Wednesday morning outside the Fifth Avenue store. The sweaty tangle of people who lined up there included a customer service representative for a trucking company who took a vacation day to make her first Apple purchase; a jazz musician who declared, “I don’t stand in line for anything”; and a tourist from Argentina who said he was not even sure the phone would work once he got it home.
[via NYTimes]
April 13th, 2007 por nubis en CoolStuff, Livra, Technical |
En Livra este es el año de hacer las cosas increíblemente bien. Hablando de software eso quiere decir simplicidad (Don’t make me think), estabilidad, escalabilidad, modularidad y belleza (si el lenguaje lo permite).
Pero mantenerse fiel a las practicas del eXtreme Programming escribiendo código escalable y bello es difícil. El tradeoff entre hack/velocidad vs. belleza/lentitud queda a criterio de cada programador.
Este paper habla de quantificar los beneficios de la modularidad. Cuando escribimos una aplicación tenemos que tener en mente a los usuarios. Pero los usuarios no son solo lo que van a usar la aplicación.
Nuestros compañeros programadores son usuarios de nuestro código. El que instala y mantiene el servidor donde corren nuestras aplicaciones es también usuario de nuestro código. Entonces hay que pensar en ellos, pensar en que la funcionalidad que estamos plasmando en código no tengan que esforzarse nuevamente en plasmarla ellos, pensar en las herramientas y lenguajes que hablan para hacer los modulos, librerias, wrappers y servicios mas amigables que puedan encontrar. Y no dejar que el árbol nos tape el bosque, si bien puedo ahorrar 1 hora en no limpiar una interfaz o no hacer configurable cierto modulo, esa hora nos ahorra muchas mas adelante.
En cuanto al coding en si hay que tener mas presente las palabras de Brian Kernighan en ‘The Practice of Programming‘:
“Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it”
imagínense entonces cuanto le costaría a OTRO/A coder debbuguear lo que escribimos si somos mas listos que claros.
Este otro articulo habla de no pasarse para el otro lado con la abstracción y la modularidad. Hace poco en varias de las aplicaciones internas de Livra hicimos un cambio para que sean mas configurables, para esto tuvimos que decidir que parte deberia ser configurable y cual no, esa es una zona bastante gris (como dice en el articulo, el ‘business logic’ pertenece al código). La url de las bases de datos, users, passwords, urls de servicios que usamos, etc, debería ser configurable, pero si el protocolo interno de nuestra aplicación usa strings que empiezan con “__error:__” como mensajes de que algo malo paso, eso debería ser configurable?…
July 18th, 2006 por admin en CoolStuff, Yada-yada |
Quería compartir con ustedes un video que ví hace un tiempo donde hacen una comparación entre distintos frameworks de desarrollo.
La primero conclusión a la que llegan es: J2EE Sucks. Hacen un HelloWorld y un pequeño ABM en J2EE, Ruby on Rails, TurboGears y un par de frameworks más basados en Python.
La comparación es un poco injusta. J2EE no está pensado para realizar cosas pequeñas, claramente se pierde mas tiempo en cosas pequeñas. Sin embargo, el video esta muy bueno. Da algunas ideas piolas sobre las que están basados otros frameworks, y hace un análisis muy interesante sobre que se debe buscar en una tecnología a la hora de desarrollar interfaces web.
Nota: El video pesa unos 380 MB y dura una media hora. Pero baja muy rápido y es muuuuuy recomendable.
June 6th, 2006 por admin en CoolStuff, Technical |
Psyco puede venir al pelo cuando tengamos que optimizar inner loops del backend (hablando de ONO, el comparativo de precios de Livra), ie. los que hacen number crunching o iteran estructuras de datos gargantuescas.
“But where Psyco shines is when running algorithmical code — these are the first pieces of code that you would consider rewriting in C for performance. If you are in this situation, consider using Psyco instead! You might get 10x to 100x speed-ups.”
Y usarlo es tan simple como:
import psyco # at the top of the script
psyco.full() # JIT-compiles at much as possible
O, para evitar el despilfarro de memoria:
psyco.profile() # JIT-compiles “hot spots”
O:
psyco.profile(0.3) # JIT-compiles methods that take at least 30% of the time.
O, mas discriminativamente:
psyco.bind(cpu_screwer_method)
Estos metodos candentes pueden identificarse revisando el log generado mediante:
psyco.profiler()
psyco.log()
Vale la pena probarlo antes de reimplementar en C u optimizar más inteligentemente los algoritmos.