Showing posts with label innovación. Show all posts
Showing posts with label innovación. Show all posts

Wednesday, April 1, 2015

Ley de protección de datos personales en Costa Rica

La ley de protección de la información de Costa Rica es una ley bastante completa que se nota fue desarrollada a partir de los principios de seguridad de la información.
Aunque la ley demuestra bastante madurez, las personas siguen incumpliendo sus estatutos, siguen dándose casos de robo de información, publicación indebida de información privada sea ésta en forma de información escrita o imágenes.
Básicamente muchos de éstos casos se dan por la ilusión de anonimidad que dan los medios digitales, el principio de que se puede hacer lo que se quiera siempre y cuando no sea descubierto haciéndolo, está muy arraigado y podría decirse que hasta está institucionalizado.
Vemos éste comportamiento a todo nivel debido principalmente al alto costo que implica un proceso judicial                 contra la compensación real obtenible, la necesidad de utilizar un abogado y pagar por el desde que empieza el proceso, la duración del mismo y los métodos de pago utilizados son elementos que no incentivan la búsqueda de justicia utilizando los métodos convencionales.
Asimismo existe una desconfianza en los métodos de investigación de casos de robo de información debido al alto nivel de sofisticación de los mismos y a que muchas veces dependen de que el responsable confiese públicamente su participación ya sea a propósito o inadvertidamente, la demostración del responsable del acto criminal es difícil y costosa tanto en tiempo como financieramente.
La poca preocupación de las personas por la seguridad de su información hace de la determinación del responsable del robo una tarea poco menos que imposible, el uso de tarjetas de memoria sin encriptar y el descuido con aparatos facilitan la tarea de los delincuentes tanto profesionales como ocasionales.
 La internet es una sub-sociedad basada en demostraciones gráficas de osadía y atrevimiento, los actos que desafían las leyes y la seguridad propia y ajena tanto física como la de su reputación, no es secreto que hay un grupo de personas que se ganan la vida tomando fotografías de las personas y violando su intimidad.
Es imperativo crear una cultura basada en la seguridad, que inste al ciudadano común en las costumbres que harían más difícil el robo de información y por ende les daría una mejor posición en contra de éstos delincuentes.
La cultura a crear debe tomar por ejemplo comportamientos como los siguientes:
·         El uso de programas de encripción en nuestros sistemas de almacenamiento de datos
·         Usar claves de acceso para el uso normal de nuestros aparatos, asimismo el registro de los mismos e inutilización en caso de robo
·         El uso de certificados de seguridad en nuestras comunicaciones para evitar la lectura no autorizada.
El depender de la ley para evitar nuestra responsabilidad solo aumenta el problema, nuestras leyes presentan el mismo fenómeno que nuestra sociedad, somos excelentes en el planteo de la solución pero tenemos problemas de ejecución que debemos enfrentar.

La seguridad de nuestra información es nuestra responsabilidad y no podemos dejársela a un tercero.

Tuesday, July 29, 2014

Desea una aplicación móvil? Hágala bien!

Su empresa es un proyecto que usted ha alimentado, por el que usted ha invertido horas de su vida y la de sus seres queridos, por ello está tan viva como lo está usted, su misión es ayudarla a evolucionar en éste nuevo ambiente.

Hoy tenemos a clientes para los cuales visitarlo es una inversión de tiempo y recursos que sólo harán si están convencidos de que sus productos llenan sus expectativas, incluso si pueden ni siquiera lo visitarán para comprarle.

La industria de comercio en línea ha revolucionado el mercado y su evolución a dispositivos móviles ha sido un siguiente paso lógico, ya no se le pide al usuario que se quede frente a su laptop todo el tiempo para poder ganar una subasta, ahora la sigue desde su celular.

Que puedo hacer para que mi empresa participe de ésta cultura?


El primer paso es el clásico de la administración de negocios, haga un estudio de Fortalezas, Oportunidades, Debilidades y Amenazas (FODA) de su empresa.

Con ese estudio, analice cuál es la entrada principal de dinero en su empresa, y enfoque su estrategia en fortalecerla y complementarla.

Su aplicación móvil debe seguir el esquema que usted descubra y proveerle al cliente de un valor agregado sobre su actividad, tal y como comprar desde su dispositivo, aprender sobre sus productos y obtener ideas y/o ayuda sobre como utilizarlos en su actividad.

No tema ser creativo!


Su aplicación puede ahorrarle mucho dinero siempre que pueda incorporarla correctamente a su ciclo de trabajo, recuerde que la tecnología no necesariamente reemplaza su estructura, sino que también puede complementarla.

Cree algo que le de vitalidad a su negocio, que le recuerde a sus clientes cuál fue su razón de ser desde el momento en que fundó su compañía, que lo motivó y cuál fue la razón de la aceptación que ahora goza.

No se quede atrás y participe de la revolución móvil

Monday, July 21, 2014

Los Retos actuales de la Seguridad Informática

Estamos en una época de cambio constante, lo cual no es secreto pero aún así existe resistencia, ahora no nos enfrentamos exclusivamente a ataques anárquicos sino a ataques con objetivos de ganancia monetaria y/o comercial.

Las empresas han aprovechado el concepto de seguridad globalmente, sus aplicaciones de negocio se enfocan al mantenimiento de los procesos y a la continuidad.
Asimismo los sistemas antipenetración han evolucionado para detectar paquetes de información salientes en lugar de buscar código malicioso.

Porque ya no es posible analizar el código malicioso de una aplicación?


Las personas que escriben troyanos (virus capaces de infiltrar la computadora) son personas muy inteligentes las cuales tienen entre su propósito no ser detectados así que efectúan una encripción de su código lo cual impide que la mayoría de los antivirus no puedan detectarlos.

Como se detecta un troyano?


Los troyanos se detectan inicialmente por su comportamiento, la mayoría de los troyanos buscará la manera de transmitir información desde la computadora infectada a través de puertos válidos.

Los analizadores modernos buscan patrones de conducta anómalos y los bloquean mientras el administrador de red analiza si es o no un comportamiento válido.

Cuál es la diferencia de un troyano, un malware o un adware?

Básicamente la única diferencia entre los 3 es su comportamiento:

Un troyano es un código que al ejecutarse buscará cumplir un objetivo de manera anónima, por lo general (aunque no en todos los casos), abrir un "backdoor" en la computadora o enviar un registro de teclas pulsadas.

Un Malware se diferencia del troyano en que es obvio, o sea el programa hará pública su presencia y cometerá acciones obvias en perjuicio de la computadora.

Un Adware es un código que presentará publicidad no solicitada  en cualquier momento.

Cómo elimino éstas amenazas?


Programas antivirus actualizados como el Kaspersky y el Avast eliminan muchos de los troyanos identificados.
Aún así es recomendable compensar con programas Antimalware como el Malware Bytes o el Spybot los cuales se enfocan en los programas maliciosos que normalmente evaden a los antivirus

Thursday, June 12, 2014

Conección a un Mainframe IBM usando SNA en Delphi

El mainframe IBM es una máquina utilizada en empresas que requieren un procesamiento rápido y poderoso, Instituciones financieras y de gobierno son algunos ejemplos.

Las nuevas tecnologías han dejado de lado la conexión directa a éstos gigantes de la industria en un mundo donde la multitud de tecnologías han buscado el cambio y la renovación antes que el soporte a tecnologías robustas que ahora son llamadas "legacy".

¿Cómo podemos utilizar un lenguaje moderno como delphi para conectarnos de manera segura a un mainframe que todavía utiliza SNA?


Delphi necesita una herramienta para conectarse ya que no posee una conexión directa, pero la diversidad de opciones que soporta le permite utilizar una de éstas opciones:

Un emulador de terminal como Rumba http://www.microfocus.com/products/terminal-emulator/index.aspx

Otra opción es utilizar el Microsoft Host Integration Server (HIS) para convertir la conexión SNA a un servicio Web consumible como SOAP

y exite la opción también de escribir sus propios componentes COM como los descritos para VB en éste documento de ibm
ftp://public.dhe.ibm.com/software/cics/ccl/cclhaq00.pdf

Monday, May 26, 2014

¿Qué es un modelo de datos?

Un modelo de datos es un mapa, así de simple, un mapa que describe el camino que sigue la información de un punto a otro de un proceso.

En un proceso de negocio se documentan los movimientos de información, servicios, productos y/o dinero, de la correcta ejecución del proceso depende que el negocio opere de manera exitosa, y la mejor manera de controlar esa ejecución es documentar el proceso.
El primer paso de la creación de un proceso es definir cuál es la meta del proceso, ésta definición nos permitirá definir qué información requerimos para cumplirla.
Por ejemplo:
Tenemos una tienda que vende batidos de sabores así que ofrecemos varios sabores y opciones de batidos:
Base:
Agua      $5
Leche    $8
Yogurt   $8

Sabores:
Banana
Melón
Chocolate
Sandía
Limón
Naranja
Dos Sabores       +$2
Tres Sabores      +$3

Ejercicios
¿Cuál sería la meta de un modelo de datos basado en ésta información?

¿Qué información necesitamos para definir el proceso de negocio asociado?

Monday, May 19, 2014

El Mercadeo en la programación moderna


En el mundo de hoy como ingenieros nos enfrentamos a una competencia globalizada, ya no existe la ventaja de ser locales en este campo de batalla mundial, el avance de las telecomunicaciones e internet han contribuido a que nuestra competencia pueda proveer sus servicios a mejor precio y con mejor infraestructura que nosotros como si estuviera aqui!

Se necesita mantener una visión de mercadeo de nuestras habilidades para descubrir la manera de llegar al usuario global, poder hacer aplicaciones para mejorar la vida de las personas sin importar donde estén y de ésta manera vender nuestro trabajo.

Debemos abrir nuestras mentes no solo al hacer por hacer, sino obtener una visión de negocio, nos gusta pensar en nosotros mismos como artistas, pero estamos en un mundo donde nuestras herramientas no pueden ser perfectas para todos.

La creación de herramientas computacionales que se ajustan a la manera de trabajar de todas las empresas es un sueño, hay tantas maneras de trabajar como empresas y un sistema que se ajuste a todas es una locura.

La era del software a la medida llegó a su fin hace mas de 15 años atrás, estamos en una era donde se utilizan herramientas que se complementan entre ellas para llegar a soluciones económicamente rentables.

Hay que volver a la raíz de la ingeniería y disolver los grandes problemas en problemas pequeños.

Debemos mercadear soluciones a un problema simple, que se puedan combinar para solucionar problemas complejos.


Raúl Morales Víquez raul.morales.víquez@hotmail.com / http://informatica-raulmorales.blogspot.com
Consultor en informática e Instructor, certificado en Seguridad Informática, Graduado en la Universidad Latina de Costa Rica con más de 10 años de experiencia en diversas áreas de cultura organizacional en empresas multinacionales.

Tuesday, May 6, 2014

Cómo hacer una aplicación multilenguaje en Delphi

Lo primero que necesitamos para éste ejercicio es un objeto Tlang el cual incluiremos en la aplicación que deseemos tenga posibilidad multilenguaje.

Una vez finalizado y funcionando el programa, vamos a agregar un control que nos permita elegir el lenguaje que deseemos, puede ser parecido a éste:

TLang1.jpg

Una vez hecho ésto le damos doble click al componente TLang y él traerá a enfoque la siguiente ventana:

TLang2.jpg

La ventana solicita el código del lenguaje en la parte superior y a continuación lista todas las etiquetas del programa que hicimos, a la derecha de cada una podemos colocar nuestra traducción de cada una.

ADVERTENCIA
Sólo las etiquetas que traduzcamos manualmente y que tengan la propiedad "AutoTranslate" activada se traducirán cuando se cambie el idioma.

El lenguaje cambia cuando se actualiza la propiedad "lang" del control TLang como en éste ejemplo:
Lang1.Lang := ListBox1.Selected.Text;


Friday, May 2, 2014

Como trabajo con JSON en Delphi?

Para trabajar en JSON se utiliza el objeto TJSONObject, de la siguiente manera:

Si uno está generando la información a enviar puede usar el siguiente método:

var
  LJSONObject: TJSONObject;
 
begin
  LJSONObject:= TJSONObject.Create;
  LJSONObject.AddPair(TJSONPair.Create(TJSONString.Create('Hola'),
                                       TJSONString.Create('Mundo')));

Rápido y sencillo verdad?
Pero digamos que tenemos que utilizar un header predefinido como éste:

const
  GJSONString =
'{'+
    '"glossary": {'+
        '"title": "example glossary",'+
  '"GlossDiv": {'+
            '"title": "S",'+
   '"GlossList": {'+
                '"GlossEntry": {'+
                   ' "ID": "SGML",'+
     '"SortAs": "SGML",'+
     '"GlossTerm": "Standard Generalized Markup Language",'+
     '"Acronym": "SGML",'+
     '"Abbrev": "ISO 8879:1986",'+
     '"GlossDef": {'+
                        '"para": "A meta-markup language, used to create markup languages such as DocBook.",'+
      '"GlossSeeAlso": ["GML", "XML"]'+
                    '},'+
     '"GlossSee": "markup"'+
                '}'+
            '}'+
        '}'+
    '}'+
'}';

Entonces se utiliza la funcion parser del objeto TJSONObject de ésta manera:

procedure ConsumeJsonBytes;
var
  LJSONObject: TJSONObject;
 
begin
  LJSONObject := nil;
  try
    LJSONObject := TJsonObject.Create;
    { convert String to JSON }
    LJSONObject.Parse(BytesOf(GJSONString), 0);
 
    { output the JSON to console as String }
    Writeln(LJSONObject.ToString);
  finally
    LJSONObject.Free;
  end;
end;

Produciendo el objeto deseado.


Tuesday, April 22, 2014

Solución de Modelado de Datos

Cuánto tiempo de verdad le dedicamos al modelado de nuestro software?

Recuerdo mis clases de "Estructura de Datos" y de UML, en ése tiempo trabajaba como programador y mi jefe me decía que no había tiempo para hacer ésa documentación (utilizaba la metodología de prototipos).

La realidad de ése tiempo es que si querías hacer un proyecto "barato" tenías que tener un producto listo ¡ya!...

¿Qué ha cambiado?

Las empresas que invierten en productos baratos quedan casadas con el programador al igual que uno queda casado con un mecánico barato... " Yo ya le había visto eso de los frenos pero sólo le arreglé la llanta".
La realidad es que la búsqueda de la calidad no es un lujo, es una necesidad, las empresas que creen poder perder clientes, los pierden!, recuperar clientes no es un asunto sencillo y poder crear resultados es un proceso.

¿Qué debemos utilizar para modelar nuestros diagramas?

El modelado del software es un asunto delicado, es un mapa que seguirán nuestros colegas y que de estar incorrecto influirá en la calidad del software y el costo del proyecto.

Se debe escoger una herramienta que permita el crear los diagramas y de ser posible el hacer ingeniería inversa sobre lo que ya tenemos.

Por eso me gusta usar el E/R studio de embarcadero, tiene la facilidad del Erwin con una robustez que no he visto en otros sistemas.

La posibilidad de manejar grupos grandes de diseñadores gracias al CONNECT, de una manera fácil y hasta cierto punto entretenida (se parece un poco a una red social), facilita la comunicación y la creatividad.

Asimismo permite importar modelos hechos en otras herramientas como Erwin y Powerdesigner.

Por favor no duden en enviar sus preguntas a raul.morales.viquez@hotmail.com
o comentar aqui.

Wednesday, April 9, 2014

Metadatos o ¿Como sé que estoy guardando?

Nuestra era es llamada "La era de la información" y con mucha razón, ahora se guarda una cantidad enorme de información sobre empresas y personas en intentos elaborados de predecir que pasará en nuestro entorno y aprovechar esas situaciones a nuestro favor.

Pero ¿como sabemos que guardamos?, ¿Que sistemas lo utilizan?, ¿Para qué utilizamos esa información?

Hay miles de empresas que sufren problemas de espacio para bases de datos y estudios en como normalizar las bases de datos para reducir la redundancia en las tablas, pero la verdad es que sin un diseño unificado de la base de datos a nivel de empresa la realidad es que las bases de datos y sus contenidos son repetidos una y otra vez.
Al no saber que tenemos en éste momento o para que lo utilizamos, muchas veces  los administradores eliminan datos útiles simplemente porque no saben si son usados o si van a ser accesados en el futuro.

Para evitar éstas situaciones se ha implementado a nivel mundial un sistema de documentación integral, se llama "metadatos".

Los metadatos describen otros datos, identificando los aspectos importantes que la empresa o persona desee, utilizando valores como "tema", "responsable", "sistema", etc.

Existen varios tipos de metadatos:

  • Catalogación: porque pueden describir contenidos a nivel individual (como una página web) como en colecciones.
  • Estandarización: pueden describir el estándar utilizado para tipos de datos, modelos, columnas, reportes, etc.
  • Búsqueda de recursos: su aplicación facilita el trabajo de los motores de búsqueda.
  • Firmas digitales: formatos como RDF permiten codificar las firmas digitales, requisito fundamental a la hora de crear una web de confianza. 
  • Clasificación de contenidos: permiten establecer los contenidos que los usuarios desean ver.
  • Otras aplicaciones: marcados de políticas y preferencias de privacidad y los derechos relativos a la propiedad intelectual. 
Las librerías de metadatos le permiten a la empresa tener una catalogación de temas y directrices de importancia para la consulta de sus empleados que evitan doble trabajo y errores en procesos clave desde un simple reporte a una migración de bases de datos.

Ningún software de arquitectura de datos viene sin la opción de creación e inserción de metadatos, ¿lo está utilizando usted hoy en día?

Fuentes:
http://en.wikipedia.org/wiki/Metadata
http://www.bn.gov.ar/descargas/catalogadores/ponencias/251109_10a.pdf

Monday, March 31, 2014

¿Como empiezo a programar en Delphi?

Esta pregunta es mas común de lo que se cree y se debe al modo en que se está enseñando a programar en éste momento.

En Java, Python y la mayoría de los lenguajes la manera de programar comienza desde la declaración de clases, debes declarar en código una clase main que es la que va a llamar a los diferentes procedimientos.

En Delphi se comienza por una ventana main la cual vamos a ir llenando con los componentes respectivos, es una manera gráfica de pensar contrario a la manera de código, cada vez que se piensa en una funcionalidad estamos pensando en un componente o en una serie de comportamientos.

Delphi se presta de excelente manera a lo que es UML por que le enseña a uno a programar por comportamientos y seguir las líneas de ejecución basadas en el diseño hecho en el diagrama de secuencia.

¿Cuales son las ventajas de programar en Delphi?

Delphi utiliza una serie de componentes preprogramados que permiten desde hacer cosas sencillas como obtener un dato en texto hasta controlar la capacidad GPS del teléfono.

Existen miles de ejemplos de algoritmos que se pueden hacer en delphi, por favor pregunten por lo que necesiten hacer y con gusto publicaré lo que requieran

Tuesday, March 25, 2014

¿En que puesto estamos en la ciberguerra?

Kaspersky tiene un mapa en tiempo real que utiliza los reportes que obtienen de virus, vulnerabilidades y ataques desde la nube que puede verse en éste enlace

http://cyberwar.kaspersky.com/

Thursday, March 13, 2014

¿Que es AppMethod?

Appmethod es una versión de C++ Builder y Delphi enfocada al desarrollo multiplataformas que no es compatible con las versiones de delphi anteriores a XE2 ya que todas las aplicaciones programables utilizan el framework "FireMonkey".

¿Que es Firemonkey?
Firemonkey es un Framework especializado para multiplataformas que utiliza librerías que le permiten al código escrito y diseñado en él, ser compilado para diversas plataformas (Windows, MacOS, Android y IOS) en código nativo sin utilizar máquinas virtuales.

¿Cúal es la diferencia entre AppMethod y RAD Studio?
Rad Studio incluye muchas mas opciones para el desarrollador que AppMethod, AppMethod es recomendado para el programador cuyo objetivo sea las aplicaciones pequeñas

Tuesday, March 11, 2014

Delphi y Bluetooth

Un muy buen ejemplo de una aplicación Bluetooth con Delphi es ésta aplicación creada por
Björn Hansen
https://www.youtube.com/watch?v=vesPd5WvykA

Utiliza Bluetooth para conectarse a un sistema de iluminación e ilustra las facilidades de Delphi para conectarse a dispositivos Bluetooth

Tuesday, February 25, 2014

Delphi y HTML 5

Una pregunta que ha surgido ésta semana en el trabajo es cómo maneja Delphi la creación de código HTML5.
Delphi XE5 viene con una funcionalidad que permite la creación de aplicaciones Web utilizando un preprocesamiento y un servicio web propio nativo, el HTML5 Builder viene como parte del RAD Studio para las personas que insistan en utilizarlo, pero la respuesta en que ha insistido Embarcadero me parece mucho mejor.
Las aplicaciones que se desarrollan en Delphi para móviles son totalmente nativas como si se desarrollaran en xcode o en eclipse, pero con menos personal y más agilidad, ya que el código fuente para uno es compilable para el otro.
HTML5 hace lo mismo, es cierto, pero dependemos de la compatibilidad de browsers, la evolución del lenguaje, los problemas de seguridad, etc.
Creo conveniente que los lenguajes de programación estén evolucionando a programas más seguros y a reutilización de código, como siempre es delphi el pionero de éstos avances tal y como en los 90's cuando nació, estoy ansioso por ver los siguientes avances.

Saturday, February 22, 2014

La enfermedad llamada mediocridad

Este es un tema que me ha atormentado por años, el tema de cómo en América Latina existe la cultura de la mediocridad, del "sólo haga su trabajo y no llame la atención", del "cuidado se hace notar", y del " si hace más trabajo del que le toca nos jode a todos".
La mediocridad es el sistema de defensa generalizado de las personas que no tiene su propia empresa o un padrino en un alto cargo, es la manera de tener éxito ya sea no llamando la atención o eliminando a aquellos más capaces que usted.

Pero que significa la mediocridad en una empresa?

La meta principal de una empresa es la de efectuar una actividad que llene una necesidad y generar ingresos por ello, la búsqueda tanto de la gerencia como de la sección de mercadeo es la de encontrar la "fórmula mágica" que le permita a la empresa efectuar ésta actividad de la manera más efectiva, maximizando los ingresos y minimizando los gastos, pero muchas empresas deciden que esa búsqueda es demasiado costosa asi que deciden efectuar su actividad de manera repetida y minimizar cualquier intento de cambiarla por miedo a que la medicina sea más cara que la enfermedad.
El secreto para que ésto funcione es el que ninguna otra empresa se dé cuenta de que hay maneras más efectivas que la suya y que aún que lo haga, no la comercialize, ésto obliga a las empresas a limitar el conocimiento de los que efectúan la actividad o reducir su iniciativa.
La respuesta a éste problema dentro de muchas empresas es la cultura interna donde se castiga la innovación y se minimiza la automatización de tareas por miedo al cambio y a la obsoletización de funciones.

Cuáles son las consecuencias de la mediocridad?

No es secreto que la mayoría de los elefantes blancos de la industria cayeron uno a uno cuando empresas, muchas veces de sus mismos ex-empleados, utilizaron la innovación de procesos y descubrieron nuevos patrones de negocio.
PANAM, IBM, Apple, Western Union son ejemplos de empresas que se vieron en problemas, algunas sobrevivieron y otras no, por que?
Las empresas son seres vivos, y si no crecen como tales... mueren, un ser vivo evoluciona y una empresa también, aunque considerablemente más rápido.

Cómo logro cambiar mi empresa si así lo deseo?


  • Estudie su negocio: Una empresa sobrevive conociendo su negocio, hay que tener mucho cuidado ya que una empresa no debe enfocarse en su actividad, debe enfocarse en la necesidad que llena y ajustarse a la mejor manera de satisfacerla.
  • Mantenga la mente abierta: Las empresas que sobreviven lo hacen porque compran y desarrollan nuevas ideas.
  • Cree un ambiente de pruebas para nuevas ideas: Un gerente prudente prueba las nuevas ideas en un ambiente controlado antes de implementarlas
  • Reparta el crédito: Un jefe mediocre le teme al éxito de sus subordinados, el darle crédito a sus empleados les da un sentido de valor y lealtad hacia la empresa

Recuerde la empresa es un ser vivo y debe alimentar cada uno de sus tejidos para que siga funcionando.

Exploring the Differences between Red-Teaming and Blue-Teaming in Cybersecurity: Why Red-Teaming is Sexier; but Blue-Teaming is More Crucial

When it comes to cybersecurity, there are two teams that often get confused: redteams and blueteams. Redteams are the hackers, the ones w...