viernes, noviembre 03, 2006

RAMMSTEIN - AMERIKA (letra Español)

la canción:
Rammstein - Amerika
We're all living in Amerika
Amerika ist wunderbar
We're all living in Amerika
Amerika
Amerika
We're all living in Amerika
Amerika ist wunderbar
We're all living in Amerika
Amerika
Amerika
Wenn getanzt wird will ich führen
Auch wenn ihr euch alleine dreht
Lasst euch ein wenig kontrollieren
Ich zeige euch wie's richtig geht
Wir bilden einen lieben Reigen
Die Freiheit spielt auf allen Geigen
Musik kommt aus dem Weißen Haus
Und vor Paris steht Mickey Mouse

We're all living in Amerika
Amerika ist wunderbar
We're all living in Amerika
Amerika
Amerika

Ich kenne Schritte die sehr nützen
Und werde euch vor Fehltritt schützen
Und wer nicht tanzen will am Schluss
Weiss noch nicht dass er tanzen muss

Wir bilden einen lieben Reigen
Ich werde euch die Richtung zeigen
Nach Afrika kommt Santa Claus
Und vor Paris steht Mickey Mouse
We're all living in Amerika
Coca Cola
Wonderbra
We're all living in Amerika
Amerika
Amerika
This is not a love song
This is not a love song
I don't sing my mother tongue
No, this is not a love song
We're all living in Amerika
Coca Cola
Sometimes war
We're all living in Amerika
Amerika
Amerika


En español


Amerika (español) - Rammstein
Todos vivimos en America
America es maravillosa
Todos vivimos en America
America, America
Cuando bailamos yo quiero dirijir
Cuando te das una vuelta solo
Dejanos controlarte un poco
Te enseñare a andar bien
Creamos una estupenda ronda de baile
La libertad es tocada con los violines
La musica llega desde Casa Blanca
Y ante Paris esta Mickey Mause
Todos vivimos en America
America es maravillosa
Todos vivimos en America
America, America
Conosco los pasos mas practicos
Y te evitare los tropezones
Y quien no quiere bailar al final
No sabe que debe bailar
Creamos una estupenda ronda de baile
Te enseñaremos la direccion
A Africa llega Santa Claus
Y ante Paris esta Mickey Mause
Todos vivimos en America
America es maravillosa
Todos vivimos en America
America, America
Todos vivimos en America
"Coca-Cola" "Wonderbra"
Todos vivimos en America
America, America
Esto no es una cancion de amor
Esto no es una cancion de amor
No canto mi lengua materna
No, esto no es una cancion de amor
Todos vivimos en America
America es maravillosa
Todos vivimos en America
America, America
Todos vivimos en America
Coca-Cola, aveces guerra
Todos vivimos en America
America, America



martes, agosto 01, 2006

SE HABLA ESPAÑOL Caraj.. WINFX (workflow until this moment)

Un escenario comun

Las organizaciones tipicamente tienen un numero de procesos internos para tareas como procesar una orden, solicitar un compra, gastos de viaje y demás. Como siguiendo un manual de organizaciones y funciones (ROF, MOF-acuerdense-). WorkFlow nos da la manera de implementar todos estos procesos con orden a todos esos procesos independientes de manera transparente, dinamica y robusta (-como aun no lo se, esperen pues-).

El Casito jaja

Ahora imaginen un tipico stand de ayuda al cliente en especial el flujo de procesos que tienen que desarrollar. Comienza cuando el empleado que trabaja ahi toma la llamada de un cliente, abre un archivo con un nombre del cliente, un codigo, el tiempo de la llamada y el problema que reporta. una vez que este archivo ha sido creado el empleado se prepara para recibir otras llamadas asi hasta que se acaba el dia; apaga su computador y se va a casa. en el mismo tiempo en otro departamento, tal vez en otra ciudad un equipo de tecnicos son alertados de lo que reportaron al stand de ayuda y responden a la descripcion del problema solucionandolo o subiendolo a un nivel mas de atencion del problema...
¿Como podrias escribir codigo para implementar este proceso ?

Una idea

Tal vez puedas tener un Winform que colecta toda la data acerca de las llamadas y crea archivos y los graba en base de datos
un segundo empleado en un segundo winform puede ver en tiempo real la lista de las llamadas pendiente s por responder y leerlas para responderlas. Esta persona puedes resolver ese problema
(llamando al cliente, pidiendo mas informacion, enviar un email o enviar alguna otra actividad) e indicar a su ves si el problema puede ser resuelto o necesita que se haga mas investigacion. esta decision puede representar algo como hacer un click en un boton de actualizar en la misma base de datos ese archivo de la llamada finalmente si hay otra categoria de tratamiento de los problemas como un nivel mas de atencion puede reportarlo como solucionado o pendiente en su nivel.



Todo este proceso realmente representa un flujo de procesos o WORKFLOW con las personas envueltas y realizando los procesos con clicks y en base de datos jajaja

tomado de http://msdn.microsoft.com/winfx/reference/workflow/default.aspx?pull=/msdnmag/issues/06/03/cuttingedge/default.aspx#contents si tengo tiempo termino de traducirlo es que tengo sueño y un par de chicas me estaban usando como helpdesker jajaja
-ya lo se no lo digas-

Acerca del 2005

SQLCMD
Bueno pues por ahí me dio la curiosidad de leer los manuales que vienen con el Sql2005; cuando instala te pregunta si quieres instalarlos y bueno como tenia espacio en el disco duro dije "porque no" cosa que a veces es un error pero en ese momento no lo fue
La verdad que el Sql 2005 mejora las cosas en un grado que aun no puedo comprender bien. Por ahi me dije que no queria leer la descripcion del entorno, que muestra muchas cosas integradas en lo que se llamaría Management Studio encima decia ahi que era mas adecuado para los DBA que para los devs y como no soy dev pero menos soy DBA no lo lei. A voz personal puedo decir que por lo menos estan juntos el administrador corporativo y el analizador de consultas que , la verdad , es lo poco que uso de Sql2000 entonces para mi esta bien.
Pero este post no es acerca de la interfaz gráfica mejorada ni del poder usar las apis como parte de la base de datos (corres tus algoritmos en base de datos como si fuera un compilador de algun lenguaje estructurado) sino de un detalle mas bien pequeño realmente no se si es propio de la 2000 o de la 2005 porque tengo las dos instaladas eso queda pendiente en mi investigacion es detalle que hace las cosas sencillas cuando tienes las cosas bien puestas
me refiero al SQLCMD vayan a su ventana de Ejecutar de su sistema operativo y digiten SQLCMD luego digan que es esa pantallita negra -bueno parece DOS (¿que demonios es eso?). La descripcion no es pertinente en este momento pero sirve como un analizador de consultas en linea de comandos (-como Mysql-no digan lisuras). Bueno les digo que te hace las cosas mas fáciles por ejemplo cuando tienes que hacer consultas breves a la base de datos y no quieres abrir tu administrador corporativo o tu analizador de consultas o tu management studio. La verdad yo lo vi util por eso lo estoy posteando viene porque bueno entiendo que la gente que hace desarrollo tiene que hacer esto y bueno si no tienes una buena maquina (como tampoco tengo) puede que tener el Vs 2005 y el management studio corriendo en tu maquina sea un problema de tiempo puedes usar esta herramienta y correr tus scripts hasta hacer tus procedure pero entiende que la manera como te muestra la data es un poco arcaica pero sirve, muestra.
la idea es en esa ventana que tienes tipeas tu script, no te olvides de poner: "use tuBaseDeDatos " cuando termines de escribir todo tu script tipeas Go y se ejecuta todo lo que quieras (cuando creas procedure no te dice nada ("procedure creado") por eso si quieres los pruebas ahi mismo: -exec miproc ... -go (enter)... y listo) bueno tambien los resultados de tus selects puedes pasarlo en archivo txt o bueno el que sea pero solo vas a tener letras ahi. No te olvides quizas como mencione en un principio sirva para pocas columnas pero a mi mas que todo me sirve para crear procedures o "estors" como le dice la gente hasta aqui mi post espero les haya gustado sorry porque no haya imagenes es que tengo sueño y bueno mañana sera un largo dia para mi BYE

martes, julio 25, 2006

MIS PROYECTOS (EL NUESTRO Y EL MÍO)

El MIO
Dar un MANTENIMIENTO GENERAL a una base de datos (-ahora sé que en toda base de datos de SQL 2000 hay tablas en donde esta la definición de los campos y las tablas-) de verdad no se bien como hacerlo así que hasta nuevo aviso estoy tentado en aprender un poco de ficheros. Además de acuerdo con mi proyecto general, me serviría bastante tener un generador de store procedure. La idea de este generador de procedures es copiado de esas herramientas que te generan todo para darle mantenimiento a una base de datos específica o sea lo que quiero generar como mi proyecto.
Si como ya se habrán dado cuenta trata de reinventar la rueda ese es mi proyecto solo que esta rueda me parece un poco más útil reinventarla que usarla en cuanto a qué pueda aprender yo al reinventarla. Asumo que aprenderé algo del espacio de nombre (-ya iba a decir librería-) Ssystem.IO del cual no se más de que existe y que maneja I/O bueno entonces manos a la obra
O sea hacer que genere archivos con el código en transac para correrlo en la base de datos así ahorrarme unas tipeadas de mi programa

Eso por el momento con lo de armar mi generador de mantenimiento de tablas aunque el reto o mas bien el sueño es llegar a codificar un control personalizado de manera que este me haga la vida mas fácil tiene que incluir:

primary keys generadas por defecto (que es esto) bueno es algo así como esto:
en una base de datos usualmente tu necesitas tener ids (primaries key)que sean de la forma idalumno que tenga como ocurrencia esta: alu001, alu002,... por ejemplo aunque no se si sea un buen ejemplo
bueno pues el control tiene que rastrear estos constrains o restricciones en base de datos sin necesidad de que tenga que especificarlo en ningún lado o tal vez si pero muy someramente

De ahí tiene que mantener la integridad referencial es decir que se pueda conseguir que por ejemplo todos los registros que se van a agregar en campos de los que son claves foráneas se pueda escoger de los campos relacionados en las tablas ya creados es decir ya especificados en las demás tablas en caso de no encontrar el que deseemos para nuestro registro debemos de ingresarlo pero no en esta tabla ya que esta relacionada con la otra foráneamente tendríamos que generar un nuevo registro en la otra tabla a la que esta relacionada

O sea todo esto a lo que me refiero se puede hacer poco a poco control a control un label un combo un enlace a la otra tabla comprobando en base de dato y especificando programáticamente la generación de las entradas a la base de datos

NUESTRO PROYECTO
Ahora según la ultima reunión de la célula supuestamente tenemos que investigar de lo ultimo es decir de lo concerniente a WinFX como lo queremos llamar no con el engañoso titulo de Framework 3.0 bueno pues manos a la obra que esta búsqueda promete mas que una sorpresa prepárense para decir woaow como por el pase que me salio hoy en la pichanga pero alguien se la fallo

PD: Ronal hoy si no hice ningún autogol jugando de arquero estoy mejorando
lo malo es que si me metieron un gol pero solo uno BYE gente

viernes, julio 14, 2006

Membership

Resulta que estaba llevando un curso que se llama TALLER DE INGENIERIA DE SOFWARE. La verdad no se si aun lo he pasado. Porque al llegar la hora me faltaba terminar de programar un formulario y me olvide de el, o sea el sistema funcionaba pero no habia una parte de creacion de usuarios en la WEB o sea no habia punto de inicio para un administrador del sistema que fuera nuevo y que no tuviera VS para crear los usuarios con la herramienta para eso

Tuve muchos problemas para tener la data de los usuarios registrados con membership ya que el sistema ya tenia unas tablas que administraban los usuarios ese fue un problema. Me dio miedo alterar las tablas que te genera el VS para manejar los roles y la membresia y relacionarlos via foreing key a la tabla que ya tenia de Usuarios con la de aspnet_users (generada) se me ocurrio hacerlo con un trigger que te actualize las dos tablas de ahi vi que como que era un poco replicar data y "a hacer eso no me enseñaron en mi cursito de MODELAMIENTO DE DATOS" pero lo tenia que hacer y como no se mucho de sql2005express en donde estaba mi sistema (aunque he corrido codigo para sql2000 en el 2005 y no pasa nada-el transact es universal) lo hice en los formularios con una clase que ejecuta los dos insert o update juntos.

CREO QUE LO DE LOS TRIGGERS ERA MEJOR OPCION ¿qué dice la gente?--aparte que soy un idiota claro

martes, junio 27, 2006

Hola gente celula

Hola gente celula justo recien estaba viendo lo de las versiones en español del sqlexpress a ver si puedo aprovechar eso que tiene todos los servicios del SQL 2005 express me interesaria bastante a ver como me las arreglo ya que necesito una interface diz que no hay interface express para administrar todos sus servicios, ya que son todos los del 2005 completo (que cuesta).
Bueno la verdad que eso es como un post repetido ya que esta en la pagina de comunidad universitaria con la unica diferencia que hay un service pack del sql2005express que aun no lo bajo.

jueves, marzo 02, 2006

caso de uso (visitar www.usecase.org)

FORMATO DE CASO DE USO EXTENDIDO con EJEMPLOS

Actor Principal: ocurre a los servicios del sistema para cumplir un objetivo

Ej.:
CAJERO

Personal Involucrado e intereses: el sistema funciona siguiendo un contrato entre el personal involucrado, donde los casos de uso detallan la parte del comportamiento del sistema en el contrato. Los casos de uso captura (trata) el comportamiento relacionado con la satisfacción de los intereses del personal involucrado

Ej.:
Cajero: quiere entradas precisas, rápidas y sin errores
Vendedor: quiere que las comisiones de las ventas estén actualizadas
Compañía: quiere registrar las transacciones con precisión y satisfacer los clientes. Quiere cierta tolerancia a fallos. Quiere actualizar automática y rápida de la contabilidad y del inventario

Precondiciones: establecen lo que siempre debe cumplirse antes de comenzar un escenario del caso de uso. No se prueban en el caso de uso sino que se asumen como verdaderos.

Ej.
El cajero se identifica y autentica

Normalmente implica un escenario de otro caso de uso que se ha completado con éxito

Post condiciones establecen que debe cumplirse cuando el caso de uso se completa con éxito la garantía debe satisfacer las necesidades de todo el personal involucrado

Ej.:
Se registra la venta. El impuesto se calcula de manera correcta. Se registran las comisiones. Se genera el recibo. Se registra las autorizaciones de pago aprobadas.

Escenario principal de éxito: describe el escenario principal de éxito típico que satisface los intereses del personal involucrado

Ej.: 96571356
1 el cliente llega al punto de venta con mercancías para cobrar
2 el cajero comienza una nueva venta
3 el cajero introduce el identificador del articulo
4 el sistema registra la línea de venta y presenta la descripción del articulo precio y suma parcial. El precio se calcula a partir de un conjunto de reglas de precio
-el cajero repite los pasos 3-4 hasta que se le indique-
5 el sistema presenta el total con los impuestos calculados
6 el cajero le dice que se le pague
7 el cliente paga y el sistema gestiona el pago
8 el sistema registra la venta completa y envía la información de la venta y el pago al sistema de contabilidad externo (para la contabilidad y las comisiones) y el pago al sistema de inventario (para actualizar el inventario)
9 el cliente se va con el recibo y las mercancías (si es el caso)

Extensiones: son muy importantes indican todos los escenarios o bifurcaciones tanto éxito como de fracaso. Es usualmente más extensa que el escenario principal

Cuestión metodológica del manejo de extensiones
-una primera extensión al paso 3 del escenario principal se etiqueta como 3a se menciona primero la condición (como algo que puede ser detectado por el sistema (Ej.: el sistema de pago externo falla VS el sistema "detecta" un fallo en la comunicación con el sistema de pago externo) y después la respuesta del sistema una siguiente extensión se etiqueta como 3b y así sucesivamente

3a identificador no valido:
1-el sistema señala el error y rechaza la entrada sigue con el flujo principal en el paso 3
3b hay muchos artículos de la misma categoría y tener en cuenta una única identidad del articulo y la cantidad
1 el cajero puede introducir el identificador de la categoría del articulo y la cantidad

- el manejo de las extensiones (respuesta) puede manejarse en uno o mas pasos

3-6a el cliente pide que se elimine uno o más artículos de la compra actual
1 el cajero introduce el identificador del articulo que va a ser eliminarlo de la compra
2 el sistema muestra la suma parcial actualizada

-cabe resaltar que al final del manejo de la extensión, por defecto se une de nuevo con el escenario de éxito a menos que la extensión diga otra cosa (como interrumpir el sistema)

Algunas veces el punto de extensión particular es bastante complejo, como en la extensión pago a crédito. Esto puede ser motivo para expresar la extensión como un caso de uso aparte. Si es deseable que se tenga una extensión que pueda ser posible durante cualquiera (o al menos la mayoría) de los pasos, se puede utilizar las etiquetas *a, *b