feedburner

La Tecnologia esta dominada por dos tipos de personas:
aquellos que entienden lo que no administran,
y aquellos que administran lo que no entienden.
- Anonimo

Donald Knuth... extractos de una entrevista

Etiquetas: , ,

La gente de informIT publico hace unos pocos dias una entrevista con Donald Knuth (uno de los padres del open-source, destacado profesor en Stanford, diseñador del MMIX, creador de TeX y autor del famoso compendio The Art Of Computing Programming), y esta vez comparto lo que a mi parecer son sus mas candentes comentarios en el area de computer science.

(foto original tomada de la web page de Stanford Magazine)
  • The success of open source code is perhaps the only thing in the computer field that hasn’t surprised me during the past several decades. But it still hasn’t reached its full potential; I believe that open-source programs will begin to be completely dominant as the economy moves more and more from products towards services, and as more and more volunteers arise to improve the code.
  • To me, it looks more or less like the hardware designers have run out of ideas, and that they’re trying to pass the blame for the future demise of Moore’s Law to the software writers by giving us machines that work faster only on a few key benchmarks!
  • How many programmers do you know who are enthusiastic about these promised machines of the future? I hear almost nothing but grief from software people. I know that important applications for parallelism exist—rendering graphics, breaking codes, scanning images, simulating physical and biological processes, etc. But all these applications require dedicated code and special-purpose techniques.
  • The machine I use today has dual processors. I get to use them both only when I’m running two independent jobs at the same time; that’s nice, but it happens only a few minutes every week. So why should I be so happy about the future that hardware vendors promise? They think a magic bullet will come along to make multicores speed up my kind of work; I think it’s a bubble dream. From the opposite point of view, I do grant that web browsing probably will get better with multicores. I’ve been talking about my technical work, however, not recreation.
  • In my experience, software created with literate programming has turned out to be significantly better than software developed in more traditional ways. Yet ordinary software is usually okay; hence, the traditional methods stay with us. Since they’re understood by a vast community of programmers, most people have no big incentive to change, just as I’m not motivated to learn Esperanto even though it might be preferable to English and German and French and Russian (if everybody switched).
  • If people do discover nice ways to use the newfangled multithreaded machines, I would expect the discovery to come from people who routinely use literate programming. Literate programming is what you need to rise above the ordinary level of achievement. But I don’t believe in forcing ideas on anybody. If literate programming isn’t your style, please forget it and do what you like. If nobody likes it but me, let it die.
  • I currently use Ubuntu Linux, on a standalone laptop—it has no Internet connection. I occasionally carry flash memory drives between this machine and the Macs that I use for network surfing and graphics; but I trust my family jewels only to Linux. Incidentally, with Linux I much prefer the keyboard focus that I can get with classic FVWM to the GNOME and KDE environments that other people seem to like better. To each his own.
  • I also must confess to a strong bias against the fashion for reusable code. To me, "re-editable code" is much, much better than an untouchable black box or toolkit. I could go on and on about this. If you’re totally convinced that reusable code is wonderful, I probably won’t be able to sway you anyway, but you’ll never convince me that reusable code isn’t mostly a menace.
Ahi lo tienen y me alegra saber que no somos pocos los que predicamos el literate programming, extreme programming y el reuso/reedicion de codigo existente.

Alguien aun usa el FVWM? o ya todos somos adictos al GNOME o KDE? jeje!!

Gracias por leer.

10 cosas que no sabias de tu cuerpo

Etiquetas:

El cuerpo humano es una maravilla de la naturaleza, no hay maquina biologica mas perfecta, y ademas hace cosas que nos sorprenden dia a dia. Y en ese ambito encontre una interesante lista publicada en el site de Live Science, aqui una modesta traduccion:

  1. El color de la piel esta formada en base a solo 4 colores.
  2. El mundo se rie contigo, es verdad que es contagiosa.
  3. Un cerebro grande como el nuestro causa que tengamos dientes en demasia.
  4. Los cabellos de las celulas mueven el moco de tu nariz.
  5. La pubertad cambia la forma del cerebro y con ello genera tus cambios de humor durante ese periodo.
  6. Miles de huevos nunca son usados por los ovarios.
  7. La mayor parte de lo que comes es alimento para tus ideas.
  8. Los huesos se rompen para balancear los minerales.
  9. La posicion de tu cuerpo afecta tu memoria.
  10. El estomago secreta acidos corrosivos.
Que maravilla, no?

Gracias por leer.

Porque uso VS.NET C# en vez de LabWindows/CVI

Etiquetas: ,

Si deseas crear aplicaciones para testing, lo mas seguro es que has oido hablar de los productos de National Instruments, no? No niego que el LabView sea una poderosa herramienta para quien no sabe nada de programacion, pero para el ingeniero promedio de nuestros dias el saber algun lenguaje de programacion es esencial. Entonces, yo sugiero que es mejor emplear Visual Studio .NET C# (se lee "Si Sharp") que LabWindows/CVI.

Si te aventuras a usar LabWindows/CVI habran tres distintas labores que deberas afrontar: desarrollar tu set de pruebas, desarrollar la plataforma o entorno donde correran tus pruebas (entiendase la interfase de usuario), y la infraestructura para soportar los distintos equipos que controlaras (esto ultimo lo puedes adquirir de las companhias que te vendieron el equipo, es decir las librerias). La primera y la segunda son inevitables, la tercera quizas podrias evitarla si alguien te pasa los drivers o si los encuentras en la web de National Instruments o la del fabricante listas para bajarlas gratuitamente, de lo contrario tendras que comprarlas o crear tus propias librerias de manera especifica para la platforma de National Instruments.



Es justo aqui donde vienen mis no tan ponderados cuestionamientos. Contamos con el personal necesario para asignar estas labores? La respuesta normalmente es no, ya que lo mas probable que este pasando es la interminable reduccion de personal. Que tal si no consigues las librerias? Quien te va a programar estas? Sabes cuan complicado es codificar librerias usando un lenguage tan arcaico como el CVI (que dicho sea de paso esta basado en ANSI C). National Instrument es un entorno cerrado, lo cual te hara dependiente de sus productos y lo que es peor aun sus infladas licencias para desarrollo y ejecucion que te las cobran por equipo, es decir si tienes 5 PCs donde correr tu programa entonces pagas 5 licencias de ejecucion sin contar con la de desarrollo que ya debes haber pagado. Ademas, el debugging es tedioso y nada amigable si es que logras dar con el origen de la falla o error en el programa. La aplicacion que crees no sera compacta aunque probablemente robusta si logras corregir todos los errores, pero el performance de tu PC sera no precisamente light.

La contraparte de usar C# es que las primera labor sera igual o mas sencilla de ejecutar con un lenguage tipo objecto como este, la segunda es practicamente "drag and drop" al mejor estilo del aplicativo Visio para crear graficos y diagramas. Para la tercera puedes de manera sencilla crear tus propios drivers si es que no existen ya (muchos fabricantes estan ahora proporcionando librerias para VS.NET al igual que para National Instruments). Todos los equipos de testing soportan comunicacion serial (RS232 o similar), GPIB (IEEE 488.2), y/o telnet; entonces lo unico que tienes que hacer es usar las capacidades propias del VS.NET para comunicaciones seriales, bajar las librerias de National Instruments para soportar GPIB, o bajar alguna libreria o C# class de telnet para VS.NET. Simplemente usas tu manual del equipo para ver la sintaxis de los comandos que puedes enviar usando alguno de los 3 metodos mencionados.



Para realizar todas estas labores no necesitas contratar nuevo personal, ni pedirle ayuda a Help Desk (aunque muchos departamentos de IT ahora soportan C#) y mucho menos contratar outsourcing. Esta demas decir que el entorno de VS.NET no es precisamente abierto, pero la comunidad online que desarrolla y comparte aplicaciones online es inmensa en comparacion con la de National Instruments. El debugging es super rapido y amigable, puedes poner breakpoints donde te de la gana y ver como evolucionan tus variables. Las licencias de ejecucion no existen y las de renovacion anual tampoco, simplemente creas tu ".exe" y lo copias en la maquina donde quieras que corra.

No te voy a mentir diciendo que VS.NET C# es perfecto (es mas, no soy fanatico de los productos Microsoft ni trabajo para ellos), pero si sabes programar (no se requiere ser experto), quieres ahorrar tiempo y dinero en el desarrollo de tus aplicaciones, y cuentas con los manuales del equipo, entonces tu mejor opcion es C# en vez de LabWindows/CVI.

Gracias por leer.

Cinco habilidades IT que NO subiran tu sueldo

Etiquetas:

Una corta lista que publica Networld Word para el mercado estadounidense, pero que muy bien podria aplicarse a otros paises como los latinoamericanos, o no?

  1. Plain Old HTML. Ahora se enfocan en Web 2.0 con tecnologias como AJAX y XML.
  2. Legacy programming languages. Pocos te valoraran por saber Cobol, Delphi, Fortran o PowerBuilder.
  3. NetWare. Novell ya no es lo que era, ademas ahora la mayoria usa Windows Server o Linux.
  4. Non-IP network. Todavia hay quien no usa IP? alguien todavia soporta SNA de IBM?
  5. PC-tech support. Quien necesita alguien que sepa solo de printers y PCs en IT? Para cualquier problema solo googlealo y seguro hayaras la respuesta.
Bueno... nadie dice que los conocimientos en estas areas no sean buscados del todo por los empleadores o usuarios finales, pero si esta claro que son cosas que ya no tienen la demanda de antes.

Asi que mejor me pongo a aprender AJAX antes de pedir un aumento de sueldo... jajaja!!!

Gracias por leer.

Apple TV Take 2 tendra mas competencia

Etiquetas: , , , , , , ,

Hace unos pocos dias que TG Daily publica una nota donde se cuestiona la popularidad del recien llegado Apple TV Take 2 y ademas se hace incapie en sus fallas. Pero ademas se comenta que tanto Netflix como Blockbuster estan trabajando en sus propias plataformas de reproduccion de video online... GENIAL!!!

Es decir, pronto no solo se podra escoger en el mercado norteamericano entre el TiVo, VuDu, Apple TV, Xbox 360 (si no lo sabias tambien puedes rentar movies online con esta consola) y pronto el PS3 tambien, si no tambien entre los DVD players online de Blockbuster y Netflix (en colaboracion con LG Electronics).


Sera que estos nuevos equipos, como infieren al final del post, cubriran las fallas del Apple TV Take 2? Uhmmm... bueno, quizas no sean precisamente fallas, pero si son faltas, como el hecho que una vez que rentas una pelicula solo tienes 24 horas para terminar de verla o que los titulos disponibles son en su mayoria viejos.

Cualquiera sea la respuesta yo veo todo este asunto de la siguiente manera: las nuevas consolas ademas de permitirte correr video juegos, tambien puedes bajar peliculas y verlas directo en la TV; el Apple TV te permite reproducir los videos que estan en tu PC/Mac ademas de rentar peliculas online; y las futuras plataformas de Blockbuster y Netflix haran algo parecido, y seguro vendran con control remoto.


Entonces, no se puede hacer todo esto hoy en dia con una PC cualquiera? Cual es la gran ventaja de estos equipos? El que tengan control remoto? Que tengan una interfase de simple uso? Que esten conectadas a una TV cualquiera? Que tal si algun innovador en HW diseñara una PC de formato pequeño que sea competitiva en costo (digamos unos US$ 200.00) que venga con control remoto y ademas la misma empresa u otro innovador en SW pusiera ahi un programa que te permita facilmente rentar peliculas online de los 5 lugares antes mencionados y ademas ver los videos de por ejemplo YouTube? que opinan? no creen que esa empresa arrasaria con el mercado? que tal si ya existe pero no lo sabemos?

Gracias por leer.

GRATIS! Software y Servicios que NO conocias

Etiquetas: , ,

No todo lo que puedes bajar gratis de la Internet es necesariamente bueno, pero en este caso la gente de Infoworld publican online una lista con lo que ademas de ser bueno encima es gratis!



No solo se enfocan en software, tambien se incluyen servicios. Aqui encontraras lo que necesitas para planificar tu tiempo, mantenerte en contacto, afinar tu PC y mantenerla segura tambien, adornar tu desktop, tocar musica, ver videos, fotos, juegos, etc. La diferencia esta vez es que se han enfocado en programas y servicios que quizas nunca has escuchado antes.

Ah... me olvidaba, el articulo y lista en cuestion aparecieron originalmente en PC World aqui, pero me gusta mas la presentacion de la web page de Infoworld... jeje!!

Buena suerte con el download ;-)

Gracias por leer.

Video Online no reemplazara a la TV

Etiquetas: , ,

Segun el ultimo estudio anual titulado "The Battle for the North American Couch Potato" (La batalla por la papa de sofa norteamericana... asi le llaman a los gringos que pasan la mayor parte de su tiempo libre sentados en el sofa) el ver videos online no reemplazara a la TV prontamente, quizas nunca.



Los que hicieron el estudio (The Convergence Consulting Group) afirman que "no hay razon economica actual para los broadcasters y las compañias de cable en abandonar la TV tradicional o intentar una transicion acelerada a un modelo online", ya que esto pondria en riesgo los US$ 66 billones en ganancias por avisos comerciales y los US$ 30 billones en honorarios de programacion que ganan los creadores de contenido (entiendase los productores de programas para TV).

El mismo estudio muestra que los DVR se estan volviendo mas populares, permitiendo a los usuarios pasar por alto los avisos comerciales, lo que es una amenaza a las ganacias generadas por los mismos. Entonces las compañias de cable como Time Warner Cable estan desplegando un servicio que impide que adelantes los avisos comerciales. No hay que olvidar que los DVR te permiten grabar los programas y verlos cuando puedas, con mayor nitidez que si los vieras online y ademas en una pantalla mas grande (claro esta si es que tu TV es mas grande que tu monitor de la PC... jeje).

El estudio muestra otros detalles mas que puedes leer en la nota original publicada por Telephony Online, pero lo que cabe preguntarse es si esta afirmacion sera cierta en unos 10 años, el dia de hoy los niños y adolescentes pasan mas horas frente a la PC que frente a la TV, entonces, que los lleva a creer (me refiero a los hicieron el estudio) que cuando sean adultos ellos cambiaran la PC por la TV?

Gracias por leer.

Banda de 700 MHz en USA ya tiene dueño

Etiquetas: , , ,

Al fin termino el periodo de silencio de la FCC y ya nos enteramos de quien gano la tan ansiada banda de 700 MHz en USA, y para mayor sorpresa no fue Google, fueron AT&T y Verizon Wireless.

Y ahora que? Bueno, segun la nota en Light Reading, estos gigantes de las telecomunicaciones usaran este espectro para proveer servicios de 4G usando la especificacion LTE (Long-Term Evolution) del 3GPP (3rd Generation Partnership Project).


( designed by tiux99@gmail.com )

Que paso entonces con Google? Tal como se puede leer en su blog oficial, Google deliberadamente aposto en el bloque C del espectro de 700 MHz son el unico fin de asegurarse que el mandato de la FCC para acceso abierto se cumpliera, este tenia como minimo que la subasta llegara a US$ 4.6 billones, y al final los ganadores pagaron un total de US$ 19.6 billones.

Por si no recuerdan el porque esta subasta ha sido importante, pueden leer mi post original aqui.

Gracias por leer.

Educando a la siguiente generacion... en C++?

Etiquetas:

En una reciente entrevista a Bjarne Stroustrup (quien por si no sabes es el creador de C++) para el site Dr Dobb's Portal se presentan entre muchos otros aspectos sus impresiones sobre como debe educarse a la siguiente generacion de programadores.



Aqui les presento una lista de los comentarios que me parecen interesantes:
  • I don't think that it should be possible to graduate with a computer science, computer engineering, etc. degree without having used the basic tools (compilers, editors, debuggers, linkers, version control systems and so on) for a couple of major projects.
  • The use of tools must not be a substitute for a good understanding of the principles of programming.
  • Let me point to algorithms, data structures, and machine architecture as essentials. I'd also like to see a good understanding of operating systems and networking.
  • Think. Discuss with colleagues and potential users. Get a good first-order understanding of the problem domain. If possible, try to be a user of an existing system in that field. Then, without too much further agonizing, try to build a simplified system to try out the fundamental ideas of a design.
  • I don't think it's the features that are hard to learn, it is the understanding of the programming paradigms that cause trouble.
  • Learn to use the language features to solve simple programs at first.
  • I saw so many students who simply didn't have the notion that code itself is a topic of interest and that well-structured code is a major time saver... I heavily emphasize structure, correctness, and define the purpose of the course as "becoming able to produce code good enough for the use of others."
  • You need to give the students a feel of the machine as well as the mechanisms to make the (correct) use of the machine simple.
Bjarne es profesor en el departamento de Computer Science de la Texas A&M University y tambien colabora en investigacion para el AT&T Labs - Research.

Y para finalizar, como me dijo alguna vez mi profesor de C++: "escribir codigo es como escribir poesia".

Seria interesante saber que opinan al respecto los profesores de las universidades en el Peru y Latinoamerica, y otros experimentados programadores tambien, no?

Gracias por leer.