Google
 
Mostrando entradas con la etiqueta software. Mostrar todas las entradas
Mostrando entradas con la etiqueta software. Mostrar todas las entradas

jueves, 6 de septiembre de 2007

WEB 2.0 y ainda mais


Aprovechando la Web y este nuevo blog que me genera ganas de publicar mis minis ideas y pensamientos sobre los temas de interés (por lo menos para mi) y aprovechando que mi procesador debe tener tirados un millón de hilos mas o menos porque lo puse a procesar a mas de 100 por ciento y no puedo cambiar de ventana :P, y pensando que estaría bueno que la maquina fuera potenciable me surge la idea de hablar de algo que potenciara o esta potenciando la Web, si señoras y señores WEB 2.0.

De un tiempo a esta parte esta en boca de todos y hay muchos artículos realmente interesantes en al Web que se pueden leer sobre el tema, pero yo voy a hacer una mini introducción de lo que me parece que es.

Todo este tema surgió de una conferencia entre Dale Dougherty de O’Reilly Media y Craig Cline de MediaLive en el que se hizo una tormenta de ideas y Dale saco el termino como para decir que la Web se estaba orientando a la gente a lo que estas personas necesitaban y a brindar aplicaciones mucho mas flexibles de lo que actualmente había, aumentando también la riqueza visual y la usabilidad de las mismas.

Toda esta WEB 2.0 esta bien de viva, ¿por que la WEB 2.0 esta de viva? por varias razones, pero al mas importante es el verso de que las aplicaciones nunca son liberadas siempre están en versión Beta, claro así cualquiera tiene una aplicación buena, “mira que pocos errores tiene y eso que es Beta” pensará algún desprevenido, pero lo que se olvidan es que hace 4 años que es Beta!!!

Lo importante mas allá de lo que se pueda decir es que la WEB 2.0 se viene con fuerza y eso nos beneficia a nosotros los “clientes”, porque al final todos somos posibles clientes de la Web. Vamos a tener sitios más lindos con más funcionalidades. Un gran ejemplo es Google, hoy en día brinda muchos tipos de aplicaciones, procesadores de texto, hojas de cálculo, mail, buscador, y tantos mas, todas orientadas al uso exclusivo dentro de la Web y a la simplicidad de este uso.

También tenemos a Microsoft con sus potentes motores gráficos (Presentation Fundation, etc) que a cualquiera que halla tenido al oportunidad de asistir a una charla de ellos en el ultimo año y medio o dos habrá visto la clásica imagen que muestra y dicen esto es una aplicación Windows o una aplicación WEB??, claro es WEB, pero es tan linda que parece que fuera una aplicación basada en Windows.

Todo este reformulamiento de aplicaciones, métodos, logotipos (como los de la imagen), etc. No son el producto de un resurgimiento tecnológico, la WEB 2.0 es una ideología que como ya dije se base en varios paradigmas como ser las aplicaciones siempre en desarrollo, orientar el escritorio hacia la Web, el mejoramiento en performance y facilidad de uso, un nuevo rediseño a nivel visual y mas.

La WEB 2.0 se apoya en tecnologías y metodologías de gran productividad que se están masificándose como el caso de AYAX, CSS, RUBY, Redes Sociales, Posicionamiento en buscadores, nuevos estándares HTML, XML, etc.

No voy a enumerar la lista clásica en todos los artículos de WEB 2.0 donde se dice la evolución de cada cosa, pero vale la pena decir por ejemplo un par de ideas como que el DoubleClick evolucionó en AdSense o las enciclopedias clásicas online en la Wikipedia o el surgimiento de las Wikis en general, todos estos son ejemplos de cómo la WEB 2.0 va sustituyendo los servicios anteriores por nuevos y mejorados orientados al trabajo comunitario a través de redes sociales y la mejora de la experiencia del usuario.

Bueno habiendo divagado bastante y aclarado poco como ya se me esta haciendo costumbre voy dejando este articulo por acá y en algún momento retomare el tema desde un enfoque mas técnico.

martes, 4 de septiembre de 2007

Una persona muy acertada escribió todo lo que dice abajo sobre las buenas practicas de programación, prueben a ver cuantas cumplen cada uno, yo probé y bue.... da para sorprenderse.

Si quieren el articulo completo http://www.paulgraham.com/head.html
  1. Avoid distractions. Distractions are bad for many types of work, but especially bad for programming, because programmers tend to operate at the limit of the detail they can handle.

    The danger of a distraction depends not on how long it is, but on how much it scrambles your brain. A programmer can leave the office and go and get a sandwich without losing the code in his head. But the wrong kind of interruption can wipe your brain in 30 seconds.

    Oddly enough, scheduled distractions may be worse than unscheduled ones. If you know you have a meeting in an hour, you don't even start working on something hard.
  2. Work in long stretches. Since there's a fixed cost each time you start working on a program, it's more efficient to work in a few long sessions than many short ones. There will of course come a point where you get stupid because you're tired. This varies from person to person. I've heard of people hacking for 36 hours straight, but the most I've ever been able to manage is about 18, and I work best in chunks of no more than 12.

    The optimum is not the limit you can physically endure. There's an advantage as well as a cost of breaking up a project. Sometimes when you return to a problem after a rest, you find your unconscious mind has left an answer waiting for you.
  3. Use succinct languages. More powerful programming languages make programs shorter. And programmers seem to think of programs at least partially in the language they're using to write them. The more succinct the language, the shorter the program, and the easier it is to load and keep in your head.

    You can magnify the effect of a powerful language by using a style called bottom-up programming, where you write programs in multiple layers, the lower ones acting as programming languages for those above. If you do this right, you only have to keep the topmost layer in your head.
  4. Keep rewriting your program. Rewriting a program often yields a cleaner design. But it would have advantages even if it didn't: you have to understand a program completely to rewrite it, so there is no better way to get one loaded into your head.
  5. Write rereadable code. All programmers know it's good to write readable code. But you yourself are the most important reader. Especially in the beginning; a prototype is a conversation with yourself. And when writing for yourself you have different priorities. If you're writing for other people, you may not want to make code too dense. Some parts of a program may be easiest to to read if you spread things out, like an introductory textbook. Whereas if you're writing code to make it easy to reload into your head, it may be best to go for brevity.
  6. Work in small groups. When you manipulate a program in your head, your vision tends to stop at the edge of the code you own. Other parts you don't understand as well, and more importantly, can't take liberties with. So the smaller the number of programmers, the more completely a project can mutate. If there's just one programmer, as there often is at first, you can do all-encompassing redesigns.
  7. Don't have multiple people editing the same piece of code. You never understand other people's code as well as your own. No matter how thoroughly you've read it, you've only read it, not written it. So if a piece of code is written by multiple authors, none of them understand it as well as a single author would.

    And of course you can't safely redesign something other people are working on. It's not just that you'd have to ask permission. You don't even let yourself think of such things. Redesigning code with several authors is like changing laws; redesigning code you alone control is like seeing the other interpretation of an ambiguous image.

    If you want to put several people to work on a project, divide it into components and give each to one person.
  8. Start small. A program gets easier to hold in your head as you become familiar with it. You can start to treat parts as black boxes once you feel confident you've fully explored them. But when you first start working on a project, you're forced to see everything. If you start with too big a problem, you may never quite be able to encompass it. So if you need to write a big, complex program, the best way to begin may not be to write a spec for it, but to write a prototype that solves a subset of the problem. Whatever the advantages of planning, they're often outweighed by the advantages of being able to keep a program in your head.

lunes, 3 de septiembre de 2007

Se termino el gran mito


Yo como todo mortal común y corriente nacido en un mundo informatizado siempre añore y soñé con tener una computadora de la tan impresionante firma Apple.
Me acuerdo cuanto tenia unos 13 o 14 años, no estoy realmente seguro, capaz que eran 15, la verdad no se, tuve la maravillosa oportunidad de hacerme con una Mac.

Era una cosa hermosísima (para la época claro), el color amarillo, amarillo mugre!! ese color que agarran los monitores si el que usa la compu fuma y esta encerrado en el cuarto todo el día, en síntesis el color era espantoso, pero para mi era divino (no crean que el color es porque era vieja, era el color de una maquina nueva!!) por supuesto como debe ser la disquetera carecía de botón y el diskette de 3 1/2 de alta se expulsaba mediante una opción en el menú (Wow), realmente no es para asombrarse porque Apple siempre ahorro en los botones (el mouse tiene uno solo :P).

Claro que además de costar el doble que un clon común y corriente esta maquina tenia algunas restricciones como que no traía compactera y que si quería una había que pedirla como con 3 meses de anticipación y además salía carísima, así que todo esto sumado me hizo comprarme terrible PC clon con compactera, tarjeta de sonido y todo lo que había para ponerle y la verdad viéndolo desde ahora no me arrepiento.

Lo que amerita todo este recuerdo es que mi hermana se compro una MacBook el domingo pasado por la cual pago casi la vida y un poco mas, pero como ella es diseñadora grafica y tiene amigos diseñadores gráficos que como ella no saben nada de informática mas que usar el softs que les enseñaron la convencieron y se convenció a si misma de que mac iba a andar mejor que un PC común (un toshiba de 17” por ejemplo como el mió, eso es una máquina carajo!!!).

En síntesis la maquinita es un Core 2 Duo de 2.0 con 1ghz de ram (64 mugrosos megas de video) un monitor muy bonito de 13.3 pulgadas una carcaza de fibra de carbono la compactera como la de los autos de esas que “chupan el dvd” y por supuesto pesada como un elefante ams o menos, esto en comparación a su tamaño claro.

Algunos sabrán y otros no que la gran diferencia entre las queridas macs de hace un par de años atrás o año y medio y las PCs comunes y corrientes era su procesador, manejo de memoria súper avanzado, etc etc, cosa que le daba toda su tecnología hyper cerrada y basada en procesadores RISC (Motorola) en lugar de CISC (Intel, AMD). Para resumir para quienes no sepan los procesadores RISC son mas básicos a nivel de procesamiento, como que están mas hechos con hardware y tiene mas memoria interna (Cache, registros) y los CISCs son mas programados, tiene instrucciones o sea programitas pre hechos adentro para hacer las cosas y entonces menos memoria interna(Cache, registros).

Podríamos seguir discutiendo durante al eternidad que procesadores son mejores y no llegaríamos a un acuerdo, pero al verdad es que las macs daban el mismo rendimiento que un PC común con procesadores mas lentos y menos RAM, así que algo tenían y además las rodeaba todo el misticismo de que no podías abrirla así nomás y meterle la compactera del vecino, no solo por el soft o lo fuera, sino porque simplemente no la podías enchufar!!!

Resumiendo para llegar a lo que quería, Apple se vendió al vil metal y el amigo Jobs al cual admiro con todo mi ser y pronto publicare su discurso en la universidad de Stanford se vendió por que se ve que no “estaba dando” esto del mito.

Las velocidades de los procesadores CISC se fueron a tamaños tan grandes y después se pasaron a múltiples cores en el mismo procesador que ya no había con que darle, no los podían alcanzar por mas que Motorola quisiera y mi percepción es que la verdad estos muchachos de la gran M no quisieron seguir invirtiendo en una tecnología que le estaban vendiendo a un solo comprador que perdía mercado año a año.

Ya cerrando este post que quiso ser tecnológico pero no pudo así que al review queda para el próximo, amigos diseñadores no gasten el doble en una MAC compren una Toshiba o una Sony VAIO, esas si que son lindas y salen menos que las macs, eso si van a rendir lo mismo!!.