Eugenia Bahit • GLAMP Hacker & eXtreme Programmer

acerca de Eugenia Bahit

Mi nombre es Eugenia Bahit. Soy argentina, Arquitecta de Software; Hacker especializada en tecnologías GLAMP (GNU/Linux, Apache, MySQL, Python y PHP) y Programadora eXtrema.

Especialización informática

  • Técnicas y tecnologías: GNU/Linux, Apache, OOP, MVC, TDD, Test-First Programming, Unit Testing, PHP, Python, SQL, Shell Scripting, MySQL, Scrum y eXtreme Programming.
  • Áreas de especialización: Arquitectura de Software e Ingeniería de Sistemas; Scripting y Seguridad Informática; Programación eXtrema;

Membresías

Actualmente, formo parte de las siguientes organizaciones:

Carrera laboral

Comencé mi carrera profesional a finales de 1996. Desde 1997 hasta 2011, me desempeñé como programadora tanto en forma autónoma como dependiente, en el sector público - como el Ministerio de Seguridad de la Provincia de Buenos Aires, el Ministerio de Justicia de la Nación y el Ministerio de Salud de la Ciudad de Buenos Aires - como en el sector privado en diversas compañias y Organizaciones no Gubernamentales.

Actualmente me dedico a la docencia dictando cursos de programación a distancia para profesionales y a la investigación (de forma independiente).

Publicaciones y videos

En los últimos años he contribuido a las ciencias informáticas publicando más de 50 papers, libros y artículos. En su mayoría, se encuentran albergados en la biblioteca virtual The Original Hacker.

Otras contribuciones pueden encontrarse en los siguientes sitios:

Para acceder a mis videos sobre charlas, talleres y entrevistas relacionados con la programación, recomiendo ver mi lista de reproducción en YouTube.

Trabajos de investigación (I+D)

Entre los trabajos de investigación más relevantes, puedo mencionar los siguientes:

(pulsa sobre el título de cada proyecto para ver un resumen y acceder a los diferentes enlaces de descarga)

[+] desplegar Proyecto de investigación «teoría sintáctico-gramatical de objetos»

Sistema taxonómico que reelabora el paradigma de la programación orientada a objetos, llevando los componentes de un sistema a objetos en estado puro

Mediante esta teoría propongo un sistema taxonómico de objetos basado en el lenguaje natural. Esta teoría incorpora los conceptos de objeto en estado puro y objetos orientados a datos al paradigma de la programación orentada a objetos.

Los resultados de esta investigación pueden leerse en mi libro Teoría sintáctico-gramatical de objetos. Visitando el enlace anterior, puede descargarse una versión de mi libro en formato PDF o adquirir una versión impresa en papel.

Licencia: GNU Free Documentation License
Publicaciones: Libro: Teoría sintáctico-gramatical de objetos
Capacitación: Consultar por talleres grupales (presenciales o a distancia)

[+] desplegar Proyecto de investigación «Europio Engine»

Desarrollo de un kernel (o pseuo-núcleo) para aplicaciones Web

Este proyecto nació en la búsqueda de crear un núcleo genérico para aplicaciones Web modulares en PHP que evitara seguir la línea metodológica y conceptual de los frameworks, es decir, evitando ser un marco de trabajo para la aplicación.

Tras poco menos de 6 años de investigación, logré crear un concepto híbrido alcazado tras sintetizar los de «kernel» y «motor de software» en un plano de alto nivel (puesto que el concepto de «kernel» se refiere al núcleo de un Sistema Operativo y en este caso, se lo ha llevado al de aplicación).

Licencia: GPL v3.0
Web del proyecto: www.europio.org
Repositorio: Launchpad (europioexperimental)
Documentación: www.europio.org/docs
Papers: Digitalizaciones albergadas en The Original Hacker Library
Capacitación: Curso de Desarrollo de aplicaciones con Europio Engine (a mi cargo)
  Curso intensivo de Ingeniería de Software (práctica profesional a mi cargo)

[+] desplegar Proyecto de investigación «EuropioCode»

Sistema de codificación y decodificación de caracteres para aplicaciones Web bajo Apache con ModSecurity

EuropioCode surge de la necesidad de crear aplicaciones 100% invulnerables pero sin resignar la funcionalidad y experiencia de usuario. Se trataba de encontrar una forma de permitir al usuario en los formularios Web, el ingreso de strings que incluso pudiesen contener código fuente malicioso pero evitando la ejecución del mismo, sin riesgos ni margen de error.

Esto se logró mediante la creación de un nuevo sistema alfanumérico de codificación de caracteres NO-ASCII capaz de codificar cualquier tipo de cadena conteniendo caracteres ASCII y unicode y otro, de conversión de cadenas codificadas mediante un sistema de pseudo-decodificación que interprete cadenas codificadas de forma tal de ofrecer al usuario, strings visualmente idénticas a las ingresadas originalmente.

El sistema consta con una triple capa de seguridad basada en el modelo SAC (server-application-client) y se desarrollaron librerías cliente y aplicación capaces de codificar, decodificar y revertir caracteres volviendo las cadenas a su estado puro.

Licencia: GPL v3.0
Repositorio: Launchpad (europiocode)
Documentación: Artículo completo publicado en The Original Hacker Mag Nº4

[+] desplegar Otros proyectos
  • SecurityLayer: una capa de seguridad que filtra y sana las entradas del usuario de forma automática, aplicando inteligencia artificial. Licencias: GNU Free Documentation License y GPL v3.0
    Paper de la investigación | Artículo sobre implementación en PHP | Código fuente
     
  • Sistema de sustituciones dinámicas y estáticas para las vistas en MVC: se trata de un sistema que permite la independencia absoluta de código HTML de los lenguajes de programación, utilizando la sintaxis nativa del lenguaje HTML como sistema de identificación de contenido dinámico. Licencias: GNU Free Documentation License y GPL v3.0
    Paper sobre la investigación | Código fuente
     
  • JackTheStripper: deployer para servidores GNU/Linux de distros basadas en Debian. Actualmente con soporte para Ubuntu Server 14.04 LTS. Licencias: GNU Free Documentation License y GPL v3.0
    Página del proyecto | Código Fuente | Documentación | Video
     
  • python-printr: módulo python para la impresión de objetos y sus propiedades de forma recursiva con soporte para objetos compuestos (mediante composite pattern) y propiedades colectoras (compuestas mediante aggregation pattern). Licencias: GNU Free Documentation License y GPL v3.0
    www.python-printr.org
     
  • The Original Hacker Mag: revista sobre investigación informática con especial énfasis en la seguridad y la ingeniería inversa
    www.originalhacker.org