Archivo de la categoría: SomeCode

Visual Studio Image Library

Pos Eso! 🙂 un nuevo gran recurso.

La Biblioteca de imagenes de Visual Studio contiene imágenes de aplicaciones que aparecen en Microsoft Visual Studio, Microsoft Windows, Office System y otros programas de Microsoft, esta biblioteca continene más de 5.000 imágenes que se pueden utilizar para crear aplicaciones que se parecezcan visualmente y de forma consistente con el estilo de software de Microsoft.

http://www.microsoft.com/en-us/download/details.aspx?id=35825

Saludos,
PepLluis, 

Microframework, Threats y TimerCallBacks

Conversando con un compañero que en 2009 asistimos a una charla sobre Microframework en el TechEd de Barcelona, me comentaba que era una lástima que netmf no pudiera ejecutar hilos….. Mi respuesta fue: Pero hombre! desde entonces ha llovido mucho!! Jajajaja.

Si habrá llovido que incluso ya está en ruta la versión 4.3 que se integrara en Visual Studio 2012.

Evidentemente estos últimos cuatro años como ya vengo diciendo en los últimos post, han dado una sana madurez a netmf. Si además del montón de funcionalidades actuales de netmf también disponemos de threats.

Valga este modesto ejemplo, para manejar dos ‘threading.timers’ :

Imports Microsoft.SPOT
Imports System.Threading
 
Namespace MFConsoleApplication1
    Public Module Module1
        Private tmr1 As New Timer(New TimerCallback(AddressOf tic), Nothing, 1000, 500)
        Private tmr2 As New Timer(New TimerCallback(AddressOf tac), Nothing, 1000, 500)
 
        Sub Main()
            ' desfasar el primer hilo del segundo para crear el Tic Tac
            Thread.Sleep(500)
            ' poner a dormir al hilo principal
            Thread.Sleep(System.Threading.Timeout.Infinite)
        End Sub
 
        ' CallBack para tic
        Sub tic(ByVal state As Object)
            Debug.Print("Tic")
        End Sub
        ' CallBack para cac
        Sub tac(ByVal state As Object)
            Debug.Print("Tac")
        End Sub
 
    End Module
 
End Namespace

Saludos,
PepLluis,

Presentación de .net Microframework y Gadgeteer en los TechDays 2012 de Madrid

Como probablemente sabréis el pasado 22 de noviembre se celebro en el teatro Goya de Madrid uno de los eventos anuales más importantes en torno a las tecnologías de Microsoft. Este evento reúne empresas y profesionales del sector entorno a conferencias temáticas específicas para desarrolladores y IT pros.

También fue una oportunidad única para esas reuniones “tu a tu” entre colegas, donde fraguar conversaciones que al fin y al cabo dinamizan a la comunidad en busca de esa inspiración donde compartir se convierte en la capacidad de visualizar nuestro futuro profesional más próximo.

Otro de los valores añadidos en este evento, fue la posibilidad de contactar con los principales expertos de las principales tecnologías de Microsoft. Los asistentes pudieron conversar en el “ATE” frente al mostrador de MVP’s.

En esta ocasión aproveche este fantástico escenario para presentar el Microsoft “Gadgeteer”, con el propósito de fundamentar una nueva “micro” comunidad entorno a este estupendo proyecto. En la “Show Room” J pudimos ver dos “bread boards” conteniendo una muestra de implementación de casi todos los procesadores disponibles en el mercado a día de hoy.

Muchos de vosotros mostrasteis un curioso interés sobre esta madura plataforma para pequeños dispositivos, que en breve podrá incluirse a Visual Studio 2012, por este motivo he considerado adecuado dedicar este pequeño corto, con el propósito de resposder a la repetida pregunta “y esto que es?” jajajaja.

Pues:

NET Micro Framework representa la versión más pequeña de punto NET. Está orientado a pequeños sistemas con recursos limitados, pero con alto grado de integración en periféricos embebidos dentro de un mismo procesador. Además cuenta con innovador y completo entorno desarrollo, ejecución y depuración, aportando la productividad de las herramientas modernas a programación de sistemas embebidos.  En la actualidad se  ofrece bajo una licencia de código abierto (Apache 2.0), aunque todavía su estatus de desarrollo está activo dentro de Microsoft, también se encuentra en coordinación con las contribuciones abiertas a la comunidad técnica.

·         Fácil desarrollo de potentes aplicaciones interactivas, integradas y complejas.

·         Conexión de dispositivos a través de protocolos inalámbricos o por cable.

·         Desarrollo rápido de soluciones fiables y robustas a un menor coste.

·         Desarrollo de soluciones para dispositivos conectados utilizando las mismas herramientas que se utilizan para desarrollar aplicaciones de servidor o para la nube.

Aprende más acerca de .NET Micro Framework en  : MSDN › o NETMF.COM ›

En 2011 Microsoft Research anuncio la liberación de NET Gadgeteer, una plataforma que permite construir y depurar prototipos de dispositivos electrónicos de forma rápida y sencilla. En general está orientado a educadores, desarrolladores y aficionados, los prototipos se construyen uniendo distintas unidades NET Gadgeteer o módulos a una unidad central de proceso. Existe una amplia gama de módulos enchufables que proporcionan diferentes funcionalidades… visualización, control, comunicaciones, etc. Las principales claves radican en no requerir conocimientos previos de electrónica ni habilidades para realizar soldaduras, este nuevo concepto permite desarrollar refinados prototipos o dispositivos electrónicos en un tiempo extraordinariamente bajo.

«NET Gadgeteer es una plataforma de gran alcance que le permite crear muy rápidamente sofisticados dispositivos . Incluso sin mucha experiencia previa«, Según Steve Hodges, Principal ingeniero de hardware en Microsoft. «Este proyecto empezó como una herramienta interna para Microsoft Research Cambridge, rápidamente se hizo evidente su especial atractivo para personas ajenas al laboratorio. La liberación del código a la comunidad técnica hará que esta poderosa tecnología este disposición de los demás, incluyendo aficionados, profesores, investigadores y desarrolladores que nos han dado una respuesta tan positiva hasta la fecha. «

Espero vuestros comentarios y preguntas.
PepLluis,

Primer Update para Visual Studio

Simplemente es un recordatorio sobre la disponibilidad de la primera actualización para Visual Studio 2012.

Aqui teneis el enlaze : http://www.microsoft.com/visualstudio/esn/downloads#d-visual-studio-2012-update

Saludos,
PepLluis,

La lista de mejoras es la siguiente :

  • Funcionalidades ALM adicionales en SharePoint (como el soporte para pruebas de carga y para pruebas de interfaz de usuario codificadas), mejoras de calidad, escalabilidad y agilidad.
  • Planificación ágil más sencilla con acceso web y nuevo soporte Kanban, además del soporte Scrum existente.
  • Mejoras para las pruebas, desde la organización de pruebas unitarias hasta un flujo de trabajo más flexible para la ejecución de pruebas manuales.
  • Desarrollo mejorado de aplicaciones de Windows 8, como el soporte para depurar aplicaciones mixtas administradas y nativas de la Tienda Windows y una depuración ARM mejorada para aplicaciones de Windows 8.
  •  

    VB11 Que hay de nuevo… Viejo? #2

    Otra de las nuevas para VB11 es la posibilidad de combinar Lambdas e Iteradores 🙂 me encanta la dulzura de las expresiones en VB y encima incrustando XML en el editor… no todos los lenguajes pueden alardear de ellos 😉 jajajajaja.

    Llevamos tiempo hablando de expresiones Lambda, y a la mayoría nos cuesta adoptar de forma natural la escritura de la mismas dentro de nuestros escenarios habituales.

    El siguiente ejemplo, intenta introducir y dar coherencia a su uso, poniendo en acento en las extensiones de unión ‘Yield’ para combinar el contenido con el cuerpo de literales XML.

    No olvideis el ‘Imports System.IO.Directory’ para poder llamar a la funcion ‘EnumerateFiles’.

        Dim myExplorer As New WebBrowser
        Dim myImageWall As
    XElement
        Me
    .Controls.Add(myExplorer)
        myImageWall =
                <html
    >
                      <body
    >
                             <%= Iterator Function
    ()
                                           For Each filename In EnumerateFiles(«C:\Users\PepLluis\Pictures», «*.jpg»
    )
                                                 Yield <img src=<%= filename %>></img
    >
                                           Next
                                      End Function.Invoke()
    %>
                      </body
    >
                 </html
    >
        myExplorer.DocumentText = myImageWall.ToString

    Para los que lo ven todo simple es tan sencillo como incrustar sentencias y expresiones!

    Espero que os guste.
    PepLluis,

    NETMF4.2 VB, Empezando con Cerberus

    ‘Como empezar con «Cerberus» (Como atencion al Sr. Frederick)

    ‘ Descargar/Instalar el sdk 4.2QFE2 de netmf : http://netmf.codeplex.com/downloads/get/470705
    ‘ Descargar/Instalar el sdk 4.2RC2 de GHI : (puedes encontrarlo el la pagina de detalles «Cerberus».

    ‘ Una vez instalado…
    ‘ – Ejecutar una instancia de Visual Studio 2010
    ‘ – Nuevo Proyecto
    ‘ – Escoger Visual Basic>Gadgeteer>.Net Gadgeteer Aplication (NETMF 4.2)
    ‘ – Copiar y pegar este codigo… y listo!, el Led verde parpadeara hasta el fin de los tiempos 🙂

    Imports GT = Gadgeteer
    Imports
    GTM = Gadgeteer.Modules
    Partial Public Class
    Program

      Public
    Sub ProgramStarted()
          timer.Start()
         
    Debug.Print(«Program Started»
    )
      End Sub

      Dim WithEvents timer As GT.Timer = New GT.Timer(1000) ‘ un cop per segon (1000ms)
      Dim tic As Boolean = False

      Private
    Sub timer_Tick(timer As Gadgeteer.Timer) Handles
    timer.Tick
          tic =
    Not
    tic
          Mainboard.SetDebugLED(tic)
      End
    Sub

    End Class

    VB11 Que hay de nuevo… Viejo? #1

    Creo que ya va siendo tiempo de que hablemos de las novedades del nuevo Visual Basic “Compilador VB11” y Visual Studio 2012 J

    Esta es una de aquellas guindillas que simplifica el código, tales como la introducción de “no más _ de continuación de línea”.en VB10.

    Pues en VB11 “No mas ByVal” en las firmas de método.
    Aunque parezca una simpleza, mejora el aspecto visual y se hace mas agradable de leer cuando lo ves en las declaraciones de método.

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    End Sub

    ‘ni ByVal… ni System en EventArg
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles
    Timer1.Tick
    End Sub

    Enga… a picar!
    Saludos,

    Visual Studio 2012 y Windows Metro Style

    Una de las características mas esperadas para «Visual Studio 2012» es sin duda las plantillas de app’s para «Windows 8».
    Debo advertiros que las plantillas no están disponibles si tu entrono de desarrollo no es «Windows 8», por lo tanto no estarán disponibles si lo instalas en un «Windows 7» 🙂

    Su versión en Ingles reza «Windows Metro Style», como ya sabéis «Spain is diferent» y en vez de hablar de aplicaciones «Metro»… en nuestro curriculum deberemos decir que somos programadores de «Tienda Windows» LOL!

    Una simpática manera de empezar,
    Saludos,

    WebServer, MicroFramework, C# y sin Gadgeteer

    Por peticion de un amable lector…

    Como punto de entrada para construir un ‘WebServer’ sin gadgeteer en C# y para microframework, os dejo la siguiente entrada :

            NetworkInterface networkInterface = NetworkInterface.GetAllNetworkInterfaces()[0];
            WebEvent myweb;
            void ProgramStarted()
            {
                Debug.Print("Program Started");
                Debug.Print("IP Address: "  + networkInterface.IPAddress.ToString());
                Debug.Print("Subnet Mask: " + networkInterface.SubnetMask.ToString());
                Debug.Print("Gateway: "     + networkInterface.GatewayAddress.ToString());
                System.Threading.Thread.Sleep(1000);
                // 
                WebServer.StartLocalServer(networkInterface.IPAddress.ToString(), 80);
                myweb = WebServer.SetupWebEvent("Hello");
                myweb.WebEventReceived +=new WebEvent.ReceivedWebEventHandler(myweb_WebEventReceived);
            }

            void myweb_WebEventReceived(string path, WebServer.HttpMethod method, Responder responder)
            {
                byte[] bte = new System.Text.UTF8Encoding().GetBytes("Hello from " + networkInterface.IPAddress.ToString() + "At " + System.DateTime.Now.ToString());
                responder.Respond(bte, "text/html");
            }
        }
    
    
    Saludos,
    PepLluis,