Anuncios

miércoles, 23 de febrero de 2011

El día que me converti en director de Cine (sobre naves, hologramas y por supuesto computadoras)


 La tapa del DVD

 Hace unos meses, me topé con la siguiente página web en internet:
Me escurrieron lágrimas por los ojos al recordar la época en que fui director de cine.


Todo comenzó en el 2006. Yo era un ser humano común y corriente. Para los que no me conocen, un ingeniero de sistemas. Mi vida era normal ese 2006. Trabajaba duro de lunes a viernes y luego veía pelis y viajaba para pasarla bien.
Del trabajo no me podía quejar. Era gerente de calidad de software de una empresa y no me iba nada mal. En esa época conseguí que mi empresa se vuelva representante de ventas de Adobe en Bolivia. El proyecto nos abrió puertas con varias petroleras extranjeras que trabajaban en el país. Luego fuimos representates de muchas empresas más.

Como representante de Adobe, se me ocurrió hacer propaganda de lo que se puede hacer con programas como Adobe Photoshop y Adobe premier, Adobe After Effects. La idea era crear una película con efectos especiales. Era una parodia de Star Wars.  Justo en esa época surgió un concurso de cortometrajes de La Alianza Francesa.   El premio era basura (no llegaba ni a mil dólares), pero concursar haría del trabajo algo más divertido.

La historia trata de una Pata que pide ayuda a un Pato Jedi. El pato Jedi viaja a otro planeta para rescatar a la princesa después de un pedido de ayuda.
El video que muestro a continuación es un pedazo de la película publicado en Youtube:
Video Youtube

Escena de hologramas


Escena de espadas y simuladores

Efecto de fantasma
Efecto nave espacial
La película fue realizada con muñecos de plastilina y una sola cámara fotográfica (si, puro fotos, 0 filmación contínua). El trabajo es de chinos. No saben la sangre que cuesta hacer este tipo de películas. En esta película no se dañó a ningún animal.
No saben lo difícil que es trabajar con plastilina. Muchos me dijeron que haga productos 3D. También tiene varias complicaciones.

Para lograrlo, acudí a gente con talento y que podrían pasar horas de horas trabajando.
He aquí el elenco:

Giancarlo Calbimonte
Sí, mi hermano era co-productor. Ayudó mucho con efectos especiales, adaptaciones de Guión.  Era medio idiota, pero tenía excelentes ideas.

Jean Paul Calbimonte
Este hermano, era un chico genio que vivía en Suiza. Si bien tiene pinta de Marihuanero y autista, es muy talentoso con las computadoras y puede hacer maravillas en efectos espaciales con las pocas fotos que le dimos.
 Los Suizos le pagaban para que estudiara su maestría en sistemas. Él era encargado de la creación del video.  Colocaba música y convertía en un video decente todas las fotos que nosotros le mandábamos de un ridículo pato de plastilina.

Cindy Calbimonte
En ese entonces era una niña colegial de 16 años. Talentosa para dibujar y muy creativa. Desde Kínder ganó concursos de dibujo que se mandaron a Corea del Sur. Una corcha brillante.
Creó a los muñecos de plastilina y también era la encargada de restaurarlos. Para la película utilizamos lámparas que no eran muy especiales, por lo que el pobre pato se iba derritiendo a medida que pasaba el tiempo. Era tan manoseado el pobre pato, que se iba deformando poco a poco. Fue restaurado más de 100 veces para filmar la película.

Heidi Calbimonte
Arquitecta. Talentosa en dibujos.
Desde Estados unidos nos ayudo en la edición de efectos en las caidas del pato retrasado.


Anécdotas
En el trabajo llegaba con mis ojeras. No me sentía cansado porque la verdad e proyecto era bastante divertido. Mi pobre hermano Jean Paul no dormía nada editando las fotos de ese patético pato. Llegaron sus vecinos a tocarle la puerta del departamento para conocer a “ese tipo que no apagaba su luz nunca”.
Estaba a punto de perder su beca de estudiante en Suiza. Por lo que no pudo terminar el proyecto con nosotros. Fue entonces cuando entró al grupo Andrea Asín.

Andrea Asín
Amiga nuestra que ya había realizado sus propias producciones de video. Estudiante de comunicación. Era bastante buena y conocía mejor que nosotros a los jueces y al evento en sí en el que ya había participado alguna vez.
Miles de fotos eran editadas. Existen varias escenas que no salieron nunca a la luz. El presupuesto de la producción fue de 300 (40 $us) bs y miles de horas de trabajo gratuitas.  

El concurso.
El día del concurso fuimos. Era el festival de videos cortos de la Alianza. Habían varios videos concursantes. Ninguno de los que vimos se parecía al nuestro. Normalmente eran videos de personas hablando. Había de todo. Videos en blanco y negro. Videos con excelentes efectos visuales y videos pésimos. Buenas actuaciones, pero un libreto que da asco y pena. Definitivamente en Bolivia faltan guionistas buenos. Un buen libreto es muy importante. El guión y la adaptación peor.
Cuando apareció el video, la gente nos aplaudió y se rió mucho. Creo que le gustó a la gente. Lamentablemente, no ganamos nosotros. No entiendo porque. Sospecho que los jueces no les gustan los videos comerciales. En fin. Me quedé con la experiencia de hacer videos y efectos especiales. Esa experiencia me ayudó mucho en un segundo evento hecho luego. Pero eso es parte de otra historia.

Los que quieran una copia de este video lo estoy dando en 15 bs (2 $us).  
Una parte es para donar a la iglesia para gente pobre y necesitada. La otra para pagar el costo del CD. Para gente fuera de mi ciudad (Cochabamba-Bolivia) el costo es 2 dólares y lo que me cueste mandar por correo el CD.






En esta imágen el pato Jedi está entrenando y no le va muy bien.


Escena con naves espaciales



Esa nave espacial es una nave que tengo que mide unos 45 cm de largo. 



En esta escena está a punto de aparecer un holograma de una pata pidiendo auxilio.
Siempre quise hacer el efecto especial del holograma.

Cómo crear un backup de una base de datos en c#

En esta ocasión les explicare como realizar el un backup de una base de datos SQL Server usando Visual Studio.
Voy a utilizar c# para mi cometido, pero se puede utilizar también Visual Basic. Es muy parecido.

 Soluciones de backup para SQL Server

El ejemplo a descargarse contiene el proyecto en visual studio, el script para crear el procedimiento almacenado (copia respaldo.sql)  y un backup de la base de datos (test.bak).


Para bajarse el ejemplo, ingrese a este link:
http://code.msdn.microsoft.com/Crear-un-backup-de-base-de-650b695a

Una vez en el link presione el botón c# mostrado en la siguiente figura:
Primeramente voy a crear en el SQL Server Management Studio un procedimiento almacenado que realiza un backup de mi base de datos:



create procedure [dbo].[backupdb]
as
BACKUP DATABASE [test] TO  DISK = N'C:\copia\test.bak'
WITH NOFORMAT, NOINIT,  NAME = N'test-Completa Base de datos Copia de seguridad', SKIP, NOREWIND, NOUNLOAD,  STATS = 10


Este código obtiene una copia de respaldo carpeta "copia" en el drive c de mi base de datos test en un archivo llamado test.bak


Luego, desde c# llamamos al procedimiento almacenado asi:


       private void button1_Click(object sender, EventArgs e)
         {
            try
            {
                string ConnectionString = ConfigurationManager.ConnectionStrings["connectionStringName"].ToString();
                SqlConnection cnn = new SqlConnection(ConnectionString);


                SqlCommand cmd = new SqlCommand("backupdb", cnn);
                cmd.CommandType = CommandType.StoredProcedure;

                cnn.Open();

                cmd.ExecuteNonQuery();


                MessageBox.Show("El backup fue realizado exitosamente");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
       
        }
Este código lo que hace es obtener una copia de respaldo al hacer click con un botón en c#.
Con un código similar a este se pueden hacer miles de funciones en c# como:


  • Crear inicios de sesión en SQL Server.
  • Crear estadísticas.
  • Crear permisos
  • Y muchas opciones más.

martes, 22 de febrero de 2011

Curso de Business Intelligence (BI) en la IT Academy de la Fundación Jala


Para los que no conocen el nuevo Edificio de Jalasoft y la Fundación Jala. Acá les traigo unas fotos:



Foto 1.
Estos son los alumnos del curso de Business Intelligence.



Foto 2.
Los equipos de laboratorio tienen bonita apariencia. Nótese que dice Jala en el CPU.





Foto 3.
Ahí me tienen. Aparentemente me hizo una pregunta difícil por la cara que puse.


Foto 4.

Más fotos de los laboratorios.

Para más información sobre la IT Academy de Jalasoft:

http://www.facebook.com/#!/itafundacionjala

Para saber más sobre los cursos de la ITA:

http://itacademy.fundacion-jala.org/Cursos.aspx

Para saber más sobre el curso de Business Intelligence:

http://itacademy.fundacion-jala.org/Cursos/descripcioncurso.aspx?cat=5&curso=

sábado, 19 de febrero de 2011

La informática y la República Dominicana

Willy Taveras, el chico genio

La vida de un informático en República Dominicana.
Como MVP una de mis tareas es ayudar a la gente con dudas sobre tecnologías de la información en la página de msdn de Microsoft.
Ahí conocí a Willy Taveras. Tanto el como yo nos dedicamos a ayudar a gente de Latinoamérica y España en sus afanes diarios de SQL Server.
Al trabajar trabamos amistad y logramos conocernos mejor.
Muy poco se oye sobre República Dominicana. De no ser por el célebre libro “La fiesta del Chivo” de Mario Vargas Llosa con el famoso presidente Trujillo, no sabríamos casi nada de ese país.

Los informáticos de Trilogy en Bolivia fueron a República Dominicana y Haiti para hacer ciertas instalaciones e implementaciones de Software, por lo cual sabemos algo de sus playas y su gente.
Sin embargo, nada mejor que oír a alguien oriundo.

Willy Taveras es un chico genio de apenas 20 años de edad. Yo tengo 10 años de experiencia en SQL Server y soy un MVP, pero les aseguro que este niño sabe mucho más que yo en varias áreas.
Tiene un excelente sitio web (Web: http://itteach.net) donde trata de impartir sus conocimientos.  La entrevista que tengo a continuación es como la serie de entrevistas de personas en Japón, España, Estados Unidos, Suiza.
Voy a tocar temas de cultura, turismo y algo de informática. Disfrútenlo.

1.     Willy, te puedes presentar ante el público ?
Tengo 20 años y IB Systems se dedica a desarrollar aplicaciones para el público financiero (bancos e instituciones financieras).

Yo trabajo en el procesamiento de datos, stored procedures en db2, y la administración en SQL Server, aprendiendo cada día más.

2.     Cuéntanos un poco de cómo es Republica Dominicana (clima, extensión, población, en que ciudad vives, si tienes links con fotos mejor).
República Dominicana es reconocido mayormente por ser un país tropical, así también por el merengue. Clima tropical, con una superficie de 48.442 km².
Cuenta con una población alrededor de 10 millones. Actualmente vivo en Santo Domingo, que es la capital del país. Acá te dejo una galería de fotos de las


3.     En qué ciudad vives (población, lugares a visitar) ?
Actualmente vivo en Santo Domingo, como ya he mencionado, la capital de la República Dominicana. En esta ciudad se puede apreciar la historia de la independencia de nuestro país, lugares históricos que representan alguna batalla dada en tiempos pasados. Monumentos, lugares turísticos, entre otras cosas. La mayoría de personas de pueblos, como es mi caso, vienen a estudiar su carrera universitaria en esta ciudad que cuenta con una población de 2.061.000 personas aproximadamente.
4.     Qué es lo que más te gusta de tu país ?
De mi país me gusta el clima, lo mucho que se puede apreciar de la naturaleza. La forma en cómo se tratan las personas de la masa pobre, la solidaridad con la que muchos actúan. Me gusta también el hecho de sentirme orgulloso por los talentos Dominicanos que a pesar de la pobreza logran salir adelante y brillar en el mundo.
5.     Tienes fotos de tu universidad ?.  Cuantos son ?.
Estudio en la Universidad APEC (Universidad Acción Pro-Educación y Cultura). Aquí tienes una galería de fotos, también un tour virtual: http://admisiones.unapec.edu.do/visitas/galeria/galeria.html
tiene alrededor de 8,300 estudiantes de grado y postgrado.
6.     Con que herramientas trabajas ? (C#, WPF, asp.net, SQL Server ?).
Trabajo con C# y SQL Server, aunque actualmente solo he estado trabajando con la parte de procesamiento de datos en SQL Server y me he dejado un poco de la programación.
7.     Desde cuándo comenzó tu pasión por la informática ?
Esto viene desde que tengo aproximadamente 7 años, fue cuando hice mi primer curso de informática acerca de las herramientas básicas de ese entonces, MS-DOS, Office, entre otras cosas. Luego empecé a solucionar problemas con relación a instalaciones de sistemas operativos, configuraciones de los mismos, trabajando todo a nivel personal, nada profesional. Mi orientación era básicamente las redes, pero cursando el cuarto cuatrimestre de la carrera Ingeniería en Sistemas de Computación, decidí cambiarme  a Ingeniería en Sistemas de Información ya que por unas pruebas personales decidí que mi área era la programación, y muy acertado.
8.     Que planes tienes a futuro ?
Mi deseo, que ya casi todos conocen, siempre ha sido ayudar personas de mi carrera, así como de otras cuando tenga la oportunidad, pero más aun tener mi propia empresa, desarrollarme como un buen informático a nivel nacional y  mundial.
9.     Cómo es el costo de vida en tu país (cuánto cuesta un almuerzo, un hotel, un alquiler de un departamento y un salario de un ingeniero de sistemas de pocos años de experiencia).
El costo de vida es alto en  base a la condición en la que quieras mantenerte, pero en lo regular lo es. Un almuerzo justo puede encontrarse en 100 pesos  dominicanos (2.65 $us)  en centros de preparación de almuerzos para empresas, pero puede elevarse a los 300 ó 400  pesos  dominicanos (8 a 10 $us) en otras circunstancias, por ejemplo lugares famosos o cotizados. Acerca de los precios de los hoteles, esto es muy variante, puede ser muy barato, como muy caro, dependiendo la clase, pero acá te dejo una lista de hoteles: http://www.colonialtours.com.do/migente.asp. Los alquileres de departamentos dependen de la zona en que estén ubicados, como es normal, pero un hogar simple para vivir puede estar en 5,000  pesos dominicanos (132 $us). Un Ingeniero en Sistemas que tiene pocos años de experiencia puede iniciar con un sueldo base de 14,000 pesos (370 $us), ya sea desempeñando un trabajo de analista de pruebas, y se eleva a los 25, 000 (660 $us) en adelante cuando estamos hablando de programadores, en muchos casos, la mayoría, los administradores de base de datos son mejor pagados que los programadores.

10.  Algo que siempre quise saber es como es su relación con Haiti. Hay miles de soldados en la frontera ?. Hay varios migrantes de ahí que se mueven a su lado ?. Como van las relaciones entre ambos ?
La relación entre ambos países es compleja, existe racismo de una parte de Dominicanos a Haitianos, otros con sentido de solidaridad apoyan al país vecino.
Existen situaciones en que inmigrantes haitianos comenten fechorías en nuestro país, que se vuelve en la segunda causa de rechazo, además del racismo.
Durante los procesos del terremoto, Haití recibió mucho aporte de la sociedad Dominicana, pero aun así no se aclaran ciertas diferencias que existen.
Muchos de ellos viven lo que muchos Dominicanos deben vivir cuando emigran a Puerto Rico y luego a Estados Unidos, es algo que se devuelve, lamentablemente, pero por cuestiones políticas, económicas y sociales ambos países no tienen un relación buena.
Hay muchos estudiantes en mi universidad que son haitianos y a cada momento llegan nuevos al país, aunque se está teniendo más control por el tema del Cólera.

Muchas gracias suerte en todo !!


 Imágenes

viernes, 18 de febrero de 2011

Llamadas a la línea de comandos usando C#


Con el ejemplo que les voy a pasar, pueden automatizar y miles de tareas con c# usando la línea de comandos cmd.
Como todos saben con el cmd, la línea de comandos de windows, se pueden crear usuarios, prender servicios, copiar archivos, borrar archivos, crear archivos, crear carpetas.

Lo que voy a hacer es mostarles cómo llamar a diferentes procesos usando C# en una aplicación de Windows Forms.

El ejemplo lo pueden bajar haciendo click en el siguiente link:

Download ejemplo. Luego  en la página del link haga click en el botón c# como indica la figura:


Este código realiza las siguientes actividades:

  • Abrir un programa con C# (en este caso, el Microsoft Paint Brush).
  • Abrir en internet explorer una página web (la página de Google).
  • Abrir un archivo existente (un archivo excel existente).
  • Crear un usuario de Windows usando C#.
Acá va el código:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;

namespace Shell
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process proc =
                new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            //Llamar a calculadora
            //proc.StartInfo.FileName = "calc";
            //Llamar a MS paintbrush
            //proc.StartInfo.FileName = "mspaint";
            //Llamar al manejador de servicios de Windows
            //proc.StartInfo.FileName = "services.msc";
            //Llamar al Event Viewer
              proc.StartInfo.FileName = "eventvwr.msc";


            proc.Start();
        }

        private void button2_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "mspaint";
            proc.Start();

        }

        private void button3_Click(object sender, EventArgs e)
        {

            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "iexplore";
            proc.StartInfo.Arguments = "http://www.google.com";           
            proc.Start();
            proc.WaitForExit();
            //Matar proceso
            //proc.Kill();

        }

        private void button4_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = @"c:\doc.xlsx";
            proc.Start();

        }

        private void button5_Click(object sender, EventArgs e)
        {
            crearusuario(textBox1.Text,textBox2.Text);

        }
           
        private void crearusuario(string usuario, string password)
        {
            System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "cmd";
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.UseShellExecute = false;
            proc.Start();
            proc.StandardInput.WriteLine(@"net user "+usuario+" "+password+" /add");
            proc.StandardInput.Flush();
            proc.StandardInput.Close();
            proc.Close();
        }

    }
}

El código es simple: 


           System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "mspaint";
            proc.Start();
En esta parte estoy llamando al Microsoft PaintBrush (mspaint).

          System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "iexplore";
            proc.StartInfo.Arguments = "http://www.google.com";           
            proc.Start();
            proc.WaitForExit();
En este sector estoy llamando al internet explorer (iexplore) y le digo que abra la página de Google.

          System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = @"c:\doc.xlsx";
            proc.Start();
Acá simplemente le digo que abra el archivo doc.xlsx que es un archivo Excel existente.

          System.Diagnostics.Process proc = new System.Diagnostics.Process();
            proc.EnableRaisingEvents = false;
            proc.StartInfo.FileName = "cmd";
            proc.StartInfo.RedirectStandardInput = true;
            proc.StartInfo.RedirectStandardOutput = true;
            proc.StartInfo.CreateNoWindow = true;
            proc.StartInfo.UseShellExecute = false;
            proc.Start();
            proc.StandardInput.WriteLine(@"net user "+usuario+" "+password+" /add");
            proc.StandardInput.Flush();
            proc.StandardInput.Close();
            proc.Close();

Este trozo de código, esta usando el comando net user. Net user es la línea de comandos para crear usuarios locales dentro de mi sistema operativo. Usuario y password son mis variables.

De esta forma se puede crear código para miles de opciones. Espero que se entienda. Si desean crear usuarios de Active Directory, van a necesitar el comando dsadd user.

  • Para detener servicios se usa el comando net stop.
  • Para iniciar servicios se usa el comando net start
  • Para crear carpetas mkdir.
En fin, son miles de comandos que se pueden realizar mediante la línea de comandos cmd y con lo que les mostré, la pueden llamar desde C#.




Si tienen dudas, escriban a este blog. Gracias !!





miércoles, 16 de febrero de 2011

Tarea de fundación Jala Business Intelligence

Curso de la Fundación Jala:


Trabajo:
  1.  Escoger una empresa ficticia o real (puede ser una empresa de software, heladería, farmacia) y generar un sistema de integración de datos usando Integration Services que extraiga los datos de una fuente a una base de datos SQL Server.
  2. La fuente de datos puede ser SQL Server, Access, Oracle, MS Excel, MySQL o cualquier otro tipo de base de datos.
  3. Incluir por lo menos 3 control flows y 3 transformation
  4. Generar un backup de las bases de datos antes de realizar las extracciones.
  5. Lograr que los paquetes sean realizados en fechas programadas automáticamente (utilizar SQL Jobs).
  6. Generar por lo menos 3 dimensiones y por lo menos una Fact table de esta extracción.
  7. Generar un cubo multidimensional con las dimensiones y Fact Tables.
  8. Generar reportes en cubos
  9. Generar algunas consultas de totales con MDX y guardarlos en scripts MDX
  10. Crear análisis de datos usando Data Mining
  11. Crear procesadores programados para actualizar cubos
  12. Crear reportes de datos parametrizados usando Reporting Services
  13. Crear gráficas de los datos usando Reporting Services
  14. Generar logs de Reportes, SQL Integration Services, Analysis Services.




Referencias sobre Integration Services:

Referencias sobre Reporting Services:

Referencias sobre Analysis Services:

Foros recomendados sobre MS Business Intelligence en inglés:
Foros recomendados en español:

Recomendaciones
·         Tratar de utilizar la tarea Execute Package task

Certificación de Microsoft:

Sobre el instructor: