martes, 19 de julio de 2011
Cómo recuperar sectores dañandos del disco duro dese la linea de comados de linux
Los discos duros no son eternos y a menos de que sean de estado sólido, están sujetos a errores de escritura por una mala imantación o por otras causas que son ajenas a uno como usuario. Así que siempre es bueno hacer un backup de nuestros datos en una unidad externa, ya sea en un storage en la red o en una usb que este bien oculta bajo la almohada.
Una buena práctica es hacerlo cuando el sistema operativo empiece a decirnos este tipo de cosas, que si no lo hacemos, a la larga nos sea más difícil o tardado este tipo de cosas. Así que hagan caso, hagan un back up y denle a esos sectores.
¿Cómo lo hacemos?
Abrimos nuestra tan amada consola para los que somos "consoleros" de corazón, para los que no, igual, abran la consola y cambien a super usuario.
Lo más recomendable es que si como yo, tienen más de una partición o de plano no se acuerdan del nombre de la partición, ejecuten fdisk
[root@uetiko]# fdisk -l
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 10947 87931746 5 Extendida
/dev/sda2 10948 19092 65424712+ 83 Linux
/dev/sda3 19093 19457 2931862+ 82 Linux swap / Solaris
/dev/sda5 1 10947 87931714+ 83 Linux
Y es así como ya teniendo nuestro listado de particiones, podremos reparar los sectores. Es importante que la partición ese desmontada o nos dará dolores de cabeza cuando nos salga que el dispositivo está siendo ocupado.
Para esto, basta un unmount podremos resolver el problema
[root@uetiko]# unmount /deb/sda1
Y ahora si, viene el momento de la verdad, y es aquí donde radica la magia para poder un disco duro guapo y en forma. Para ello usamos un comando que se llama badblocks, el cual tiene muchas chunchitas para que podamos analizar y reparar sectores y demás, pero por ahora nos limitaremos a jalar del gatillo y esperar que el disparo de en el blanco. Si no lo tienen, solo bájenlo de los repositorios con su gestos de paquetes preferido según su diestro.
[root@uetiko]# badblocks -s -v -f /dev/sda1
Y esperen a que el programa haga su trabajo. Claro, esto les causara un infarto cuando termine y vean que algunos de sus datos han... como decirlo, desaparecido extrañamente, para evitar esto y que en lo personal, no recomiendo, es agregar la opción -n para que así, no borre ningún dato cuando repare los sectores dañados, claro, esto les llevara mucho, pero mucho tiempo, así que si lo hacen, recomiendo que salgan al cine con la novia/amiga, la lleven a cenar y después regresen haciendo paradas en cualquier bar/cafetería que encuentren.
sábado, 24 de abril de 2010
Validar una clave Privada con su Certificado en JAVA
Para esto lo que se tiene que hacer es crear un objeto X509Certificat a partir un byte[] o un InputStream que contiene el archivo.cer
File archivoCer = new File("c:/certificado.cer");
InputStream fis = new FileInputStream(archivoCer);// Se maneja la excepcion
X509Certificate cert = X509Certificate.getInstance(fis);
A continuacion se crea un objeto Signature pasandole e algoritmo de encripcion, en nuestro caso es el MD5withRSA, este es el mismo objeto que utilizamos para firmar nuestro archivo, pero esta vez lo inicializaremos para verificar nuestro archivo firmado con el certificado que tenemos
Signature firma = Signature.getInstance("MD5withRSA");
firma.initVerify(cert.getPublicKey());
A continuacion le cargamos el archivo o texto sin firmar
firma.update(textoAFirmar.getBytes("UTF-8"));
Y por ultimo verificamos el archivo firmado, donde textoFirmado en un byte[] que obtuvimos despues de firmar un archivo
firma.verify(textoFirmado)
Bueno, espero que les halla servido, yo tuve que utilizar esto para verificar que el certifiado fuera valido con respecto al la clave privada que estaba ingresando, bueno les pego el codigo de toda la clase para que lo entiendan mejor:
package com.infosoft.rasengan.util;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.security.PrivateKey;
import java.security.Signature;
import java.security.SignatureException;
import javax.security.cert.CertificateException;
import javax.security.cert.X509Certificate;
import org.apache.commons.ssl.PKCS8Key;
import org.apache.commons.ssl.ProbablyNotPKCS8Exception;
public class CertificateValidator {
public final static int SUCCESS = 0;
public final static int ERROR_PASSWORD = 1;
public final static int ERROR_PRIVATE_KEY = 2;
public final static int ERROR_PUBLIC_KEY = 3;
public final static int ERROR_PUBLIC_PRIVATE_KEY = 4;
private byte[] clavePrivada;
private byte[] clavePublica;
private String password;
public CertificateValidator(InputStream archivoClavePrivada,
InputStream archivoClavePublica, String password) {
this.clavePrivada = FormatUtil.getBytes(archivoClavePrivada);
this.clavePublica = FormatUtil.getBytes(archivoClavePublica);
this.password = password;
}
/**
* Valida el certificado digital, la clave privada, asi como su relacion
*
* @return - 0 si todo esta correcto
* - 1 si el password de la clave privada no es correcto
* - 2 si la clave privada no es un archivo que corresponda al estandar PKCS8
* - 3 si el certificado no es un archivo que corresponda al estandar PKCS10
* - 4 si el certificado no corresponde a la clave privada
*/
public int validate() {
String textoAFirmar = "||2.0|FDF|28125|2007-09-12T12:47:31|11160|2007|ingreso|Pago en una sola exhibicion|"
+ "TERMINOS CONTADO ESP|3674.13|4225.25|IMM9304016Z4|Ingram Micro Mexico S.A. de C.V.|Laguna de Terminos|249|"
+ "Anahuac|Miguel Hidalgo|Distrito Federal|Mexico|11320|Av. 16 de Septiembre|225|San MartinXochinahuac|"
+ "Azcapotzalco|Distrito Federal|Mexico|02140|CAOG8406274R0|CHAVEZ OCHOA GABRIEL|HDA. DE CORLOME NO. 51|"
+ "COL. FLORESTA COYOACAN|DELG. TLALPAN|MEXICO, D.F. MX 14310|MX|3.00|"
+ "TONER NEGRO P/LASERJET SUPL 2420 (6,000 PAG )|1189.04|3567.12|1.00|COMISION TARJETA DECREDITO|"
+ "107.01|107.01|IVA|15.00|551.12|551.12||";
try {
PKCS8Key pkcs8 = new PKCS8Key(clavePrivada, password.toCharArray());
PrivateKey pk = pkcs8.getPrivateKey();
Signature firma = Signature.getInstance("MD5withRSA");
firma.initSign(pk);
firma.update(textoAFirmar.getBytes("UTF-8"));
byte[] firmado = firma.sign();
X509Certificate cert = X509Certificate.getInstance(clavePublica);
cert.checkValidity();
firma.initVerify(cert.getPublicKey());
firma.update(textoAFirmar.getBytes("UTF-8"));
if (firma.verify(firmado)) {
return SUCCESS;
} else {
return ERROR_PUBLIC_PRIVATE_KEY;
}
} catch (ProbablyNotPKCS8Exception e) {
return ERROR_PRIVATE_KEY;
} catch (UnsupportedEncodingException e) {
return ERROR_PRIVATE_KEY;
} catch (SignatureException e) {
return ERROR_PRIVATE_KEY;
} catch (GeneralSecurityException e) {
return ERROR_PASSWORD;
} catch (CertificateException e) {
return ERROR_PUBLIC_KEY;
}
}
}
Saludos
jueves, 18 de febrero de 2010
Como obtener el sello digital con JAVA
Escribo esto porque tuve muchos problemas para poder crearlo, mi primer problema fue el poder leer la llave privada que te da el SAT, ya que esta viene ecriptada con un password y encontré poca información de como leerla en java.
Bueno, basta de quejas, empecemos!
Lo primero que hay que hacer es generar la cadena original, la creación de esta cadena esta especificada en el anexo 20 de la Resolución Miscelánea Fiscal inciso D. Esta es una cadena formada con los datos de la factura, estos datos están separados por el carácter pipe ”|”, y se inicia y finaliza esta cadena con un doble pipe “||”.
Aquí le s dejo un ejemplo de la cadena Original.
||2.0|AB|32|2010-02-18T12:30:03|434|2006|ingreso|EFECTIVO|3000.00|45029.85|02934INFOSOFT|Infosoft & Xgress|arenas|98|Coyoacan|DF|México|54832|4503495WXGF4|México|2|Impresoras|1500.00|3000.00|2|PC|2000.00|4000.00|IVA|15.00|2900.85|2900.85||
Ya que tenemos la cadena original lo siguiente es pasarla por un algoritmo de digestión como es el MD5, y el resultado pasarlo por un algoritmo de encriptación RSA, estos dos pasos se pueden hacer en uno solo con el api de java. Para esto lo primero que necesitamos es la clave privada (archivo.key) que nos proporcionó el SAT junto con su password. Esta clave esta codificada según el estándar PKCS8 en formato DER. Además esta clave esta encriptada con un password.
Para poder des enriptarla utilizaremos la librería commons-ssl de apache. De esa libraría utilizaremos el objeto PKCS8Key de la siguiente manera:
PKCS8Key pkcs8 = new PKCS8Key(clavePrivada, password.toCharArray());
Donde clavePrivada es un arreglo de bytes que contiene la clave privada.
Para poder obtener la clave privada solo se la pedimos a este objeto:
java.security.PrivateKey pk = pkcs8.getPrivateKey();
Lo siguiente que hay que hacer es obtener el objeto que codificara en MD5 y RSA nuestra cadena, e inicializarlo con la clave privada este es java.security.Signature.
Signature firma = Signature.getInstance("MD5withRSA");
firma.initSign(pk);
donde pk es la clave privada que obtuvimos.
Al objeto Signature se le pasa la cadena original convertida en bytes con formato UFT-8
firma.update(cadenaOriginal.getBytes("UTF-8"));
y obtenemos el arreglo de bytes con la cadena original encriptada.
byte[] cadenaFirmada = firma.sign();
A continuación se codifica en base 64 la cadena para poder obtener caracteres imprimibles con el objeto sun.misc.BASE64Encoder.
BASE64Encoder b64 = new BASE64Encoder();
String selloDigital = b64.encode(firma.sign());
Y con esto obtenemos una cadena como esta que es el sello digital
UdjknEGo/r0v7QrAhvL+aFKkl6Jk6b4pNvRYI0ymWrW19k4DjzygbtTnAnB0HNmafifTNzxB+/wE
JsJKGWjbnSAO61gy6JTLSvrdS+KPKpQtxYH8/7Ib55J8T4PuIL0a6qmAwpMFrHToSaAO0NXG3W9t
homWp8b+UdbJ2qL/ABI=
Les dejo el código completo para que lo revisen.
package com.infosoft.rasengan.cfd;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.security.GeneralSecurityException;
import java.security.PrivateKey;
import java.security.Signature;
import org.apache.commons.ssl.PKCS8Key;
import org.jdom.Document;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;
import org.jdom.output.Format.TextMode;
import sun.misc.BASE64Encoder;
import com.infosoft.rasengan.cfd.bean.Comprobante;
/**
* Clase que genera el comprobante fiscal digital asi como el sello digital
* @author Xgress
*
*/
public class GeneradorCFD {
private Comprobante comprobante;
/**
* Constructor que inicializa el objeto con un Comprobante, genera el
* selloDigital y se lo agrega al objeto Comprobante
*
* @param comprobante
* Objeto que contiene todos los datos de un Comprobante Fiscal
* Digital
* @param archivoClavePrivada
* InputStream que contiene el archivo .key de la llave privada
* @param password
* String con el password de la llave privada
* @throws GeneralSecurityException
* Excepcion arrogada cuando el password no es el correcto
*/
public GeneradorCFD(Comprobante comprobante,
InputStream archivoClavePrivada, String password)
throws GeneralSecurityException {
this.comprobante = comprobante;
this.comprobante
.setSello(getSelloDigital(archivoClavePrivada, password));
}
/**
* Metodo que genera el sello digital a partir de la cadena original y la
* clave privada siguiendo los siguientes pasos: 1)Se le aplica la funcion
* hash de digestion MD5 a la cadena original y se aplica el algoritmo de
* encripcion RSA con la clave privada. 2) Se codifica el resultado a Base64
* teniendo como resultado una cadena imprimible.
*
* @param archivoClavePrivada
* InputStream que contiene la clave privada(archivo .key)
* @param password
* String con el password de la clave privada
* @return String con el sello digital
* @throws GeneralSecurityException
* Excepcion arrogada cuando el password no es el correcto
*/
public String getSelloDigital(InputStream archivoClavePrivada,
String password) throws GeneralSecurityException {
String cadenaOriginal = comprobante.getCadenaOriginal();
System.out.println(cadenaOriginal);
byte[] clavePrivada = getBytes(archivoClavePrivada);
PKCS8Key pkcs8 = new PKCS8Key(clavePrivada, password.toCharArray());
PrivateKey pk = pkcs8.getPrivateKey();
Signature firma = Signature.getInstance("MD5withRSA");
firma.initSign(pk);
String selloDigital = null;
try {
firma.update(cadenaOriginal.getBytes("UTF-8"));
BASE64Encoder b64 = new BASE64Encoder();
selloDigital = b64.encode(firma.sign());
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
System.out.println(selloDigital);
return selloDigital;
}
/**
* Genera el xml extensible del comprobante fiscal digital
* @return String con el xml
*/
public String getCFD() {
Format format = Format.getPrettyFormat();
format.setEncoding("utf-8");
format.setTextMode(TextMode.NORMALIZE);
XMLOutputter xmlOutputer = new XMLOutputter(format);
String res = xmlOutputer
.outputString(new Document(comprobante.getXML()));
try {
res = new String(res.getBytes("UTF-8"));//TODO: probar bien
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return res;
}
/**
* Metodo que convierte un input stream con la llave privada a un array de bytes
* @param is InputSteam con la clave privada
* @return Arreglo de bytes con la clave privada
*/
private byte[] getBytes(InputStream is) {
int totalBytes = 714;
byte[] buffer = null;
try {
buffer = new byte[totalBytes];
is.read(buffer, 0, totalBytes);
is.close();
} catch (IOException e) {
e.printStackTrace();
}
return buffer;
}
}
jueves, 27 de agosto de 2009
martes, 7 de julio de 2009
Google se quita el tag "Beta"
Así que la proxima vez que Gmail te deje sin tus correos, podrás lanzar un par de recordatorios familiares. Al fin y al cabo, ya no servira la excusa "Esta en fase beta, suele pasar..." O eso dice la teoria.
lunes, 1 de junio de 2009
COBOL llega su mitad de siglo.
Hace 50 años nació gracias a la comisión CODASYL y el Departamento de Defensa de los Estados Unidos, Su nombre: COBOL (COmmon Business-Oriented Language)
La idea nació de Grace Murray Hopper, un científico y militar norteamericana, que buscaba crear un lenguaje de programación fácil de comprender. Y por ello se le considera como la madre de COBOL.
El primer boceto de Cobol fue presentado formalmente en el año de 1960 y su actual estandarización fue dada hasta el 2002. Con esto nace el divorcio entre software y Hardware.
Y pensar que a 50 años de su nacimiento se sigue usando principalmente en la banca para los cajeros automaticos o pago con tarjetas de credito. La realidad es que para los corporativos les resulta caro y laborioso migrar sus sistemas a otra plataforma y aun mas dificil se vuelve encontrar programadores en COBOL, ya me imagino a estos corporativos de visita a los museos en busca de algún fósil de programador para tratar de clonarlo.
Aunque Cobol es considerado a menudo un lenguaje mainframe algo anticuado, lo cierto es que en lo absoluto es obsoleto.
domingo, 24 de mayo de 2009
Leonidas se retrasa una semana
domingo, 17 de mayo de 2009
IBM lanza su FaceBook para developers!!

Ahora que me he dedicado a programar en java y sus derivados, una de las paginas de donde hecho mano es DeveloperWorks, el cual es una de las principales fuentes de desarrollo para estándares abiertos de IBM, y que tiene muchas cosas muy bonitas y la verdad es que ya estoy inscrito como todo buen developer!!
Ahora IBM ha anunciado la incorporación del software sociales al portal de DeveloperWorks. My developerWorks, que es como han denominado al área denuevas funcionalidades que conbina lo mejor de las redes sociales con los recursos de DeveloperWorks, el cual permitira a los desarrolladores acceder en tiempo real a lo último en las actualizaciones tecnológias, conectarse con otros gurus de todo el mundo, por lo que la optención de conocimientos será con mayor rapidez.
Esta herramienta nos permite configurar cada perfil agregando contactos, contenido, comentarios de foros, blogs y wikis. En el transcurso de los proximos mesess, los felices usuarios de My DeveloperWorks podrán usar sus perfiles de redes sociales como twitter o facebook para ampliar sus red de maldar (Profecional) y poder colavorar con nuevas tecnologías.
Citando a los chicos de DirarioTI:
"IBM realizó recientemente una encuesta entre cientos de desarrolladores de todo el mundo para averiguar cómo utilizan los recursos online. Casi tres cuartas partes de los encuestados admitieron que usan foros, blogs, wikis y boletines de Internet para aumentar sus conocimientos y comunicarse con los amigos y cerca de un 65% expresaron su deseo de usar funcionalidades de redes sociales, como las que se encuentran en Facebook, Twitter y MySpace."
Fuente: DirarioTI
Re-lanzamiento de Linux.com
Después de que Linux.com quedara botado por SourceForge Inc y sin que ni un alma le hiciera caso mas que la Linux Foundation. Estos niños sin fines le lucro ha anunciado el RE-lanzamiento formal de Linux.com
El nuevo sitio estara enfocado a la promoción de la participación de todos los usuarios, por lo que entre mas se participe, más puntos ganaran, con lo cual podrán participar en el concurso anual "Ultimate Linux Guru" por una flameante notebook autografiada por el mismo Linus Torvalds. (Las bolsas se ganan por separado)
Así que será una muy buena idea entrar a rescatar esta pagina que por años nos dío tanto.
Problemas con fstat, solaris 9... Parchado!
Para esto, Sun o lo que quede de ella, ha publicado las siguientes actualizaciones:
Para plataforma Sparc:
http://sunsolve.sun.com/search/document.do?assetkey=urn:cds:docid:1-21-122300-40-1
Para plataforma x86:
http://sunsolve.sun.com/search/document.do?assetkey=urn:cds:docid:1-21-122301-40-1
Fuente: www.hispasec.com
Asus EeePc T91, el primer netbook con pantalla táctil tipo tablet.
Entre los ya bastantes equipos que han sido lanzados al mercado, Asus ha anunciado el lanzamiento de su nuevo ultraportatil, el EeePC T91, que además de entrar en la categoría de los mencionados netbooks por su reducido tamaño y una pantalla de apenas 8.9", sería el primer dispositivo de su tipo en poseer una pantalla táctil tipo tablet.
Entre las prometedoras características de este equipo nos encontramos con un Procesador Intel Atom Z520, pantalla táctil de 8.9" con tecnología LED Backlight, Windows XP Home como Sistema Operativo, 2 puertos USB, sintonizador de televisión y navegador GPS; Se dice también que tendrá una autonomía de 5 horas y un peso de apenas 990g, lo que lo hace especialmente atractivo si lo que buscamos es un equipo ultraliviano que aparte nos permita utilizarlo para notas y ¿por qué no?, para no perdernos esas noches de juerga
Fuente: Asus Eee PC T91 Tablet (Ubergizmo), Asus T91 verá la luz dentro de un mes (Fayerwayer)
jueves, 7 de mayo de 2009
Gnome Foundation en problemas economicos
Ayer, mientras escuchaba un poco de música y veía notas en la web no pude ocultar mi impresión al ver una nota como esta. Uno se va a la cama y sueña cosa hermosas esperando que al siguiente día uno se levante y pueda tener toda la suerte del mundo y uno viva feliz, pero mientras para que unos es lindo, para otros no lo es ya que llevar proyectos Open Source son un poco mas complejos de lo que podemos imaginar. Y GNOME no es la excepción.
Pese a que GNOME Foudation no tendrá problemas para aguantar el 2009, estos se multiplicarán en el 2010, a no ser que "haya un flujo significativo de contribuciones sostenidas", señala John Palmer, actual tesorero la GNOME Foundation. Por lo cual están tratando de ayuda y donativos de toda la comunidad gracias a la iniciativa Friends of GNOME (No, no tiene nada que ver con los amigos de Fox.), donde los usuarios podrán donar USD$10 para la causa de pagarles a los principales desarrolladores de GNOME.
Pero en caso de que esto no se logre, pues no pasara nada mas que tomar medidas como el darle tiempo aire a la máxima responsable de la fundación, si, hablamos de Stormy Peters.
lunes, 4 de mayo de 2009
acer revela fecha de lansamiento de Windows 7

Tras toda la mercadotecnia que el próximo sistema de Microsoft ha generado y los deseos de muchos por estrenar algo mas que un beta, se han dado a conocer los requerimientos finales, que no son los mismos que un vista mas un poco mas. requerirá 1 GB mas en disco duro y 1 más en memoria RAM.
Por otro lado, el presidente de Acer en Gran Bretaña ha dejar ver que la fecha de lanzamiento de Windows 7 será para el 23 de octubre, cuando su PC Z5600 "Todo en uno"tenga preinstalado el sistema de Microsoft. Fecha que coincide con la del precidente de Compal, Ray Chen.
"El 23 de octubre es la fecha en que Windows 7 estará disponible. Será una versión de actualización de 30 días, para que los clientes no tengan que esperar para comprar un PC nuevo. Quienes compren un PC dentro del período de 30 días tendrán derecho a una actualización gratuita a Windows 7", comentó Watkins.
Anteriormente la gran M habia anunciado que el sistema estaría hasta finales de enero del 2010. Que cosas, no? Todo por quitarnos Vista de encima.
miércoles, 22 de abril de 2009
Mi Oracle se quedo con la Sun. Y con MySql también.

Después de que la Sun Microsystem no llegara a un acuerdo con IBM, Orecle la adquirirá por USD$7,4 mil millones. Este acuerdo marca el ingreso de Oracle (Orate para los cuates) al fasinante mundo del hardware donde competirá directamente con IBM en soluciones integrales. Recordemos que uno de los sueños de Orecle era ofrecer su propio sistema operativo con hardware incluido, ahora lo podría hacer con Sun Solaris.
Larry Ellison señalo que la adquisición de nuestra Sun transformara a la industria de TI, ya que mezcla el mejor software empresarial. Y por eso Oracle acordo pagar USD$9,5 por acción de la Sun, lo que representa el 42% de felicidad extra con respecto al precio de la acción del Viernes, estimado en USD$6,69.
Y con todo esto, La Oracle se queda también con MySQL, por lo que en los siguientes meses veremos el destino y estrategias de Orate en torno a la base de datos libre mas usada en el mundo.
domingo, 19 de abril de 2009
Se dicta veredicto final en contra de los chicos pirate bay.
Después de un par de meses que duro este juicio en contra de los responsables del sitio Pirate bay, se dicto el veredicto en contra de ellos, por lo que seran sentenciados a un año de cárcel y el tribunal sueco los condeno a pagar 3,6 millones por daños ocasionados a la industria discográfica que los acusaba.Claro, estos chicos van a apelar, lo cual será una larga batalla judicial. Pero mientras tanto, el pagina de pirate bay seguira dando sus servicios de .torrent.
Aún no se termina de escribir esta historia, creanme.
jueves, 16 de abril de 2009
Billy patenta Motor electromagnético.
Para aquellos que creían que la cabecita de nuestro adorado Billy solo era para el negocio del sofware, pues que creen, que no!! Y es que resulta que nuestro niño bonito junto a 10 investigadores , patento un motor electromagnético que buscara desplazar a los esos contaminantes consumidores de bencina. O sea, la mayoría de nosotros. Pero como esta esto? Pues bien este invento transforma el movimiento de los pistones mediante imanes en energía eléctrica , por lo que es muy provable que a través de una batería recargable.
Eso suena muy bien no? Pero aún están terminando la reseta. Con el respaldo de Gates y sus dolares, uno nunca puede saber.
martes, 7 de abril de 2009
Telmex si transmitira TV.
Después de que la cofetel le negara la posibilidad de transmitir tv y se la hiciera de tos por su canal de noticias vía internet, telmex siempre si transmitirá su servicio de TV.
Se rumorea que los empleados de la empresa tendrán la posibilidad de tener 20 canales, eso no se sabe si es de a grapa, demo o por una módica cantidad.
Pese a que es un hecho, aún no se confirma del todo.
Fuente: Telmex.
domingo, 5 de abril de 2009
IBM dice no a Sun
El amor entre IBM y Sun Microsystem parece haber terminado hoy. Según la agencia de noticias Reuters, IBM retiro su oferta de 7 mil millones de dolares.Al parecer, Sun no siguió con las negociaciones con IBM que había ofrecido USD$9.50 por accion de la sun.
Todo esto es radio pasillo, pero les mantendremos al tanto.
viernes, 3 de abril de 2009
La hora feliz: Mono 2.4 y monodevelop 2.0.
Ya en octubre del 2008, Miguel de Icaza nos trajo la versión 2.0 de su proyecto Mono, que es la implementación libre del FrameWork .Net de Microsoft para sistemas Unix/Linux, el propio Windows y otros más.
En su blog, Miguel anuncio simultaneamente la disponibilidad de la versión 2.4 de Mono y la versión 2.0 de la IDE MonoDevelop.
Las mejoras a Mono 2.4 son:
- Acceso a operaciones SIMD desde lenguajes de alto nivel gracias a la maquina virtual de Mono. El cual es usado por excelencia en manipulación de aplicaciones multimedia.
- Mejoras en manejo de hilos: Se ha cambiado por un nuevo diseño que ha eliminado la técnica de consumo de recursos adicionales.
- Mono 2.4 habilita de forma nativa el recolector de basura aprovechando la disponibilidad de multiples nucleos del procesador.
- Mono permite ahora la ejecución de web precompiladas por visual Studio o por la herramienta aspnet_compiler. Por lo que el runtime de Mono abre las puertas a la ejecución de sitios contruidos por otros lenguajes o caracteristicas aún no disponibles en Mono.
MonoDevelop 2.0
Como les decía, el lanzamiento de Mono 2.4 no vino sola, también se anuncio la disponibilidad de la IDE MonoDevelop de forma oficial.
Las mejoras de MonoDevelop son muchas y llegan a buena hora ahora que Microsoft esta anunciando nuevos lanzamientos en cuanto a sus tecnologias de desarrollo.
Algo que nos gusta mucho a los programadores y que nos saca canas a la hora de ejecutar nuestro código es el debugger. Pero ahora MonoDevelop se luce con entregarnos un Debugger desente y que para gusto de muchos, se puede usar con aplicaciones nativas gracias a la inegración con gdb (GNU debugger).
- Soporte para autocompletado en C# 3.0
- MonoDevelop ama a los programadores de Vala, que es un lenguaje de alto novel que genera código en C sin sufrir con las limitaciones que el lenguaje nos ofrece.
- MonoDevelop es compatible con proyectos creados en Visual Studio y Visual Web Developer 2008. Incluye mejoras en el autocompletado de editor de DOM.
- Ahora le decimos adios al editor estándar de GNOME gtkSourceView y le hacemos ojitos a un nuevo editor escrito enteramente en C#.
- Y por si fuera poco, MonoDevelop Sporta MVC. ¿No es genial?
martes, 31 de marzo de 2009
RIP: Encarta 1993-2009
Pues si, MSN anuncio que Encarta será descontinuado el mantenimiento y la producción de esta enciclopedia digital mas vendida del mundo.
Para junio de este año, Microsoft dejará de vender la versión en CD/DVD y para el 31 de octubre, se le dará cuellos a la versión en línea. Extrañaremos esos 42.000 artículos que ya no vemos gracias a Wikipedia y otras enciclopedias en línea.