Archivo para junio, 2008

Hackear RFID – “tag the world!” – etiquetemos el mundo

Posted in Tecnología with tags , , on 27 junio, 2008 by febrer

Hoy mismo hablaba con mis compañeros de trabajo sobre la tecnología RFID aplicada a la circulación. Sería un gran avance que todos los elementos informativos en la carretera estén etiquetados. El coche en todo momento sabría cual es la velocidad máxima a la que puede circular, el estado de los semáforos, la velocidad del coche precedente, la proximidad de un paso de peatones, etc , etc , etc. Y más allá, si etiquetásemos los edificios, podríamos estar informados, mediante un IPAQ, de la historia de dicho edificio. Lo mismo con los alimentos, la ropa y etc, etc, etc.

TAG THE WORLD – Etiquetemos el mundo

Pues bien, todo esto podría ser muy bonito, si no hubiera “”personas”, “personajes”, que se dediquen a reventar dichos sistemas. Que por otro lado, también tiene su lado bueno, ya que el reventar un sistema hace que dicho sistema se fortalezca. Tendremos que esperar un nuevo “Service Pack” para RFID.

Esto son unos ejemplos visuales de como hackear RFID:

http://mx.youtube.com/watch?v=oMiigMveT4I&feature=related
 
http://mx.youtube.com/watch?v=eU79c7kA_eA&feature=related
 
http://mx.youtube.com/watch?v=n9E-zDgARpE&feature=related

Serializar en formato xaml

Posted in WPF with tags , , on 18 junio, 2008 by febrer

Este es un pequeño truco para serializar objetos en formato xaml. La técnica consiste en utilizar el método “Save” del objeto: XamlWriter. Este nos devuelve en una cadena el objeto “serializado” en xml. Para volver a utilizar dicho objeto, la manera de de-serializar es utilizando el método “Load” del objeto XamlReader.

Ejemplo:

using System.IO;
using System.Windows.Markup;

string mixaml = XamlWriter.Save(miobjeto);
StringReader stringReader = new StringReader(mixaml);
XmlReader xmlReader = XmlReader.Create(stringReader);
ClaseMiObjeto miobjeto2 = (ClaseMiObjeto)XamlReader.Load(xmlReader);

Webbrowser en wpf

Posted in WPF with tags , on 12 junio, 2008 by febrer

Ya tenemos navegador en WPF!!! Solo funciona con Framework 3.5 SP1, pero bueno es un buen comienzo.

Funciones soportadas:

  • NavigateToString
  • NavigateToStream
  • Navigate
  • GoBack
  • GoForward
  • Ejemplo de código:

    <StackPanel Name=”panel”>
        <WebBrowser Height=”500″  >
        </WebBrowser>
    </StackPanel>

    ———–

    private void OnNavigateToStream(object sender, RoutedEventArgs e)
            {
                Uri uri = new Uri(@”pack://application:,,,/pagina.htm”);
                Stream source = Application.GetContentStream(uri).Stream;
                b.NavigateToStream(source);

            }
            private void OnNavigateToString(object sender, RoutedEventArgs e)
            {
                b.NavigateToString(“<html><h2><b>Navegando a una cadena</b></p></h2></html>”);
            }

            private void OnGoBack(object sender, RoutedEventArgs e)
            {
                if (b.CanGoBack)
                {
                    b.GoBack();
                }
                else
                {
                    MessageBox.Show(“Imposible volver!”);
                }
            }

            private void OnGoForward(object sender, RoutedEventArgs e)
            {
                if (b.CanGoForward)
                {
                    b.GoForward();
                }
                else
                {
                    MessageBox.Show(“Imposible avanzar!”);
                }
            }
            private void OnNavigateToCNN(object sender, RoutedEventArgs e)
            {
                b.Navigate(new Uri(“http://www.febrersoftware.com&#8221;, UriKind.RelativeOrAbsolute));
            }

            private void OnNavigateToMSNBC(object sender, RoutedEventArgs e)
            {
                b.Navigate(new Uri(“pack://siteoforigin:,,,/htmlpage1.htm”, UriKind.RelativeOrAbsolute));

            }

    ——————–

     

    Fuente:

    http://blogs.msdn.com/llobo/archive/2008/06/12/wpf-webbrowser.aspx

    Chatbots, alize y aiml

    Posted in Tecnología with tags , , on 6 junio, 2008 by febrer

    Bueno, al final me he puesto a investigar sobre el tema de los robots conversadores. La verdad que por lo que he podido comprobar los “chatbots” están bastante avanzados. Los hay incluso que tienen avatares que gesticulan y hablan.

    La mayoría están basados en base de datos AIML, donde están las frases, patrones que el bot puede decir. Es un sistema muy rudimentario. Lo ideal sería que pudieran analizar semánticamente un origen de datos (wikipedia por ejemplo) para devolver las respuestas. Todo se andará. De todas formas, hay un proyecto (http://www.askwiki.com), que hace precisamente eso. Es en ingles, pero esta muy curioso.

    http://alicebot.blogspot.com/  -> Fundación ALICE.

    http://www.pandorabots.com    ->  Crea tu propio bot AIML y alójalo en sus servidores.

    http://www.sitepal.com/   -> Avatares que hablan y gesticulan. Ideal para aprender idiomas de forma amena. Dispone de su propia API para crear aplicaciones.

    http://ntoll.org/article/program-20    -> proyecto open source en c# que utiliza las bases de datos AIML.

    http://es.wikipedia.org/wiki/AIML -> información del formato AIML en wikipedia

    http://www.gaito.de/content/produkte_gaitobot/editor.asp?language=en    -> editor visual AIML

    http://www.aidreams.co.uk/  -> inteligencia artificial, robótica, chatbots, etc.

    FluidKit

    Posted in WPF with tags , , on 5 junio, 2008 by febrer

    Fluidkit es un proyecto open-source muy interesante para la creación de aplicaciones WPF.

    Este es un listado de los controles que dispone la librería:

    ImageButton
    DragDropManager
    GlassWindow
    BalloonDecorator
    ItemSkimmingPanel + SkimmingContextAdorner
    PennerDoubleAnimation
    ElementFlow
    TransitionContainer
    GenieAnimation

    Más info en:

    http://www.codeplex.com/fluidkit

    Este es el blog del programador:

    http://blog.pixelingene.com

    Cabe destacar el control “ElementFlow”, que nos permite realizar carruseles de imágenes. A continuación os dejo una captura: