Grepcode es un motor de búsqueda construído para desarrolladores Java, que nos permite buscar y navegar fácilmente proyectos open source almacenados en los repositorios de Maven, Eclipse, JBoss entre otros.
Grepcode no sólo nos facilita la tarea de buscar el código fuente de cualquier proyecto open source (en cualquiera de sus versiones) sino que además nos permite navegarlo mediante una cómoda interfaz web con outline, type hierarchy, stack traces, syntax highlighting, Javadocs…
Podemos por ejemplo acceder al cuerpo de un método/objeto desde cualquier lugar donde es llamado, aún si pertenece a otro proyecto, podemos buscar y navegar por las dependencias del proyecto.
En fin… con Grepcode podés despedirte de aquellos días en que tenías que descargarte e instalar el código fuente de un third party JAR en tu IDE, sólo para chequear unas pocas líneas de código responsables de una excepción.
Ahora todo el código fuente está disponible online con una simple búsqueda en www.grepcode.com
Google sigue lanzando servicios y productos sin parar. Esta vez ha presentado Go, un lenguaje de programación experimental y completamente abierto que combina la seguridad y rendimiento de C++ con la velocidad de un lenguaje dinámico como Python.
Con este lenguaje Google espera ofrecer una buena herramienta para trabajar en entornos con multiprocesadores y un modo fácil de ponerse a programar con la orientación a objetos y con las ventajas de tener, por ejemplo, el garbage collector para que no tengamos problemas de memoria. Podemos ver un ejemplo del aspecto del código de Go con el código típico del Hola Mundo:
package main
import “fmt”
func main()
{
fmt.Printf(“Hello, ??\n”)
}
En la web oficial ya están disponibles tutoriales y documentación para los que se animen empiecen a probar sus proyectos en este nuevo lenguaje. La mascota de Go es una ardilla terrestre llamada Gordon (en inglés el animal es un Gopher… Go, Gopher, Gordon).
Ayer se publicó una nueva beta del navegador de Google. Chrome beta 4 incorpora dos interesantes novedades y demuestra que la versión final de este navegador está cerca.
La novedad más anunciada, como puede verse en el vídeo, es la sincronización de marcadores entre varios ordenadores. De esta manera, se pueden disponer de los marcadores en los distintos ordenadores que utilicemos: en el trabajo, casa, el portátil.. para implementar esta funcionalidad han utilizado XMPP, tal y como ya hace GTalk.
La nueva beta, además ha visto incrementada su velocidad a la hora de ejecutar Javascript, incrementándose un 30% sobre la beta anterior y hasta un 400% desde la primera versión.
Aunque existen unas cuantas aplicaciones que pueden importar datos de Google Calendar, lo más habitual es tener que entrar en el propio servicio web para ver nuestra agenda y compromisos del mes. Esto tiene fácil solución gracias a la aplicación Thin Calendar.
Esta nos ofrece los datos de un vistazo en el propio escritorio de Windows, mostrando el calendario en la parte superior de este en formato traslúcido, para no tapar o molestar, permitiendo saber que días tenemos algún compromiso pendiente.
Thin Calendar es muy simple y se inspira en DateLine, una similar para Mac OS X, ofreciendo además el código fuente en C# para que podamos conocer como funciona por dentro.
Google acaba de solucionar dos vulnerabilidades graves en la versión estable de Chrome, que pueden hacer que un usuario malicioso tome el control del ordenador afectado.
Con un ataque dirigido al motor JavaScript de Chrome, un código malicioso insertado en una web permite al atacante tener acceso a información privada e incluso ejecutar código arbitrario.
El otro fallo explotaba información formateada en XML que causaba un bloqueo en la pestaña que la cargaba, y permitía la ejecución de código arbitrario, pero sólo dentro del sandbox del navegador.
Tan sólo hay que instalar la última versión de Chrome para tapar los boquetes. Puede hacerse desde el cuadro “Acerca de Chrome” en el menú de ayuda, o bien descargarlo desde el enlace al pié del artículo. Comprobad que la versión instalada es la 2.0.172.43 o posterior. Leer mas…
Publicado por Copán Galel el Aug 12, 2009 en: Informatica, XML
Así tal cual. Un juez ha ordenado a Microsoft que deje de vender Word, uno de sus programas estrella, debido a una infracción de patentes. El juez Leonard Davis, de Texas, prohíbe vender en los Estados Unidos, o importar hacia allá, cualquier producto de Microsoft Word que tenga la capacidad de abrir archivos .XML, .DOCX o .DOCM, todos ellos con el denominador común de utilizar XML personalizado.
En marzo de 2007, la compañía i4i demandó a Microsoft por una infracción sobre su patente de 1998 “sistema de documento que elimina la necesidad de insertar manualmente códigos de formato”.
XML es “lenguaje de descripción de páginas”, y permite crear etiquetas de formato para mostrar y editar documentos, por lo que el juez ha decidido que Word 2003 y 2007 infringen esa patente, y condena a Microsoft a pagar 200 millones de dólares en compensación, no venderlos, y a otros 77 millones por otros conceptos.
Esto no es más que otra demostración de que las patentes de software son estúpidas, y que donde las dan las toman. Microsoft siempre ha defendido las patentes de software, y ahora ve como una compañía patenta algo que ya existía (el primer borrador de trabajo de XML es de noviembre de 1996) y utiliza una corte de abogados para ganar dinero fácil. Los de Redmond, por descontado, recurrirán la sentencia.
Google acaba de lanzar la primera Beta de Chrome 3. Dentro de las novedades que apreciamos en esta nueva release de Chrome están la implemetanción de algunas partes del HTML5 (específicamente, se da soporte al tag < video >), la actualización del motor Javascript V8, y mejoras en las Developers Tools, las cuales ahora incoporan las pestañas Scripts y Profiles, y además puden ser ancladas en la ventana principal de Chrome para que trabajar con ellas sea menos dificil.
Asimismo, hay mejoras de usabilidad en la “Omibarra” (la barra de de direcciones de Chrome que también funciona como caja de búsqueda), la cual ahora muestra diversos iconos de acuerdo a si las sugerencias ofrecidas son elementos del historial, búsquedas, o sitios recomendados por Google.
Y por supuesto, está la flamante página de “nueva pestaña” . Lo mejor de todo es que en ella ya está completamente operativa la función de “tips y sugerencias” que nos recomienda sitios webs en función de las páginas que visitamos frecuentemente.
Los constructores son una especie de métodos con una estructura similar a la de los métodos, pero la diferencia que los constructores son invocados automáticamente cuando nosotros queremos instanciar un objeto de la clase a la que pertenece nuestro constructor. La función específica de los constructores es para inicializar valores en un objeto.
Veamos un ejemplo de esto:
public class Constructor {
int Valor;
Constructor()
{
Valor = 5;
}
}
Bien, acá podemos ver que tenemos una clase llamada Constructor la cual tiene una variable de tipo entero, la cual a través de nuestro constructor le indicamos que tome el valor de 5.
Son bloques de código los cuáles tienen una función específica en la creación de nuestras clases, los cuales devuelven si así lo deseamos un resultado o no.
Java divide la funcionalidad en dos módulos, los cuales son clases y métodos, esto hace más fácil la depuración del código de nuestra aplicación.
Un método debe ser específico según su funcionalidad, ósea debe tener una función estrictamente concreta y un código no muy extenso, reitero esto, para hacer su depuración más fácil y rápida. También debe tener un nombre especifico, recomendadamente que sea relacionado con la función que va a cumplir dicho método.
Veamos un ejemplo en código para ver de qué se trata.
int multiplicarValores(int a, int b)
{
return (a*b);
}
Este método se llama multiplicarValores, devuelve un valor de tipo entero y tiene dos parámetros de entrada, que son a y b. Las variables de nuestro método solo tienen valides dentro del código que contiene el método, fuera de este dejan de funcionar. Leer mas…
Hasta el momento, Google Translate permitía traducir un texto concreto, o una página web proporcionando su URL. La competencia ofrecía ya los mismos servicios, como el Babelfish de Altavista, aunque éste le superaba claramente en frikismo. Pero ahora han añadido una novedosa opción que los sitúa un paso por delante: traducción de documentos completos.
Pulsando en Upload a document, podemos enviar documentos de Word, presentaciones de PowerPoint, PDFs, archivos HTML o en texto plano. Google Translate convierte automáticamente ese archivo a HTML y te lo muestra traducido al idioma que quieras. Eso sí, no se mantendrá el formato o estilo del texto, pero para traducciones rápidas resulta bastante cómodo y rápido.
Pero le pongo, para mi gusto, una gran desventaja… es una pena que Google se haya limitado a los formatos propietarios de Microsoft, y no haya tenido el detalle de ofrecer el servicio para ODF, que sí es un estándar. He probado suerte con un archivo ODF, y para colmo el mensaje de error no puede ser más críptico: “Lo sentimos, no hemos podido traducir la página solicitada”.
Cuando uno revisa cualquier código de programación que le está planteando problemas, habrá ocasiones en las que no encuentra respuesta, y tendrá que acudir a foros, a mensajes de correo electrónico a determinados contactos, o resolver como buenamente pueda esos problemas. Es por ello por lo que existe Paste Question.
Se trata de una comunidad de preguntas y respuestas para programadores, donde unos plantean los problemas que tienen en sus códigos, añadiendo un fragmento de los mismos, para que otros les ofrezcan las mejores soluciones posibles. O sea, podíamos verlo como una comunidad tipo Yahoo Answers, aunque más simple y enfocado a los problemas que tienen los desarrolladores en los códigos de programación en los que están trabajando. Hay que señalar que Paste Question dispone de coloreado de sintaxis, lo que permite trata mejor los códigos expuestos. Leer mas…
Los paquetes en Java son una manera de organizar nuestras clases, ya sea por finalidad, por su relación con la herencia que tienen, etc. Al momento de crear una aplicación muy extensa el numero de clases va aumentando considerablemente y puede que se nos de que necesitemos colocarle el mismo nombre a dos clases distintas.
Un proyecto que recién comenzamos se crea en un subdirectorio con el nombre del proyecto, luego se crea la aplicación, un archivo que tiene como extensión .java, la cual tiene todo nuestro código de la clase y así sucesivamente podemos crear más clases en nuestro proyecto y quedaran en el mismo directorio. Bien, java tiene la función de los paquetes que nos ayuda a organizar esto cuando hay demasiadas clases, las cuales las podemos organizar en directorios distintos pero dentro del mismo proyecto.
Para poder utilizar la función de los paquetes debemos utilizar la palabra reservada “package”, la cual se tiene que ubicar antes de declarar nuestra clase ósea una línea antes que cuando escribamos la palabra class.
Ayer fue anunciada la versión final de VirtualBox 3.0, el software de virtualización libre y multiplataforma de Sun que permite instalar sistemas operativos invitados dentro del propio sistema huésped sin alterar el disco duro.
Actualmente con esta genial aplicación pueden virtualizarse todo tipo de distribuciones GNU/Linux y cualquier versión de Windows en las plataformas soportadas: Windows, Mac, GNU/Linux y Solaris.
Esta tercera edición ha sido una de las más esperadas de su desarrollo, puesto que además de mejorar el rendimiento de las máquinas virtuales instaladas también incorpora varias novedades interesantes como la capacidad de procesamiento multisimétrico (SMP) o el soporte para OpenGL 2.0 y para Direct3D 8 y 9 (todavía en fase experimental) en sistemas Windows.
Las mejoras de VirtualBox en materia de 3D y aceleración gráfica avecinan que próximamente tendremos la posibilidad de poder correr juegos sólo disponibles para Windows en otros entornos, de forma virtualizada, el cual es uno de los aspectos fundamentales de muchos usuarios a la hora de pensar si probar otras plataformas como Mac o GNU/Linux.
Se puede descargar para cualquier plataforma desde la propia página oficial del proyecto.
Maya Labs presenta desde hoy una nueva sección denominada “Java”, en la cual estaré presentando nuevas noticias sobre el lenguaje, definiciones de conceptos y algunas rutinas de programación para ahorrar un poco de tiempo valioso. Como ya hemos leido en otras fuentes JAVA, es un lenguaje de programación orientado a objetos (POO), por lo que es muy potente.
Declaración e Inicialización de Objetos
Para declarar o inicializar variables de referencia el proceso es muy parecido al de crear las variables de tipo primitivo. La única diferencia es que se debe crear un objeto de la clase que apunta a la variable de referencia ante de que podamos inicializar dicho objeto.
Para poder obtener este proceso debemos seguir los siguientes pasos:
Echadle un vistazo a la imagen superior. A la izquierda tenemos un email formateado en HTML visualizado en Outlook 2000, mientras a la derecha tenemos el mismo email visualizado en Outlook 2010. ¿Cuál es la razón de este gigantesco paso atrás? La decisión de Microsoft de cambiar el motor de renderizado de HTML de Outlook 2007, que anteriormente utilizaba el de IE y ahora utiliza el de Word. Este reemplazo se debe a razones de seguridad, para aislar a Outlook de todos los agujeros de seguridad de IE, pero con la gran desventaja de que ahora usa un motor de HTML obsoleto que tan siquiera reconoce gran parte de CSS.
Las betas de Office 2010 mantienen ese motor, y además el motor de Word sigue siendo tan limitado como antes, ya que no ha mejorado sustancialmente. Así que los usuarios de Outlook se han cansado, y con el proyecto Estándares de Email a la cabeza han lanzado una campaña para que Microsoft atienda a sus peticiones. Esta campaña se apoya en Twitter y está teniendo bastante éxito, siendo un ejemplo genial de cómo usar Twitter para este tipo de acciones. Personalmente, la página de la campaña me parece excelente, con los iconos de los usuarios apareciendo a medida que se van uniendo a la campaña. Otra cosa es que tengan éxito, pero por probar nada se pierde.
Un pobrecito hablador nos cuenta: «Soy químico de formación a punto de doctorarme. Durante estos últimos cuatro años, además de la tesis doctoral, también me he dedicado a labores de programación variada, diseño de webs, bases de datos, CGIs, estadística y minería de datos para el laboratorio en el que he realizado mi investigación predoctoral. También he publicado varios trabajos científicos en computación. La cuestión es que mi laboratorio está obligado a especificar y justificar mi trabajo y dedicación durante el periodo de disfrute de la beca que finaliza el mes que viene. Mi intención es buscar trabajo como programador junior, y mi duda es cómo puedo describir adecuadamente mi situación y experiencia. ¿Sería posible decir que poseo cuatro años de experiencia en IT? ¿Y cómo justificarlo? No tengo ninguna certificación oficial aunque he cursado 'media carrera' de I.T.I.G. en la U.N.E.D. al mismo tiempo que hacía mi tesis Doctoral. Uso Linux desde 2002 y me desenvuelvo bien en python, Java, C, R y MySQL. ¿Alguna sugerencia? Muchas gracias barrapunteros.»
reydelamirienda nos cuenta: «Trabajo en una empresa pequeña de software (móvil y web) para conferencias, y tenemos un potencial de crecimiento muy bueno, pero nos está suponiendo un enorme esfuerzo encontrar desarrolladores competentes. Hemos recibido 15 currícula de lo cuales, tan sólo 2 merecían la pena (es decir, no se sorprendían cuando les preguntabas qué era una 'clave foránea' o por algún patrón más alla del MVC). Después del proceso de selección, estas personas acabaron en empresas mucho más boyantes sin que pudiéramos siquiera hacerles una oferta en firme. No buscamos 'picamonos' en Java, buscamos 'hackers'. Necesitamos gente con iniciativa que sepa programar y estructurar una biblioteca 'con cabeza' (que no es lo mismo que saberse la sintaxis de Java), que conozca GitHub, que sean capaces de saber de qué va, por ejemplo, Titanium en un tiempo razonable. ¿Alguno os habéis encontrado con esta situación frustrante? ¿Alguna recomendación para contratar gente con este perfil y requerimientos? ¿Es un problema de educación o de mentalidad? Por cierto, nuestra oferta está en torno a los 40.000 euros brutos.»
Os comento un poco mi historia. Actualmente estoy acabando la ingeniería informática, y trabajando por mi cuenta como autónomo. Me dedico al mantenimiento de portales web, algunos de ellos con alto tráfico, balanceadores de carga, sistemas de caché, cloud conputing, etc y de momento no me va mal. Una vez acabada la carrera, me gustaría estudiar algo que realmente me gusta y relacionado con esto último, algún master, certificación o posgrado que me sirva tanto en mi trabajo actual como en el futuro para acceder a alguna empresa. He buscado y rebuscado por todos lados algo de este tipo pero solo encuentro información difusa. No me importaría ir a estudiar al extranjero y de paso mejorar un poco mi nivel de inglés. ¿Conocéis algun master o similar de estas características, a poder ser centrado en aplicaciones web de alto rendimiento? Saludos a todos.
Un pobrecito hablador nos cuenta: «Buenas, Tengo en el trabajo varios ficheros con datos sensibles que deben de cumplir la LOPD. Actualmente son ficheros de access y excel que estan en recursos compartidos en la red. Para cumplirla tengo que mantener una serie de registro como quién accede, hora, que modifica, etc... Podría programarlo yo, pero la verdad me va a llevar tiempo que no tengo y estoy buscando alguna aplicación en la que importar los datos (ya sea automático o a mano), crearle los usuarios y me mantenga un registro de todo lo necesario. Había pensado en montar algún gestor documental, tipo Nuxeo pero algo más sencillo, pero ahora mismo es demasiado para mantener solo tres o cuatro ficheros. Saludos.»
Benjamin nos cuenta: «Tener Twitter o Fecebook y pensar que eso es hacer Gobierno Abierto está muy lejos de la realidad. Es una de las claves que da Nagore de los Ríos, directora del Gobierno Abierto y comunicación en Internet del Gobierno de Euskadi en esta entrevista sobre Gobierno Abierto en Internet.» En la entrevista se habla mucho de Irekia, una plataforma para implementar el concepto de gobierno abierto. Irekia es, además, software libre, como debería serlo cualquier software desarrollado o pagado por la administración.
terminatorcero nos cuenta: «Desde hace unas semanas Google tiene la autorización del estado de Nevada para que sus coches sin conductor puedan circular por las carreteras del estado, en lo que es la primera prueba en condiciones de circulación reales de estos vehículos. Pero en cualquier caso todo esto no es suficiente para el estado de Nevada, que exige toda una serie de requisitos previos como una descripción detallada de todos los sistemas de autónomos que usa el coche para el guiado y el que este haya realizado al menos 10.000 kilómetros de prueba en circuitos cerrados. Además, es necesaria la presencia a bordo de al menos dos personas, una de las cuales debe estar en todo momento en condiciones de poder tomar el control del vehículo en caso de que sea necesario, amén de avales por un millón de dólares para cubrir los posibles daños que pueda causar el vehículo. Y con todo, aún falta mucho para que estos vehículos se vayan a convertir en una presencia habitual en las carreteras del mundo.»
T. Mills Kelly enseña "Lying about the Past" en la universidad George Mason de Virginia. En el curso se estudian fraudes y engaños que se han dado en la Historia. Lo controvertido viene en la parte práctica, para la cual los alumnos preparan un engaño y se lo intentan colar a la población. The Atlantic cuenta los resultados de varios cursos. En 2008, se inventaron un pirata de finales del siglo XIX. Crearon una página en Wikipedia y la apoyaron con videos en YouTube y un weblog de la "investigación". A Jimbo Wales no le hizo gracia. Para este año, había dos proyectos: Un equipo se inventó una receta de cerveza encontrada en la cervecera donde se hizo la bandera que inspiró el himno de Estados Unidos, aunque el timo no atrajo mucha atención. Otro equipo sembró pistas de que un antepasado de una estudiante podría haber sido Jack el Destripador y estaba detrás de varios asesinatos (reales) en Nueva York. Aprovecharon los datos reales para añadir detalles falsos. Crearon páginas de Wikipedia sobre las víctimas reales y falsificaron fotografías. Sin embargo, rápidamente, en Reddit empezaron a sospechar de la historia. Yoni Appelbaum de The Atlantic usa los casos para comparar las defensas antiengaño de las comunidades de Wikipedia y Reddit. También plantea si es ético intentar engañar para demostrar que nos pueden engañar. ¿De qué color debe ser el sombrero de los historiadores? ¿Se justifica la parte práctica de este curso? ¿Es legítimo que te engañen "para que espabiles"? ¿Nos podemos fiar de lo que leemos en Wikipedia?
pobrecito hablador nos cuenta: «David Shankbone es uno de los fotoperiodistas más influyentes de la actualidad. Sin embargo, no es fotógrafo profesional, lo hace por hobby. Su secreto: distribuye toda su obra con licencia Creative Commons, lo que le ha servido aparecer en más de 5000 artículos de la Wikipedia y todas las publicaciones de prestigio internacional habidas y por haber: New Yorker, Vanity Fair, Forbest, Business Insider y The New York Observer. Sin embargo, es un fotógrafo muy polémico, porque no obtiene ningún beneficio económico con su actividad, y eso genera mucha controversia entre fotógrafos profesionales, ya que cuando uno quiere ganarse la vida haciendo fotos, no ve la manera de ganar dinero con ellas a través de esta licencia. Y es que mientras que Creative Commons es ya un modelo de negocio viable en ciertas disciplinas como la música, en otras no acaba de encontrar su lugar para que los profesionales apuesten por él. Habría que preguntarse si el concepto de copyleft es viable para cualquier ámbito o sólo para aquellos en los que se puedan conseguir formas alternativas de ganar dinero. En cualquier caso, si lo que buscas es simplemente compartir con los demás tus obras, como hace David Shankbone, con el único afán de vivir experiencias interesantes y hacer lo que te gusta, el debate está servido: ¿se puede considerar libertad si esta actividad condena a fotógrafos que ganan dinero con su trabajo a cambiar de actividad?»
bigoc nos cuenta: «Los virus podrían dejar de ser el enemigo para pasar a ser un socio energético. Científicos estadounidenses han desarrollado una forma de generar electricidad utilizando a los virus. Construyeron un generador con un electrodo diminuto ubicado sobre una delgada película de virus especialmente manipulados genéticamente. Cuando se tamborilea sobre el electrodo, los virus convierten la energía mecánica en electricidad. Fuente en inglés: BBC»
La Escuela de Ingeniería Minera e Industrial de Almadén, fundada por Carlos III en 1777, va a ser cerrada en los próximos años, ya que el rector de la UCLM le ha transmitido al director de la Escuela que no se van a poder matricular nuevos alumnos a partir del curso 2012-2013, paso supuestamente previo a su cierre. En esta Escuela, en la que se imparten 4 grados de 4 años cada uno (Ingeniería Eléctrica, Mecánica, Tecnología Mecánica y Recursos Energéticos) a un total de 600 alumnos, se están empezando las movilizaciones contra este cierre. Esta es una de las muchas Escuelas repartidas por los campus de las múltiples Universidades españolas, cuyo prestigio a nivel mundial quizás que no sea el adecuado: en el ranking QS World University de 2011 España sitúa a la Universidad de Barcelona en el puesto 176, a la Autónoma de Barcelona en el 194, a la Autónoma de Madrid en el 222 y a la Complutense de Madrid en el 253. ¿Creéis que con las Universidades y sus campus pasa algo parecido a lo que ocurre con los aeropuertos, que en cada provincia o ciudad importante se ha instalado uno? ¿Es adecuada la calidad de la enseñanza universitaria en España? ¿Es viable o necesario desde el punto de vista de la estrategia de futuro de España mantener Escuelas como la de la noticia, con 4 grados de 4 años cada uno para un total de 600 alumnos? ¿Deberían de eliminarse campus o Facultades cuando su número de alumnos o su rentabilidad no sea la adecuada, como es el caso de muchas Facultades de carreras de letras? Actualización por Amieiro a las 20:50 horas UTC. Me comenta JJ Merelo que la UCLM ha publicado un comunicado sobre la reestructuración de titulaciones donde indica que los motivos de esta reestructuración son "la proximidad geográfica de las titulaciones repetidas [2 en Ciudad Real a poca distancia], el número de estudiantes matriculados en cada titulacióny el fortalecimiento de la oferta de titulaciones de la UCLM". Además la propuesta " no incluye el cierre del centro ni la imposibilidad de que accedan estudiantes de nuevo ingreso el próximo curso académico". Otro caso curioso es el de la Licenciatura o Grado en Administración y Dirección de Empresas en Galicia, en donde hay facultades en Coruña, Lugo, Ourense, Santiago de Compostela y Vigo.