miércoles, 28 de septiembre de 2011
La guerra entre Narcotraficantes y Zetas en México
jueves, 15 de septiembre de 2011
Packs de Wallpappers que vendrán en Ubuntu y Lubuntu 11.10
Hace poco mencioné en el blog que ya se habían elegido los wallpappers en un grupo en Flickr para el nuevo Ubuntu 11.10, ahora se han publicado 6 wallpappers ganadores para la versión ligera, Lubuntu:
Las imagenés para Lubuntu son ligeras pero bonitas |
Bonita selección para Oneric Ocelot |
Descarga el pack de Wallpappers para Lubuntu 11.10
Las imagenes las encuentras al descomprimir el archivo en:
/ubuntu-artwork-0.17/usr/share/lubuntu/wallpapers
Descarga 44 Wallpappers que traerá Ubuntu 11.10
martes, 13 de septiembre de 2011
Feliz dia del programador!
Yo no sabía que existía éste día hasta hoy, Felicidades a todos aquellos programadores que hacen nuestra vida diaria más fácil y entretenida, gracias por los juegos aplicaciones etc. etc...
Felicidades también a los noveles y a quienes apenas empezamos o lo hacen por entretenimiento.
Les dejo unos chistes gráficos para pasar el rato:
lunes, 12 de septiembre de 2011
Mi primera aplicación en Python: Calculadora de Ingeniería Económica
Desde hace tiempo había leído de este maravilloso lenguaje, sus ventajas sobre los demás como su facilidad, que es libre y sobre todas las cosas que es multiplataforma. Sin duda es el ideal para comenzar a programar, he aquí un ejemplo.
Investigando un poco y con ayuda de algunos tutoriales pude hacer mi primera aplicación gráfica en python. Por el momento no es la gran cosa, pero espero tener tiempo y sobre todo paciencia para terminar un proyecto personal, me gustaría hacer algo así como una suite para Ingenieros multiplataf, para los que conozcan WinQSB sería algo paracido, con herramientas para diferentes áreas como Investigación de Operaciones e Ingeniería Económica por mencionar sólo algunos.
Algunos botones aún no funcionan, pero ya resuelve operaciones como en el ejemplo. |
El código fue escrito con ayuda de wxGlade y SPE Stani's Python Editor que puedes encontrar en el Centro de Software Ubuntu, el libro Python para todos, un tutorial de Ubuntu Life, y una calculadora básica en Python.
Para resolver un problema de este tipo por ejemplo en Excel o alguna calculadora científica se necesita teclear algo como esto :
VA= 1500*((.14*(1+.14)^5)/(((1+.14)^5)-1)
Hay muchas más posibilidades de equivocarse, algo que no te puede pasar por ejemplo en un examen final...
Aquí el código:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# generated by wxGlade 0.6.3 on Tue Aug 16 18:36:57 2011
import wx
# begin wxGlade: extracode
# end wxGlade
class Ventana_calculadora(wx.Frame):
def __init__(self, *args, **kwds):
# begin wxGlade: Ventana_calculadora.__init__
kwds["style"] = wx.DEFAULT_FRAME_STYLE
wx.Frame.__init__(self, *args, **kwds)
# Menu Bar
self.Calculadora_menubar = wx.MenuBar()
wxglade_tmp_menu = wx.Menu()
wxglade_tmp_menu.Append(11, "Borrar", "", wx.ITEM_NORMAL)
wxglade_tmp_menu.AppendSeparator()
wxglade_tmp_menu.Append(22, "Salir", "", wx.ITEM_NORMAL)
self.Calculadora_menubar.Append(wxglade_tmp_menu, "Archivo")
wxglade_tmp_menu = wx.Menu()
wxglade_tmp_menu.Append(55, "Acerca de", "", wx.ITEM_NORMAL)
self.Calculadora_menubar.Append(wxglade_tmp_menu, "Ayuda")
self.SetMenuBar(self.Calculadora_menubar)
# Menu Bar end
self.entrada_datos = wx.TextCtrl(self, -1, "", style=wx.TE_MULTILINE and wx.ALIGN_RIGHT)
self.entrada_datos.SetFocus()
self.lblEjemplo = wx.StaticText(self, -1, "Ejemplo de Entrada: 1200(VP/VF,15%,6)", style=wx.ALIGN_CENTRE)
self.btnVPVF = wx.Button(self, -1, "VP/VF")
self.btnVFVP = wx.Button(self, -1, "VF/VP")
self.btnVAVF = wx.Button(self, -1, "VA/VF")
self.btnIRetroceso = wx.BitmapButton(self, -1, wx.Bitmap("/dos/Documentos/Programacion en Phyton/Proyecto Personal/btnretroceso2.png", wx.BITMAP_TYPE_ANY), style=wx.BU_AUTODRAW)
self.btnVPVA = wx.Button(self, -1, "VP/VA")
self.btnVFVA = wx.Button(self, -1, "VF/VA")
self.btnVAVP = wx.Button(self, -1, "VA/VP")
self.btnIgual = wx.Button(self, -1, "=")
self.btn7 = wx.Button(self, -1, "7")
self.btn8 = wx.Button(self, -1, "8")
self.btn9 = wx.Button(self, -1, "9")
self.btnMas = wx.Button(self, -1, "+")
self.btn4 = wx.Button(self, -1, "4")
self.btn5 = wx.Button(self, -1, "5")
self.btn6 = wx.Button(self, -1, "6")
self.btnMenos = wx.Button(self, -1, "-")
self.btn1 = wx.Button(self, -1, "1")
self.btn2 = wx.Button(self, -1, "2")
self.btn3 = wx.Button(self, -1, "3")
self.bx = wx.Button(self, -1, "x")
self.btnPunto = wx.Button(self, -1, ".")
self.btn0 = wx.Button(self, -1, "0")
self.btnComa = wx.Button(self, -1, ",")
self.btnDivision = wx.Button(self, -1, "/")
self.btnRaiz = wx.Button(self, -1, "Raiz")
self.btnPotencia = wx.Button(self, -1, "Potencia")
self.btnParentesis1 = wx.Button(self, -1, "(")
self.btnParentesis2 = wx.Button(self, -1, ")")
self.panel_1 = wx.Panel(self, -1)
self.btnBorrar = wx.Button(self, -1, "Borrar")
self.btnSalir = wx.Button(self, -1, "Salir")
self.static_line_1 = wx.StaticLine(self, -1)
#Se ponen los metodos que activa el evento de cada boton
self.btnIgual.Bind (wx.EVT_BUTTON,self.Resolver)
self.btn1.Bind(wx.EVT_BUTTON,self.Uno)
self.btn2.Bind(wx.EVT_BUTTON,self.Dos)
self.btn3.Bind(wx.EVT_BUTTON,self.Tres)
self.btn4.Bind(wx.EVT_BUTTON,self.Cuatro)
self.btn5.Bind(wx.EVT_BUTTON,self.Cinco)
self.btn6.Bind(wx.EVT_BUTTON,self.Seis)
self.btn7.Bind(wx.EVT_BUTTON,self.Siete)
self.btn8.Bind(wx.EVT_BUTTON,self.Ocho)
self.btn9.Bind(wx.EVT_BUTTON,self.Nueve)
self.btn0.Bind(wx.EVT_BUTTON,self.Cero)
self.btnIRetroceso.Bind(wx.EVT_BUTTON,self.Retroceso)
self.btnVPVF.Bind(wx.EVT_BUTTON,self.VPVF)
self.btnVPVA.Bind(wx.EVT_BUTTON,self.VPVA)
self.btnVFVP.Bind(wx.EVT_BUTTON,self.VFVP)
self.btnVFVA.Bind(wx.EVT_BUTTON,self.VFVA)
self.btnVAVP.Bind(wx.EVT_BUTTON,self.VAVP)
self.btnVAVF.Bind(wx.EVT_BUTTON,self.VAVF)
self.btnParentesis1.Bind(wx.EVT_BUTTON,self.Parentesis1)
self.btnParentesis2.Bind(wx.EVT_BUTTON,self.Parentesis2)
self.btnPunto.Bind(wx.EVT_BUTTON,self.Punto)
self.btnComa.Bind(wx.EVT_BUTTON,self.Coma)
self.__set_properties()
self.__do_layout()
# end wxGlade
def Resolver(self, evento=None):
strCadenaEntrada=self.entrada_datos.GetValue()
print strCadenaEntrada
lstValores = strCadenaEntrada.split(",")
numValor = lstValores[0].split("(")
lstValores[0]=float(numValor[0])
numNPeriodos=lstValores[2].split(")")
lstValores.append(int(numNPeriodos[0]))
print lstValores[3]
lstValores[2]= float(lstValores[1])
lstValores[1]=numValor[1]
# lstValores contiene los valores por separado de la cadena de entrada
# van en orden, ejemplo lstValores[2] es la tasa i, y lstValores[3]Periodos
if lstValores[1]== "VF/VP" or lstValores[1]=="F/P":
resultado=float(lstValores[0]*((1+lstValores[2])**lstValores[3]))
self.entrada_datos.SetValue(str(resultado))
elif lstValores[1]== "VF/VA" or lstValores[1]=="F/A":
resultado=float(lstValores[0]*((((1+lstValores[2])**lstValores[3])-1)/lstValores[2]))
self.entrada_datos.SetValue(str(resultado))
elif lstValores[1]== "VP/VF" or lstValores[1]=="P/F":
resultado=float(lstValores[0]*(1/((1+lstValores[2])**lstValores[3])))
self.entrada_datos.SetValue(str(resultado))
elif lstValores[1]== "VA/VF" or lstValores[1]=="A/F":
resultado=float(lstValores[0]*(lstValores[2]/(((1+lstValores[2])**lstValores[3])-1)))
self.entrada_datos.SetValue(str(resultado))
def Uno (self,evento=None):
self.entrada_datos.AppendText('1')
def Dos (self,evento=None):
self.entrada_datos.AppendText('2')
def Tres (self,evento=None):
self.entrada_datos.AppendText('3')
def Cuatro (self,evento=None):
self.entrada_datos.AppendText('4')
def Cinco (self,evento=None):
self.entrada_datos.AppendText('5')
def Seis (self,evento=None):
self.entrada_datos.AppendText('6')
def Siete (self,evento=None):
self.entrada_datos.AppendText('7')
def Ocho (self,evento=None):
self.entrada_datos.AppendText('8')
def Nueve (self,evento=None):
self.entrada_datos.AppendText('9')
def Cero (self,evento=None):
self.entrada_datos.AppendText('0')
def VFVP (self,evento=None):
self.entrada_datos.AppendText("VF/VP")
def VAVP (self,evento=None):
self.entrada_datos.AppendText("VA/VP")
def VPVF (self,evento=None):
self.entrada_datos.AppendText("VP/VF")
def VPVA (self,evento=None):
self.entrada_datos.AppendText("VP/VA")
def VAVF (self,evento=None):
self.entrada_datos.AppendText("VA/VF")
def VFVA (self,evento=None):
self.entrada_datos.AppendText("VF/VA")
def Parentesis1 (self,evento=None):
self.entrada_datos.AppendText("(")
def Parentesis2 (self,evento=None):
self.entrada_datos.AppendText(")")
def Punto (self,evento=None):
self.entrada_datos.AppendText(".")
def Coma (self,evento=None):
self.entrada_datos.AppendText(",")
def Retroceso (self,evento=None):
strCadenaEntrada=self.entrada_datos.GetValue()
self.entrada_datos.SetValue(strCadenaEntrada[:-1])
def __set_properties(self):
# begin wxGlade: Ventana_calculadora.__set_properties
self.SetTitle("Calculadora")
self.entrada_datos.SetFont(wx.Font(20,wx.DEFAULT, wx.NORMAL, wx.LIGHT, 0, "Purisa"))
self.btnVPVF.SetBackgroundColour(wx.Colour(252, 255, 223))
self.btnVFVP.SetBackgroundColour(wx.Colour(252, 255, 223))
self.btnVAVF.SetBackgroundColour(wx.Colour(254, 255, 244))
self.btnIRetroceso.SetBackgroundColour(wx.Colour(255, 233, 237))
self.btnIRetroceso.SetSize(self.btnIRetroceso.GetBestSize())
self.btnVPVA.SetBackgroundColour(wx.Colour(252, 255, 223))
self.btnVFVA.SetBackgroundColour(wx.Colour(252, 255, 223))
self.btnVAVP.SetBackgroundColour(wx.Colour(252, 255, 223))
self.btnIgual.SetBackgroundColour(wx.Colour(185, 255, 196))
self.btnMas.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnMenos.SetBackgroundColour(wx.Colour(228, 235, 255))
self.bx.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnPunto.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnComa.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnDivision.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnRaiz.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnPotencia.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnParentesis1.SetBackgroundColour(wx.Colour(228, 235, 255))
self.btnParentesis2.SetBackgroundColour(wx.Colour(228, 235, 255))
# end wxGlade
def __do_layout(self):
# begin wxGlade: Ventana_calculadora.__do_layout
sizer_1 = wx.BoxSizer(wx.VERTICAL)
grid_sizer_2 = wx.GridSizer(2, 4, 0, 0)
grid_sizer_1 = wx.GridSizer(8, 4, 0, 0)
sizer_1.Add(self.entrada_datos, 0, wx.ALL|wx.EXPAND, 10)
sizer_1.Add(self.lblEjemplo, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
grid_sizer_1.Add(self.btnVPVF, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnVFVP, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnVAVF, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnIRetroceso, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnVPVA, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnVFVA, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnVAVP, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnIgual, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn7, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn8, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn9, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnMas, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn4, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn5, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn6, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnMenos, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn1, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn2, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn3, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.bx, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnPunto, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btn0, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnComa, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnDivision, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnRaiz, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnPotencia, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnParentesis1, 0, wx.EXPAND, 0)
grid_sizer_1.Add(self.btnParentesis2, 0, wx.EXPAND, 0)
sizer_1.Add(grid_sizer_1, 6, wx.ALL|wx.EXPAND, 0)
grid_sizer_2.Add(self.panel_1, 1, wx.EXPAND, 0)
grid_sizer_2.Add(self.btnBorrar, 0, wx.EXPAND, 0)
grid_sizer_2.Add(self.btnSalir, 0, wx.EXPAND, 0)
sizer_1.Add(grid_sizer_2, 0, wx.EXPAND, 2)
sizer_1.Add(self.static_line_1, 0, wx.EXPAND, 0)
self.SetSizer(sizer_1)
sizer_1.Fit(self)
self.Layout()
# end wxGlade
# end of class Ventana_calculadora
if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
Calculadora = Ventana_calculadora(None, -1, "")
app.SetTopWindow(Calculadora)
Calculadora.Show()
app.MainLoop()
Cabe mencionar que el código aún no es perfecto, pero si deseas hacer algún comentario, modificación, o tienes duda de alguna parte del código, puedes hacerlo en los comentarios, o por medio de un correo electrónico a ubuntu.latino@gmail.com
miércoles, 7 de septiembre de 2011
Como cambiar las dependencias de un paquete .deb
Después del Centro de Software Ubuntu, los paquetes .deb son la forma más fácil de instalar programas, pero en ocasiones los paquetes .deb no se pueden instalar por que no se satisfacen las dependencias, esto es por que algunas veces los instaladores .deb hacen referencia a paquetes obsoletos, más recientes, etc.
Esto fue precisamente lo que me ocurrió cuando quise instalar Boxee desde un paquete .deb que baje de la página oficial de Boxee, en este caso la dependencia que no se satisfacía era con el paquete libxmlrpc-c3, que en Natty Narwhal cambió por libxmlrpc-c3-0.
Esto fue precisamente lo que me ocurrió cuando quise instalar Boxee desde un paquete .deb que baje de la página oficial de Boxee, en este caso la dependencia que no se satisfacía era con el paquete libxmlrpc-c3, que en Natty Narwhal cambió por libxmlrpc-c3-0.
Voy a utilizar el ejemplo del paquete deb de Boxee para explicar como cambiar las dependencias, para ello abre una terminal y ocupa los siguientes comandos:
dpkg-deb -x Boxee.deb tmpdir
dpkg-deb --control Boxee.deb tmpdir/DEBIAN
- nano tmpdir/DEBIAN/control
- Se te abren en la terminal las dependencias, sólo tienes que modificar las dependencias que necesites, en mi caso modifique libxmlrpc-c3 por libxmlrpc-c3-0. Guardas con Ctrl+O y cierras con Ctrl +X.
- dpkg -b tmpdir Boxee_modificado.deb
Nota: Ten cuidado con lo que modificas, y que puedes desestabilizar tu sistema, lo más recomendable es que si vas a cambiar una dependencia, sea por un paquete más reciente para evitar errores.
Existe un script que si haces muchos cambios en las dependencias te puede servir, pero si sólo lo vas a hacer una vez, quizá no sea muy práctico, pero les dejo el enlace por si desean probar ésta segunda opción.
Enlace: Script para cambiar dependencias de paquetes .deb
Si te sirvió regalame un +1, RT, o un Me gusta aquí abajo :)
lunes, 5 de septiembre de 2011
Hackean servidor de Linux kernel.org
Justo en los 20 años de aniversario de Linux, ocurre esto, pero les dejo la noticia traducida (espero se entienda) del sitio kernel.org donde explican como y que fue lo que ocurrió:
¿Qué pasó?
Qué se ha hecho hasta ahora
Kernel.org ya tomó cartas en el asunto |
Violación de la seguridad en kernel.org
A principios de este mes, un número de servidores en la infraestructura de kernel.org se vio comprometido. Descubrimos esto el 28 de agosto. Actualmente creemos que los repositorios de código fuente no se vieron afectados, estamos en proceso de verificar de esto y tomar medidas para mejorar la seguridad de toda la infraestructura de kernel.org.
¿Qué pasó?
- Intrusos tuvieron acceso root en el servidor de Hera. Creemos que puede haber obtenido este acceso a través de una credencial de usuario comprometida, ¿cómo se las arreglaron para explotar esto y acceder como root, se desconoce y se está investigando.
- Archivos que pertenecen a ssh (OpenSSH, openssh-server y openssh-clientes) se han modificado funcionando en live.
- Un archivo de inicio troyano fue introducido en el sistema inicio de scripts.
- Se han registrado interacciones de usuarios, así como un código de explotación. Hemos mantenido esto por ahora.
- El Troyano, descubierto inicialmente por el mensaje de error Xnest / dev / mem w / o Xnest instalado; se ha visto en otros sistemas. No está claro si los sistemas que presentan este mensaje son susceptibles al peligro o no. Si los desarrolladores ven esto, y no tienes instalado Xnest, por favor, investiguen.
- Al “aparienciar” el 3.1-rc2 podría haber bloqueado el exploit de inyección, no sé si esto es intencional o un efecto secundario de otro de corrección de errores o cambios
Qué se ha hecho hasta ahora
- Ahora hemos puesto las cajas off line para hacer una copia de seguridad y está en proceso la reinstalación completa.
- Hemos notificado a las autoridades de los Estados Unidos y Europa para ayudar en la investigación
- Vamos a hacer una reinstalación completa en todas las cajas en kernel.org
- Estamos en el proceso de hacer un análisis sobre el código dentro de git, y confirmar que paquetes no se han modificado.
La comunidad de Linux y kernel.org toman la seguridad de los dominios kernel.org muy en serio, y están llevando a cabo todas las vias para investigar este ataque y prevenir futuros ataques.
Sin embargo, también es útil señalar que el daño potencial de kernel.org grietas es mucho menor que los repositorios de software típico. Eso es porque el desarrollo del kernel se realiza mediante el sistema de control distribuido git revisión, diseñado por Linus Torvalds. Para cada uno de los cerca de 40.000 archivos en el kernel de Linux, una seguridad criptográfica hash SHA-1 se calcula únicamente para definir el contenido exacto de dicho archivo. Git está diseñado para que el nombre de cada versión del kernel dependa de la historia de desarrollo completo que conduce a esa versión. Una vez que se publica, no es posible cambiar las versiones antiguas sin que se note.
Los archivos y los valores hash correspondiente existen no sólo en la máquina de kernel.org y sus mirrors, en los discos duros de cada uno de los desarrolladores del kernel de varios miles, la distribución, y otros usuarios de kernel.org. Cualquier alteración de cualquier archivo en el repositorio de kernel.org se da cuenta cada desarrollador inmediatamente, ya que actualiza su repositorio personal, la mayoría lo hacemos a diario.
Actualmente estamos trabajando con los 448 usuarios de kernel.org para cambiar sus credenciales y cambiar sus claves SSH.
También estamos de auditoría todas las políticas de seguridad para hacer kernel.org más seguro, pero confiamos en que nuestros sistemas, en concreto git, tienen un diseño excelente para prevenir el daño real de este tipo de ataques.
Personalmente y como dicen en kernel.org, pienso que linux no es invencible como muchos piensan, pero es este tipo de cosas lo que fortalece más a la comunidad y al kernel. Además de que se ha desmostrado que la forma en como se administra el kernel funciona, ya que fue un muy poco tiempo el que se necesitó para dar respuesta ante el ataque, comparado con por ejemplo Sony u otras compañias que llegan a tardar meses en solucionar problemas derivados de ataques.
Seguiré informando de la situación y las novedades.
Fuente: www.kernel.org
viernes, 2 de septiembre de 2011
Ubuntu 11.10 Beta 1 a Fondo: Cambios y Características
En muchos blogs y sitios se han ido publicando los cambios y características que traerá Ubuntu 11.10, pero en Mi Ubuntu Latino aún no se ha mencionado nada al respecto, es por eso que decidí hacer un "resumen" de todos estos cambios por si aún no te has enterado. Bien, comencemos:
- Unity greeter es el tema por default para LightDM luce así:
Imagen tomada de WebUpd8 |
- El botón "Ubuntu Start " que en Natty venía en la parte superior izquierda, ahora está incluido en el lanzador.
- Cambia el menú de redes sociales, mensajero instantáneo y cuenta de correo, ahora incluye los cambios de estado y se elimina el menú del usuario.
- Nuevo menú donde se encontraba el apagado, que incluye acceso a todas las configuraciones del sistema.
- El Dash tiene un efecto Blur, que hace que se vea transparente y se pueda ver lo que tenemos de fondo además de incluir otras opciones que en las netbook no se puede apreciar debido al tamaño de la pantalla.
Así se ve el dash en una netbook |
Asi luce normalmente |
- Aplicaciones que vienen:
Firefox 7.0 beta 3, Thunderbird 7.0 beta 1, Nautilus 3.1.4, LibreOffice 3.4.2, Gedit 3.1.4, Totem 3.0.1, Banshee 2.1.3, Empathy 3.1.5.1, Shotwell 0.11, Gwibber 3.1.6, Transmission 2.33 y Deja Dup 19.90. El beta 1 utiliza el Linux Kernel 3.0.0-9.15 y Xorg server 1.10.3 rc2.
Ubuntu 11.10 Utiliza el canal beta de Firefox |
La versión más actualizada de LibreOffice, que trae corrección de miles de bugs aumentando su estabilidad y desempeño. |
Mas adelante se llamará Ubuntu App Store?... |
- Thunderbird sustituye a Evolution al ganarle en pruebas de usabilidad.
- El cambiador de fondos de escritorio y temas, luce diferente, mostrando una miniatura de como se verá la imagen.
Se ve bien, pero aún no descubro donde cambiar los iconos... |
- El cambiador alt+tab muestra una miniatura de las aplicaciones.
Aplicaciones que ya no vienen:
- Pitivi ha sido removido como editor de vídeo debido a que su desarrollo se ha estancado
- El Gestor de Limpieza también ha sido removido debido a que causaba más problemas de los que solucionaba.
En el instalador:
Lo siguiente no lo he podido comprobar, ya que utilizo una live USB para probar los cambios y no instalo nada, pero esto es lo que he leído:
- No cambia la forma de crear particiones como se quería que se hiciera
Ésta era la propuesta |
Sigue siendo como en Natty |
- Te pregunta si deseas tomarte una foto para usarla en la información del usuario
Ahora instalar Ubuntu 11.10 pide un requisito: Estar peinado ;) |
Estos son sólo algunos de todos los cambios y características que trae consigo Oneric Ocelot, espero no se me haya pasado algo importante, pero si es así puedes comentarnos algún cambio que hayas notado o que no ésta en este post
jueves, 1 de septiembre de 2011
Beta 1 Ubuntu 11.10 Disponible para descargar
Se va cumpliendo el ciclo de desarrollo de Oneric Ocelot, y hoy ya está disponible para su descarga la Beta 1 con correción de bugs y las características congeladas de todo lo que vendrá en el próximo Ubuntu.
Si deseas saber las fechas de cuando se liberan versiones de programas, películas u otras cosas, consulta el Google Calendar que está en el panel lateral.
Recuerda: No es la versión final, pero si lo quieres probar es bajo tu propio riesgo. (Yo te recomiendo probarlo mediante una Live USB para no tener problemas de cualquier tipo)
Enlaces:
Descarga Ubuntu 11.10 Beta 1
42 Fondos que vendrán en Ubuntu 11.10
Uno de los 42 Fondos finalistas, velos aquí
Si deseas saber las fechas de cuando se liberan versiones de programas, películas u otras cosas, consulta el Google Calendar que está en el panel lateral.
Recuerda: No es la versión final, pero si lo quieres probar es bajo tu propio riesgo. (Yo te recomiendo probarlo mediante una Live USB para no tener problemas de cualquier tipo)
Enlaces:
Descarga Ubuntu 11.10 Beta 1
42 Fondos que vendrán en Ubuntu 11.10
Suscribirse a:
Entradas (Atom)