Complemento para auditoría remota de Sudo en JSON

Este complemento para Sudo 1.83 y posteriores reporta todas las entradas y salidas durante cada sesión de Sudo a un terminal TLS 1.2+.

screenshot

Si la conexión TLS falla, el mecanismo de resguardo es un fichero local por cada sesión Sudo, almacenado como “<log-dir>/<id>.ndjson”. El formato es JSON delimitado por líneas (Newline-Delimited JSON, ndjson), con una línea por cada suceso de entrada o salida.

FOP XML→PDF position tracker

Tracks the location of objects from the input XML into the PDF produced by Apache FOP (Formatting Objects Processor), for instance to know at which page to find a specific item.

screenshot

The customer is a company that offers financial document management to their customers. Their document processing pipeline extracts and normalizes the content from various inputs, and uses Apache FOP for building the PDF views.

They needed to track the page in the produced PDF where specific elements were rendered.

Nigerian Oil Spill Monitor

Helps the Nigerian Government and citizens track the oil spill incidents so that the accuracy of those reports can be checked by anyone affected.

screenshot

It includes a report management system that is used by the Nigerian Oil Spill Detection and Response Agency (NOSDRA) to coordinate the work done in their offices across the country.

This work was done for the British NGO Stakeholder Democracy Network (SDN).

Try it out at the development site which includes the latest prototype features and enhancements: demo.sentido-labs.com/oil-spill-monitor/

Official site operated by SDN: oilspillmonitor.ng

It is made with Angular, Bootstrap, FontAwesome and Leaflet using SVG, GeoJSON and TopoJSON for the data overlays, and D3 for the summary charts. Includes map, details, table, and summary views.

eLearning Multi-Agent System

Desarrollado para el Centro Alemán de Investigación en Inteligencia Artificial (DFKI).

screenshot

El objetivo era diseñar e implementar un sistem multi-agente sobre JADE que pudiera usarse para integrar el trabajo de los socios de projecto (instituciones de investigación académica de Francia y Alemania). y luego integrar el Sistema de Gestión de Aprendizaje [Learning Management System] ILIAS como parte del sistema.

La integración se logró con el uso de agentes "de enlace" ("liaison"): pequeños componentes Java que al enlazarse con el "software" de cada socio le proporcionaba un agente representante en el sistema.

Había un agente de enlace para cada componente:

  • Sistema de Gestión de Aprendizaje ILIAS adaptado por el DFKI
  • Entorno 3D Virtual I-FLEG del INRIA
  • Gestor de diálogos de la Universidad de Saarland
  • Chatbot Francés y Alemán para pruebas, no parte del projecto

Cada agente puede informar sobre el avance del aprendiz mediante mensajes SCORM, una codificación a medida en XML del API SCORM estándar. También hice contenidos de demostración para el proyecto como paquetes SCORM que se cargan en el SGA [LMS] ILIAS.

El agente del estudiante ("learner agent") tiene un cerebro AgentSpeak proporcionado por Jason.

EC-TEL 2012 Póster de conferencia en Inglés

Conversor en flujo de XML a JSON

Lee un flujo de ficheros XML y escribe un flujo de líneas JSON (line-oriented JSON) según un fichero de correspondencias que describe qué data extraer, y cómo codificarlo en JSON.

screenshot

Se hizo para Tahi Data Services (TDS) LTD PTE de Singapur. Necesitaban enviar flujos de diarios de auditoría XML de Solaris 9/10 y Oracle 11 a un agregador que requiere formato JSON, y tiene que funcionar en sistemas anticuados en los que sólo hay Java 5.

Tutorial Toolkit

Tutorial feedback overlays for Java applications, just 24 KB compressed.

screenshot

The translucent blue layer is a stencil that prevents the user from interacting with the components under it, making it easier for them to focus on the active components.

The screenshot shows a note-style call-out (another style is thought bubble) with four target buttons in the application (arrows), and one button for proceeding to the next step in the tutorial.

It's enough to specify the note content and targets, and Tutorial Toolkit finds the proper place for the call-out so that they don't get occluded, using a bespoke single-pass constraint solver.

This work was done in one month for the London Knowledge Lab, and was used in the MiGen project. It can be seen briefly in the video MiGen: Unlocking Algebra at 3'20" and 4'22".

Download (GPL license) TTK 1.0

Under dist/lib/ there is a ready to use JAR file: launch the demo application from the screenshot with

java -jar dist/lib/TTK-20121008.jar

Technical documentation in English

D3 animated multi-lingual chart

An example of a small, focused just-in-time component.

screenshot

The bars grow from the bottom, the donuts grow clockwise.

The code for the different chart types (bar, multibar, donut) is encapsulated in the Charts object used for the example in the picture.

It was written from scratch in one day for a Belgian web design agency, using D3.js

VideoLecture player

Multi-stream web video player for interactive piano lessons.

screenshot

The screenshot shows (paused) a live webcam RTMP stream, an MP4 H.264 video HTTP stream, an FLV video RTMP stream, and an F4V video HTTP stream. All can play at the same time and it uses either the Flash plug-in or HTML5 video.

This work was done in two weeks for the German Research Center for Artificial Intelligence (DFKI)

Manual in English