El tema central de este BLOG es de programación y tecnología en general, aunque tambien publique otros temas.
martes, 27 de diciembre de 2011
¿Por que usar Shared Server en Oracle Database?
Oracle tiene una solución bastante practica para estos “problemas” y son los servidores compartidos, con la configuración correcta podemos hacer que varios clientes sean atendidos por un solo proceso en el servidor, estos procesos son llamados despachadores o dispatchers.
Haciendo una balanza se puede hacer que ciertos usuarios tengan conexión a un servidor dedicado, mientras la mayoría este con servidores compartidos, mas información sobre como configurar servidores compartidos en Oracle Database lo encontramos en el siguiente link http://docs.oracle.com/cd/B19306_01/network.102/b14212/dispatcher.htm
miércoles, 21 de diciembre de 2011
Intercalación En SQL Server Analysis Service y SQL Server DataBase
Con aun muy poca experiencia instalé SQL Server R2 y por un alerta que me salía cambié mi idioma de Windows a Español - España, instalé y luego cambié la configuración en Windows.
Después de un arduo trabajo en sacar un piloto acerca de un cubo de ventas, el cual dicho sea de paso fue todo un éxito, se me ocurrió que era mejor definir los formatos de las métricas en el cubo, para no hacer eso en el cliente, todo estaba bien, pero el gran problema es que me salía el símbolo de Euro, revisé la configuración de Windows y nada, luego fui a la configuración de idioma e intercalación de SSAS y cambio la configuración de español – España a español - Ecuador, reinicio AS, proceso el cubo y comenzó mi problema. las dimensiones que tenían miembros acentuados o caracteres como la Ñ no podían ser procesados, me lleve bastante tiempo en revisar que era, volví a dejar como estaba, pero no funcionaba, revisé en los foros, y pedí ayuda en los foros de Microsoft,él Colega Guillermo Taylor, me dijo que la solución era simple, tener una intercalación en la Base de Datos, compatible con la intercalación de SSAS, me pareció lógico, mas que nada porque el problema es que mientras SSAS buscaba datos de una dimensión con tildes la base de datos no diferenciaba tildes, así que si SSAS buscaba “Alejandría” la base de datos solo encontraba “Alejandria”, lo revisé, lo dejé idéntico, intento procesar las dimensiones, y NADA….
La solución estaba dada, Guillermo tenía razón, pero además de hacer configurar correctamente la Intercalación de la Base de Datos y SSAS también había que re implementar todo el Cubo, algo que en ese momento no sabía pero que por instinto lo hice, gracias a Dios encontré ayuda idónea y salí bien librado.
Tengo mas de 7 años de experiencia con Oracle, pero en SQL Server 2008 me cambiaron muchas cosas de su antecesor SQL 2000 y me siento un novato pero estoy poniéndome al día con los conocimientos, y a medida tenga mas experiencia los comentaré por este medio, puede que estas experiencias ayuden a mas personas.
jueves, 24 de noviembre de 2011
Autenticación en C#
Para hacerlo de una mejor manera podemos hacer lo siguiente…
En nuestro proyecto tenemos el Program.cs, el cual es el principal, agregamos un formulario principal [frmPrincipal] y uno de autenticación [frmAutentica] y hacemos lo siguiente:
en Program.cs tenemos un código parecido a este:
1: namespace Comercial
2: {
3: static class Program
4: {
5: /// <summary>
6: /// Punto de entrada principal para la aplicación.
7: /// </summary>
8: [STAThread]
9: static void Main()
10: {
11: Application.EnableVisualStyles();
12: Application.SetCompatibleTextRenderingDefault(false);
13: /*Es en este lugar donde hay que insertar el código que valida el usuario*/
14: Application.Run(new frmPrincipal());
15: }
16: }
17: }
El código que metemos en ese lugar es el que usamos para invocar nuestro formulario de autenticación, en este formulario validamos el usuario y la clave y damos como resultado DialogResult.Ok en caso que la autenticación sea exitosa. además para mantener en Memoria, nombre, id y otros datos del usuario podemos crear una clase que guarde estos datos, y luego invocarla. el código puede ser algo parecido al siguiente:
1: DatosUsuario user = new DatosUsuario();// Aqui se los datos del usuario
2: frmAutentica auth = new frmAutentica();
3: auth.user = user;
4: DialogResult dr;
5: dr=auth.ShowDialog();
6: if (dr == DialogResult.OK)
7: {
8: // En el form frmPRincipal creamos una sobrecarga del constructor para que nos acepte el parametro user
9: Application.Run(new frmPrincipal(user));
10: }
Espero esta contribución les ayude.
miércoles, 5 de octubre de 2011
Con Steve Jobs muere una era de la informática.
Tal vez no muchos han tenido la suerte de ver la pelicula “Los piratas de Sillicon Valley”, y aunque es un docudrama no autorizado, habla mucho sobre este gran personaje, Steve Jobs, en la misma película podemos ver también a personajes importantes de la Informática como Bill Gates, Steve Wozniac, Paul Allen, Steve Ballmer, entre otros.
Hago referencia a esta película, porque a pesar de que ya todos conocíamos al empresario Steve, al igual que a Bill, fue con esta película, que al menos personalmente me sentí mas identificado con la informática, me ha servido de inspiración, no solo Jobs, sino también Woz, Gates, y compañía, pues indudablemente eran unos Genios, en toda la extensión de la palabra.
Se acusa a Steve de haber sido arrogante, insoportable, apasionado, y adicto al trabajo, pero ¿quien con menos talento nos creemos la ultima coca cola del desierto?, así es la vida, Dios le dio el talento para cambiar el mundo, para hacer historia, para mejorar con la tecnología la calidad de vida de las personas, pues es así como Steve hizo su contribución con este planeta.
Ahora solo se haba de iPhone, iPod, iPad, pero la historia es mas que eso, Apple I, Apple II, Lisa, Machitosh, que en realidad fueron las creaciones que hicieron de APPLE una empresa de respeto.
Para un muchacho de 21 años, cuando la mayoría de jóvenes a esa edad nos ingeniábamos como cortejar a la chica guapa de la U, Steve ya comenzaba desde un garaje a cambiar el mundo, he ahí lo mas inspirador.
Dentro de esa carcaza de Genio estaba un ser humano, con familia, hijos, esposa, y una vida compleja, llena de enfermedades.
Definitivamente Steve dejará un vacía muy grande en el mundo informático, nos toca esperar que un nuevo genio surja y también se de a la tarea de cambiar el mundo..
Adiós Steve Jobs.
jueves, 22 de septiembre de 2011
Ser Informático… ¿es buen negocio?
Después de un análisis en que hubiera sido el mejor negocio o la mejor profesión a la que me pude haber dedicado llegué a la siguiente conclusión.
1. No importa la profesión o la rama, lo importante es la pasión y amor con la que hagas tu trabajo.
2. La mejor profesión o la que mas nos gusta no siempre nos hará millonarios es mas probablemente seamos chiros.
3. Si queremos tener dinero debemos hacer lo que mas dinero da en el momento y lugar en el que estamos, así no nos guste lo que hagamos.
Además de estos tres puntos que eran muy generales, me imaginaba que hubiera pasado si hubiese escogido ser otra cosa y no un informático, entonces me puse a ver a mi esposa y sus estudios de Educadores de Párvulos, a mi primo y sus estudios de Arquitectura, a muchos amigos abogados, y otros tantos doctores, y me puse a pensar, que si bien es cierto uno debe hacer lo que a uno lo hace feliz, y cada persona tomará siempre caminos distintos, pero definitivamente existen muchas ventajas de ser un informático.
1. La Informática se aplica a todas las áreas, así que buscar trabajo es fácil.
2. Cuando estás estudiando solo necesitas un computador, toda tu inteligencia, creatividad y lógica. nada de libros de miles de dólares o materiales costosos etc.
3. Definitivamente el pago es bueno cuando trabajas en países del primer mundo, y entre aceptable y mas o menos en los países del tercer mundo.
Lamentablemente en mi país algunas empresas no solicitan DBA, Programadores, HelpDesk, Ing. de Producción, Ing de Desarrollo, Arq. de Software entre otras… si no que es muy común encontrar anuncios que digan…
“Se Solicita Asistente de Sistemas ” (Pueden Creerlo??? Asistente de Sistemas, si leyeron bien, Asistente… a que se refiere? suena a que necesito alguien que me traiga el café… pero bueeeeee)
Además piden:
Que tenga titulo de ingeniero en sistemas o afines
Con experiencia en Manejo de Bases de Datos Oracle, Sql Server, DB2.
Programación en .NET, C#, VB, c++, C, Java, php. mínimo de 3 años
claros conocimientos en metodologías y arquitectura de software.
Conocimiento indispensables en administración de Windows 2008, Linux, Unix, Mac.
Creativo, que trabaje bajo presión, investigativo, y alta capacidad de análisis.
Sueldo: $600
Entonces es ahí en donde me pregunto..
1. Que es un Asistente de Sistemas? suena a Secretario? o es que para preparar un café necesitas un algoritmo? o es que solo vas a recibir llamadas y tramitarlas dependiendo el problema?
2. Alguien a quien se denomine asistente sería capaz de hacer toda la basura que están pidiendo?, es mas ¿Podrá entenderlo?
3. Si en adquirir esos conocimientos algunos tendrían que volver al colegio y universidad y otros incluso volver a nacer, porque te ofrecen un sueldo menor al de algunos que posiblemente a duras penas saben leer, escribir y hablar?
Bueno son cosas que hasta ahora creo que solo pasan en mi querido Ecuador…
Ser informático es muy rentable solo si trabajamos en Verdaderas empresas serias, o como independientes, caso contrario, mejor dedicarse a vender Huevos.. jeje
miércoles, 24 de agosto de 2011
Patentes ¿Conceptuales?
Al parecer si se te ocurre una idea cualquiera que esta sea y la implementas en tu app, escribiendo tu propio código, incluso sin usar códigos de terceros, y a otro se le ocurrió “el concepto” antes que a ti, tendrás que pagar licencia por el uso de patentes?, tal vez entiendo mal o definitivamente si se nos ocurre poner un botoncito de actualizar versión hay que ver a quien se le ocurrió la idea primero para pagarle por poder desarrollarlo incluso, si la idea fue propia y no copiada?
David un programador Español, es uno de los tantos programadores de app que se encuentran en problemas de patentes, sin haber copiado absolutamente nada, un algoritmo escrito por el e ideado por el, resulto ser similar al de un concepto patentado.. bueno, el asunto esta raro, nadie da razones, nadie dice porque, David no sabe ni que mismo es que ha supuestamente utilizado de esa patente, el asunto es que ya tiene demandas fuertes, ahora el problema es ¿que pasa con la libertad de los programadores?, Facebook, o Myspace tuvieron que pagarle a alguien por el concepto “Redes Sociales”. bueno no se hasta donde llegue la cosa, en realidad no está clara, mas acerca de esta noticia en http://www.bbc.co.uk/mundo/noticias/2011/08/110824_tecnologia_lodsys_patentes_nc.shtml
Saludos..
miércoles, 10 de agosto de 2011
Novedades Migrando base de datos de Oracle 10g a Oracle 11g
dbms_network_acl_admin.create_acl (
acl => 'nombreacl.xml',
description => 'Normal Access',
principal => 'USUARIOoROL',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null
);
end;
2. Agregamos usuarios o roles al ACL anterior
begin
dbms_network_acl_admin.add_privilege (
acl => 'nombreacl.xml',
principal => 'USUARIOoROL',
is_grant => TRUE,
privilege => 'connect',
start_date => null,
end_date => null);
end;
Si queremos agregar mas usuarios, lo podemos hacer con esta misma rutina
3. Asignamos el HOST al que tendrá acceso
begin
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(acl => 'nombreacl.xml',
host => 'tudominio.comOtuIP');
end;
Las vistas del Diccionario de datos con las que puedes revisar los acl son:
DBA_NETWORK_ACLS
DBA_NETWORK_ACL_PRIVILEGES
USER_NETWORK_ACL_PRIVILEGES
sábado, 30 de julio de 2011
BlackBerry, iPhone, Android, o Windows Phone?
Desde hace un tiempo atrás los teléfonos inteligentes han invadido las tiendas de electrónica, lo que antes eran herramientas exclusivas para altos ejecutivos se ha convertido en el juguete ideal de adolecentes y la mejor forma de muchos de estar siempre online, claro, sin dejar de ser una excelente herramienta de trabajo, incluso no hace falta ser un experto en tecnología para pedir teléfonos con los nombres específicos de sistemas operativos, usuarios sin mucho conocimiento técnico discuten sobre las bondades de symbiam, android, Windows Phone, entre otros, comparan restricciones, y son expertos en instalar y desinstalar apps.
En algún momento tuve un teléfono con Windows Mobile 6.0, aunque la interface no era extraordinaria, las capacidades técnicas que se podían explotar no le pedía favor a otros teléfonos inteligentes, y era mucho mas económico que el mas barato de los BlackBerry, teníamos la IDE de Visual Studio para divertirnos haciendo software para Windows Mobile. pero luego me lo robaron .
Así que compre un blackberry, la Interface de blackberry es mucho mas bonita que la de Windows Mobile, además ya tenia el famoso PIN, y las app de facebook y tweeter son espectaculares, sin embargo tengo otras limitantes, por ejemplo, por medio del famoso BIS no puedo ver videos si no pago un adicional por consumo WAP. .. adiós videos.
El Iphone es un hermoso juguete, que si lo agarras con la mano izquierda desde la parte inferior del teléfono, este pierde la señal mmm jamás pude perdonar eso.. sin embargo la interface y el poder de sus app enamoran a cualquiera.
Pero Luego conocí a Android, en el famoso Galaxy de Samsung, y me dije, tendré uno de esos…. sin embargo aun no lo he podido comprar.
El asunto es que con tantas opciones elegir un teléfono inteligente se vuelve cada vez mas difícil, hay una competencia muy fuerte entre los sistemas operativos que actualmente lo lidera Android y iPhone, que destronaron a Blackberry pero así como van las cosas pues no se sabe quien reinará el futuro de los teléfonos inteligentes.
lunes, 30 de mayo de 2011
Iniciando una aplicación con UI para BlackBerry en Java
Al instalar el plugin de Blackberry SDK, tambien se nos instala una documentación completa acerca del API.
Este es un ejemplo básico de código para crear una aplicación con una interface de usuario, a la cual llamaremos, HolaMundo.
Código:
package HolaMundo; //PAQUETE
import net.rim.device.api.ui.UiApplication; //IMPORTAMOS API BB UI
public class HolaMundoMain extends UiApplication //SE HEREDA ui
{
public static void main(String[] args)
{
HolaMundo.HolaMundoMain theapp= new HolaMundo.HolaMundoMain();
theapp.enterEventDispatcher();
}
///CONSTRUCTOR
public HolaMundoMain()
{
pushScreen(new Pantalla());
}
}
// Se crea una clase Pantalla Heredando a MainScreen
public final class Pantalla extends MainScreen
{
public Pantalla()
{
setTitle(“Hola Mundo”); // ESPECIFICAMOS EL TITULO DE LA PANTALLA
}
}
Después de esto ya tenemos la ventana principal con titulo en nuestro BlackBerry.
Saludos
Atte.
JPRC
viernes, 6 de mayo de 2011
Aplicaciones para Blackberry con Java
Después de intentar meterme en el desarrollo de juegos sin éxito hasta ahora por el poco tiempo libre que tengo para la investigación, decidí que la mejor forma de aportar es seguir haciéndolo con mi experiencia en el día día de mi trabajo, ahora se me dio la oportunidad de hacer aplicativos para BlackBerry, nada general, son cosas muy particulares, para la empresa en que trabajo, pero si puedo compartir, ciertos códigos, y experiencia.
Lo primero que deben hacer para desarrollar aplicaciones en BlackBerry es saber Java, si no saben Java, por lo menos programación orientada a objeto para que el aprendizaje de java no sea muy difícil, luego debemos Bajar e instalar, JRE, Eclipse, y BlackBerry Plugin para eclipse, esto lo hacemos en las siguientes direcciones url:
Eclipse
http://archive.eclipse.org/eclipse/downloads/drops/R-3.3.2-200802211800/eclipse-SDK-3.3.2-win32.zip
Blackberry Plugin
https://swdownloads.blackberry.com/Downloads/developerdownload.do
JRE x64
http://download.oracle.com/auth/otn-pub/java/jdk/6u25-b06/jre-6u25-windows-x64.exe?e=130393772
JRE 32bit
En la siguiente entrega, pondré a disposición código fuente.
martes, 12 de abril de 2011
Problemas con Impresora HP 1102w y Terminal Server de Windows 2008 SE R2 (EasyPrint)
al inicio pensé que era un problema del sistema, pero luego me di cuenta que el problema era un asunto de compatibilidad de la impresora con EasyPrint. en realidad busque mucho por internet, y me daban algunas soluciones pero nada funcionaba, el problema se parecía mucho, al que tenía anteriormente, en el que tuve que otorgar permisos especiales a la carpeta c:\windows\System32\spool\PRINTERS, pero este no era el mismo problema.
Para solucionar este problema con esta impresora específicamente tuve que instalar los controladores actualizados en el Servidor, y mandar abajo el EasyPrint, esto lo hice entrando al editor de directivas de grupo, en la carpeta, Configuracion del Equipo\Plantillas administrativas\Componentes de Windows\Terminal Services\Terminal Server\Redireccion de Impresora\
hay que deshabilitar la opción: Usar el controlador de impresora easyprint de terminal server
Con estas acciones pude superar el problema con la impresora HP LaserJet 1102w y Terminal server.
lunes, 11 de abril de 2011
Control de Procedimientos en Oracle DB
http://victor-endara.blogspot.com/2011/04/oracle-control-procedimientos.html
Saludos a todos.
martes, 15 de febrero de 2011
Microsoft y Nokia
En Latino américa Nokia tiene ganado gran parte del mercado, al menos en Ecuador las personas confían bastante en Nokia, Ahora con la nueva moda de teléfonos inteligentes, y por la increíble necesidad de tener uno de esos lindos teléfonos incluso en personas desempleadas (jaja), quien domina el mercado de Smart Phone es el BlackBerry, es increíble ver al menos en Guayaquil, la cantidad de personas que andan con uno de estos teléfonos, incluso es tan común que al subirnos a un bus popular nos encontremos con personas con un BlackBerry de $700, la preferencias de las personas por este teléfono es lógica, ya que es bastante funcional y elegante, sin embargo así mismo hay muchas personas que siguen confiando en Nokia, un teléfono fuerte, con buena señal, y una funcionalidad increíble, pero que en el mercado de teléfonos inteligentes se estaba quedando dormido.
En lo personal siempre me gustaron los Nokia, mas que nada por su Hardware, nunca he tenido un teléfono tan fuerte y con tan buena señal como ese, sin embargo tengo un teléfono con Windows Mobile 6.1, espero este año cambiarme a uno con Windows Phone 7. y no es que sea un fanático Microsoft, pero la funcionalidad de Windows Mobile 6.1 es excelente, puedo hacer cosas que solo con el BlackBerry mas caro podría hacer, y aun tercio del precio. Además de contar con incontables apps, y una gran mayoría gratuitos, y como si eso fuera poco, además de soportar Java como todos lo hacen, tengo .NET Compact para desarrollar aplicaciones con mi Visual Studio, donde puedo usar C#,VB, y también si deseo Java.
Mi intención no es hacer publicidad, pero no podía dejar pasar la oportunidad, para estar optimista de la alianza que ha hecho Microsoft y Nokia, ya que desde mi punto de vista unos de los mejores Hardware se une a unos de los mejores Software en telefonía, ahora espero que cuando se cumpla mi contrato con mi teléfono Windows Mobile, ya haya en el mercado un teléfono Nokia con Windows Phone 7.
Esta alianza tal vez pueda hacer que Microsoft y Nokia ya puedan competir con Apple y Google con su iPhone y el Android respectivamente, en lo que a Smart Phone se refiere.
sábado, 8 de enero de 2011
Desarrollo de Juego en XNA
Ahora, que tengo localizados varios recursos entre ellos el blog de Carlos, lo siguiente que tengo que decidir es que juego voy a hacer.
Me gustaria algo simpático, pero sin embargo es importante que lo pueda terminar algún día sin la necesidad de invertir mucho tiempo :), por lo que pensé que el juego ideal para desarrollar es el clásico juego de naves. ese mismo juego que jugaba en Atari hace mas de 20 años. vamos a ver que tal nos vá, espero que la proxima entrada ya encuentren código :).
martes, 4 de enero de 2011
Empezar a desarrollar Juegos en XNA Game de Microsoft
Una de las cosas mas interesantes de la programación es el desarrollo de juegos, y mas si somos expertos en video juegos, en mi caso no es así, soy tan malo que los pocos juegos que desarrolle en Blitz Basic tuve que crear juegos con vidas infinitas para poder pasar los obstáculos que yo mismo desarrollaba.
Ahora, voy a intentar desarrollar algo decente desde XNA Game, el único problema es que nunca en mi corta vida he visto XNA así que es un reto para mi poner un muñequito que tire piedras o algo así. porque no se absolutamente nada de XNA solamente la sintaxis del lenguaje que utiliza que es el C#.
Así que vamos a comenzar por lo primero en la página de microsoft bajamos el XNA Game 3.1.
Poco a poco iré publicando mis logros, ahora me toca investigar como se hace cada cosa, y lógicamente antes de eso ver que juego es el que quiero hacer.