Wednesday, February 28th, 2007
Daily Archive
Daily Archive
Posted by hecgo on 28 Feb 2007 | Tagged as: Code, Developer Journal, Noticias, .NET
Una nueva versión del sitio MSDN se está preparando, y se puede pre visualizar en:
http://lab.msdn.microsoft.com/TryMsdn/Library.aspx
Para seguir el detalle de las nuevas características y funcionalidad, está este blog de Justin Grant, product manager de los sitios MSDN y TechNet:
Discussion of new features coming to MSDN and TechNet websites
Posted by hecgo on 28 Feb 2007 | Tagged as: Web 2.0, Noticias
Adobe anunció que planea tener una versión hosteada de Photoshop dentro de medio año aprox. Esta versión funcionará principalmente con Flash (obviamente) en lugar de AJAX como la mayoría de los editores de imágenes en línea existentes.
En las palabras de Bruce Chizen, CEO de Adobe:
The hosted version of Photoshop is part of a bigger company strategy to introduce Internet-delivered services that complement its shrink-wrapped applications and head off likely competition from Google…”That is new (for Adobe). It’s something we are sensitive to because we are watching folks like Google do it in different categories, and we want to make sure that we are there before they are, in areas of our franchises
Además, también se está cocinando una versión igualmente en línea para editar videos, Adobe Remix
Posted by hecgo on 28 Feb 2007 | Tagged as: Lecturas, Code
Este artículo cita a Reginald Braithwaite que dice:
Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can’t write code at all. I repeat: they can’t write any code whatsoever.
El autor al que se refiere Braithwaite dice:
After a fair bit of trial and error I’ve discovered that people who struggle to code don’t just struggle on big problems, or even smallish problems (i.e. write a implementation of a linked list). They struggle with tiny problems.
So I set out to develop questions that can identify this kind of developer and came up with a class of questions I call “FizzBuzz Questions” named after a game children often play (or are made to play) in schools in the UK. An example of a Fizz-Buzz question is the following:
Write a program that prints the numbers from 1 to 100. But for multiples of three print “Fizz” instead of the number and for the multiples of five print “Buzz”. For numbers which are multiples of both three and five print “FizzBuzz”.
Most good programmers should be able to write out on paper a program which does this in a under a couple of minutes. Want to know something scary? The majority of comp sci graduates can’t. I’ve also seen self-proclaimed senior programmers take more than 10-15 minutes to write a solution.
Dan Kegel plantea algo similar:
A surprisingly large fraction of applicants, even those with masters’ degrees and PhDs in computer science, fail during interviews when asked to carry out basic programming tasks. For example, I’ve personally interviewed graduates who can’t answer “Write a loop that counts from 1 to 10″ or “What’s the number after F in hexadecimal?” Less trivially, I’ve interviewed many candidates who can’t use recursion to solve a real problem. These are basic skills; anyone who lacks them probably hasn’t done much programming.
Speaking on behalf of software engineers who have to interview prospective new hires, I can safely say that we’re tired of talking to candidates who can’t program their way out of a paper bag. If you can successfully write a loop that goes from 1 to 10 in every language on your resume, can do simple arithmetic without a calculator, and can use recursion to solve a real problem, you’re already ahead of the pack!
Más curioso resulta aún leer detenidamente este otro post (Separating Programming Sheep from Non-Programming Goats):
- 44% of students formed a consistent mental model of how assignment works (even if incorrect!)
- 39% students never formed a consistent model of how assignment works.
- 8% of students didn’t give a damn and left the answers blank.
Todo esto es especialmente cierto si se tiene un poco de experiencia en este medio del mundo de desarrollo. Todos HEMOS (en mayor o menor medida) copiado código de algún otro lugar para resolver un problema específico, o en el mejor de los casos, un pequeño problema que forma parte de uno mayor. Aquí por lo menos ya avanzamos al nivel de fragmentar en piezas de menor complejidad un problema. Pero la esperanza, es que con el paso del tiempo y con mayor experiencia, este tipo de prácticas tienda a disminuir y por lo tanto ya seamos capaces realmente de programar algo y no simplemente hacer un “copy&paste” y arreglar algunos nombres de variables para que el código recientemente copiado se adecue a lo que ya teníamos.
Sin embargo, esa es solo la punta del iceberg. Personalmente creo que de fondo esta algo más grave aún y es algo tan trivial como la lectura de comprensión. Basta ver en los comentarios como algunos visitantes intentaron resolver el problema planteado de alguna manera. El problema dice claramente que la salida para los números múltiplos de 3 y al mismo tiempo de 5 (15, 30, 45, 60, 75 y 90) debe ser “FizzBuzz” junto, en una misma línea y hay casos realmente brillantes.
Pero bueno, el asunto al final del día es que, como programador, en algún momento vas a recibir una especificación para escribir una pieza, y no siempre será de lo más simple o clara la explicación, y si desde la comprensión en la lectura de la especificación ya hay problemas, obviamente el resultado será algo que en el mejor de los casos tenga infinidad de errores y en el peor de los casos no funcione en lo absoluto.
En mi caso personal, reanudé mis estudios universitarios hace poco más de 1 año. Con 8 años de estar trabajando tiempo completo en la industria del desarrollo y actualmente más en la consultoría. Esto me ha ayudado a darme cuenta un poco más de las raíces del problema. Y es que por ejemplo, no puede ser que alguien que estudia alguna carrera universitaria referente a las TI como Ing. en Sistemas, Informática, etc. tenga que copiar la tarea de hacer un algoritmo para obtener el factorial de un número, pero eso sí, este estudiante puede graduarse con 10 y después estudiar hasta una maestría, justo lo que se menciona en los posts referidos anteriormente. (Digo esto si alguien decide tomar la vertiente técnica de esta profesión, porque también es cierto que bien puede tomar la vertiente administrativa más alejada de aspectos de “bajo nivel” como los mencionados.)
Pero bueno, así es este mundo. Aquí está mi solución al problema planteado en el post, por si a alguien se lo dejaron de tarea en su carrera, maestría o doctorado, jajaja:
Posted by hecgo on 28 Feb 2007 | Tagged as: Code, Noticias, .NET
Un nuevo mes, una nueva CTP de la siguiente versión de Visual Studio (nombre clave “Orcas”). A diferencia del mes pasado, que solo estaba disponible instalado en un disco duro virtual, este mes además está también ya un instalador (que puede significar un ahorro de 2GB en la descarga).
Entre las cosas más interesantes, se encuentra el Intellisense JScript para ASP.NET AJAX, todo el nuevo soporte para LINQ que ya venía desde las CTPS anteriores y la integración completa con los componentes del .NET Framework 3.0 como WCF, WWF y WPF (actualmente ya hay algunas de estas características en el Expression Blend también).
La lista completa de lo nuevo que trae este CTP:
Posted by hecgo on 28 Feb 2007 | Tagged as: Windows SharePoint Services, AJAX, Code, Web 2.0, .NET Servers, .NET
El paso siguiente natural para ASP.NET AJAX será incluirse en los portales de SharePoint (MOSS y WSS 3.0). Está planeado que el Service Pack 1 de esta plataforma incluya este soporte. Sin embargo, y como al final del día no son más que páginas ASP.NET 2.0, es perfectamente posible incluirlo de una buena vez. El proceso es simple:
Simple, simple
http://weblogs.asp.net/jan/archive/2007/02/26/using-the-ajax-control-toolkit-in-sharepoint.aspx
Para profundizar más al respecto:
http://weblogs.asp.net/jan/archive/2007/02/26/new-version-of-smartpart-now-with-ajax-connections.aspx
http://sharepoint.microsoft.com/blogs/mike/Lists/Posts/Post.aspx?ID=3
Posted by hecgo on 28 Feb 2007 | Tagged as: Code, .NET
Utilizar “reglas de reescritura de URLs” (Url Rewriting) en ASP.NET corriendo sobre IIS no era tan simple como lo puede ser en un webserver Apache.
Estas reglas sirven para tener URLs que solían llamarse “amigables con los motores de búsqueda” (search engine friendly) ya que evitaban que se vieran URLS con querystrings del tipo hecgo.com/?p=312 para convertirlas en algo así como por ejemplo: hecgo.com/2007/02/28/url-rewriting-en-aspnet
En Apache simplemente se crean expresiones regulares y se agregan al archivo .htaccess
Pues bién, ahora ya no es tan complicado, y este artículo nos muestra cómo hacerlo para ASP.NET y IIS:
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx