jueves, 31 de enero de 2013

Probando el TL-R470T+ con balanceo de carga

Esta es la configuración que le he dado:


Haciendo la prueba con balanceo de carga 1/1 con dos conexiones (aba cantv)  de 1,5 mb/s me dio este resultado:

Se puede apreciar que la velocidad de descarga llega hasta 370 kbps.

Pasos para lograr esto:

1-) Configurar las wan's

2-) Este router usa balanceo de carga basado en ancho de banda ("Bandwidth Based Balance Routing" ). Es decir, la cantidad de carga que circule por las wans dependerá de el ancho de banda que usted le asigne en la configuración. La siguiente configuración es de dos wans: una de 1900 kbps y otra de 2400


3-) Configurar las wans que participaran en el balanceo de carga.


sábado, 26 de enero de 2013

Resaltado en Eclipse con con tema oscuro

Cuando instalas un tema oscuro en Eclipse es normal que ocurra esto:


Puedes notar como el texto es resaltado por un color que hace imposible leer dicho texto.

Para evitar esto ve a General -> Editors -> Test Editors -> Annotations

"C/C++ occurrences" es el valor que hay que modificar.



Yo le coloqué un color rojo y quedó así


Lo posteo porque me costó bastante conseguir la opción.

domingo, 20 de enero de 2013

Instalar AMD Catalyst en Fedora 18

Por tristeza el nuevo driver 13.1 oficial de AMD  no es compatible (sin parches) con fedora 18 y su kernel 3.6 | 3.7. Por dicha razón a muchos usuarios de tarjetas gráficas AMD no nos levanta la interfaz luego de instalar F18. Aquí enseñaré a instalar una versión "funcional del driver" para usar hasta que AMD libere una nueva versión compatible con el kernel>=3.6.

Antes que nada, si su interfaz no arranca, entonces debe quitar su tarjeta gráfica e iniciar el sistema sin ella. Si no lo desea hacer, por razones de garantía o no se que, entonces puede iniciar el sistema en modo texto, o abrir una tty (ctrl+alt+F3) antes de que se cuelgue el sistema (en mi caso no me deja hacer ni pio luego que carga el logo de fedora).


1-) Instalar los Development Tools y los headers y devels del kernel:
       yum groupinstall "Development Tools
       yum update kernel
       yum install kernel-hea* kernel-dev*


2-) Agregar los repos de rpmfusion en caso de no tenerlos:
    rpm -ivh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-18.noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-18.noarch.rpm

3-) Luego instalamos el akmod del catalyst
    yum -y install akmod-catal*

4-) Ejecutamos este comando para que el akmod corra
new-kernel-pkg --kernel-args=nomodeset --mkinitrd --dracut --update $(rpm -q --queryformat="%{version}-%{release}.%{arch}\n" kernel | tail -n 1)

ACTUALIZADO (27-01-13): rpmfusion.org ha liberado un nuevo paquete que hace que los pasos siguientes no sean necesarios

5-) Luego
aticonfig --initial -f

6-) Reinicia el pc e insertamos la tarjeta gráfica (en caso de que la hallamos quitado)

Veras que hay un horrible label en la parte de abajo que dice "Testing use only"


amd testing use only
AMD Testing use only

Para eliminarlo modifica borra el contenido del fichero 
/etc/ati/signature (UNSIGNED) y sustitullelo por 


9777c589791007f4aeef06c922ad54a2:ae59f5b9572136d99fdd36f0109d358fa643f2bd4a2644d9efbb4fe91a9f6590a145:f612f0b01f2565cd9bd834f8119b309bae11a1ed4a2661c49fdf3fad11986cc4f641f1ba1f2265909a8e34ff1699309bf211a7eb4d7662cd9f8e3faf14986d92f646f1bc

Podemos abrir el fichero con

nano /etc/ati/signature


7-) Reinicia de nuevo y debería ir perfecto. Ahora a esperar a que AMD publique una nueva versión.

Aqui puede descargar el script completo.


Probado con una XFX Radeon HD 6870 con Fedora 18 x86_64 y KDE

sábado, 12 de enero de 2013

Código fuente formateado en Blogger sin instalar nada

Este post es más un recordatorio personal XD.

Lo mejor que conseguí en la web para formatear código fuente: está en este link:

http://hilite.me/

Sin instalar nada, solo pegas, formateas y cópias

miércoles, 2 de enero de 2013

Crear estructuras en Okteta

Síntesis rápida
Necesita crear dos ficheros en el directorio /home/NOMBREDEUSUARIO/.kde/share/apps/okteta/structures/NOMBRE_X

- Un NOMBRE_X.osd donde guardará toda la información de la estructura
- Un NOMBRE_X.desktop para la presentación visual (No es tan importante).
(NOMBRE_X Es cualquier nombre que usted le quiera dar)
Ejemplo de como puede ser la estructura del fichero NOMBRE_X.osd: 

<?xml version="1.0" encoding="UTF-8"?>
<data>
     <struct name="NombreDeLaEstructura">
<primitive name="UnChar" type="Char"/>
<primitive name="UnEntero" type="Int32"/>
      </struct>
</data>

La anterior es una estructura que tiene dos campos primitivos: un carácter y un entero, que en C/C++ equivaldría a algo así:

struct NombreDeLaEstructura{
   char UnChar;
   int UnEntero;
}

El fichero NOMBRE_X.desktop puede ser algo así:

[Desktop Entry]
Encoding=UTF-8
Icon=code-context
Type=Service
ServiceTypes=KPluginInfo

Name[es]=Prueba

X-KDE-PluginInfo-Author=Hector Oliveros
X-KDE-PluginInfo-Email=hector.oliveros.leon@gmail.com
X-KDE-PluginInfo-Name=Prueba
X-KDE-PluginInfo-Version=1.0
X-KDE-PluginInfo-Website=http://www.plugin.org/
X-KDE-PluginInfo-Category=structure
X-KDE-PluginInfo-License=LGPL
X-KDE-PluginInfo-EnabledByDefault=true


Luego lo guarda y ya puede agregar la estructura 


Ejemplo:

Imaginemos que queremos analizar un fichero binario que contenga, internamente, varias de estas estructuras

struct BCP{ 
  int idControl;
  int pid;  
  pid_t ppid;  
  int gradoDePrioridad;  
  int consumoAcumuladoDeCPU;  
  int rafagasDeEjecucion[20]; 
 
  struct Bloqueo{    
    int idControlProceso;     
    uint tiempoDeBloqueo;    
    int idRecurso;    
  } bloqueos[20];    
  
  int instanteDeLlegada;

  enum TipoDeProceso{
    BATCH  = 0,
    TIEMPO_REAL  = 1,
    INTERACTIVOS = 2
  } tipoDeProceso;  
};


En este caso el fichero .osd sería algo así:


<?xml version="1.0" encoding="UTF-8" ?>
<data>  
  <enumDef name="Tipo_De_Proceso" type="Int32">
      <entry name="BATCH"        value="0" />
      <entry name="TIEMPO_REAL"  value="1" />
      <entry name="INTERACTIVOS" value="2" />      
   </enumDef>        
  <struct name="BCP">
    <primitive name="IDControl" type="Int32" />    
    <primitive name="PID" type="Int32" />    
    <primitive name="PPID" type="Int32" />        
    <primitive name="GradoDePrioridad" type="Int32" />    
    <primitive name="ConsumoAcumuladoDeCpu" type="Int32" />    
    <array name="RafagasDeEjecucion" length="20">
      <primitive type="Int32" />
    </array>    
    <array name="Bloqueos" length="20">
      <struct name="Bloqueo">
 <primitive name="IDControl" type="Int32" />
 <primitive name="TiempodeBloqueo" type="Int32" />
 <primitive name="IDRecurso" type="Int32" />
      </struct> 
    </array>    
    <primitive name="InstanteDeLlegada" type="Int32" />     
    <enum name="TipoDeProceso" enum="Tipo_De_Proceso" type="Int32" />    
  </struct> 
</data>



Aquí puede descargar este ejemplo completo

Solo debe pegarlo en la ruta: 
/home/NOMBREDEUSUARIO/.kde/share/apps/okteta/structures/


martes, 1 de enero de 2013

Automontar particiones en Fedora

Abre el KDE partitionmanager. Si no lo tienes instálelo con yum install kde-partitionmanager.

Luego lo corre y dando clic al botón secundario sobre la partición valla a las propiedades de la partición a la cual desea seleccionar el automontado.

Allí puede ver el UUID de la partición





Luego, desde el terminal modifica el fichero fstab.
sudo nano /etc/fstab

La estructura de las entradas es la siguiente:
UUID=uuid PuntoDeMontaje TipoDeSistemaDeFicheros fs_mntops OrdenDeVolcado OrdenDeCheckeo



En OrdenDeVolcado y OrdenDeCheckeo generalmente se colocan los mismos números pero debemos colocar un numero distinto y mayor que cualquiera de los que están en los demás campos del fichero /etc/fstab.




El significado de cada uno de los campos los puedes ver en el manual de fstab escribiendo en consola:
man fstab.

Por ejemplo en mi caso: 

UUID=a4a6a4f8-7342-4657-a7a2-4592eb98fb64 /media/Disco ext4 defaults  2 2

Guarda, reinicia y listo.