Mal Código
La Locura de los Include
Noviembre 30th, 2007 - [Enlace local]
#include "mifichero.h" No suena mal, ¿verdad?. Parece una linea de código totalmente inocente. No hay nada maligno en está simple linea de código C/C++. Pues los que piensen así están equivocados. El problema viene, cuando intentas compilar un proyecto realizado en Windows, en Linux, que es lo que he sufrido estos últimos días. En Linux si que se tiene en cuenta si el nombre de un fichero esta
» Leer más, comentarios, etc...
avemundi, blog de un micro-isv » Desarrollo de software
hoja de ruta para 2008
Noviembre 30th, 2007 - [Enlace local]
Creo que en cualquier profesión debes marcarte el camino a seguir en cuanto a tu propia carrera profesional. Aunque mi trabajo de día es en una empresa que muchas veces no sabe donde va y le cuesta mucho decidir que camino tomar, en lo que concierne a mis intereses personales intento definir cual es mi plan director a medio plazo. Este plan director u hoja de ruta refleja cuales son mis áreas de interés, que tecnologías son las que voy a intentar aprender y desarrollar a medio plazo, marcando cual va a ser mi linea de desarrollo profesional a nivel personal. Después de dar muchas vueltas a la farola, tengo decidida cual va a ser mi hoja de ruta para el 2008.
Mi principal interés ahora mismo es el desarrollo web. Entre todas las plataformas que se pueden utilizar para ello, he decidido utilizar PHP. Los motivos para elegir este lenguaje son varios, pero quiza haya pesado mucho ver la cantidad de cosas que hay hechas con PHP, como por ejemplo WordPress que es el gestor de contenidos que utilizo para hace funcionar este blog. Otros factores a su favor son tratarse de un lenguaje libre y multiplataforma, que tiene conectores con muchos gestores de bases de datos y que cuenta con mucha documentación y una amplia comunidad y con muchos frameworks que facilitan el trabajo, aunque de momento no me planteo trabajar con ellos sino centrarme en conocer el lenguaje.
Me he puesto a aprender PHP a la antigua usanza, via libro tocho y leyendo despacito. El primer libro que estoy leyendo es Desarrollo Web con PHP, Apache y Mysql, que me ha parecido un buen libro sobre el tema. Más adelante quiero leer otro de la misma colección sobre posicionamiento con PHP que por lo que he hojeado me ha parecido muy interesante. Aunque los conceptos de xhtml y css los tengo bastante claros, quiero leer también los libros sobre esto que hay en librosweb. Muchas cosas para el poco tiempo que me tengo, pero creo que merece la pena dar el salto a desarrollar para la web.
Aunque tengo instalado Apache+MySql+PHP5 tanto en Vista como en OS X, mis pinitos con PHP los hago con OS X. El motivo es que OS X es un sistema Unix y la mayoría de sitios de alojamiento corren bajo Linux, con lo que la codificación de archivos, el sistema de permisos y demás es similar. Ya me ha pasado de hacer un script con PHP en Windows que al subirlo al servidor no funcionaba por culpa de la distinta codificación de archivos en Windows y Linux respecto a los caracteres de salto de linea, así que trabajar en un sistema Unix me ayuda a conocer mejor los entresijos de este tipo de desarrollo.
No voy a dejar de momento el desarrollo de aplicaciones de escritorio para Windows, y quiero mantener y mejorar los programas de alanit. Pero también me gustaría aprender Cocoa para programar para OS X, aunque esto esté en un segundo orden de prioridades.
» Leer más, comentarios, etc...
The New Cult of Dead Cow » desarrollo
Consulta sobre SQUID
Noviembre 30th, 2007 - [Enlace local]
No se si se pueda, al menos yo no he encontrado informacion al respecto por eso recurro a Ud. mis amables lectores.
¿ Alguien sabe si se puede crear plugins para Squid ? Y si es que se pudiera, algun ejemplo o enlace …
Muchas Gracias
» Leer más, comentarios, etc...
niko's mini factory
Links for 2007-11-29 [del.icio.us]
Noviembre 30th, 2007 - [Enlace local]
» Leer más, comentarios, etc...
4 bits blog
Applets con aspecto decente, ¿dónde?
Noviembre 30th, 2007 - [Enlace local]
Siguiendo un poco con la tónica de mi último post, hace unos días (no recuerdo dónde, lo siento) comentaron un framework llamado PulpCore para el diseño de applets Java con interfaces de usuario bonitas.
El lema de PulpCore, para que veáis lo claro que lo tienen, es “Java applets that don’t suck.” lo que traducido al español sería “Applets Java que no apesten.”.
Y es que yo siempre había opinado que los applets habían sido el peor invento relacionado con Java y la web, pero desde hace poco han ido cobrando importancia por el hecho de que Sun quiere resucitarlos para usarlos junto a su JavaFX para la creación de apliaciones RIA (otro de esos términos tan usados actualmente, como web 2.0).
La verdad que yo siempre había dudado de que fuera buena idea resucitarlos, pero si los resucitan haciendo algo parecido a lo que hace PulpCore, creo que sería un acierto por parte de Sun para quitar clientela a sus rivales, aunque habría que decirles a los genios de Sun: “¿Por qué han tenido que hacer algo así terceras personas?”
» Leer más, comentarios, etc...
Picando C??digo
Ma??ana GNU/Linux en RTE
Noviembre 30th, 2007 - [Enlace local]
Les recuerdo para ma??ana la??conferencia de la RTE con los temas orientados a GNU/Linux. Como siempre, la entrada es libre y gratuita, y comienza a las 19:00.
El lugar, como en las charlas anteriores:
Sala de Conferencias de CEI, ubicada en Arturo Santana 594 y San Carlos (Maldonado).
La charla de este mes ser?? brindada por Oscar Mart??nez y Javier De La Vega, representantes de Centro Linux, un centro de capacitaci??n que brinda cursos con certificaciones IBM / Novell.
Los temas que se tratar??n son: Linux como opci??n profesional y Migraci??n y sus opciones.
Aviso: Este viernes tambi??n hay una charla de la Agencia Nacional de Investigaci??n e Innovaci??n por lo cual deberemos terminar nuestra charla alrededor de las 20:30, es por eso que rogamos la mayor puntualidad posible.
Aprovecho tambi??n para invitar a quienes quieran unirse a la comunidad de UruguaySoftware, lo pueden hacer en el foro: www.uruguaysoftware.com/foro
![]()
» Leer más, comentarios, etc...
4 bits blog
Programación vs. Diseño de UIs
Noviembre 29th, 2007 - [Enlace local]
Hoy voy a tocar un tema algo espinoso para muchos de los que nos dedicamos a programar, y es si además de preocuparnos de programar bien tenemos que atender a factores externos como el diseño de la interfaz de usuario.
Normalmente, en mi opinión, un programador no debería hacer nada relacionado con el diseño de una aplicación, es decir, si es una aplicación de escritorio, el programador no debería porque saber como hacer la interfaz gráfica, o si es una aplicación web, no debería porque saber como va a ser la web. Para ello se debe tener a gente especializada en diseño de interfaces gráficas, se podría decir que serían personas que supiesen algo de diseño y de programación. De este modo cada uno podría dedicarse a hacer lo que mejor sabe, y de una manera eficiente.
Pero como el mundo no es un lugar ideal, o porque estamos desarrollando una aplicación por nuestra cuenta, los programadores debemos tener cuidado con aspectos del diseño de las interfaces de usuario, sobre todo lo que yo suelo decir es que debemos tener un poquito de buen gusto. Y es que muchas veces encuentras verdaderas mierdas hechas por ahí, que funcionan muy bien, pero que su aspecto es tan lamentable que hecha para atrás, y aún así hay gente que opina que no está mal.
Y es que las cosas entran por los ojos, y algo que queda feo para el 95% de los mortales, es algo feo. Por eso desde aquí os hago hincapie en que dediquéis un poco a dejar las cosas bien, y que no mezcléis colores raros (como texto amarillo sobre fondo blanco), que no cuesta nada.
» Leer más, comentarios, etc...
Yet Another Programming Weblog
Recursos para optimizar programas en C++ y ensamblador
Noviembre 29th, 2007 - [Enlace local]
Ya se sabe, la optimización prematura es la raíz de todo mal. Pero hay veces que es necesario optimizar y en estos casos no viene mal una ayuda... Por una lado conocer la estructura de las arquitecturas modernas de uso común en cuanto a memoria y cachés. De eso ya se ha encargado Ulrich Drepper como hemos comentado hace poco por aquí.
Por otro lado, he encontrado gracias a programming.reddit una serie de recursos entre los que se encuentran documentos en pdf que podrían ayudarnos. Todos ellos están escritos por Agner Fog y están reunidos en Software optimization resources. Son bastante extensos y por lo que he ojeado con bastante información valiosa. De ellos destacaría (es el que más he mirado), Optimizing software in C++ (An optimization guide for Windows, Linux and Mac platforms) (pdf) que repasa formas de optimizar C++ reparando además en particularidades de plataformas y compiladores.
Además hay también una guía para para optimizar ensamblador para plataformas x86, tablas con características de las instrucciones de Intel y AMD, programas de test y más enlaces. A disfrutar con la lectura, pero a usar con precaución ;)
Recursos para optimizar programas en C++ y ensamblador en barrapunto
» Leer más, comentarios, etc...
.: El Blog de Inwe :.
PHP disponible con Netbeans
Noviembre 29th, 2007 - [Enlace local]
Netbeans cuenta ahora con la extensión PHP-Plugin que permite el desarrollo de aplicaciones web con PHP, aunque de momento está disponible sólo con la versión 6.1 Nightly Build. Sin duda que esta noticia hará feliz a más de uno, ya que Netbeans cuenta con muchas funcionalidades que harán de este editor uno de los más completos para el desarrollo con PHP.
Recordar también que hay un grupo de usuarios que han traducido Netbeans al español.
Enlace y descarga: Phantom reference
netbeans, php, php plugin» Leer más, comentarios, etc...
Fetishcode...Thinking in objects
LibrosWeb
Noviembre 29th, 2007 - [Enlace local]
A
» Leer más, comentarios, etc...
Jorge Dieguez Blog
Inside Microsoft Windows SharePoint Services 3.0
Noviembre 29th, 2007 - [Enlace local]
En MSDN se han publicado dos capítulos del libro Inside Microsoft Windows SharePoint Services 3.0:
Chapter 2: SharePoint Architecture
Chapter 3: Pages and Design
En el capítulo de arquitectura se describe de una forma completa como funcionan WSS en el contexto del IIS y ASP.NET
Muy buena referencia.
» Leer más, comentarios, etc...
Jorge Dieguez Blog
Accessibility Kit for SharePoint 1.0
Noviembre 29th, 2007 - [Enlace local]
Accessibility Kit for SharePoint(AKS) 1.0 ya esta disponible para su descarga en CodePlex.
http://www.codeplex.com/aks
Se trata de un conjunto de plantillas, controles, paginas maestras y webparts que permiten dotar los sitios construidos con MOSS y WSS de características de accesibilidad para los discapacitados.
El producto permite reducir tiempos en el diseño y desarrollo de portales conformes con la WCAG 1.0 AA(Web Content Accessibility Guidelines)
Este producto se ha desarrollado por HiSoftware por encargo de Microsoft.
» Leer más, comentarios, etc...
design-nation.blog/es
Lo sé, lo sé
Noviembre 29th, 2007 - [Enlace local]
No es nada, pero no está mal verse a uno mismo en la web de Apple.
» Leer más, comentarios, etc...
Picando C??digo
Afiche All Your Base Are Belong To Us
Noviembre 29th, 2007 - [Enlace local]
Hablando en 1337 y ROFLCOPTER-eando con neXt A.K.A. Diego Cortinas, sali?? el tema de “All your base are belong to us“. En una charla sumamente geek, surgi?? la idea de hacer un afiche de dicha frase: AYBABTU.
neXt es un geek dise??ador, y con un poco de idea, ac?? est?? lo que sali?? de la idea. Clic para ver en mayor resoluci??n. La idea ser??a imprimirlo para tenerlo de afiche en una oficina, habitaci??n, ba??o, etc.
![]()
» Leer más, comentarios, etc...
Picando C??digo
Entrevista a Richard Stallman por Andr??s Lome??a
Noviembre 29th, 2007 - [Enlace local]
Richard Stallman fue entrevistado por Andr??s Lome??a, y ??sta entrevista se public?? en el sitio Versvs’s Blog. Como buen seguidor del profeta del software libre, reproduzco la entrevista respetando la licencia Creative Commons del sitio donde se public??.
En la entrevista, se expresa sobre varios temas filos??ficos, libertarianismo, pol??tica, sus influencias y dem??s temas. Richard Stallman es un revolucionario hist??rico para el siglo 21, y sus palabras rara vez tienen desperdicio. Un grande de grandes. Ya sea que usemos software libre o no, que pensemos igual o no, es una persona que cambio revolucionariamente el mundo de las computadoras y la tecnolog??a en general.
La entrevista en cuesti??n:
Respetando la licencia original
Autor: Andr??s Lome??a
Fuente: http://www.versvs.net/anotacion/entrevista-con-richard-stallman
ANDR??S LOME??A: Hola Richard, me gustar??a empezar recordando su cuento ???El derecho a leer???. Quiz??s ha subestimado el valor de sus historias de ficci??n.
RICHARD STALLMAN: S??lo he escrito tres cuentos en mi vida, y nadie ha visto el primero porque estaba bastante mal escrito.
A.L. : Ese cuento fue, en mi opini??n, un modelo indiscutible para la cultura libre, e incluso para la ciencia-ficci??n.
R.M.S. : ???El derecho a leer??? no vale mucho como ficci??n. S?? vale mucho como aviso del peligro, y ha lanzado una resistencia contra las ???esposas digitales??? que siguen creciendo.
A.L. : Cory Doctorow ha escrito recientemente un cuento sobre los peligros de Google, como si esta empresa fuera una especie de ???Gran Hermano???. En cualquier caso, quer??a preguntarle si ha pensado en escribir nuevos relatos de ficci??n, y en ese caso qu?? nuevos temas plantear??a, teniendo en cuenta los cambios que se han producido en Internet.
R.M.S. : Mi otro cuento, tambi??n de ciencia-ficci??n, se llama “Jinnetic Engineering” y est?? publicado en http://stallman.org/jinnetic.html. Pienso que es algo mejor como ficci??n. No tiene nada que ver con los temas pol??ticos de la tecnolog??a actual, sino generalmente con la ??tica. Espera a que tenga otra inspiraci??n para escribir otro cuento.
A.L. : He le??do que no usa tel??fono m??vil, no s?? si como forma de resistencia al control empresarial o por alg??n otro motivo.
R.M.S. : Es un tema m??s espec??fico. Un tel??fono m??vil ser??a muy c??modo y ??til para m??, pero tambi??n lo es para el ???Gran Hermano???. El proveedor de servicios siempre sabe d??nde te ubicas, y graba estos datos permanentemente. Otro peligro: los que conocen los c??digos pueden encenderlo para escucharte en cualquier momento, sin anunciarse. Algunos crackers saben hacerlo, y por cierto el proveedor y la polic??a lo saben. A pesar de la comodidad, resistir es nuestro deber de ciudadano. ??No alimentemos al Gran Hermano!
A.L. : Nos interesa saber c??mo se desarrolla la comunidad del software libre por dentro.
R.M.S. : Cada proyecto tiene sus propias pr??cticas y costumbres, porque no hay ninguna autoridad central sobre la comunidad. Conozco las costumbres de pocos proyectos, porque ya no tengo mucho tiempo para participar en la programaci??n. Los m??todos y costumbres del desarrollo no son mi enfoque, porque son un asunto t??cnico. Los asuntos ??ticos de la libertad del usuario y de la solidaridad social de la comunidad me preocupan m??s.
A.L. : En ocasiones se insulta y no se proponen argumentos, y los blogs a veces son un medio poco adecuado para aportar ideas. Pienso que existe un sector interesado en desacreditarle; tambi??n hay muchos que le apoyan incondicionalmente. Eric S. Raymond, por ejemplo, lleg?? a decir de usted que era un ???l??der sectario???. Pol??micas aparte, ??l ha escrito dos ensayos de cierta importancia: ???La catedral y el bazar??? y ???Conociendo la noosfera???. ??C??mo valora estas aportaciones a la teor??a?
R.M.S. : Raymond nunca apoyaba las ideas ??ticas del movimiento del software libre, y desde 1998 intenta debilitar el movimiento. Pienso que el motivo de sus ataques personales realmente no es personal, sino el deseo de disminuir mi influencia para promover el movimiento. A veces se presenta como ex-defensor fuerte, aunque nunca nos apoyaba tanto. Sospecho que lo hace para que su oposici??n actual tenga m??s influencia contra nosotros.
A.L. : No s?? si estas discusiones le parecen naturales o si encuentra demasiada virulencia en el debate planteado con el software libre. ??Ha recibido ataques personales? En resumen, si puede usted describirnos un poco el porqu?? de estas fricciones dentro del movimiento.
R.M.S. : Las fricciones principales dentro de la comunidad de software libre est??n entre los del movimiento de software libre y los que apoyan la filosof??a del ???c??digo abierto???. Esa filosof??a no habla de la libertad como meta, no se pregunta si el software privativo es ??tico o no. No plantea el asunto en t??rminos ??ticos, y no alude a valores ??ticos. Menciona s??lo valores pr??cticos, como un ???modelo de desarrollo??? para producir programas c??modos y fiables. Eric Raymond y Linus Torvalds son de ese campo. Sus sugerencias son ??tiles si quieres desarrollar un programa, pero hacen caso omiso del asunto m??s profundo. V??ase:
http://www.gnu.org/philosophy/open-source-misses-the-point.es.html
A.L. : S?? que la terminolog??a es muy importante para usted. Nos gustar??a comprender por qu?? el ???libertarianismo??? es tan diferente y controvertido. En Europa, usamos ???libertario??? como sin??nimo de ???anarquista???. En cambio, ???libertario??? es un concepto bastante m??s complicado en Estados Unidos.
R.M.S. : No es complicado, sino diferente. En los EEUU ???libertarian??? se usa ??nicamente para los que quieren eliminar todos los programas estatales de la seguridad social. Quieren reducir las funciones del estado al nivel m??nimo. No admiten que el resultado ser??a la pobreza general con ventajas para unos pocos ricos, y la destrucci??n total de la naturaleza. Ayn Rand fue un ejemplo. No traduzco ???libertarian??? como ???libertario???, sino como ???libertariano???, para evitar confusi??n. Claro que no soy libertariano.
A.L. : Muchos libertarianos son los conocidos como ???neo conservadores???. El debate es interesante porque los europeos no comprendemos c??mo se establecen conexiones ideol??gicas tan contradictorias en apariencia. ??ste ser??a el caso de la relaci??n entre la filosof??a de Ayn Rand y las ideas de Jimbo Wales (creador de Wikipedia). El objetivismo de Rand habla de la primac??a individualista y de un sistema capitalista, mientras que Jimbo Wales, deudor de las novelas de Ayn, cre?? un proyecto de enciclopedia libre que es comunitario y nunca individualista.
R.M.S. : No conozco tanto a Wales como para poder explicar su postura.
A.L. : Supongo que, adem??s, su amigo John Gilmore no es un libertario convencional, sino un libertario de izquierdas.
R.M.S. : Gilmore es de derechas.
A.L. : John Perry Barlow tambi??n es un libertario, pero ??ste fue acusado por Richard Barbrook de neoliberal. ??Podr??a aclararnos esta aparente paradoja?
R.M.S. : Me sorprendi?? descubrir en los a??os 90 que muchos defensores del software libre eran libertarianos. Desde hace unos a??os hacemos esfuerzos para dirigirnos a la izquierda, como por ejemplo al Partido Verde de varios pa??ses.
A.L. : Seg??n el libro ???Free as in Freedom??? de Sam William, hay una tensi??n entre el Stallman ideol??gico y el Stallman hacker. Este autor buscaba el origen de sus ideas revolucionarias, encontrando a Thoreau (escritor de la utop??a Walden) y al ambientalista John Muir en su corpus ideol??gico.
R.M.S. : Nunca he le??do nada de John Muir, y poco de Thoreau. Es posible que haya recibido influencias indirectas suyas, pero no las reconozco porque no conozco bien sus pensamientos.
A.L. : Probablemente no est?? muy preocupado acerca de c??mo le retraten en el futuro, pero me gustar??a conocer las influencias (pol??ticas, ideol??gicas, art??sticas) que usted abiertamente reconoce en su trayectoria personal e intelectual.
R.M.S. : Soy un ???liberal???. En los EEUU, ???liberal??? quiere decir ???dem??crata social???, m??s o menos. Es apoyar los derechos humanos y un estado que dirija la sociedad para eliminar la pobreza, proteger la naturaleza, proteger la salud p??blica, disminuir los enga??os que las empresas hacen a los ciudadanos, aceptar muchos estilos de vida, etc. Apoyar??a los programas sociales del ???New Deal??? de F.D. Roosevelt.
Cuando era joven, hab??a un movimiento de igualdad racial, la oposici??n a la guerra de Vietnam, el caso Watergate que desminti?? al Presidente Nixon y le hizo dimitir. Muchas lecciones de libertad y justicia. Tambi??n hab??a la influencia de la comunidad hacker de los a??os 70. En esta comunidad, compuesta mayormente de empleados y estudiantes del MIT y otras universidades, aprend??a cu??n bueno era una sociedad de libre cooperaci??n.
A.L. : Rober Cailliau, uno de los padres de Internet, declar?? hace poco que ya no usa la WWW porque su finalidad era comunicativa y a favor de la libertad, no una herramienta para el mercado. Usted abandon?? el MIT por motivos parecidos, si no me equivoco.
R.M.S. : No son parecidos. No conozco a Cailliau, pero no estoy ni estaba en 1983 en contra del negocio como tal. Estoy en contra del software privativo. El software privativo es el software no libre, el software que priva de la libertad a sus usuarios.
A.L. : Lamentablemente, el Capital parece devorarlo todo.
R.M.S. : ??No exageres! Tales declaraciones c??nicas y simplistas son falsas y desaniman la resistencia. Nuestros enemigos son poderosos pero no omnipotentes. Resistir es dif??cil pero no imposible. El movimiento del software libre ha ganado muchas batallas que yo no anticipaba ganar.
A.L. : La pregunta es la de siempre, ??c??mo podemos luchar en la actualidad por el software libre?
R.M.S. : Primero, no uses el software privativo. Defenestra tu computadora: o echar Windows de la m??quina, o echar la m??quina por la ventana. Segundo, hay que ense??ar a los usuarios a valorar su libertad para que no acepten el software que le prive de ella. Tambi??n tenemos que luchar contra los intentos de imponer leyes que prohiben el software libre. La Uni??n Europea, mostrando su car??cter no democr??tico, ya ha adoptado directivas injustas que prohiben la distribuci??n de programas libres para escaparse de la gesti??n digital de restricciones (o esposas digitales). Por ejemplo, prohiben la distribuci??n de programas libres para reproducir pel??culas en un DVD. Ahora piensa imponer patentes sobre ideas inform??ticas, de manera que cualquier desarrollador de software (que sea libre, o privativo, o de uso privado) pueda ser demandado por las ideas implemetadas en su c??digo.
A.L. : Su lucha a favor del software libre ha conseguido crear toda una ???cultura libre???. ??Qu?? otros campos de la cultura y el conocimiento defender??a, dejando el software libre a un lado? Por ejemplo, muchos pa??ses tienen un sistema educativo p??blico mientras que las escuelas se proveen con libros que pertenecen a editoriales privadas. ??Deber??amos reivindicar un cambio en este tipo de asuntos?
R.M.S. : Las obras educativas deben ser libres. Quiero recordar que Extremadura tiene el proyecto de desarrollar una serie completa de obras educativas libres para todas las clases de sus escuelas.
A.L. : ??En qu?? otras luchas pol??ticas est?? usted implicado?
R.M.S. : Apoyo la lucha por los derechos humanos y la democracia, mundialmente. Tambi??n lucho por la eliminaci??n de la Organizaci??n Mundial del Comercio, y de los Tratados de Bajo Salario como GATT, NAFTA, CAFTA, y los bilaterales.
A.L. : ??Hay muchas licencias de copyleft (copyleft)? ??Ser??a mejor tener m??s?
R.M.S. : Hay decenas de licencias libres, de las cuales unas pocas hacen copyleft, como la Licencia P??blica General (GPL) de GNU. Pero el copyleft es normal en el software privativo, porque m??s del 70% de los programas usan la GPL de GNU.
No ser??a bueno tener m??s licencias diferentes de copyleft, porque legalmente no es posible combinar las obras bajo una licencia con las obras bajo otra.
A.L. : No s?? si usted percibe esta proliferaci??n de licencias (BSD, Creative Commons, etc??tera) como algo malo o si por el contrario es una prueba de la pluralidad existente.
R.M.S. : Creative Commons dice que sus licencias no son para el software. Para software sugiere s??lo la GPL de GNU.
A.L. : ??Se siente usted c??modo con la etiqueta de ???gur??????
R.M.S. : Llamarme ???gur????? es falso, porque no intento coleccionar a seguidores, sino inspirar a activistas. No digo ???s??ganme como maestro???, como un gur??, sino ???s??ganme al ataque???.
A.L. : Nunca le he visto interpretar a ???San IGNUcio???, pero imagino que es una forma de bromear con el software libre, como si fuera una nueva religi??n.
R.M.S. : Tiene tres metas: burlarme de mi reputaci??n de gur??, burlarme de la religi??n, y ser comediante de ???stand-up???, que siempre fue una de mis ambiciones.
A.L. : Entonces, ??es usted ateo o agn??stico?
R.M.S. : Soy ateo practicante y en mi vida intento propagar el ate??smo. Para despedirme digo ???A ning??n di??s???. Si hubiera un dios como la cristiandad cree, ser??a un tirano injusto. En 1978 ped?? hacer una chapa que diga ???Impugna a Dios???. Si lo hab??amos hecho con Nixon, por qu?? no con un tirano a??n peor.
A.L. : Por otro lado, algo que me llama la atenci??n es su negativa a intentar predecir el futuro. ??Por qu?? la gente (mayoritariamente nosotros, los periodistas) est?? continuamente intentando descubrir c??mo ser?? nuestro futuro tecnol??gico?
R.M.S. : Predecir el progreso tecnol??gico tiene sentido, pero no s?? hacerlo. Lo que habitualmente me piden predecir es el resultado de nuestra lucha por la libertad. No lo hago porque depende de los actos de todo el mundo. Cualquier pron??stico sobre el resultado de una lucha por la libertad es un intento de profec??a autocumplidora. El deber de un ciudadano es no creer en ninguna profec??a del futuro, sino actuar para realizar el mejor futuro posible.
A.L. : ??Piensa que puede ganar el premio Turing alg??n d??a o es una utop??a?
R.M.S. : Que gane un premio no merece la palabra utop??a. Tengo una ambici??n m??s grande: eliminar el software privativo para que todos los usuarios de software sean libres. Es decir, la liberaci??n del ciberespacio. Esto s?? podr??a ser llamado “utopista”. O eres utopista, o eres autopista.
A.L. : A prop??sito, ??est?? usted algo decepcionado con el camino que han seguido algunos ganadores del premio de la Fundaci??n del Software Libre? Me refiero a personas como Guido Van Rossum, que ahora trabaja para Google, o Miguel de Icaza, que lo hace para Novell.
R.M.S. : No los juzgo seg??n qui??nes los emplean. No estoy en contra del negocio como tal, no critico a nadie s??lo por trabajar para una empresa. Lo importante no es qui??n les paga sino qu?? hacen. No s?? lo que hace hoy d??a Guido Van Rossum. ??Sigue trabajando sobre Python? Fue un buen trabajo antes, y supongo que lo es todav??a. En cuanto a Miguel de Icaza, lo critico mucho porque apoya proyectos de Microsoft que pueden da??ar la comunidad, como OOXML. Tengo sospechas de que tiene algo que ver con el pacto Novell-Microsoft, pero lo importante no es su motivo, sino el efecto. El negocio frecuentemente es una tentaci??n para actuar mal, pero lo bueno o lo malo de un acto es independiente de ser o no ser negocio.
A.L. : La GPL3 ya se ha lanzado. ??Cu??l es el siguiente reto para la Fundaci??n del Software Libre?
R.M.S. : No tenemos retos distintos, sino problemas que debemos corregir, mientras algunas empresas intentan empeorarlos. Una lista de problemas:
1) Los dispositivos que no funcionan sin software privativo. En esto vamos lentamente ganando, parcialmente.
2) Los proveedores de servicio de conexi??n a Internet cuyos servicios no funcionan sin software privativo. No s?? si estamos ganando o perdiendo en esto.
3) La gesti??n digital de restricciones (DRM). Hemos ganado bastante este a??o en el campo de la m??sica, y tambi??n con la ruptura del AACS, pero tambi??n hemos perdido; por ejemplo, la BBC ha comenzado a difundir sus programas con DRM.
4) Las patentes inform??ticas. Los EEUU recientemente las han impuesto en Per??, Colombia, Costa Rica, y otros pa??ses. La Fundaci??n del Software Libre (FSF) va a lanzar una campa??a contra las patentes inform??ticas en los EEUU.
5) La presencia de programas privativos en las distribuciones de GNU/Linux. Hay cientos de versiones del sistema GNU/Linux, y se llaman ???distribuciones???. Hace tres a??os, todas las distribuciones conten??an programas privativos. Hace un a??o hab??a dos que ten??an la pol??tica firme de rechazar todo software privativo: gNewSense y Ututo. Ahora est?? tambi??n Gobuntu, distribuci??n hermana de Ubuntu (que sigue conteniendo programas privativos). No podemos sugerir el uso de Gobuntu, porque se confunde f??cilmente con Ubuntu; no obstante, es progreso.
6) El ???impuesto de Microsoft???. Hace poco, los mayores vendedores de PCs los vend??an siempre con Windows, y la licencias de Windows siempre era parte del precio. Hemos hecho un progreso notable este a??o, ya que varias empresas ya venden PCs al p??blico con GNU/Linux. No las venden con distribuciones completamente libres, pero no obstante es un progreso, y as?? uno puede evitar pagar a Microsoft.
7) La ense??anza de Windows en las escuelas, cuyas clases sujetan a sus alumnos a Microsoft. El apoyo al software libre en Brasil crece, y Valencia ha decidido migrar al software libre. Pero las regiones y escuelas que han migrado son una peque??a fracci??n del mundo.
El apoyo del software libre por estados. En enero 2007, Rafael Correa, Presidente de Ecuador, anunci?? la decisi??n de migrar las administraciones p??blicas al software libre.
A.L. : Ya estamos acabando, Richard. ??A??n sigue programando, aunque sea ocasionalmente?
R.M.S. : S??, pero no mucho.
A.L. : ??Ha pensado volver como programador?
R.M.S. : No, porque ya soy viejo, y no puedo programar como antes. Nuestra comunidad ya tiene miles de programadores, mi ayuda como programador no cambiar??a tanto. Si alg??n d??a puedo cesar de luchar, pienso visitar a mi amiga profesora de tango para aprender a bailar bien.
A.L. : Quiz??s Linus Torvalds todav??a escribe porque sabe que ??sta es una buena forma de mantener ???cuotas de poder??? en el movimiento del software libre, ??No cree?
R.M.S. : Visto lo divertido que es la programaci??n, supongo que lo hace por el placer de programar. No necesitamos inventar otros motivos.
A.L. : Much??simas gracias por su amabilidad, Richard.
» Leer más, comentarios, etc...
Navegapolis
Observatorios de innovación
Noviembre 28th, 2007 - [Enlace local]
La innovación es un valor clave, tanto si es radical en el concepto de nuevos modelos, métodos, productos... o discreta incremental y continua, en un kaizen de valor innovador.
Estas son tres direcciones útiles como fuente de ideas para generar chispas de fertililzación cruzada:
¿Conocéis otros similares?
» Leer más, comentarios, etc...
Variable not found, 0:1
Evitar el postback al pulsar un botón en ASP.Net
Noviembre 28th, 2007 - [Enlace local]
De vez en cuando reviso las palabras por las que se llega a Variable Not Found a través de los buscadores, más que nada porque suelen reflejar dudas o problemas comunes de los desarrolladores y pueden servir como inspiración sobre nuevos temas a tratar en el blog.
Pues bien, llevo tiempo observando que hay muchas personas que preguntan a Google algo similar a "anular postback en botón", es decir, se tienen dudas sobre cómo evitar el disparo del postback al pulsar un botón de un formulario ASP.Net. El tema me ha parecido tan interesante que intentaré dar una respuesta a la duda estudiando algunas de las distintas posibilidades que pueden darse. Eso sí, si echáis en falta algún caso, no dudéis en comentarlo y lo trataremos lo antes posible.
I. ¿Hablamos de botones con lógica exclusivamente en cliente?
La primera cuestión es preguntarse para qué queremos un botón que no realice un postback al ser pulsado. Pensad que si todas las acciones desencadenadas por la pulsación del botón se realizarán en cliente es posible que no necesitemos un control ASP.Net. Imaginemos, por ejemplo, un botón que queremos que haga un cálculo en el cliente y muestre un cuadro de alerta con el resultado... ¿es necesario que sea un control de servidor (runat="server")? Seguro que no.Para este caso lo más apropiado es incluir en el .aspx un HTML INPUT de los de toda la vida:
<input id="Button1" type="button" value="button"
onclick="hacerAlgo();" /> Si eres de los que prefieren arrastrar y soltar, puedes hacer exactamente lo mismo utilizando los controles incluidos en la pestaña HTML de Visual Studio, en este caso el llamado Input(Button). El resultado visual será idéntico al de un Button (un botón de servidor) y estaremos aligerando tanto la página enviada al cliente como la carga del servidor.
II. Anular el postback en un botón de servidor
Otra posibilidad es que vayas a usar un control de servidor (un Button, por ejemplo) y sólo bajo determinadas circunstancias quieras anular el postback desde el cliente. Obviamente, estas circunstancias serían calculadas/obtenidas por script, por lo que podríamos aplicar un patrón como el siguiente:
...
<asp:Button ID="Button1" runat="server"
Text="Pulsa"
OnClientClick="return comprueba();" />
...
<script type="text/javascript">
function comprueba() {
return confirm("Confirme el postback");
}
</script>
Como se puede observar, se ha modificado la propiedad OnClientClick del botón para hacer que retorne el resultado de la llamada a la función comprueba(). Si ésta retorna cierto, se realizará el postback, mientras que si retorna falso, no lo hará. En el ejemplo anterior se permite al usuario decidir si desea enviar el formulario al servidor o no.
III. Anular la posibilidad de envíos múltiples
Hay otras ocasiones, sin embargo, en las que estamos utilizando un botón de servidor de forma normal y simplemente queremos evitar duplicidades en el envío del formulario, es decir, bloquear el botón correspondiente una vez el usuario lo haya pulsado la primera vez.Esto es muy habitual debido a la falta de feedback: el usuario envía el formulario, se impacienta esperando la respuesta o no está seguro de haberlo enviado, y cual poseso, inicia un ataque implacable sobre el botón de envío. ¿A que os suena?
El comportamiento típico, adoptado por la mayoría de sitios web, es deshabilitar el botón y seguir con el postback. Sin embargo, esto que podría ser realmente sencillo mediante scripting, causa algún que otro problema cuando el botón es de tipo Submit, puesto que en determinados navegadores (por ejemplo IE6) no realizará el envío si lo está generando un botón deshabilitado. Una forma de evitar este problema es hacer que el botón no sea de tipo submit e incluir un pequeño script:
<asp:Button ID="Button2" runat="server"
Text="Pulsa"
OnClientClick="this.disabled=true"
UseSubmitBehavior="False"/>Si el botón debe ser obligatoriamente de tipo submit, se deben utilizar soluciones alternativas. Googleando un poco he encontrado varias, como deshabilitar el botón pasadas unas décimas de segundo mediante un timer, o retocar los estilos del botón para, simplemente, hacerlo desaparecer y mostrar en su lugar un mensaje informativo. La mejor, para mi gusto, consiste en capturar el evento onsubmit del formulario web, así:
...
<form id="form1" runat="server" onsubmit="deshabilita()">
...
<script type="text/javascript">
function deshabilita()
{
var btn = "<%= Button1.ClientID %>";
if (confirm("Confirme postback"))
{
document.getElementById(btn).disabled = true;
return true;
}
return false;
}
</script>
Este último ejemplo lo he aprovechado para, además, mostrar cómo es posible realizar la captura del envío justo antes de que se produzca, en el evento OnSubmit, e introducir las confirmaciones de envío y deshabilitado de botones.
Publicado en Variable not found.
» Leer más, comentarios, etc...
Pensamientos ágiles
Multi-tenancy: diseñando con la escalabilidad en mente
Noviembre 28th, 2007 - [Enlace local]
Me ha gustado mucho un artículo que un compañero me ha pasado sobre el concepto de multi-tenancy. Se podría definir como la habilidad para ubicar varios clientes dentro de la infrastructura de una aplicación. Por otra parte, también me ha gustado una entrada de Jose Manuel Suarez en su blog en la que habla de optimización vs. hardware. Pensándolo esta tarde, me he dado cuenta de que, aunque no lo parezca a simple vista, existe bastante relación entre ambas entradas.
Como Fred Chong comenta en su blog, conseguir multi-tenancy es un trabajo duro. Por ejemplo, supongamos que tenemos una aplicación empresarial relativamente típica con un par de servidores web, un par de servidores de aplicaciones y un par de bases de datos, y que decidimos hacer nosotros el hosting de la aplicación. Realizar el hosting de la aplicación es mucho más práctico para la empresa proveedora de software ya que evita muchos problemas como el despliegue o la gestión de parches de cliente, al tiempo que hace más fácil la automatización; sin embargo, al mismo tiempo añade mucho coste en cuanto a infraestructura.
Por ejemplo el caso anterior está bien para un único cliente, ¿pero qué pasa cuando tenemos 5 clientes? En ese caso ya empezamos a hablar de 10 servidores web, 10 servidores de aplicaciones y 10 bases de datos a gestionar, y eso siempre que algún cliente no exija sistemas de demostración en cuyo caso las cifras pueden crecer todavía más. Excluyendo la administración, esto plantea dos problemas principales: el coste del hardware y el coste de las licencias de todo el software que estemos utilizando (servidores de aplicaciones, sistemas de monitorización, motores especiales como por ej. sistemas de comunicación para entornos financieros, sistemas de mensajería, etc.). ¿Qué pasa si estos 5 clientes son pequeños y no compensa el mantener esta infraestructura para ellos?
Esta es una de las razones por las que en aplicaciones complejas la aproximación "slashdot" o "youtube" de añadir servidores no funciona demasiado bien, ya que el escenario es más complejo. 
El diagrama de aquí arriba muestra las diferentes técnicas que pueden aliviar el problema de multi-tenancy. Las técnicas están ordenadas por densidad, siendo las de más arriba las que permiten compartir más clientes dentro de nuestra infrastructura, y las de más abajo las que menos clientes permiten compartir.
No voy a entrar demasiado en detalle en las diferentes técnicas, porque eso es otra historia, pero básicamente cada una de esas técnicas tiene un coste asociado. Ya sea en cuanto a necesitar soluciones propietarias, o ser complejo de mantener, o ser funcionalidades específicas de un sistema operativo. Por ejemplo, la virtualización es una solución excelente para solucionar el problema de multi-tenancy pero tiene el problema de que el número de máquinas virtuales que podremos alojar en un servidor físico es limitado y a mayores tenemos el coste de las licencias (o del mantenimiento) del sistema de virtualización que utilicemos.
Y bueno, entonces, ¿cómo se puede arreglar todo este embrollo?
La solución ideal es crear aplicaciones que puedan utilizar varios clientes a la vez. Si la aplicación es muy grande, entonces se debería dividir en diferentes módulos independientes entre sí y que pudiesen ser compartidos por diferentes clientes. Por ejemplo, un sistema de trading financiero podría tener por una parte en un servidor la gestión de las carteras de los diferentes traders, en otro servidor la gestión de las órdenes de compra y venta de todos estos traders, y en otro servidor la gestión de informes para los clientes y los bancos.
Esto es lo que Fred Chong llama "Shared Application Instance", el compartir porciones de una aplicación con diferentes clientes. Esta es la aproximación que permite la mayor densidad de tenancy en un sistema, y la que ofrece la mejor escalabilidad. En estos sistemas, denominados comúnmente no-homogéneos, es mucho más sencillo gestionar los recursos del sistema. Por ejemplo, si sabemos que la gestión de órdenes necesita más recursos que la generación de informes, podemos dedicar servidores más potentes a alojar el cluster del sistema de órdenes mientras que reservaremos servidores más modestos para el reporting.
El problema, y ahora es cuando vuelvo a enlazar con el post de Jose Manuel, es que migrar una aplicación existente para que pueda dividirse y servir a diferentes clientes es algo muy complejo y muy costoso si la aplicación no se ha diseñado desde un principio para ello. En muchos casos estaríamos ante un reto casi tan complejo como el tener que reimplementar la aplicación. Ahí está la importancia de diseñar y crear una arquitectura desde un principio pensando en la escalabilidad. La optimización prematura siempre es algo malo, pero no lo es sin embargo el diseño en busca de la escalabilidad y el rendimiento. El diseño en busca de escalabilidad puede que no de frutos en los primeros meses, puede que añada complejidad lógica en el sistema (por ejemplo con desacoplamiento de APIs y módulos, uso de sistemas de mensajería, etc.), pero a largo plazo, cuando el sistema crece, y cuando hay más clientes a los que servir, es cuando se ven realmente los beneficios.
Vaya ladrillo que me ha quedado. Felicidades si has sido capaz de llegar hasta aquí :-)
» Leer más, comentarios, etc...
Blog del grupo SQUaC
El grupo SQUaC en Expo:QA 2007
Noviembre 28th, 2007 - [Enlace local]
Manaña jueves, día 29 de noviembre de 2007, el grupo SQUaC estará presente en el evento Expo:QA 2007 en Madrid, dando una charla titulada "Accesibilidad web: principios, mitos, y algunos ejemplos prácticos". Expo:QA, que llega a su cuarta edición, es un lugar de encuentro de profesionales de calidad y testing de software organizado por la empresa [...]
» Leer más, comentarios, etc...
Blog de Federico Varela
Carrera de Ratas en el Desarrollo de Software
Noviembre 28th, 2007 - [Enlace local]
Hace unos meses leí parte de un libro llamado “Rich Dad, Poor Dad” escrito por Robert Kiyosaki, en el que entre otras cosas habla sobre el círculo vicioso en el que entramos las personas por querer ganar mas dinero con el objetivo de mejorar el nivel de vida, pero a su vez para mantenerlo debemos trabajar cada vez mas y de ésta forma perdemos el foco de lo realmente importante. Pero... ¿que
» Leer más, comentarios, etc...
design-nation.blog/es
FND postmortem
Noviembre 28th, 2007 - [Enlace local]
Por fin, el niño ha visto la luz. Y aunque lo cierto es que en vez de un niño yo quería niña, y que el parto se ha adelantado, creo que es buen momento para sentarse, coger una cerveza y fumarse un puro a su salud y a la mía. Que ya habrá tiempo de preocuparse por si aprueba las mates o no.
Por eso, porque tal vez sea interesante para alguien más, porque ya es casi una tradición entre todo el que lanza alguna aplicación para Mac OS X, y sobre todo porque me apetece soltarlo y verlo escrito, es por lo que quiero hacer esta especie de autopsia de lo que ha sido el proceso de desarrollo de una aplicación de escritorio.
Es importante tener un plan
Es fundamental saber lo que se quiere hacer. Obviamente, eso no garantiza que el resultado final sea un éxito comercial, pero sí que te pone en el buen camino para conseguir que al menos exista ese resultado final.
Durante los dos meses en los que he estado trabajando en Arriba! y en FND, no ha habido un sólo día en el que no haya tenido una nanoidea para comenzar una nueva aplicación, nanoideas que morían a los cinco minutos de comenzar a reflexionar en serio sobre ellas.
Por eso me parece fundamental el tener claro lo que se pretende hacer, y seguir adelante por el camino marcado.
Es muy importante tener más de un plan
Si algo he aprendido en estos meses es que no basta con que tú quieras hacer algo. Desgraciadamente, en un proceso tan largo y tan complejo hay mil una variables que te pueden desviar de tu camino, o que simplemente, te pueden hacer plantearte la necesidad de buscar una nueva vía.
Comencé a trabajar en FND para llenar los momentos de bloqueo en el desarrollo de Arriba!, para ayudarme a poner en el thread del fondo de la cabeza el punto muerto, el callejón sin salida en el que me había metido, a base de ocupar el supuesto grueso de la supuesta materia gris a resolver un problema completamente distinto. Al final, por circunstancias que espero que aún no sea tarde para cambiar, la aplicación que primero ha visto la luz ha sido la que desarrollaba como entretenimiento.
Lo de trabajar en dos aplicaciones a la vez es algo que, a partir de ahora, pienso hacer siempre.
Es importante trabajar en algo que te resulte útil a ti mismo
No es por tirarme el pisto ni dármelas de listo, pero hacer una aplicación de escritorio, por mucho que me gusten los frameworks Cocoa, y por mucho que éstos faciliten el trabajo, sigue siendo un auténtico dolor, y de los más inhumanos.
Por eso, aunque no por la razón habitual, aquella teoría de que así se producen aplicaciones más amigables, es muy conveniente que el desarrollador sea usuario de su propia aplicación.
Sinceramente, si no fuera porque necesitaba tanto Arriba! como FND, nunca las hubiera terminado. Son tantos los callejones sin salida, son tantas las vallas que hay que saltar, que la tentación de mandarlo todo al limbo de las aplicaciones inconclusas es enorme, y lo único que hace seguir adelante es pensar que tú vas a poder utilizar esa aplicación en la que estás trabajando y que has empezado a hacer porque no había ninguna otra cosa que te sirviera para tus malvados fines.
Por tanto, la mejor motivación para seguir es el producir algo para tu propio uso.
Es muy importante, y muy difícil, saber decir que no
Sobre todo, saber decirle que no a uno mismo. Es muy fácil intentar que tu aplicación haga de todo, que tenga mil y una funcionalidades, que sirva para todo, que sincronice datos por .Mac, que pueda exportar a galerías web, que importe de XML, CSV, SVG, y /o cualquier otra sigla.
Pero lo difícil es decidir dónde cortar, decidir qué entra en la primera versión y qué no. Entre otras cosas, porque puedes estar seguro que siempre va a haber algún usuario para el que la funcionalidad que tú has dejado fuera es fundamental. Eso hay que asumirlo.
Por eso es muy importante el marcarse un objetivo realista, que permita entregar una aplicación que haga cosas, pero que permita entregarla, y a ser posible en un plazo no demasiado largo. No hay que olvidar que el precio, al menos en mi caso, tampoco es muy alto, por lo que el desarrollo no puede eternizarse.
Tiempo habrá para incluir más y mejores funcionalidades en versiones y subversiones venideras. Además, guste o no, de eso va el negocio del software, de estirar hasta más allá de lo imaginable una aplicación, para sacar el mayor rendimiento posible a su codebase.
Eso sí, algunas de las decapitaciones de la primera versión de Arriba! y de FND no han sido nada fáciles, desde un punto de vista estrictamente personal. Ayer, en planetamac, oreixa apuntaba, con más razón que un santo, que una aplicación como FND, desarrollada por un castellano-parlante, no está localizada en castellano, lo que no es algo especialmente bueno, que digamos.
Desgraciadamente, los números cantan, y localizar en castellano una aplicación tan "de nicho" como FND no es rentable, se mire por donde se mire. Y ésa es una de las cosas en las que hay que pensar cuando necesitas lanzar algo.
No todo es programar
En realidad, en todo este proceso, lo que es programar en sí, supone sólo el 60% del trabajo, y eso con suerte.
Hay que escribir la ayuda, montar la web, la tienda, testar la aplicación, montar algún sistema de bugtracking o de gestión de soporte, hacer o buscar la forma de que alguien te haga el icono de la aplicación, los iconos del toolbar, escribir los textos de la web...
Y lo peor de todo, que sí que entra dentro del "programar": el montar el sistema anti-pirateo de las aplicaciones. Sobre eso volveré otro día con más tiempo y ganas, pero básicamente, todo se puede resumir como "jamás he dedicado tanto tiempo a nada tan inútil" como el sistema de encriptación de los números de serie, y la validación de los períodos de prueba. Tiempo que podría haber dedicado a meter alguna feature más, por cierto.
Pero al final, merece la pena
Sinceramente, no sé cómo funcionará todo esto, si realmente algún día llegará a merecer la pena económicamente o no, pero lo que sí que sé es que he disfrutado programando Arriba! y FND como no disfrutaba desde hacía años (profesionalmente hablando). Nunca había sentido nada comparable a la sensación, cercana al éxtasis, que produce el decidir lo que entra en tu programa y lo que no, lo que se hace y lo que no se hace, y sobre todo, el cómo se hace.
Pero sobre todo, merece la pena por todo lo que hay que aprender para poder salir de un proceso como éste con algo tangible en las manos.
Por eso, la sensación que se tiene cuando se cambia el número de versión a 1.0 y se compila es tan difícil de explicar. Por un lado es felicidad, mezclada con una sensación de absoluta libertad, pero por otro es también un gran alivio, con un cierto toque de miedo, no sé si al fracaso, o a exponerse al juicio y la valoración de otros.
Sin embargo, cuando entra el primer email con la notificación de una venta, entonces, ya sí, sólo quedan la felicidad, y el alivio.
Hasta el día 10 de enero, puedes comprar FND con un 20% de descuento, utilizando el siguiente cupón:
DESIGN-NATION.
» Leer más, comentarios, etc...
PHPBSD.net
Buscar funciones PHP desde Firefox
Noviembre 28th, 2007 - [Enlace local]
Si eres programador PHP y constantemente estás consultando la documentación de las funciones en www.php.net tienes varias opciones para optimizar esta tarea: usar una IDE con la documentación integrada, plugins para Firefox, tener la documentación en un archivo CHM en local, etc. La que para mi es la mejor es añadir un bookmark con la keyword “php” al Firefox porque prefiero visitar www.php.net y así poder ver los últimos comentarios de la gente.
Hasta que descubrí que el propio FireFox ya ofrece esta funcionalidad (no sé en que versión la añadieron, o quizás ha existido siempre) usaba un bookmark como este:
Location: http://es.php.net/%s
Keyword: php
Usando lo anterior, o con una versión reciente de Firefox, puedes escribir algo como “php mail” en la barra de direcciones para ir directamente a la documentación de la función
Hoy navegando he encontrado un bookmark más “evolucionado”:
Location: javascript:var lookUp=prompt(%22Función a buscar:%22, %22%22); if(lookUp!= %22%22 && lookUp != null) { window.location.href = ‘http://es.php.net/’ + lookUp; }
Keyword: php
Si lo añades en tu Bookmarks Toolbar con el nombre que quieras a parte de seguir ofreciendo la búsqueda rápida con la keyword “php” puedes clicar directamente el link y se te presentará un cuadro de diálogo preguntando por el nombre de la función.
Otra opción es instalar el plugin PHP Lookup para añadir una barra de búsqueda rápida como esta:
firefox, notas, php, php quicksearch, plugins, programación, webmaster
» Leer más, comentarios, etc...
Picando C??digo
Edubuntu - Educaci??n en las escuelas p??blicas!
Noviembre 28th, 2007 - [Enlace local]
En paralelo a Vector Linux, estoy por probar instalar en una m??quina virtual en mi otra m??quina Edubuntu. Hace un tiempo pedimos una cantidad especial de CD’s de Ubuntu y Kubuntu en ShipIt para entregar en la reuni??n de la RTE, y aprovech?? para pedir dos Edubuntus para probarlos.
Edubuntu, como dice el cd:
“Es un sistema operativo completo, que consiste de software libre y open source para la educaci??n. Parte del proyecto ganador de premios Ubuntu. Edubuntu est?? constru??do sobre la s??lida base de Ubunru para crear un sistema que soporte ambientes de sal??n de clase y laboratorios en escuelas y otros ambientes educacionales.
Las metas principales de Edubuntu son gesti??n centralizada de configuraci??n, usuarios y procesos, junto con dacilidades para trabajar colaborativamente en un ambiente de sal??n de clase. Igualmente importante es la recopilaci??n del mejor software libre disponible y materiales digitales para la educaci??n.
Lo interesante es que el CD trae versiones para una estaci??n de trabajo y para un servidor. Quiero investigar un poco como para ver la funcionalidad y ventajas de una implementaci??n as?? para escuelas p??blicas, revisando costos y requerimientos. Un servidor se puede armar con un CPU de 1Ghz, por lo menos 3GB de Disco, y 256 MB de Ram mas 128 por cada m??quina cliente. Los clientes, requieren un CPU de 500 Mhz con 128 MB de Ram y 2.5 Gb de disco.
Considerando ??sto, se podr??a armar un sal??n con un servidor con 2 Gb de Ram, un Pentium de 1. algo, y 14 m??quinas de 128 MB de Ram. Lo “caro”, ser??an los 2Gb de Ram necesarios en el servidor, ya que un Pentium 4 con 1.algo te lo tiran por la cabeza, y ni que hablar de computadoras Pentium 3 con m??s de 500 Mhz de CPU y 128 MB de Ram.
Con donaciones de empresas que hagan recambio de m??quinas, mas alguna compra juntando fondos por alg??n otro lado, los costos son irisibles comparados con los beneficios. Habr??a tambi??n que capacitar a los maestros en el uso del sistema, que supongo ser??a bastante f??cil debido a la orientaci??n de la distro. Adem??s seguramente se podr??a conseguir como trabajo voluntario de parte de usuarios de software libre.
Hace unos a??os, cuando est??bamos en el liceo, fuimos con DM a una escuela p??blica a ense??ar a los ni??os a usar las computadoras. (DM: si lees ??sto, ??te acord??s qu?? a??o fue? ??Era Windows 3.11?).
Les ense????bamos Paint y algo m??s, nada demasiado ??til, aunque totalmente novedoso para ni??os que nunca hab??an usado una computadora. Pero creo que usaban Windows 3.11 o 95. Si el ente estatal de las comunicaciones les donara acceso gratuito a internet, o de ??ltima se pagara uno de esos accesos limitados super econ??micos, se abrir??an muchas posibilidades de aprendizaje para los ni??os en escuelas p??blicas.
Algo as?? como lo que est??n haciendo los ni??os de Cardal con sus OLPC, pero con computadoras recicladas y software libre. Adem??s el software educativo que se puede conseguir libremente es excelente. Software para matem??ticas, astronom??a, qu??mica, y c??mo no, el querid??simo Logo! Sin mencionar las ventajas de “un pensamiento Google” que puedan aprender los ni??os, WikiPedia, y dem??s ventajas de aprender a usar Internet.
En verdad no es Edubuntu la ??nica distro que har??a ??sto posible, sino que hay muchas orientadas a la educaci??n. Pero es “la popular” del momento, por lo que su comunidad es bastante grande, y m??s ayuda se puede obtener en l??nea.
Todo esto son ideas locas que se me pasan por la mente… A lo mejor m??s adelante tengo algo de tiempo para dedicarme a investigar ??ste tema y hacer algun proyecto real al respecto.
» Leer más, comentarios, etc...
Picando C??digo
Probando Vector Linux
Noviembre 28th, 2007 - [Enlace local]
En mi vieja y querida “peque”, una IBM Thinkpad 22, con Pentium 3 de 900Mhz y 256 MB de Ram, ten??a instalado adem??s de Windows 2000, Ubuntu, que iba actualizando a medida que me llegaban los CD’s de ShipIt.
Sin embargo, a medida que avanzaban las versiones, disminu??a el rendimiento de la pobre peque. Borr?? Ubuntu, ya que la gracia en el 7.10 ya viene a ser Compiz, que sin tarjeta 3d, no tiene forma de andar. Y adem??s GNOME ya no me gusta para nada…
Ahora me instal?? VectorLinux 5.8.Vector Linux es una distribuci??n r??pida, liviana con software bien integrado, elegido a mano. Est?? basado en Slackware Linux, por lo tanto es estable y seguro. Adem??s, VectorLinux mejora Slackware b??sico con una instalaci??n m??s f??cil, Administraci??n del Sistema m??s amigable, y facilidades para empaquetamiento y muchas otras mejoras.
Basada en Slackware, es mi primer acercamiento a dicha distribuci??n. Es bien distinto a las distros Debianeras, pero siempre movi??ndose en un sistema familiar.Tiene una instalaci??n en modo texto, donde nos va preguntando cada opci??n, pero termina siendo sencillo. O ser?? que ya me acostumbr?? a lo que piden las intalaciones de Linux!
Un detalle gracioso del momento de configuraci??n de particiones del instalador. Cuando nos pregunta qu?? partici??n queremos usar como root, existe la partici??n DUMMY. Si presionamos Enter sobre dicha partici??n, que est?? seleccionada por defecto, te cuenta la historia de un desarrollador de VectorLinux, que estaba medio dormido probando el sistema, apret?? Enter sin darse cuenta y al otro d??a descubri?? que hab??a perdido toda su informaci??n. Por ??ste evento, don?? la partici??n DUMMY, para que no cometi??ramos el mismo error:

Detalles como ??ste encontr?? unos cuantos a lo largo de la instalaci??n, como si el instalador hablara con el usuario. Deja de lado la formalidad de otros sistemas. En el modo consola, por ejemplo, vemos un ping??ino a colores, el logo de Vector, y los datos del sistema, para variar un poco. Por defecto, viene con KDE, as?? que no tengo ni que seguir pele??ndome con GNOME a ver si logro entenderme con ??l. Con KDE y todo, que supuestamente consume m??s recursos, se nota m??s r??pido que Ubuntu. Tanto el arranque del sistema como el uso general (con todos los “efectitos” desactivados). Y tengo instalada la versi??n SOHO, “lista out of the box para uso avanzado del escritorio. Dise??ada para computadoras modernas pero a??n as?? optimizada y una de las distribuciones Linux m??s r??pidas y modernas disponibles.“
Tiene un sistema de administraci??n bien diferente: VASM (Vector Administrative and Services Menu), pero que a pesar de ser con men??s de texto en consola, no resulta dif??cil para un usuario acostumbrado.
Por ahora lo ??nico que hice fue optar por montar autom??ticamente las particiones Fat (tiene un Windows 2000 perdido por ah??) cuando inicia el sistema. En vez de hacerlo por fstab, mir?? en la documentaci??n, y trae una herramienta para hacerlo en /sbin/vmount.
Algunos programas de los que trae: Pidgin, Firefox y SeaMonkey (opcional: Opera), los programas KDE m??s conocidos para Internet , Gimp, OpenOffice (opcional), juegos de KDE, algunos programas de desarrollo, etc.
Por ahora me ha resultado bastante interesante, sobre todo por lo distinto, pero igual al mismo tiempo. Trae mucha documentaci??n con FAQ y dem??s, para encontrar c??mo hacer X cosa en VectorLinux. Una distro m??s que voy a ir usando para otras cosas…
Seguramente ya haya alguna versi??n m??s nueva, pero por ahora ??sta tiene las herramientas que estaba precisando: GCC y Kate. Los infaltables screenshots:
» Leer más, comentarios, etc...
niko's mini factory
Links for 2007-11-27 [del.icio.us]
Noviembre 28th, 2007 - [Enlace local]