Personal Website

miércoles, 29 de abril de 2009

Consejo Economico Sobre Mujeres

Charlando con un amigo, me senti poeta y quise emitir un consejo el cual fue avalado por un futuro contador publico:

Las mujeres son como el dinero...... van y vienen...... son placeres pasajeros......... pero siempre es bueno cambiar la moneda antes de que se devalue... no use capitales de riesgo para inversiones a largo plazo....... no confie en los inversionistas angeles!!! DIGALE NO AL TRUEQUE!!!! la relacion de pareja es como la caja de ahorro, de tanto sacar y meter se pierde el interes

lunes, 27 de abril de 2009

Por Que Detesto a Windows??

Bueno, NUNCA uso Windows directamente, en el peor de los casos que lo tenga que usar por algun motivo, lo uso en una Maquina Virtual sobre el Gran Ubuntu!
Pero que paso?? Estaba haciendo una aplicacion en C# (no es de mi agrado, pero fue por decisiones de fuerza mayor) y para esta aplicación necesitaba usar Sql Server 2005 (Todo Microsoft!), y el Sql Server en la Maquina Virtual no corria bien... entonces digo... bueno, voy a instalarlo en la particion de "por si las dudas" que tengo con Windows (una particion sin nada mas que el sistema operativo)... y que paso al iniciar la instalacion????!!!!!


Se MURIO COMPLETAMENTE!!!! Se reinicio la maquina y el Windows no quiso entrar, ni en Modo Normal, Ni a Prueba de Fallos, ni nada!!!
Siendo que el Linux lo tengo hace muchisimoooo Y NUNCA NI UN PROBLEMA!!!!

Conclusion: Me dije... para que voy a perder tiempo con esta basura... borro esa particion que estaba DESPERDICIANDO CON WINDOWS, ponga una particion mas en ext4... y tuneo un poco mas la maquina virtual para ver si anda... total si se llega a arruinar... solo se rompe todo dentro de la Maquina Virtual...

AGUANTE LINUX!!!

sábado, 25 de abril de 2009

El Limite de la Joda

Este Limite, es un limite que creamos con un amigo en el primer año de la facultad la noche anterior de rendir nuestro primer parcial de Analisis Matematico cuando nos cansamos de estudiar... despues lo escribimos en una hoja y lo pegamos al lado de la puerta del curso donde rendiamos.


UBUNTU 9.04


Bueno!! Por fin salio Ubuntu 9.04 y ya hice mi upgrade de 8.10 a 9.04!
Lo primero para destacar... LA VELOCIDAD!! MUYYYY RAPIDOOO!!!
Da gusto ver como van mejorando un sistema operativo para que con los mismos recursos sea mas rapido, mejor, etc, etc... No como otros que cada sistema operativo que sacan tenes que salir a cambiar toda la maquina (no lo digo por nadie en particular jeje).

Al terminar la actualización me encontre solo con "3 problemas":
  1. No me funcionaban los efectos de Compiz Fusion
  2. Luego se deshabilitaron los comandos: Alt+F1 para usar el menu, y Alt+F2 para la ventana de ejecutar aplicación.
  3. El sonido se escuchaba MUY BAJO!
Cuanto tarde en solucionar eso... 15 minutos MAXIMO gracias a la comunidad de Ubuntu!

Aca dejo la explicación de lo que hice en caso de que alguien tenga los mismos problemas:

1) Este problema era una cuestion de Hardware que dicen que ya va a ser solucionada, pero por el momento, podemos hacer una solución que dicen que puede llegar a causar que el sistema se cuelgue pero por el momento no tuve ningun problema y esta funcionando perfecto.
Pasos:

Abrimos una terminal y ponemos el siguiente comando:
  • sudo gedit /usr/bin/compiz

Nos pedirá nuestra contraseña de Usuario, luego se abrirá un documento de texto.

- Buscamos "# blacklist based on the pci ids", y anteponemos un "#" en todas las lineas siguientes hasta la linea "unset T", asi:

# blacklist based on the pci ids
# See http://wiki.compiz-fusion.org/Hardware/Blacklist for details
#T=" 1002:5954 1002:5854 1002:5955" # ati rs480
#T="$T 1002:4153" # ATI Rv350
#T="$T 8086:2982 8086:2992 8086:29a2 8086:2a02 8086:2a12" # intel 965
#T="$T 8086:2a02 " # Intel GM965
#T="$T 8086:3577 8086:2562 " # Intel 830MG, 845G (LP: #259385)
#BLACKLIST_PCIIDS="$T"
#unset T
Guardamos los cambios y reiniciamos la sesión.
(Como se ve el problema esta en ciertos modelos de placas)
Ahora ya podremos usar los efectos de Compiz Fusion.

Cuando los activemos, es posible que se desencadene el problema:
2) De repente se nos deshabilitan las combinaciones de Alt+F1 y Alt+F2... que por lo menos para mi son MUY UTILES!
Bueno, arreglar esto es tan facil como ir a "Sistema-Preferencias-Administrador de Opciones CompizConfig", y ahi seleccionamos "Gnome Compatibility"

Y listo!

3) El paso 3 es en realidad algo que ya puede haber pasado en versiones anteriores, y todo lo que se necesita es tener instalado el "Mezclador ALSA para GNOME", este nos permite entrar a configurar en mayor profundidad algunas caracteristicas de la administración del sonido y levanta los canales de PCM o Front que segun algunas configuraciones pueden llegar a quedar bajos.
En caso de no tener el mezclador ALSA instalado se puede hacer de la siguiente forma:

  • sudo apt-get install alsa
  • sudo apt-get install gnome-alsamixer
  • Y luego lo ejecutamos con: "$ gnome-alsamixer"
Subimos PCM o Front segun sea necesario y Listo!

Bueno, esos son los unicos problemas que tuve yo al hacer la actualización, pero como ya dije... LA VERDAD UN MUY BUEN SISTEMA OPERATIVO!

lunes, 13 de abril de 2009

The Bird Is The Word!

Este parte de este capitulo de Family Guy definitivamente se merece un post... asi como antes habia subido uno de Stewie... y encima despues vi un video con el sonido de Family Guy e imagenes del groso de House MD!! GENIAL!!



viernes, 10 de abril de 2009

BumpTop

Es atipico esto, pero queria postear una cosa sobre un desktop 3d que vi para Windows, hace un tiempo habia usado uno que no era muy bueno, pero este parece tener muchas cosas interesantes.
Igual no hay nada como los multiples escritorios que ya vienen con linux combinados con CompizFusion.


miércoles, 8 de abril de 2009

Como Filtrar un ComboBox WPF

Esta es una solución bastante simple pero MUY practica para el filtrado de un ComboBox en WPF dinamicamente mientras la persona va ingresando el texto:

Primero creamos una clase que puede llamarse "Util" que contendra un 1 atributo y 2 metodos todos estaticos.

Código de la Clase "Util":

Codigo fuente

using System;
using System.Collections.Generic;

namespace Project.util
{
public class Util
{

private static string Prefix = "";

private static bool StartWithPrefix(String s)
{
if (Util.Prefix.ToLower().Equals(""))
{
return true;
}
else if (s.ToLower().StartsWith(Util.Prefix.ToLower()))
{
return true;
}
else
{
return false;
}
}

public static void FilterCombo(
System.Windows.Controls.ComboBox combo, List<string> list)
{
Util.Prefix = combo.Text;

List<string> listFind = list.FindAll(
Util.StartWithPrefix);
combo.ItemsSource = listFind;

}

}
}


Para usar el filtro lo que hacemos es invocar el metodo FilterCombo de la clase Util pasandole como parametros el ComboBox al que deseamos aplicar el filtro, y una Lista de strings que es el contenido de nuestro Combo (es decir, la colección que asignamos en el ItemsSource del combo).

Una vez que tenemos nuestra clase Util lista, lo unico que tenemos que hacer es asignar en nuestra Interfaz de Usuario (Sea un control, ventana, etc) el ComboBox y colocarle las siguientes propiedades:
  • IsEditable = true;
  • IsTextSearchEnabled = false;
  • StaysOpenOnEdit = true;
Estas caracteristicas se puede editar desde el diseñador de interfaz o desde el xaml:

Codigo fuente

<ComboBox IsEditable="True" IsTextSearchEnabled="False"
StaysOpenOnEdit="True" KeyUp="comboBarrio_KeyUp" />


Una vez que tenemos nuestra Clase con los metodos estaticos, y nuestro ComboBox seteado, creamos un metodo para manejar el evento de KeyUp de nuestro ComboBox con el siguiente codigo:

Codigo fuente

private void combo_KeyUp(object sender, System.Windows.Input.KeyEventArgs e)
{
if (e.Key != System.Windows.Input.Key.Escape &&
e.Key != System.Windows.Input.Key.Down &&
e.Key != System.Windows.Input.Key.Up &&
e.Key != System.Windows.Input.Key.Left &&
e.Key != System.Windows.Input.Key.Right &&
e.Key != System.Windows.Input.Key.Enter)
{

this.combo.IsDropDownOpen = true;

Util.FilterCombo(this.combo, list);
}
}


De esta forma, lo que lograremos es que al situarnos sobre nuestro ComboBox y empezar a tipear algun caracter, el ComboBox se desplegara automaticamente y mientras vayamos tipeando nos filtrara la lista de resultados mostrando aquellos que comiencen con el prefijo que vamos ingresando.

El IF en el metodo "combo_KeyUp" lo que permite es que con "Esc" se cierre, con "Enter" nos deje seleccionar la opción sin que se vuelva a abrir el combo, y que podamos navegar entre las opciones filtradas con los flechas del teclado.

El hecho de que se haya expuesto la Clase "Util" con metodos estaticos es simplemente por el hecho de que sea posible llamarla desde cualquier clase de nuestro proyecto para poder ser utilizada en cualquier combo.




Eso es todo... cualquier consulta o mejora se aceptan comentarios :)

Los "Hola Mundo" Mas Raros!

Buscando sobre INTERCAL a causa de la broma de Google sobre CADIE el 1 de abril, termine en la Wikipedia viendo una lista con "Hola Mundo" en muchos lenguajes, y quise hacer un post con los "Hola Mundo" en los lenguajes mas esótericos:

BRAINFUCK:
++++++++++
[ Bucle para iniciar el vector
>+++++++>+++++++++++>++++>+++>+<<<<<- ] >++. imprime 'H'
>+. 'o'
---. 'l'
-----------. 'a'
>++++. coma
>++. ' '
<<<+++++. 'M' >++++++++++++++++++++. 'u'
-------. 'n'
----------. 'd'
+++++++++++. 'o'
>>+. '!'
>. \n

HQ9+:
H

INTERCAL:
PLEASE DO ,1 <- #13
DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #112
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #238
DO ,1 SUB #7 <- #26
DO ,1 SUB #8 <- #248
DO ,1 SUB #9 <- #168
DO ,1 SUB #10 <- #24
DO ,1 SUB #11 <- #16
DO ,1 SUB #12 <- #158
DO ,1 SUB #13 <- #52
PLEASE READ OUT ,1
PLEASE GIVE UP

MALBOLGE:
(=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z]KwZY44Eq0/{mlk**
hKs_dG5[m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O<

Ook!:
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook?
Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook?
Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook! Ook! Ook! Ook!
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook.
Ook! Ook. Ook! Ook? Ook! Ook! Ook? Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook.

UNLAMBDA:
```s``sii`ki
``s``s`ks
``s``s`ks``s`k`s`kr
``s`k`si``s`k`s`k
`d````````````.H.o.l.a.,. .m.u.n.d.o.!
k
k
`k``s``s`ksk`k.*

BEFUNGE:
>              v
v ,,,,,"Hello"< >48*, v
v,,,,,,"World!"< >25*,@
WHITESPACE:
La sintaxis consiste únicamente en espacios en blanco, tabulador y líneas nuevas. Los demás carácteres son ignorados.
"Hola Mundo":
TINK:
Está basado en el uso de colores, de tal forma que cada instrucción es representada por un píxel de determinado color, que forma parte de una imagen/programa.
"Hola Mundo":


Definición Lenguajes Esotéricos:
Existen muchos lenguajes de programación especialmente extraños, muchos de los cuales fueron desarrollados con el propósito de resultar divertidos (en vez de útiles) para los programadores. Estos lenguajes esotéricos (o exóticos) se crean como un pasatiempo para los desarrolladores, que intentan hacer lenguajes lo más alejados de la forma de razonar humana, pero que al mismo tiempo sean Turing Completos.

Me llamo la atención que algunos incluian a Perl en la lista de lenguajes de programación esotéricos... sera para tanto?? jeje