Blogia

jdconocimientos

Fundación Linux opina que ya derrotó a Microsoft

Fundación Linux opina que ya derrotó a Microsoft

Desde sus inicios, el némesis de Linux fue Microsoft y la lucha del software libre era ganarle a la compañía fundada por Bill Gates. Pero eso ya se terminó, dice el director ejecutivo de la Fundación, Jim Zemlin.

Creo que ya no nos importa tanto Microsoft. Solían ser nuestros grandes rivales, pero ahora es como patear a un cachorrito”,  afirmó Zemlin en una entrevista a Network World.

Linux, efectivamente, supera a Microsoft en casi todos los mercados, excepto por uno:  los computadores de escritorio. En servidores y equipos móviles, el software libre lleva la ventaja.

“Creo que en el aniversario número 20 (de Linux), vale la pena reflexionar y ver desde dónde vinimos. Linux tuvo un inicio humilde como el proyecto de un estudiante universitario en Helsinki, algo sobre lo que hoy en día corre el 70% del comercio bursátil global, algo que impulsa, realmente, la mayor parte del tráfico en Internet, ya sea Facebook, Google o Amazon”, indicó Zemlin.

 

Linus Torvalds desarrolló el kernel de Linux en 1991. Actualmente el software se puede encontrar en televisores, cámaras de video, lectores de e-books, tablets y teléfonos (sobre todo con Android) y en casi todos los supercomputadores (el 90% de los 500 más poderosos usan Linux).

“Linux ha dominado casi todas las categorías de la computación, menos los equipos de escritorio”, reconoció Zemlin. Windows tiene casi el 90% de participación en esta área, mientras el porcentaje restante se lo reparten entre Mac y Linux. El que éste último no haya podido conquistar más participación “es una decepción para muchos”, dice Zemlin. “La buena noticia es que los equipos tradicionales de escritorio se están volviendo menos importantes, y áreas donde Linux es muy importante en términos de clientes se están volviendo más relevantes”, indicó.

Microsoft: Windows 8 incluirá su propio lector PDF

Microsoft: Windows 8 incluirá su propio lector PDF

Microsoft está planeando incluir su propio lector PDF(Portable Document Format) en Windows 8, el cual se llamará Modern Reader.

Esta es la primera aplicación descubierta que usará la nueva aplicación de paquete de tipo AppX, según lo han revelado Rafael Rivera y Paul Thurrott.

Modern Reader será un completo lector de archivos PDFque incluirá funciones para hacer zoom (in y out), un depurador de páginas en el lado de la ventana de la aplicación para la navegación del documento (un botón Atrás que aparecerá en la esquina superior izquierda), y compatibilidad para ver dos hojas lado a lado.

Windows no incluía su propio lector PDF debido a la popularidad de Adobe Reader, pero debido a la lentitud del mismo, y viendo que otros programas como el Foxit Reader abren un PDF en 1 segundo entonces Microsoft se ha animado a tener su propio lector PDF.

Antes, cuando Microsoft estaba desarrollando Office 2007, prometió el soporte para la exportación a formatoPDFAdobe hizo objeciones legales, y Office 2007 por esa razón no ofrecía soporte PDF nativa, sino más bien como una descarga gratuita independiente. A partir del Service Pack 2, sin embargo, Office ha permitido a los usuarios guardar sus documentos de forma nativa en formato PDF.

No estamos seguros si Microsoft ha hablado con Adobe acerca de la nueva característica que tendrá Windows 8. Podría estar bien si es sólo un lector de PDF, pero por otra parte, Microsoft ha tenido muchos problemas antes por querer abracarlo todo. Pero la verdad ya era hora de que lanzaran uno, espero sea tan rápido como el Foxit Reader, sin duda uno de los mejores lectores de PDF en la actualidad.

Descarga Ubuntu 11.04 Beta

Descarga Ubuntu 11.04 Beta

La próxima versión del escritorio de Ubuntu, la famosa distro de Linux, será lanzada el 28 de abril de este año 2011 y contará con algunos cambios muy grandes, como una escritorio renovado y Unity, un “Test Drive” para aplicaciones, y una instalación por defecto de LibreOffice. Trate de todo y ver cómo se ejecuta con la versión beta pública.

La versión de Ubuntu 11.04 Beta está disponible para la descarga gratuita. La mejor manera de probar la beta es cargarla en una memoria USB, se recomienda UNetbootin para esa tarea. Recuerden descargar el ISO adecuado (Desktop x86 en la mayoría de los casos), conecte su memoria USB, a continuación, inicie UNetbootin y elija la opción para ISO.

Si ya han estado usando Ubuntu 11.04 Natty Narwhal en sus etapas alfa entonces no pierdan la oportunidad de probar Ubuntu 11.04 Beta, que de verdad está increíble.

Descargar: Ubuntu 11.04 Beta

Google añade protección contra aplicaciones maliciosas

Google añade protección contra aplicaciones maliciosas

Google está tomando medidas enérgicas sobre lasaplicaciones maliciosos de Windows con una expansión en su lista negra a la hora de la navegación. Google ha agregado protección para los usuarios en Chrome.

El gigante motor de búsqueda anunció la expansión de su API de navegación segura el día de ayer martes, que ha sido utilizado por los navegadores web durante los últimos cinco años para identificar los peligros potenciales para los usuarios, tales como sitios web de phising.

Los usuarios de Chrome cuando sin darse cuenta intenten descargar aplicaciones maliciosos en Windows verán ahora un pop-up de advertencia cuando se intente descargar dicho archivo.

Desde el mismo Google Code nos comenta:

¿Qué es el API de navegación segura?

El API de navegación segura de Google es un API experimental que permite a las aplicaciones cliente comparar direcciones URL con las listas negras de páginas de software malintencionado y posible suplantación de identidad que Google actualiza continuamente. La aplicación cliente puede utilizar el API para descargar una tabla encriptada y realizar búsquedas locales de las direcciones URL que desees comprobar.

Éstas son algunas de las cosas que podrás hacer con el API de navegación segura:

  • Advertir a los usuarios antes de que hagan clic en enlaces que aparecen en tu sitio si conducen a páginas infectadas por software malintencionado,
  • Impedir que los usuarios publiquen enlaces a páginas de suplantación de identidad desde tu sitio,
  • Comparar una lista de páginas con las listas de páginas de posible suplantación de identidad y software malintencionado de Google.

Google publica plugins gratuitos de instantiations para Java

En agosto, Google compró la empresa Instantiations, empresa encargada de desarrollar plugins de Eclipse para facilitar la creación de interfaces gráficas en Java, ya fuera aplicaciones de escritorios, aplicaciones web...

Hace unos días, Google ha lanzado un portal donde poder descarganos de forma gratuita estos plugins, lo que ayuda considerablemente a la programación en Java. Los productos que podemos utilizar de forma gratuita son:

GWT Designer: Este plugin nos permitirá la creación de aplicaciones Ajax de forma gráfica utilizando Google Web Toolkit. Con esto se intentará que todo aquellos que no utilizaban GWT, se acerquen a este framework y lo utilicen para el desarrollo de sus aplicaciones.

CodePro AnalytiX. Plugin que permite hacer pruebas de código tanto de calidad como de seguridad.

Windows Buider Pro. Herramientas gráficas WYSIWYG para construir interfaces de usuario con Swing, SWT, GWT, RCP y XWT.

Windows Tester Pro. Permite generar pruebas automatizadas sobre interfaces Swing o SWT.

Oracle nos presenta sus planes para Java

Oracle nos presenta sus planes para Java

La empresa Oracle ha dado a conocer sus planes para el lenguaje de programación Java, cambiando su idea original de presentar una nueva versión de JDK para el 2012, en hacerlo en dos fases, a mediados de 2011 se lanzará la versión 7, mientras que en 2012 habrá una versión 8. 

La nueva versión traerá nuevos cambios, entre los que destacan:

  • Soporte para lenguajes dinámicos sobre la máquina virtual, facilitando la ejecución de lenguajes como Python o Javascript.
  • Mejoras en el lenguaje para hacer más fácil la programación, como por ejemplo simplificar la forma en la que los programadores usarán los recursos, es decir, no se tendrán que preocupar de liberar recursos, porque la máquina virtual lo hará automáticamente.
  • Simplificar el uso de errores.


El temor que había cuando Oracle adquirió Java parece que se van despejando, a la vez que muestran sus ideas.

Lumigon planea lanzar Android multimedia con amplificadores

Lumigon planea lanzar Android multimedia con amplificadores

Los móviles Android están siendo creados alrededor del globo en multitud de fábricas, sumándose ahora Lumigon desde Dinamarca, quien lanzará un Android con cantidad de chiches multimedia incluyendo unos amplificadores ICEpower y un puerto HDMI. El teléfono correrá con un procesador Freescale i.MX515 a 800MHz, usará una pantalla touch de 3,5 pulgadas con resolución de 480 x 800, tendrá una cámara de 5 megapíxeles, A-GPS, Bluetooth y radio FM.

Se espera el lanzamiento para fin de año, y no esperes que sea barato.

Oracle compra a Sun: ¿que le depara el futuro a MySQL, Java, Solaris y OpenOffice?

Oracle compra a Sun: ¿que le depara el futuro a MySQL, Java, Solaris y OpenOffice?

Después de que se cayeran las pláticas con IBMOracle hizo una oferta por USD $7.4 billones que parece ser definitiva para comprar a la empresa Sun Microsystems, la cual tiene en su catálogo de soluciones herramientas como el popular motor de base de datos MySQL, el aún más popular lenguaje Java, el sistema operativo basado en UNIXSolaris, y varias tecnologías de hardware que incluyen servidores, almacenamiento de alto rendimiento y soluciones de redes. Oracle por su parte, tampoco necesita mucha introducción; todos conocen su motor de base de datos del mismo nombre, el cual sobra decirlo es uno de los motores de base de datos de nivel empresarial más usados, aunado a que ofrecen una cantidad impresionante de soluciones de software. Ahora bien, algunos antecedentes rápidos para entender mejor toda este drama: históricamente, Oracle ha sido una compañía que siempre ha sabido sacarle jugo (léase: dinero) a su software; Sun es la otra cara de la moneda, pues tiene varios proyectos que son de fuente abierta, y aunque ha intentado ganar dinero con ellos, lo ha hecho de manera muy sutil.

Comentando un poco más sobre la compra, sobra decir que Oracle compró a precio de ganga a la Sun, puesto que un año antes Sun compró MySQL por un billón de dólares. Oracle, en el proceso actual de compra, adquirió no sólo MySQL, sino tecnologías como Java, que hoy por hoy es uno de los lenguajes más usados, sobre todo a nivel empresarial, y todas las demás tecnologías desarrolladas por Sun, que tampoco son menos importantes.

Retomando el tema, muchos usuarios de varias de las tecnologías de Sun (sean desarrolladas o adquiridas por ellos), principalmente Java y MySQL, están preocupados por qué pueda pasarles a estas tecnologías. Esto es lo que creo que puede pasarles:

 
Java

Java es software más importante que ha adquirido Oracle“, dice en algún lugar el comunicado de prensa. En el mismo también dice que hay dos tecnologías claves para Oracle: Java y Solaris (más de este después). ¿Porqué Java? porque muchas de las soluciones que ofrece Oracle están basadas en Java; aunque de por si Java no peligra mucho que digamos, pues Sun ha liberado la mayoría de las tecnologías de Java bajo la licencia GNU GPL hace ya un tiempo. Sin embargo, el único riesgo que queda es que, como antes Sun fue la fuerza dominante detrás de lo que se hacía y no se hacía con Java, ahora lo será Oracle; y nadie está seguro que no lo vayan a usar para sus propios fines, pues así como ellos usan la tecnología Java en sus productos, sus competidores también lo hacen. Y por cierto, uno de esos competidores que usan Java en sus productos de manera significativa, se llama IBM.

Solaris

De nuevo, Oracle quiere a Solaris, pues es el sistema bajo el cual corren las más instalaciones de Oracle. Solaris no tendrá problemas. Podría significar problemas para Linux,

MySQL

El caso de MySQL es extraño: históricamente Oracle no ha sido precisamente un partidario del software de fuente abierta, sino todo lo contrario. Las opciones de Oracle respecto a MySQL son pocas: o lo termina, o lo vende a un tercero, o bien lo adopta y acepta al software de fuente abierta. Es curioso que hace unos días se liberó también la versión 5.4 de MySQL, la cual levanta la limitación de sólo tener soporte para 4 núcleos, expandiendo su límite a 16: en otras palabras, hola nivel empresarial, haciéndolo un competidor respetable a ese nivel. ¿Porqué lo querría Oracle? ¿Donde lo situaría en su lista de productos? por otro lado, Oracle sería estúpido si no continuara el desarrollo de MySQL; no olvidemos que Oracle es el dueño de InnoDB, el motor de almacenamiento para MySQL, lo cual significa que ahora ambos están reunidos bajo un mismo techo. Espero que Oracle decida continuar el desarrollo de MySQL y cimentarlo como una opción ideal como motor de base de datos para desarrollo web. Eso o molestar a la inmensa comunidad de usuarios de MySQL, pues la base instalada es de 12 millones.

OpenOffice

Si no cambia de manos, no veo otra cosa sino oscuridad para OpenOffice; simple y sencillamente no veo donde lo pueda posicionar Oracle en su portafolio de soluciones, o porqué quiera hacerlo. Ojalá que lo transfieran a alguna fundación que esté interesada en continuar su desarrollo.

Así que en resumen, Java y Solaris estarían del otro lado; el futuro de MySQL, a mi parecer, luce incierto, y el de OpenOffice luce bastante gris. Nadie puede esconder lo que es, y Oracle jamás ha escondido que una de sus motivaciones, aparte de vencer a Microsoft, es ganar dinero. Y son bastante buenos haciendo justamente eso.

Hilos en Java

A veces necesitamos que nuestro programa Java realice varias cosas simultáneamente. Otras veces tiene que realizar una tarea muy pesada, por ejemplo, consultar en el listín telefónico todos los nombres de chica que tengan la letra n, que tarda mucho y no deseamos que todo se quede parado mientras se realiza dicha tarea. Para conseguir que Java haga varias cosas a la vez o que el programa no se quede parado mientras realiza una tarea compleja, tenemos los hilos(Threads).

 

Crear un Hilo

Crear un hilo en java es una tarea muy sencilla. Basta heredar de la clase Thread y definir el método run(). Luego se instancia esta clase y se llama al métodostart() para que arranque el hilo. Más o menos esto

public MiHilo extends Thread
{
   public void run()
   {
      // Aquí el código pesado que tarda mucho
   } 
};
...
MiHilo elHilo = new MiHilo();
elHilo.start();
System.out.println("Yo sigo a lo mio");

Listo. Hemos creado una clase MiHilo que hereda de Thread y con un método run(). En el método run() pondremos el código que queremos que se ejecute en un hilo separado. Luego instanciamos el hilo con un new MiHilo() y lo arrancamos con elHilo.start(). El System.out que hay detrás se ejecutará inmediatamente después del start(), haya terminado o no el código del hilo.

Detener un hilo

Suele ser una costumbre bastante habitual que dentro del método run() haya un bucle infinito, de forma que el método run() no termina nunca. Por ejemplo, supongamos un chat. Cuando estás chateando, el programa que tienes entre tus manos está haciendo dos cosas simultáneamente. Por un lado, lee el teclado para enviar al servidor del chat todo lo que tú escribas. Por otro lado, está leyendo lo que llega del servidor del chat para escribirlo en tu pantalla. Una forma de hacer esto es "por turnos"

while (true)
{
   leeTeclado();
   enviaLoLeidoAlServidor();
   leeDelServidor();
   muestraEnPantallaLoLeidoDelServidor(); 
}

Esta, desde luego, es una opción, pero sería bastante "cutre", tendríamos que hablar por turnos. Yo escribo algo, se le envía al servidor, el servidor me envía algo, se pinta en pantalla y me toca a mí otra vez. Si no escribo nada, tampoco recibo nada. Quizás sea buena opción para los que no son ágiles leyendo y escribiendo, pero no creo que le guste este mecanismo a la mayoría de la gente.

Lo normal es hacer dos hilos, ambos en un bucle infinito, leyendo (del teclado o del servidor) y escribiendo (al servidor o a la pantalla). Por ejemplo, el del teclado puede ser así

public void run()

   while (true)
   {
      String texto = leeDelTeclado(); 
      enviaAlServidor(texto); 
   } 
}

Esta opción es mejor, dos hilos con dos bucles infinitos, uno encargado del servidor y otro del teclado.

Ahora viene la pregunta del millón. Si queremos detener este hilo, ¿qué hacemos?. Los Thread de java tienen muchos métodos para parar un hilo: detroy(),stop()suspend() ... Pero, si nos paramos a mirar la API de Thread, nos llevaremos un chasco. Todos esos métodos son inseguros, están obsoletos, desaconsejados o las tres cosas juntas.

¿Cómo paramos entonces el hilo?

La mejor forma de hacerlo es implementar nosotros mismos un mecanismo de parar, que lo único que tiene que hacer es terminar el método run(), saliendo del bucle.

Un posible mecanismo es el siguiente

public class MiHilo extends Thread
{
   // boolean que pondremos a false cuando queramos parar el hilo
   private boolean continuar = true;

   // metodo para poner el boolean a false.
   public void detenElHilo()
   {
      continuar=false;
   }

   // Metodo del hilo
   public void run()
   {
      // mientras continuar ...
      while (continuar)
      {
          String texto = leeDelTeclado();
          enviaAlServidor(texto);
      } 
   } 
}

Simplemente hemos puesto en la clase un boolean para indicar si debemos seguir o no con el bucle infinito. Por defecto a true. Luego hemos añadido un método para cambiar el valor de ese boolean a false. Finalmente hemos cambiado la condición del bucle que antes era true y ahora es continuar.

Para parar este hilo, es sencillo

MiHilo elHilo = new MiHilo();
elHilo.start();
// Ya tenemos el hilo arrancado
...
// Ahora vamos a detenerlo

elHilo.detenElHilo();

Seguimos ahora sincronizando hilos...

Bienvenido

Bienvenido

En este blog voy a publicar temas de mi interés y que quizá te puedan interesar a ti también como negocios, códigos de programación,en fin de un montón de cosas que aún no sé. Espero que les guste mi weblog que me hagas llegar tus comentarios para cualquier cosa que se te ofrezca."El límete solo lo pones tu".

 


Sitios de Interés

Los 20 lenguaje de programación mas usados

Position
Oct 2010
Position
Oct 2009
Delta in PositionProgramming LanguageRatings
Oct 2010
Delta 
Oct 2009
Status
11Java18.166%-0.48%  A
22C17.177%+0.33%  A
34C++9.802%-0.08%  A
43PHP8.323%-2.03%  A
55(Visual) Basic5.650%-3.04%  A
66C#4.963%+0.55%  A
77Python4.860%+0.96%  A
812Objective-C3.706%+2.54%  A
98Perl2.310%-1.45%  A
1010Ruby1.941%-0.51%  A
119JavaScript1.659%-1.37%  A
1211Delphi1.558%-0.58%  A
1317Lisp1.084%+0.48%  A-
1424Transact-SQL0.820%+0.42%  A-
1515Pascal0.771%+0.10%  A-
1618RPG (OS/400)0.708%+0.12%  A-
1729Ada0.704%+0.40%  A--
1814SAS0.664%-0.14%  B
1919MATLAB0.627%+0.05%  B
20-Go0.626%+0.63%  B

 


 

Programación Salón de la Fama del Idioma

 
El salón de la fama lista de todos los "Lenguaje de Programación del Año", ganadores de los premios se muestra a continuación. El premio se otorga al lenguaje de programación que tiene el mayor incremento en las calificaciones en un año.

 

YearWinner
2009Go
2008C
2007Python
2006Ruby
2005Java
2004PHP
2003C++