HardBit

Code, Music and Love
  • rss
  • Inicio
  • Forum

Nuevo inicio

Mayo 30, 2009

Bien, tiene rato que no posteo y esta vez no sera tecnico, solo para mencionar que dejo mi empleo en Eviciti y me inicio en una nueva aventura (jojojo) en emlink, confio en que me ira bien y por supuesto seguire manteniendo este blog.

:-)

Comments
3 Comentarios »
Categorias
Programming
Comentarios RSS Comentarios RSS
Trackback Trackback

Agregar un menú contextual (ContextMenu) en JqGrid

Mayo 3, 2009

En esta ocasión veremos como agregar un menú contextual usando un plugin que usa JQuery llamado ContextMenu a otro plugin que es un grid llamado jqGrid y que les recomiendo bastante. A diferencia de controles hechos especificamente para .Net, etc…, estos plugins son escritos completamente en Javascript con lo que podemos usar cualquier tecnologia en el backend.

Bien no voy a hablar de JQuery el programador debe tener conocimiento de este framework, en caso de no conocer pueden ir al sitio e investigar de que va, ahora si procedamos al objetivo del post.
Lo primero es crear los bindings del ContextMenu, en mi caso lo declare como una variable como lo muestra el siguiente código

El siguiente paso es agregar el menú de contexto a cada fila del grid y esto lo hacemos en el evento afterInsertRow como lo muestra el siguiente código.

Y aqui esta el resultado

jqgrid_cm

Como vimos, es muy facil,  funciona, en FF, IE, Chrome y Safari, salvo la excepcion con Opera, espero se pueda agregar a jqGrid antes de que salga el release de la version 3.5

Cualquier duda o comentario a [me] @ [hard-bit.net ]

Comments
2 Comentarios »
Categorias
JQuery, Programming, Web
Comentarios RSS Comentarios RSS
Trackback Trackback

Asp.Net MVC + JQuery en Mac OS X con Mono

Abril 5, 2009

Con la noticia de que ahora Asp.Net MVC es “Open Source”, ya se han realizado ports a la plataforma de Mono, en esta ocasion les mostrare como hacer funcionar el addin de Asp.Net MVC para MonoDevelop.

Antes que nada debemos instalarnos la ultima version de Mono y MonoDevelop para Mac OS X. Asi que descargaremos sus respectivos instaladores, les dejo las ligas a continuación.
Mono
MonoDevelop

Instalamos Mono y a continuacion MonoDevelop una vez que tengamos esto, ejecutamos MonoDevelop y vamos al menu “herramientas” y luego “gestor de complementos”.

Agregamos un complemento, no sin antes agregar un repositorio con la siguiente dirección (http://mjhutchinson.com/mdrepo).

Una vez que hemos hecho esto creamos un proyecto Asp.Net MVC

Agregamos los archivos correspondientes de Jquery como se muestra en la siguiente imagen.

Lo siguiente es practicar y sacarle provecho a esta plataforma ;-) y a continuacion vemos el resultado usando JQuery. ;-)

Cualquier duda o comentario a [me {at} hard-bit.net]

———–
Actualizacion: Ya no es necesario usar el reposito comentado antes, ahora ya estan en los respositorio oficiales de Mono ;-), gracias a Josue por la info :-D

Comments
3 Comentarios »
Categorias
Mac OS X, Programming
Comentarios RSS Comentarios RSS
Trackback Trackback

Crear un elemento para el panel de control de Windows

Abril 4, 2009

En esta ocasion veremos como crear un elemento para el panel de control de windows y como ejecutar una aplicacion desde esta, los elementos del panel de control nos pueden de ser de utilidad para configuraciones de aplicaciones o servicios. Personalmente lo uso para configurar y manejar el estado de un servicio de windows, es una manera facil para que los usuarios de nuestras aplicaciones puedan usuarlas.

Empezaremos por lo mas imporante, un CPLApplet (Control panel applet) no es mas que una dll comun que por lo general tiene una extesion .cpl y que exporta la funcion CPlApplet (__stdcall) el cual es el punto de entrada para el applet.

La funcion CPlApplet recibe 4 parametros que son los siguientes.

Parametros

hwndCPl
Identificador de la ventana principal. Use el parametro hwndCPl para dialogos u otras ventanas que requieran un manejador de la ventana padre.
uMsg
El mensaje enviado al “Control Planel Application”.
lParam1
Informacion adicional para un mensaje especifico.
lParam2
Informacion adicional para un mensaje especifico.

Ya que conocemos los parametros recibidos por la funcion, vamos a ver los tipos de mensajes que recibe uMsg.

Control Panel messages.

CPL_DBLCLK:
Mensaje enviado cuando el usuario selecciona un icono asociado a un elemento del panel de control, el valor del parametro Param1 indica el valor del indice del elemento, el valor del parametro lParam2 es un puntero a una estructura CPLINFO or NEWCPLINFO regresada por el mensaje CPL_INQUIRE o CPL_NEWINQUIRE. El valor regresado es ignorado.

CPL_EXIT:
Mensaje enviado despues del ultimo mensaje CPL_STOP, Windows usa FreeLibrary para liberar la dll y sus respectivos recursos. El valor regresado es ignorado.

CPL_GETCOUNT:
Mensaje enviado despues de CPL_INIT, debe regresar el numero de subprogramas soportados.

CPL_INIT:
Mensaje enviado despues de ser cargado el elemento en el panel de control.

CPL_INQUIRE:
Mensaje enviado despues de
CPL_GETCOUNT, debe proveerse la informacion especifica de cada subprograma, el valor del parametro lParam1 indica el indice del subprograma, el valor del parametro lParam2 es un puntero a una estructura CPLINFO. El valor de regreso es ignorado.

CPL_NEWINQUIRE:
Mensaje similar a CPL_INQUIRE.

CPL_STARTWPARMS:
Mensaje similar a CPL_DBLCLK.

CPL_STOP:
Envia un mensaje para deter el elemento del panel del control para antes de descargar la extesion del panel de control.

Bien ahora que ya conocemos la estructura de la funcion CPlApplet, vamos a crear un ejemplo en VS2008, tambien puede usar Visual C++ express edition, o su compilador de C/C++ favorito.
Vamos a crear una dll convencional y a incluir el archivo cpl.h el cual contiene los mensajes e informacion necesaria del cplapplet.

#include <cpl.h>

Y a escribir el codigo correspondiente usando la funcion mencionada anteriormente y exportandola.

En el ejemplo que escribi el applet muestra la calculadora de Windows, ustedes pueden mostrar un dialogo o ventana escrito en la misma dll, pero eso no se limita ahi, como esta en el ejemplo pueden llamar a una ventana de configuracion escrita en .Net, etc…

Veamos una captura de pantalla de como se muestra nuestro elemento en el panel de control.

cplapplet

Les dejo aqui el ejemplo.

Cualquier comentario o duda a [me (en) hard-bit.net]

Comments
2 Comentarios »
Categorias
Programming, Tips y trucos de Win32
Comentarios RSS Comentarios RSS
Trackback Trackback

Programadores y Usuarios de Mac (PUMac)

Marzo 30, 2009

pumac_logo copia.png

En esta ocasión les traemos Josué (Blacknash) y yo el sitio www.pumac.net el cual básicamente tendra foros tanto para usuarios como para programadores y habrá una sección de noticias y articulos para todos aquellos afortunados que poseemos una Mac ;).

Mientras terminamos de diseñar el esquema que se manejara, les adelantamos que el sitio se encuentra en linea y pronto esta la información básica para que puedan registrarse todos los maqueros.

:-)

Comments
1 Comentario »
Categorias
General, KeyJnoteGUI, Mac OS X, Programming
Comentarios RSS Comentarios RSS

El trabajo de un arquitecto de software

Marzo 25, 2009

En varias ocasiones se ha discutido sobre lo que debe hacer o no un arquitecto de software, algunos piensan que es aquel que se dedica a hacer el analisis de la aplicacion y se deslida totalmente de la parte tecnica del desarrollo, este articulo puede cambiar la perspectiva de esa idea, y darnos un paradigma de lo que problamente mas se le acerque a lo que debe realizar un arquitecto de softwarte, para no reescribir el articulo pongo aquí la dirección de este. Les recomiendo su lectura.

El rol de los Arquitectos de Software

Comments
1 Comentario »
Categorias
Programming
Comentarios RSS Comentarios RSS

Interfaz de usuario: MDI, SDI, TDI, ¿Alguno más?

Marzo 19, 2009

He de reconocer que no soy bueno para crear una UI lo bastante bonita y talvez funcional como yo quisiera, por tal motivo últimamente he buscado (no lo suficiente) recursos sobre diseño de IU, cabe mencionar que este post salió debido a la observación que vi en la IU de Mac y mi experiencia que tengo con Windows, muchos programadores sabemos que últimamente la IU (Interfaz de Usuario) es algo relevante para que nuestras aplicaciones cautiven, sean funcionales y sobre todo usables para los usuarios de nuestra aplicación, pero regresando al tema de la observación de la UI de Mac, me pregunte por que no hay MDI (Interfaz de múltiples documentos), en lo personal he usado este tipo de diseño en Windows y he visto muchas aplicaciones que así están creadas, ¿Como es que sobreviven sin MDI?.

Bien, vayamos explicando los tipos de UI que son mas usados actualmente o que en lo personal he visto mas y sobre todo mi opinión sobre cada uno de estos y el uso correcto o incorrecto que le he[mos] dado

MDI (Interfaz de múltiples documentos):
Como su nombre lo indica este tipo interfaz fue diseñado para tener múltiples documentos(ventanas hijas) agrupados por una ventana padre, la razón por la cual este tipo de interfaz fue creada es para no mantener múltiples instancias de una aplicación y una ventana padre pudiera tener el control de las ventanas hijas pues estas tendrían un comportamiento similar, y un ejemplo real de esto es Microsoft Word, el cual es una aplicación MDI y cada documento es una ventana Hija, es cierto que Microsoft ha cambiado sus UI de office en versiones nuevas, pero para este tipo de aplicaciones me parece usable, pero… ¿Que pasa con las aplicaciones las cuales cada ventana tiene una funcionalidad diferente y en la mayoria de las ocasiones estas no interactuan ni comparten datos entre si y en los peores casos no hay un “menú” o similar para poder localizar una ventana de entre todas? Preguntese usted si ¿Usar MDI para su aplicación es la mejor opción?

SDI (Interfaz de documento único):
Este tipo de interfaz suele usarse en Windows para aplicaciones que no maneja múltiples ventanas y las cuales solo tienen una funciona única, es cierto que puede ser un poco engorroso usar este tipo de aplicaciones para multiples ventanas, pero también puede ser su solución, un ejemplo de ello es la aplicación de
GIMP.

TDI (Interfaz de documentos en pestañas):
Este tipo de interfaz ha sido muy popularizado por los navegadores web, en especial por Opera y Firerox aunque estos no hayan sido los pioneros en este tipo de interfaces de usuario, las ventajas de este tipo de interfaz a diferencia del MDI es que se mantiene consistente las ventanas al estar acopladas por las pestañas.

WorkPanels:
No encontré otro nombre que ponerle, pero con este tipo de interfaz me refiero al que es usado en Outlook, el cual consiste en tener un menú principal e ir cargando un panel con los controles de usuario de cada modulo en un workspace principal, este tipo de interfaz puede ser usable a aquellas aplicaciones MDI el cual cada ventana es una funcionalidad independiente y no interactuan entre si.

Estos no son todas los tipos de interfaces que existen, tambien podemos ver aplicaciones “híbridas” como Visual Studio el cual hace uso de TDI y paneles desacoplables. Usted debe eligir el tipo de interfaz  que sea mas adecuada al tipo de aplicación que este desarrollando, recuerde que siempre hay alguna razón por la cual se creo un diseño para una aplicación y tal vez esta no sea la mas apropiada para la suya y no dejarnos llevar por la moda de alguna UI que veamos bonita :-)

Les dejo unas ligas de interes respecto al tema, espero sus comentarios y/o quejas :-)

Design Specifications and Guidelines - Window Management

MDI

SDI

TDI

Comments
4 Comentarios »
Categorias
Programming, UI
Comentarios RSS Comentarios RSS
Trackback Trackback

Mac OS X ¿Para diseñadores graficos?

Febrero 20, 2009

Antes de tener una Mac propia, había escuchado que la Mac era para diseñadores, pero es esto en realidad verdad o solo es un mito como el que ¿Linux no tiene virus o nunca falla?, puede ser que sea cierto, pero ahora que poseo una me he dado cuenta de muchas cosas que quiero enumerar para aquellos que están indecisos en si adquirir una Mac es una buena idea.

¿Mac solo para diseño gráfico?
Una de las razones por las que creo (en una opinión muy personal) por la cual muchos dicen que Mac es para diseño gráfico es que los equipos se ha caracterizado por tener hardware de alto rendimiento.
Algo que muchas pc’s o laptops carecen o carecieron hace algunos años. Es cierto que puede tenerse pc’s con hardware sofisticado, pero recordemos que estos por lo regular no venían de fabrica o muchos usuarios no eran expertos en el área y les era difícil crear una a la medida con hardware potente.
Así que resumiendo una Machinston tiene buen hardware por lo tanto es posible ejecutar aplicaciones que requieran mucho procesador y memoria.

¿Mac no tiene muchas aplicaciones?
Otro mito que suele haber es que al igual que Linux, no hay mucho software para este SO, cuando la realidad es otra, se puede encontrar software sumamente poderoso para cualquier tarea que queramos realizar o realizemos en otro SO como Windows.
Es cierto que Win32 abarca un mercado grande y por lo tanto suele tener “mucho software”, pero esto no indica que no encontremos software para lo deseemos hacer en Mac OS.
Así que resumiendo Mac OS X tiene software profesional y de alta calidad para casi cualquier tarea que realicemos.

Mac es malo para desarrollar
Es cierto que siempre aprender algo nuevo cuesta, sobre todo cuando estamos en una zona de comfort donde lo que hemos hecho siempre, queremos seguirlo haciendo.
Así que demosle una oportunidad a nuevos paradigmas de desarrollo, en el caso de Mac OS X cuenta a mi parecer, con bases solidas de programación para ser una plataforma bastante robusta de desarrollo tan solo poniendo como ejemplo el lenguaje nativo (Objective-C) y su framework nativo (Cocoa).
Así que resumiendo de nuevo Mac OS X en mi opinión personal cuenta con un SO solido, excelentes herramientas de desarrollo (XCode), lenguajes de programación excelentes (Objective-C) y frameworks que nos ayudan a ser productivos (Cocoa).

Puede haber muchas mas razones por la que recomendaría a aquellos que piensan adquirir una Mac pero están indecisos, pero creo que lo principal es entender que es un cambio de paradigma, una forma distinta de ver un SO y nunca comparar con lo que hacemos en otros SO así evitaremos crearnos comentarios como (En Windows yo lo hago así).

Si usted esta pensando en obtener una Mac, no lo dude, saque ventajas de este poderoso SO y de sus aplicaciones y sobre todo pruebe algo diferente que lo dejara con un buen sabor de boca.

Por lo tanto no creo que Mac sea solo para diseño grafico, mas bien Mac es para todo lo que usted quiera hacer, como cualquier otro SO con la expcecion de los beneficios que le pueda dar un Sistema Operativo como Mac OS X :-)

Comments
3 Comentarios »
Categorias
Mac OS X
Comentarios RSS Comentarios RSS
Trackback Trackback

Equipos de alto desempeño

Febrero 4, 2009

En estos días me he puesto a pensar ¿Que es lo que hace realmente que un equipo sea eficiente?, después de pensar y leer unos artículos bastantes buenos, estuve de acuerdo con todos los puntos mencionados en estos artículos, uno de ellos menciona 9 pasos para formar equipos de alto desempeño.

A continuación enumerare los 9 pasos.

1. Define un objetivo.
Me parece el mas importante, tener un objetivo en común, no cuenta el obtener el salario al fin de mes.

2. Busca a las personas correctas.
Rodéate de las personas correctas, la diversidad crea un conocimiento colectivo :).

3. Crea una estructura de trabajo.
Se necesita de una estructura, reglas, roles, objetivos, estándares, etc..

4. Comunica con claridad.
Uno de los mas importantes y que muchos equipos fallan, comunicación “con claridad”, ser claro en todo, nunca esperar que los demás “infieran”, eso facilitara el trabajo y ahorrara disgustos de las 2 partes.

5. Forma líderes.

6. Delega y da poder de decisión.
Ser un buen líder indica que este sabe delegar responsabilidades y mejor aún usar el talento de los individuos del equipo, el mal líder es aquel que “lo sabe todo”.

7. Reconoce logros personales y grupales.
La motivación intrínseca es el mejor aliado de un equipo.

8. Fomenta la flexibilidad.
Los integrantes del equipo deben ser flexibles ante los cambios que puedan surgir.

9. Entrega los recursos necesarios.
En este paso muchas empresas fallan, dando recursos limitados a sus equipos, por lo tanto limitando la eficiencia de los individuos reflejadas en el resultado del equipo.

Como habrán notado, los pasos están dirigidos al líder del equipo, pero ¿Como notar que su líder es el adecuado para formar un equipo de alto desempeño?.

El otro artículo trata sobre las 6 características de un buen líder, cito textualmente el inicio.

“De nada sirve tener un excelente plan de negocios si no se posee el capital humano adecuado. Una vez que lo tienes, nadie puede frenarte”, dice la directora General de TMI México, Victoria Holtz.

A continuación menciono las 6 características de un buen líder.
Un buen líder se rodea de gente valiosa, esa es la primera clave del éxito.

Siempre motiva.

Es carismático.

Sabe delegar responsabilidades.

Es tolerante con los errores ajenos.

Es versátil.

En lo personal lo mas importante de un buen líder es que debe rodearse de gente valiosa, recordemos, que un equipo de alto desempeño se conforma por las personas correctas, este debe motivar a sus subordinados, debe saber delegar responsabilidades y no ser un “silver bullet”, ser tolerante con los errores ajenos y ser versátil.

Esto había estado pasando por mi cabeza y pensaba redactar algo sobre estos temas, pero los artículos mas que interesantes son claros y concisos.
Si alguno de ustedes reúne estas características, animase a ser líder para crear un equipo de alto desempeño :), mientras le invito a leer los artículos, nunca esta de mas tener un poco de información adecuada.

Ligas a artículos

9 Pasos para formar equipos de alto desempeño
6 Características de un líder

Comments
8 Comentarios »
Categorias
General, Programming
Comentarios RSS Comentarios RSS

El internet ha vuelto

Enero 21, 2009

pAsí es, después de algunos meses sin internet por fin lo he vuelto a tener, espero mantener actualizado el blog, tengo varios temas y varias cosas que postear, poco a poco iré dándole de nuevo actividad a este blog./p

Comments
1 Comentario »
Categorias
General
Comentarios RSS Comentarios RSS
Trackback Trackback

« Previous Entries

Categorías

  • General
  • Humor
  • Inno Setup
  • JQuery
  • KeyJnoteGUI
  • Mac OS X
  • Programming
  • Tips y trucos de Win32
  • UI
  • Web

Personaliza tu emoción

Golst

Programadores y usuarios de Mac

PUMac

Gamercard

rss Comentarios RSS valid xhtml 1.1 design by jide powered by Wordpress get firefox