Generador de codigo MyWay

Hace unos dias, Luis Molina me informo del nuevo lanzamiento de su generador de codigo, totalmente renovado y con mas energia que nunca, ademas se rebautiza, su nuevo nombre es ….. MyWay.

MyWay es un generador realizado en C#, capaz de facilitar tu tarea dandote el trabajo de toda una mañana o incluso dias, en segundos, no solo para proyectos en C# si no que tambien Visual Basic .NET, e incluso la posibilidad de crear tus propias plantillas para asi trabajan en otros lenguajes de programacion. Tambien existen distintas posibilidad de conexión a varias Bases de Datos.

Aquí os dejo un webcast en el que podéis ver algunas de la características de este excelente compañero de trabajo:

Podéis descargarlo desde aqui e incluso tenéis un tutorial para entrar  pasito a pasito en el mundo de la generación de código.

Cuadernia se va al CeBIT

Pandilla Cuadernia

 

     Como todos sabemos, el CeBIT es la feria de informática mas grande
del viejo continente, pues ni cortos ni perezosos Entornos Innovadores,
mi actual empresa, nos hemos ido para Alemania. Y como es obvio,
nuestro editor Cuadernia ha venido con nosotros.

     Para quien no este al tanto, Cuadernia, actualmente en su version 1.3 y apunto de salir la 2.0, es la herramienta que la Consejería de Educación y Ciencia de Castilla-La Mancha pone a disposición de toda la comunidad educativa para la creación y difusión de materiales educativos digitales.

     Gracias a esta herramienta, se pueden juntar imágenes, videos, actividades…, para conseguir materiales educativos que sirvan a los profesores para su enseñanza diaria.

 Entornos Innovadores

    Y como es obvio, no solo se va Cuadernia, si no que toda la Pandilla Cuadernia
le sigue en la conquista por las tierras germanas. Esperamos que por
estos lares tenga la misma aceptación esta forma de generar el
conocimiento que en los nuestros. Mucha suerte Pascual !!!

    Todos los que querais podéis trabajarla para generar vuestros materiales, ya que es de libre uso, y participar activamente tanto por el foro como por el Facebook.

 

Beta 71-669 TS: Windows Server 2008 R2, Virtualización de Escritorio

     ¿Eres un experto en virtualización de escritorio? Pues estas de enhorabuena, ya que sea ha abierto la beta para poder certificarte bajo Windows Server 2008 R2.

71-669 TS: Windows ® Server 2008 R2, Virtualización de Escritorio 
http://www.microsoft.com/learning/en/us/exam.aspx?ID=70-669

     El acceso a este examen es limitado, ya que es BETA, y servira para mejorar la experiencia a los proximos certificados.  Para ello has de usar tu  “MSL SME” en el Connect ( http://connect.microsoft.com/site862  ), crea tu “SME profile“,
o bien actualizalo para estar seguro que uno de tus intereses es la
Virtualizacion. El proximo dia 1 de Marzo a las 9 de la costa este de
EE.UU. podras inscribirte y ser participe de este examen.

 


Guosthex 1.0, nuevo firmware para el Woxter i-Cube 35 X-div Xp Rec


   Dado
que Woxter ha decidido dejar sin actualizaciones a los usuarios que
compramos este disco multimedia, he decidido ponerme manos a la obra y
montarme la actualizacion yo mismo.

 

1. Descripcion del dispositivo

Primero toca un analisis a nivel hardware para saber que estamos tocando:

 

Una vez desmontado podemos ver que la placa es una HMR-700 y los controles frontales (IR, LCD, botones, …)son de un HMR-350, estos discos multimedia acostumbran a ser fabricados por una empresa y venderlo a otras para que lo comercializen, como pueden ser Ellion, O2Media, FanFan, Woxter, …..

      

 Y como procesador tenemos un MIPS, mas concretamente un Realtek Venus

 

system type             : Realtek Venus
processor               : 0
cpu model               : MIPS 4KEc V6.4
BogoMIPS                : 202.34
wait instruction        : yes
microsecond timers      : yes
tlb_entries             : 16
extra interrupt vector  : yes
hardware watchpoint     : yes
ASEs implemented        :
VCED exceptions         : not available


 

Bien, sabiendo esto ya nos queda examinar el software que calza, y dado que podemos acceder mediante telnet vemos:

 

Linux Venus 2.6.12.6-VENUS #8 Wed Nov 26 16:41:32 KST 2008 mips unknown

BusyBox v1.1.3 (2008.09.12-05:32+0000) Built-in shell (ash)


Module                  Size  Used by    Not tainted
aes                    29552  2
ieee80211_crypt_ccmp     5952  2
ndas_emu               37664  0
ndas_lpx               69152  7 ndas_emu
r8187                 104688  0
ieee80211_rtl         107504  1 r8187
ieee80211_crypt         6928  2 ieee80211_crypt_ccmp,ieee80211_rtl
ohci_hcd               24592  0
ehci_hcd               44000  0


Gracias al EMCXT 2.11 podemos descomprimir el firmware y adaptar al que nosotros queremos.

2. Actualizando el firmware

 

  Despues de un dia probando y adaptandolo a las necesidades mas basicas, doy por liberada la version primera release de Gousthex 1.0, con la nueva interfaz, y ademas la posiblidad de arrancar a directamente Samba al iniciar el dispositivo.

 

 


Descargar Firmware    Mirror

Descargar Samba        Mirror

 

2.1 Como actualizar

  1. Descomprimir el fichero “Gousthex – Release.zip” en un dispositivo USB directamente de la raiz del dispositivo.
  2. Insertar la memoria USB en el conector mas cercano a interruptor del Woxter.
  3. Apagar el Woxter
  4. Presionando el boton Home (no del mando, si no de la caja) y encender. Tardara unos 10 segundos
  5. Se iniciara una pantalla verde y amarilla, dejarla que termine, y se reiniciara solo.
  6. Voila !! Ya tienes la nueva version

 

2.2 Habilitar Samba

  1. Descomprimir el fichero “samba.zip” en el disco duro del Woxter, directamente de la raiz del dispositivo.
  2. Ha de quedar en “UnidadDelWoxter:\softsmbd”
  3. Reiniciar el Disco Duro, y listo !! ya puedes acceder.

 

  Lleva tambien incorporado un servidor web, solo que no se me ocurre que podriamos ponerle, cualquier idea sera bien recibida. Es posible tambien hacerle correr un cliente de torrent, un mldonkey, ….pero eso en futuras versiones.

 

PD. ¿Quien me regala uno con Windows, o con procesador x86 para trastear con el otro fin de semana?

 

No me hago responsable de cualquier desperfecto o cualquier error producido por este firmware, es el que tengo en el mio, y espero poder seguir mejorandolo, pero no soy la empresa, no soy el soporte oficial y no obtengo beneficio alguno por esto.

Programacion en Haskell

  Haskell es un lenguaje puramente funcional de propósito general. Y
aunque no se pretende desarrollar un Core bancario en el, si que puede
servir como medio de entrenamiento mental, o mera iniciativa de ampliar
conocimiento. Para otros puede valer exclusivamente en la superacion de
cierta asignatura de la universidad.

 Las características más
interesantes de Haskell incluyen el soporte para tipos de datos y
funciones recursivas, listas, tuplas, guardas y calce de patrones. La
combinación de las mismas pueden resultar en algunas funciones casi
triviales cuya versión en lenguajes imperativos pueden llegar a
resultar extremadamente tediosas de programar.

  El trabajar con
Haskell se ha de hacer siempre pensando en un buen editor, ya que el
numero de parentesis que podemos implementar en ciertas operaciones
puede llegar a ser dificil de manejar mentalmente. Por lo tanto, mejor
buscar un Ultraedit, Notepad++ en Windows, o un eMacs, Vim o mc en GNU/Linux.

   El compilador a usar es el hugs, en varias versiones, de las cuales vamos a destacar:

  • WinHugs para entornos WIn32 (descargar)
  • Hugs 98 para GNU/Linux (descargar apt-get install hugs)

  Y para que todo se mas afable (dentro de lo que Haskell permite) para configurar el editor lo haremos con:

:set +E<nombreDelEditor>

  Como por ejemplo :

:set +Emcedit
:set +Eemacs
:set +Evim

 Para mas comandos relativos al compilador :

:load <filenames>   load modules from specified files
:load               clear all files except prelude
:also <filenames>   read additional modules
:reload             repeat last load command
:edit <filename>    edit file
:edit               edit last module
:module <module>    set module for evaluating expressions
<expr>              evaluate expression
:type <expr>        print type of expression
😕                  display this list of commands
:set <options>      set command line options
:set                help on command line options
:names [pat]        list names currently in scope
:info <names>       describe named objects
:browse <modules>   browse names exported by <modules>
:main <aruments>    run the main function with the given arguments
:find <name>        edit module containing definition of name
:cd dir             change directory
:gc                 force garbage collection
:version            print Hugs version
:quit               exit Hugs interpreter

 

 

Eolas vuelve a la carga, esta vez … Ajax

Todos recordamos el mítico caso Eolas, por el cual los desarrolladores tuvimos que cambiar el modo de empotrar un objeto flash en las paginas web, y que muchos usuarios padecieron el echo de tener que dar un click para que se reprodujese un flash. Mas el acuerdo amistoso de xxxxxxxxxx dolares con Microsoft (¿me falta alguna x?).

Pues bien, este despacho de abogados (aunque se autodenominen con otros terminos) al parecer dicen poseer la patente de AJAX,  USP 7,599,985, la cual describe un sistema abstracto que funciona de un modo similar a básicamente cualquier aplicación Ajax.

 Como es obvio para ellos se han puesto a demandar a diestro y sinientro: dobe Systems, Amazon, Apple,
Blockbuster, Citigroup, eBay, Frito-Lay, Go Daddy, Google, J.C. Penney,
JPMorgan Chase, Office Depot, Perot Systems, Playboy Enterprises,
Staples, Texas Instruments, Yahoo, YouTube y también a Sun
Microsystems. Veremos a ver que nos depara esta nueva maniobra de estos “amigos”.


Pymes y WebsiteSpark Program

Me llega por Luis Molina, la apertura de un nuevo programa, WebsiteSpark , para las Pymes que por solo 100$ obtendras licencias con una duracion de tres años para los siguientes productos:

  • 3 licenses of Visual Studio 2008 Professional Edition
  • 1 license of Expression Studio 3 (which includes Expression Blend, Sketchflow, and Web)
  • 2 licenses of Expression Web 3
  • 4 processor licenses of Windows Web Server 2008 R2
  • 4 processor licenses of SQL Server 2008 Web Edition
  • DotNetPanel control panel (enabling easy remote/hosted management of your servers)

Tambien de forma gratuita se puede acceder a:

  • Windows Web Server
  • SQL Server Web Edition

 

Mas informacion :

http://www.microsoft.com/web/websitespark/ShowItem.aspx?LocalizedItemId=7180

 


Controlar WiiMote desde C#

     Llevaba tiempo oyendo acerca de la simplicidad de las WiiMoteLib, pero dado que no habia pasado la Wii por mis manos no habia podido tocarlas, por fin tengo el WiiMote en casa, y como es obvio habia que empezar a trastear. Este es un codigo simple de como conectar y hacer unas lecturas del acelerometro, ideal para adentrarse en el manejo de este dispositivo.

     Primero conectamos con cualquier programa gestor de dispositivos bluetooth, al WiiMote presionado los botones 1 y 2 a la vez, y lo conectamos como raton, interfaz humana, HID, … o como tu gestor lo denomine.

     Ahora toca agregar como referencia a nuestro proyecto la libreria WiimoteLib.dll y empezamos a picar codigo, se declaran variables globales en la clase que estamos programando:


private Wiimote mWiimote;
WiimoteCollection mWC;
private delegate void UpdateWiimoteStateDelegate(WiimoteChangedEventArgs args);

 

     Una vez declarados los objetos con los que trabajaremos declaramos las funciones encargadas de la gestion:

private void ManejaWiiMote()

{


int index = 1;
mWC =
new WiimoteCollection();
try
{

//Buscamos todos los WiiMotes existentes


mWC.FindAllWiimotes();

}

catch (Exception ex)

{

//Aplicamos nuestro protocolo de errores (por ejemplo log4net)

}

 

//Se tratan todos los WiiMote


foreach (Wiimote wm in mWC)

{

// Conectamos con el WiiMote


wm.WiimoteChanged += wm_WiimoteChanged;
wm.Connect();

if (wm.WiimoteState.ExtensionType != ExtensionType.BalanceBoard)
wm.SetReportType(
InputReport.IRExtensionAccel, IRSensitivity.Maximum, true);

//Asignamos el numero de led a encender en WiiMote


wm.SetLEDs(index++);

}

}

void wm_WiimoteChanged(object sender, WiimoteChangedEventArgs e)

{

UpdateState(e);

}

public void UpdateState(WiimoteChangedEventArgs args)

{

WiimoteState ws = args.WiimoteState;



//Con el mando como si jugaras al MarioKart
//Y = -0,9 Izquierda -0,0 | 0 | 0,1 Derecha 0,9
//Z = -0,9 Decelera -0,0 | 0 | 0,1 Acelera 0,9



if (ws.AccelState.Values.Y > 0.5)
{

//Has girado el mando a la derecha, puedes llamar las funciones pertinentes a esta accion.

}

if (ws.AccelState.Values.Y < -0.5)
{

//Has girado el mando a la izquierda, puedes llamar las funciones pertinentes a esta accion.

}

if (ws.AccelState.Values.Z > 0.5)
{

//Has girado el mando hacia delante, puedes llamar las funciones pertinentes a esta accion.

}

if (ws.AccelState.Values.Z < -0.5)
{

//Has girado el mando hacia atras, puedes llamar las funciones pertinentes a esta accion.

}

}

 

     Desde aqui podeis seguir trabajando con el resto de la informacion que proporciona estas librerias.