Suicidio en Internet

El joven Abraham Biggs, de sólo 19 años de
edad, se suicidó recientemente ante su webcam mientras los integrantes
de un grupo de chat en vivo le animaban a cumplir su trágica decisión.

Otra vez tenemos un caso donde se tiende a echar la culpa a la tecnologia por lo que sucedio, generalmente nosotros los seres humanos siempre tenemos que aprovechar lo peor de los inventos o de la tecnologia que se crea, ha sucedido con muchas cosas, la polvora, la television y ahora el mismo internet, como leia una vez no se le puede echar la culpa a la tecnologia sino a nuestra propia condicion de seres humanos.
El hecho de que la web este llena de tantas cosas denigrantes, ofensivas y de mal gusto no dice que el internet haya sido un invento perverso hecho por gente de mente retorcida, sino que una vez mas la gente explota el lado negativo de esto.
Yo creo que el internet asi como las nuevas tecnologias deben enseñarse a las personas para lograr un provecho positivo de estas y no para utilizarlo para otros fines, lamentablemente pues vemos que esta persona que tomo esta decision estaba atravesando por una crisis depresiva y que debio buscar ayuda profesional para sobrellevarla y no conversar con gente de un foro a la que tal vez ni siquiera conocia personalmente y que lo animo a tomar la fatal decision de una manera fatalmente irresponsable, como dije antes lamentablemente mucho de este comportamiento se ve a menudo en las redes sociales por personas que han convertido esto en un instrumento para corromper, explotar y sacar lo peor de si.
Espero que se pueda trabajar en un mayor control de los padres hacia los hijos sobre el uso de la tecnologia y tambien sobre las relaciones interpersonales que se deberian llevar en el seno de la familia, esto queridos amigos ya no es cuestion de tecnologia es una cuestion de humanidad.
Fuente:
DiarioTI

Saludos.

 

Anuncios

Arquitectura Empresarial

La arquitectura empresarial ve a la empresa como una estructura bien formada, como una entidad unitaria. Documenta los estados de la empresa: el actual, el deseado y la brecha entre ambos. Sus caracteristicas son consecuencia de un análisis del negocio(en el caso idoneo) para obtener la Estrategia de Sistemas.

Estrategia de Sistemas

Tiene cuatro perspectivas para acortar la brecha entre las necesidades y tecnología, estas describen los procesos necesarios para alcanzar las metas de la empresa.

Negocio.
Información.
Aplicaciones.
Tecnología.

Cada una de ella define tambien los estados actual, futuro y la brecha entre ambos. La meta es tomar decisiones que sirvan en el área de IT. Aqui algo bien interesante la tecnología es sólo un subsistema del sistema (negocio o empresa), algo que los informaticos tenemos que entender bien. La dirección debe coordinar todos los factores y recursos del sistema, para que interactúen adecuadamente, si se logra esto entonces se alcanza el exito deseado. La estrategia de sistemas puede ser medida y controlada, con esto se puede mejorar en el proceso de implementación de soluciones para el negocio.

Como se incorpora el conocimiento al negocio, pues teniendo una base de procesos tecnológicos, con esta metodología se alinea la tecnología a las necesidades del negocio, que es el objetivo final.

El ERP de SAP

Bueno y que hago yo hablando de SAP, eso no es software privativo pues si, pero en esta oportunidad me toca comentar sobre esto ya que es el lider del mercado de ERPs, luego añadire de parte mia algunos ERP y CRM libres.

Pero ¿Qué es un ERP?, aqui copio la definicion que hallé en la Wikipedia.

Los sistemas de planificación de recursos empresariales (ERP) son sistemas de información gerenciales que integran y manejan muchos de los negocios asociados con las operaciones de producción y de los aspectos de distribución de una compañía comprometida en la producción de bienes o servicios.

Que se necesita para implementar un ERP en una empresa, pues bueno lo esencial tener bien en claro porque, para que y cual es el objetivo por el que se esta implantando este tipo de solucion.

R/3 producido en Alemania es conocido como SAP que es el nombre de la empresa que lo produce. Su nombre se forma con las siglas en alemán: “Sistemas, Aplicaciones y Procesamiento de datos”. Actualmente ocupa el tercer lugar de ventas a nivel mundial.
El primer producto de SAP se llamaba R/2. El dos por los  dos “niveles” del sistema: 1) servidor 2) cliente.
El R/2 se mejora y da paso al R/3; ahora el sistema opera en tres niveles o capas: 1) servidor de base de datos, 2) servidor de aplicación y 3) cliente.
Existen varias prioridades para los diferentes problemas que se presentan en la implementación y en la operación de R/3, prioridad media podría paralizar una parte de un proceso y prioridad muy alta paraliza la operación.
Ahora veamos la modularidad del sistema. Generalmente se desea implementar todos los módulos para poder manejar todos los procesos, pero se debe planificar el cambio en varias etapas. Primero implementar los módulos básicos y continuar despues con el área de recursos humanos. Los módulos básicos de R/3 son: SD (Sales & Distribution) fuerza de ventas desde los pedidos e incluye la planificación de la distribución del producto, MM (Material Management) manejo de los inventarios con submodulos como WM (Warehouse Management), PM (Plant Management) y PP (Production Planning). FI (Finance), CO (Controlling) y TR (Treasury). Para la parte tecnológica está el módulo Basis(funcionamiento adecuado del sistema) y el módulo de Desarrollo(ABAP)
R/3 se instala en un ambiente distribuido, se tienen ambientes dedicados a una función: Una instalación dedicada al desarrollo y configuración de la funcionalidad (DEV), otro para probar la interacción de una configuración con los demás módulos (QAS), el tercer ambiente es el de producción (PRD) donde se plasma la operación de la empresa, hay que tener un especial cuidado con esta ultima.
R/3 es un sistema bastante completo y es la empresa la que debe adaptarse al sistema y no al reves asi que creo que hay que pensar bien antes de implantarlo porque hay muchas empresas que son muy cambiantes en el tiempo y que quiza no puedan volverse estaticas solo por el hecho de implementar este tipo de sistemas.

El Costo de Implementar SAP

Costo del Hardware
Costo del software (R/3)
Costo de software no-SAP (sistema operativo, software de respaldo) y hardware adicional (equipo de lectura de código de barras).
Costo de la Implementación de procesos
Costo de entrenamiento de los operadores
Costo de mantenimiento del sistema
Costo de oportunidad por fallas de sistema.
Costo de actualización periódica del sistema.

Implementación de SAP

Se complica mas a medida que la gente involucrada no crea en el beneficio común de la implementacion, mientras menos habilidad tengan y no quieeran trabajar en equipo.
Es importante crear dos equipos: el equipo de implementación:
1- Usuarios “expertos” con conocimiento de los procesos de su área
2- Jefes de módulo, toman decisiones en los  cambios en los procesos de un departamento.

El segundo equipo es el de administración del cambio que transmita esto a los demas trabajadores.
Una vez que se especifican los resultados esperados y creados los equipos, es prudente solicitar una presentación por parte de las empresas que se encargarían de realizar la implementación.

Se pueden presentar fallas en la implementacion debido a:

-Falta de un equipo de administración del cambio.
-Falta de comunicación con todos los niveles del organigrama.
-Falta de capacitación suficiente.
-Pobre dimensionamiento de equipo.

El objetivo primordial de un ERP es proporcionar información oportuna, veraz y confiable que pueda ser utilizada para una planeación estratégica. Asi que tambien la empresa debe escoger entre los ERP existentes en el mercado y elegir el que mejor se adapte a ellos o bueno mejor dicho al que la empresa pueda adaptarse.

Estuve leyendo el caso de OpenXpertya que es un ERP de codigo abierto creado en España pero basado en Compiere, mejor dicho adaptado a la legislacion española, lo que nos demuestra las enormes posibilidades que se puede tener al trabajar con sistemas ERP Open Source.

Gestion de Bases de Datos en Gambas

Bueno voy a tratar de explicar un poco como se tratan las bases de datos en Gambas.
Primeramente tenemos un Gestor de Base de Datos en modo grafico que facilita mucho el trabajo de establecer la conexion, crear bases de datos y tablas, entre otras cosa que iré detallando.

Para lanzar esta herramienta vamos al menu Herramientas-> Gestor de Base de Datos
Nos aparecera un pequeño cuadro de dialogo como este:

Introducimos la contraseña o la establecemos si recien estamos iniciando por primera vez:
Luego establecemos la conexion al servidor de BD, en esta pantalla:

Finalmente nos aparecera la ventana de trabajo de diseño y creacion de BD en este caso en mysql, la interaccion con esta herramienta es bastante intuitiva si ya se ha trabajado con Gestores Graficos de Base de Datos.

Creamos nuestra base de datos y usamos la herramienta para generar codigo de Gambas desde el gestor.

En este caso se generara un codigo como este en Modulo:

 

Con esto ya tenemos codigo autogenerado a partir de una base de datos en gambas, podemos usarlo para llamar a este procedimiento cuando necesitemos instalar el sistema en alguna otra maquina.
Yo he cambiado la definicion de PROCEDURE a PUBLIC SUB para trabajar con mayor comodidad.
Ahora vamos a utilizar esto para establecer la conexion a la base de datos desde nuestro programa en Gambas.

PROCEDURE CreateDatabase(hConn AS Connection, sDatabase AS String)
	'Generated by the Gambas database manager - 13/11/2008 23:07:14

	DIM hTable AS Table

	hTable = hConn.Tables.Add("Clientes", "InnoDB")

	WITH hTable
		.Fields.Add("ruc", db.String, 11)
		.Fields.Add("direccion", db.String, 80)
		.Fields.Add("nombre", db.String, 50)
		.PrimaryKey = ["ruc"]
		.Update
	END WITH

	hTable = hConn.Tables.Add("GuiaRemision", "InnoDB")

	WITH hTable
	.Fields.Add("numGuia", db.Integer)
	.Fields.Add("rucDestinatario", db.String, 11)
	.Fields.Add("fechaTraslado", db.Date)
	.Fields.Add("motivoTraslado", db.String, 20)
	.Fields.Add("ptoPartida", db.String, 50)
	.Fields.Add("ptoLlegada", db.String, 50)
	.PrimaryKey = ["numGuia"]
	.Update
	END WITH

	hTable = hConn.Tables.Add("Guia_Producto", "InnoDB")

	WITH hTable
	.Fields.Add("numGuia", db.Integer)
	.Fields.Add("numProduct", db.Integer)
	.Fields.Add("cantidad", db.Integer)
	.PrimaryKey = ["numGuia", "numProduct"]
	.Update

	END WITH

	hTable = hConn.Tables.Add("Productos", "InnoDB")

	WITH hTable
	.Fields.Add("idProductos", db.Integer)
	.Fields.Add("descripcion", db.String, 40)
	.Fields.Add("precio", db.Float)
	.PrimaryKey = ["idProductos"]
	.Update
	END WITH

END

Con esto ya tenemos un procedimiento para no estar ejecutando algun script de sql o volviendo a crear la base de datos a la hora de hacer la instalacion del programa.
Es todo por este post.

GridView en Gambas

Como dice la documentacion de gambas GridView es un control que permite mostrar datos en una tabla.
Aqui una imagen.

Aqui se muestran las propiedades del control

Aqui pongo algo de codigo para que al momento de abrir la ventana se carguen los datos en el GridView, desde una tabla Productos en este momento solo importa el funcionamiento  del GridView asi que dejamos de lado momentaneamente la conexion que ya esta implicita.

PUBLIC SUB Form_Open()
	DIM filP AS Integer 'Contador de filas
	DIM colP AS Integer 'Contador de columnas
	'resProductos es un objeto Resul para almacenar el resultado de la consulta
	'conex es un Objeto de tipo Connection para las conexion a BD en Gambas
	'El metodo Exec() ejecuta una sentencia SQL
	resProductos = conex.Exec("select * from Productos")
	'Ponemos el numero de columnas a dos
	gvProductos.Columns.Count = 2
	'Nro de filas de acuerdo a la cantidad de productos que tenemos en la BD
	gvProductos.Rows.Count = resProductos.Count
	'Asignamos la cabecera de la tabla
	gvProductos.Columns[0].Text = "Descripcion del Producto"
	gvProductos.Columns[0].Width = 375
	gvProductos.Columns[1].Text = "Precio"
	gvProductos.Columns[1].Width = 50
	'Jalamos los datos desde el Objeto Result resProductos hacia el GridView
	'Mientras hayan filas en el Result
	DO WHILE resProductos.Available
		gvProductos[filP, colP].Text = resProductos["descripcion"]
		colP = 1
		gvProductos[filP, colP].Text = "$ " & resProductos["precio"]
		colP = 0
		filP = filP + 1
		'Pasamos a la siguiente fila del Objeto Result
		resProductos.MoveNext()
	LOOP
END

Ahora como hacemos para eliminar un producto del GridView si presionamos la tecla Suprimir.

PUBLIC SUB gvProductos_KeyRelease()
   IF Key.Code = Key.Delete THEN 'Comprobamos si la tecla es Suprimir
      IF gvProductos.Current = NULL THEN RETURN
      SELECT Message.Question("Desea eliminar este producto", "Si", "No", "Ayuda")
         CASE 1
            TRY conex.Exec("Delete from Productos where descripcion=&1", gvProductos.Current.Text)
            IF ERROR THEN
               Message.Error("Imposible borrar el registro")
            ELSE
               gvProductos.Rows.Remove(gvProductos.Row)
            END IF
         CASE 2
         CASE 3
      END SELECT
   END IF
END

Microproyectores

El Optima Pico Pocket Projector, es un proyector de dimensiones similares a las de una cajetilla de cigarros y que expande la imagen de dispositivos como iPods o cualquier otro dispositivo (portátiles, reproductores portátiles de DVD, etc).

Cuesta 430 dólares y ofrece la posibilidad de obtener una imagen muy decente en una pantalla de 65 pulgadas de diagonal como máximo.

El proyector tiene sus inconvenientes:

-La resolución de la imagen es de 480×320, y la diminuta lámpara, que tiene una duración estimada de 20.000 horas, no es reemplazable.

A pesar de esto me parece un invento muy interesante que posibilita muchas cosas ,ya que muchas veces el estar viendo una pelicula o cualquier video en los pequeños reproductores portatiles es algo incomodo, inclusive me atrevo a adelantarme a los hechos, y de que se puede reemplazar en un futuro a los pesados e incomodos proyectores grandes y poder visualizar todo tipo de presentaciones multimedia imagenemos esta excelente posibilidad y el beneficio que traeria sobretodo en la educacion(diganmelo a mi y a los estudiantes y profesores de la universidad que tienen que andarse disputando el proyector para dictar algunas clases ;-)).

Fuente: The Inquirer