project portfolio 2 - merlotti portfolio 2.pdf · dialogic board programming mobile matrix digital...
TRANSCRIPT
C O N T E N T S
Introduction 9
Technology Index 11
.NET Multimedia Framework 23
iPhone ABC 25
Yaboo 27
Unmanned UAV 29
Phone2PC Firmware Updater 31
Phone2PC 4.5 33
CJAFlow 35
Pocket Shutter 37
Paper Published on ICST’2008 39
Attorney Registration 41
Person Following Segway Robot 43
Phone2PC 4.0 45
Koli Prototype 1 47
Paper Published on ICAI’2005 49
Genetic TSP 51
Fuzzy Stock Trader 53
Phone2PC 3.6 55
Tic-Tac-Toe 57
Iris Classifier 59
Phone2PC Client Upgrader 61
Phone2PC Master Upgrader 63
PHS – Phone2PC Hardware Selector 65
Phone2PC 3.0 67
Konexx Player 69
Installation Wizard 71
Phone2PC 2.0 73
Feature Manager 75
Internal Debugger 77
Genealogic Tree 79
Ant Simulator 81
Quote Logger 83
Crystal Stairs 85
Day Savor 86
Pocket PC Wireless Employee Check In 87
FORAD 88
Mobile Matrix 89
Merkap Client Server 90
Sisfin Atene 91
Tropical Real Estate System 92
Merkap Windows 93
GCON 94
Cotista Client Server 95
Sistema de Planejamento de Espaço 96
Paulo E. Merloti 9
IN T R O D U C T I O N
Since very little I have always been very curious about how machines work. The end of my toys
was always the same - disassembled so I could see its inner workings. In my teen years, I was
introduced to microcomputers; my cousin had an 8-bit MSX computer that was more a video
game than anything else. At least that’s what he was interested in. I found something much
more interesting on my cousin’s computer – the BASIC language. I got some magazines on BASIC
programming and I still remember the day I run the following lines.
10 CLS
20 PRINT “PAULO”
30 GOTO 10
I was hooked. The idea that I could tell machines what to do just by typing on a keyboard
amazed me. I learned what I wanted for my life’s career in the following months of tweaking
with that little computer.
My parents enrolled me to a “technical high school”, one specialized in “data processing”, and
there is where I learned that computers are much more complex than BASIC language. My
interest in computers didn’t go unnoticed. My professor from a Databases class referred me to
the company he once worked, a very large cement manufacturer in Brazil. Because of that, in
my last high school year I landed an intern job as a Mainframe Operator, and then my passion
for computers never diminished.
I wrote this project catalog with multiple purposes in mind. First it is a showcase of projects
delivered and other major achievements. So often one’s past experience get lost in time and
fades into a blur of ancient acronyms. I also enjoyed writing this catalog. Each project is deeply
coupled with a time in my life when I was developing it. Remembering the projects is like
looking at a photo album and remembering those times.
As you will see, each project has a brief description of the context where it was developed and a
highlight of relevant architecture or technology used in the project or how it contributed to
solve a determined problem.
I have also created a technology index that maps some technical keyword with a list of projects
where that piece of technology was used. I tried to remember as much as I could, but there is a
chance something got left out, so please ask me about anything if you have any questions.
Thank you for your time.
Paulo E. Merloti 11
T E C H N O L O G Y IN D E X
2D Drawing Algorithms Phone2PC 4.5
Phone2PC 4.0
Paper Published on ICAI'2005
Genetic TSP
Phone2PC 3.6
Tic-Tac-Toe
Iris Classifier
Phone2PC 3.0
Genealogic Tree
2D Mapping Genealogic Tree
8-bit microcontroller programming Koli Prototype 1
Pocket Shutter
A* Algorithms Tic-Tac-Toe
Access Database Phone2PC Master Upgrader
PHS
Accounting GCON
ADO Phone2PC Master Upgrader
PHS
Advantage Data Server PocketPC Wireless Employee Checkin
Mobile Matrix
Crystal Stairs
Ant Algorithms Paper Published on ICAI'2005
Ant Simulator
AppForge PocketPC Wireless Employee Checkin
Artificial Intelligence Yaboo
Koli Prototype 1
Paper Published on ICAI'2005
Genetic TSP
Fuzzy Stock Trader
Tic-Tac-Toe
Iris Classifier
Ant Simulator
Artificial Life Paper Published on ICAI'2005
Ant Simulator
ASP Forad
ASP.NET CJAFlow
Attorney Registration
ASTA Forad
Audio Analysis Algorithms Phone2PC 4.0
Phone2PC 4.5
12 Project Catalog
Backpropagation Artificial Neural Networks (BANN) Iris Classifier
BTrieve Merkap Windows
Business Objects Mobile Matrix
C# Unmanned UAV
Pocket Shutter
Koli Prototype 1
C# 3.0 .NET Multimedia Framework
CJAFlow
Attorney Registration
C++ .NET Multimedia Framework
Paper Published on ICST'2008
Person Following Segway Robot
Quote Logger
CAN Networks Paper Published on ICST'2008
Person Following Segway Robot
Capital Market Algorithms Cotista Client Server
Merkap Windows
Merkap Client Server
Cent OS Unmanned UAV
COM/DCOM Cotista Client Server
COM+ Phone2PC 4.0
Forad
Quote Logger
Combinatorial Optimization Problems Genetic TSP
Communication Protocol Design Koli Prototype 1
Complex Adaptive Systems Paper Published on ICAI'2005
Component Creation Phone2PC 4.5
Phone2PC 4.0
Phone2PC 3.6
Phone2PC 3.0
Phone2PC 2.0
Computer Vision Yaboo
Iris Classifier
Paper Published on ICST'2008
Person Following Segway Robot
Data Modeling Phone2PC Master Upgrader
PHS
Quote Logger
Forad
Mobile Matrix
Crystal Stairs
Merkap Client Server
Paulo E. Merloti 13
Sisfin Atene
Tropical Real Estate System
GCON
Cotista Client Server
Merkap Windows
Sistema de Planejamento de Espaco
Genealogic Tree
Delphi 3 Merkap Client Server
GCON
Merkap Windows
Delphi 4 Day Savor
Sisfin Atene
Tropical Real Estate System
Cotista Client Server
Delphi 5 Phone2PC 2.0
PocketPC Wireless Employee Checkin
Forad
Mobile Matrix
Crystal Stairs
Delphi 6 Phone2PC Firmware Updater
Phone2PC 4.5
Phone2PC 4.0
Paper Published on ICAI'2005
Genetic TSP
Fuzzy Stock Trader
Phone2PC 3.6
Tic-Tac-Toe
Phone2PC Client Upgrader
Phone2PC Master Upgrader
PHS
Ant Simulator
Phone2PC 3.0
Konexx Player
Installation Wizard
Feature Manager
Internal Debugger
Design Patterns .NET Multimedia Framework
Phone2PC 4.5
CJAFlow
Pocket Shutter
Attorney Registration
Phone2PC 4.0
14 Project Catalog
Dialogic Board Programming Mobile Matrix
Digital Electronics Koli Prototype 1
DirectDraw API Paper Published on ICAI'2005
Ant Simulator
DirectX Paper Published on ICAI'2005
Ant Simulator
Document Workflow CJAFlow
Dreamweaver Genealogic Tree
DSP Algorithms Phone2PC 3.6
Phone2PC 4.5
Phone2PC 4.0
DTMF Decoding .NET Multimedia Framework
Dual OS (DOS/Windows) Technology Merkap Windows
Educational software iPhone ABC
Electrical Design Yaboo
Emergence Paper Published on ICAI'2005
Encryption Phone2PC 4.5
Phone2PC 4.0
Phone2PC 3.6
Phone2PC Client Upgrader
Phone2PC Master Upgrader
Phone2PC 3.0
Konexx Player
Phone2PC 2.0
Erwin Quote Logger
Crystal Stairs
EXIF handling Unmanned UAV
Feedback Control Systems Fuzzy Stock Trader
Yaboo
File Streaming Feature Manager
Internal Debugger
Frame grabbing Paper Published on ICST'2008
Person Following Segway Robot
FSK Decoding .NET Multimedia Framework
Fuzzy Logic Fuzzy Stock Trader
Fuzzy Rules Fuzzy Stock Trader
Gaming Algorithms Paper Published on ICAI'2005
Gaming theory Ant Simulator
Genetic Algorithms Genetic TSP
GPS Technology Yaboo
GSM 6.10 Phone2PC 4.5
Phone2PC 4.0
Paulo E. Merloti 15
Phone2PC 3.6
Phone2PC 3.0
Phone2PC 2.0
GUI design Konexx Player
Installation Wizard
Hardware Debugging Pocket Shutter
Hardware Design Pocket Shutter
HID API Phone2PC 4.5
HTML Genealogic Tree
Forad
IBM Informix CJAFlow
Attorney Registration
Image Processing Unmanned UAV
Paper Published on ICST'2008
Person Following Segway Robot
Iris Classifier
IMU (Inertial Measurement Unit) Unmanned UAV
Yaboo
Independent Component Analysis (ICA) Iris Classifier
Information Security CJAFlow
Attorney Registration
Interbase Forad
iPhone application development iPhone ABC
Linear Algebra Paper Published on ICAI'2005
Matlab Iris Classifier
Mechanical Design Yaboo
Koli Prototype 1
Mechanical Fabrication Koli Prototype 1
Memory Datasets Day Savor
MFC Paper Published on ICST'2008
Person Following Segway Robot
Microsoft Message Queue (MSMQ) Quote Logger
Microsoft SQL CJAFlow
Attorney Registration
Merkap Client Server
Sisfin Atene
Cotista Client Server
Quote Logger
Microsoft WCF CJAFlow
Attorney Registration
Mikropascal Koli Prototype 1
Mini-itx computer Paper Published on ICST'2008
16 Project Catalog
Person Following Segway Robot
Minimax algorithm Tic-Tac-Toe
MMTools Phone2PC 4.5
Phone2PC 4.0
Phone2PC 3.6
PHS
Phone2PC 3.0
Phone2PC 2.0
Mobile development iPhone ABC
PocketPC Wireless Employee Checkin
Multimedia Phone2PC 4.5
Phone2PC 3.6
PHS
Phone2PC 3.0
Konexx Player
Installation Wizard
Phone2PC 2.0
Tropical Real Estate System
Phone2PC 4.0
MySql Genealogic Tree
N-Tier Architecture Forad
Mobile Matrix
Cotista Client Server
Object Oriented Programming Paper Published on ICAI'2005
Genetic TSP
Fuzzy Stock Trader
Tic-Tac-Toe
Phone2PC 4.5
Pocket Shutter
Phone2PC 4.0
Koli Prototype 1
Phone2PC 3.6
Phone2PC Client Upgrader
Phone2PC Master Upgrader
PHS
Ant Simulator
Phone2PC 3.0
Konexx Player
Installation Wizard
Phone2PC 2.0
Feature Manager
Internal Debugger
Paulo E. Merloti 17
Quote Logger
Day Savor
PocketPC Wireless Employee Checkin
Forad
Mobile Matrix
Crystal Stairs
Sisfin Atene
Objective-C iPhone ABC
Oscilloscope Operation Pocket Shutter
P/Invoke .NET Multimedia Framework
Paradox Tropical Real Estate System
GCON
Pattern Recognition Iris Classifier
PCB Design Yaboo
Pocket Shutter
Koli Prototype 1
PCB Fabrication and Assembly Koli Prototype 1
PHP Genealogic Tree
PID Controller Paper Published on ICST'2008
Person Following Segway Robot
Koli Prototype 1
PocketPC Pocket Shutter
Proprietary File Format Phone2PC 4.5
Phone2PC 4.0
Phone2PC 3.6
Phone2PC Client Upgrader
Phone2PC Master Upgrader
Phone2PC 3.0
Konexx Player
Phone2PC 2.0
Feature Manager
Feature Manager
RPM Mobile Matrix
RS-232 Pocket Shutter
RS-485 Koli Prototype 1
Security Konexx Player
Serial Port Pocket Shutter
Servo Control Yaboo
Servo controller Paper Published on ICST'2008
Person Following Segway Robot
Signal Conditioning Yaboo
SOA CJAFlow
18 Project Catalog
Attorney Registration
Statistics Iris Classifier
STL Library Paper Published on ICST'2008
Person Following Segway Robot
Swarm Intelligence Paper Published on ICAI'2005
Sybase Merkap Client Server
Sistema de Planejamento de Espaco
Text to Speech Paper Published on ICST'2008
Person Following Segway Robot
Traveling Salesman Problem (TSP) Genetic TSP
UAV (Unmanned Aerial Vehicle) Unmanned UAV
UI Design Phone2PC Firmware Updater
UML Quote Logger
USB Hardware Communication Phone2PC Client Upgrader
Phone2PC Master Upgrader
PHS
Visual Basic Quote Logger
Web services CJAFlow
Attorney Registration
Win32 API Phone2PC 4.5
Phone2PC 4.0
Phone2PC 3.6
PHS
Phone2PC 3.0
Konexx Player
Phone2PC 2.0
Feature Manager
Win32 API – Messages inter-application Internal Debugger
Win32 API – Multimedia Controls Installation Wizard
Win32 API – Screen Savers Day Savor
Win32 API – System information Internal Debugger
Windows ACM API (Audio Conversion Manager) .NET Multimedia Framework
Windows HID API Phone2PC Firmware Updater
.NET Multimedia Framework
Windows Mobile Pocket Shutter
Windows Multimedia API .NET Multimedia Framework
Windows Service Attorney Registration
Windows SetupAPI .NET Multimedia Framework
Windows XP Embedded Koli Prototype 1
Wireless Development PocketPC Wireless Employee Checkin
Wizards Phone2PC Firmware Updater
WSOLA Time Stretch/Compression Algorithm Phone2PC 4.5
Paulo E. Merloti 19
Phone2PC 4.0
Phone2PC 3.6
XCODE iPhone ABC
XML CJAFlow
XSLT Transformations CJAFlow
XTNDConnect PocketPC Wireless Employee Checkin
Paulo E. Merloti 21
PROJECT ABSTRACTS
Paulo E. Merloti 23
.NET MU L T I M E D I A F R A M E W O R K
Delivered: December 2009
Client: Konexx
ABSTRACT
The Multimedia Framework is a hierarchy of native .NET classes that allow applications to
interact with the Windows Multimedia API. It also encapsulates the intricacies of the Windows
SetupAPI and HID API, providing an easy way to interface with Audio Devices and its capabilities.
Since Konexx main target market is telephone call recording, the framework also includes
capabilities provided by proprietary USB Audio Devices such as on/off hook triggering and signal
decoding via the Windows HID interface.
TECHNOLOGIES
� C# 3.0
� P/Invoke
� C++
� Design Patterns
� Windows Multimedia API
� Windows SetupAPI
� Windows HID API (Human Interface Device)
� Windows ACM API (Audio Conversion Manager)
� DTMF Decoding
� FSK Decoding
24 Project Catalog
I PH O N E ABC
Delivered: November
Client: Myself
ABSTRACT
The ABC iPhone application was designed to teach young toddlers that are still learning to
recognize letter shapes. It is a
in sequential or random order.
published on App Store yet.
TECHNOLOGIES
� Objective-C
� iPhone application development
� XCODE
� Mobile development
� Educational software
ILLUSTRATIONS AND SC
Paulo E. Merloti
November 2009
Myself
The ABC iPhone application was designed to teach young toddlers that are still learning to
recognize letter shapes. It is a very simple application that displays all the letters of the alphabet
in sequential or random order. It runs on both the iPhone and the iPod touch environments. Not
published on App Store yet.
iPhone application development
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 25
The ABC iPhone application was designed to teach young toddlers that are still learning to
very simple application that displays all the letters of the alphabet
It runs on both the iPhone and the iPod touch environments. Not
26 Project Catalog
Paulo E. Merloti 27
Y A B O O
Delivered: In Construction
Client: Myself; SDSU
ABSTRACT
Yaboo is the embodiment of my Master’s Thesis on “Design and Construction of an Autonomous
Rover for Rough Terrain”. Autonomous Navigation presents a series of challenges in both
academic research and real life applications. The challenges are even greater if environment
constrains are lifted. The requirements for an autonomous rover that will live inside a
predictable and structured factory plant are very different than a rover supposed to navigate on
unconstrained terrain.
Yaboo is being constructed on top of an 110cc gasoline ATV. It carries a set of sensors and
equipment to test methodologies and theories in feedback control systems, computer vision,
artificial intelligence and signal processing.
When finished, Yaboo will be able to navigate from point A to point B given as global
coordinates by using 2 GPS units, 2 camera systems, accelerometers and gyroscopes. The
sensors’ data is fed into an on board computer that will condition the input signal using a
probabilistic engine and then command the rover actuators (steering wheel, accelerator, brakes,
gear) according to pre-defined behaviors.
TECHNOLOGIES
� Mechanical Design
� Electrical Design
� PCB Design
� GPS Technology
� Feedback Control Systems
� Computer Vision
� Signal Conditioning
� Inertial Measurement Unit (IMU)
� Servo Control
� Artificial Intelligence
28 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
U N M A N N E D UAV
Delivered: November 2009
Client: SDSU Foundation; TRNEER
ABSTRACT
The Tijuana River National Estuarine Research Reserve (TRNEER) is a multidisciplinary and multi
organization institution responsible to promote environmental research and management of the
environmental area contained
Mexico/USA border at the Pacific Ocean.
The TRNEER contacted the SDSU Foundation requesting the development and deployment of a
solution that would help environmental researchers stationed at the Bord
investigate environmental events and consequences, such as pollution and contamination in the
Tijuana River after floods, invasive vegetation and mouth of the river studies.
in the park are of very difficult
vehicle to take pictures of areas of interest.
In that scenario, we developed a system based on an autonomous small scale helicopter that
provides researchers with high
referenced and contain all information necessary to be later used in their research software
packages.
Our work consisted in interfacing with the helicopters internal IMU (inertial measurement unit)
and retrieve geographical information at the same time we triggered the DLSR camera’s shutter.
Later on, on an offline batch processing, the image is processed and corrected according to
geographical information such as tilt angle and the geographical reference (latitude, long
altitude) is attached to the image’s EXIF.
TECHNOLOGIES
� C#
� UAV (Unmanned Aerial Vehicle)
� IMU (Inertial Measurement Unit)
� Cent OS
� EXIF handling
� Image Processing
Paulo E. Merloti
UAV
November 2009
SDSU Foundation; TRNEER
The Tijuana River National Estuarine Research Reserve (TRNEER) is a multidisciplinary and multi
organization institution responsible to promote environmental research and management of the
environmental area contained in the Border Field national reserve park, close to the
Mexico/USA border at the Pacific Ocean.
The TRNEER contacted the SDSU Foundation requesting the development and deployment of a
solution that would help environmental researchers stationed at the Border Field State Park to
investigate environmental events and consequences, such as pollution and contamination in the
Tijuana River after floods, invasive vegetation and mouth of the river studies. Some of the areas
in the park are of very difficult access; therefore an ideal solution would be to use a small aerial
vehicle to take pictures of areas of interest.
In that scenario, we developed a system based on an autonomous small scale helicopter that
provides researchers with high-resolution images of such areas. The images are geographically
referenced and contain all information necessary to be later used in their research software
Our work consisted in interfacing with the helicopters internal IMU (inertial measurement unit)
ical information at the same time we triggered the DLSR camera’s shutter.
Later on, on an offline batch processing, the image is processed and corrected according to
geographical information such as tilt angle and the geographical reference (latitude, long
altitude) is attached to the image’s EXIF.
UAV (Unmanned Aerial Vehicle)
IMU (Inertial Measurement Unit)
Paulo E. Merloti 29
The Tijuana River National Estuarine Research Reserve (TRNEER) is a multidisciplinary and multi-
organization institution responsible to promote environmental research and management of the
in the Border Field national reserve park, close to the
The TRNEER contacted the SDSU Foundation requesting the development and deployment of a
er Field State Park to
investigate environmental events and consequences, such as pollution and contamination in the
Some of the areas
therefore an ideal solution would be to use a small aerial
In that scenario, we developed a system based on an autonomous small scale helicopter that
reas. The images are geographically
referenced and contain all information necessary to be later used in their research software
Our work consisted in interfacing with the helicopters internal IMU (inertial measurement unit)
ical information at the same time we triggered the DLSR camera’s shutter.
Later on, on an offline batch processing, the image is processed and corrected according to
geographical information such as tilt angle and the geographical reference (latitude, longitude,
30 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 31
P H O N E2PC F I R M W A R E U P D A T E R
Delivered: September 2009
Client: Konexx
ABSTRACT
One of the great key features of Phone2PC is that it doesn’t need any software protection
mechanisms. Since it is designed to be used together with a proprietary USB hardware device,
the device itself works as a dongle. The software only runs if the hardware is present.
The deployment of Phone2PC 4.5 greatly affected that aspect of the software. Before 4.5, the
user needed to install a proprietary driver for the USB device that would allow Phone2PC to
communicate and acquire information from the device’s EEPROM. Phone2PC 4.5 does not
require any custom drivers and uses standard HID for communication, but for that, the device’s
firmware needs to be updated.
The firmware updater does just that. It guides the user through a series of steps necessary to
not only update the device’s firmware, but making sure all the prior data inside the devices
EEPROM is upgraded to the new version’s format.
TECHNOLOGIES
� Delphi 6
� Windows HID API
� UI Design
� Wizards
ILLUSTRATIONS AND SCREENSHOTS
32 Project Catalog
Paulo E. Merloti 33
P H O N E2PC 4.5
Delivered: August 2009
Client: Konexx
ABSTRACT
One of the largest sources of tech support calls for Phone2PC always has been driver
installation. Phone2PC uses a custom driver for interfacing between the software and hardware.
Keeping custom drivers for several versions of Windows is not an easy task, and when exposed
to a large set of users with different OS and security environments, not relying on a custom
driver would be the ideal solution.
Recently, the manufacturer of the chipset used in the Phone2PC USB audio device created a
new set of interfaces using standard HID reports. We implemented HID communication on
Phone2PC to take advantage of the newly added hardware capability and eliminate the need of
custom drivers.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Design Patterns
� Multimedia
� Win32 API
� MMTools
� Encryption
� DSP Algorithms
� Audio Analysis Augorithms
� Proprietary File Format
� Component Creation
� 2D Drawing Algorithms
� GSM 6.10
� WSOLA Time Stretch/Compression Algorithm
� HID API
34 Project Catalog
CJAF L O W
Delivered: June
Client: U. S
ABSTRACT
The CJAFlow is a large scale project designed to allow input, management and payment of CJA
Vouchers. According to the “Criminal Justice Act”, federal defendants have the right of State
paid court representation, case they cannot afford their own counselor. Depe
of factors, it is not always possible to assign an attorney from the FPD’s (Federal Public
Defender) office to the defendant. For those cases, the CJA guidelines dictate that the US Court
shall assign and pay a private counselor.
The CJAFlow is designed to allow private counselors to input their vouchers electronically via a
web interface. These vouchers go through a series of steps and approvals which flow largely
depend on the case type and the amount being requested.
The system is composed of several pieces of software residing on different locations. For
example, the attorneys use web pages hosted in a District Court web server. The web servers
interface with a series of web services that implement all the business rules of the system.
web services access a database located in each District Court that stores all the pending and
approved vouchers.
The main challenges of the project were security, distribution and the dynamic nature of
voucher workflows. Since the system would be open
and manage vouchers, security was a big concern.
We have designed a custom opaque encrypted security token that would serve as both
authenticator and authorizer of user actions, no matter the system layer (web
server or database layer).
The system was also largely distributed. Most District Courts of the 9
system for vouchering management, and the 9
for internal vouchers as well as an approving entity for certain District Court vouchers (i.e.:
vouchers related to death penalty cases).
As mentioned earlier, the approving route of any given voucher depends on several factors,
such as case type (civil, criminal, death pen
reporter) and amount being requested.
Paulo E. Merloti
June 2009
S. District Court – Las Vegas
AFlow is a large scale project designed to allow input, management and payment of CJA
Vouchers. According to the “Criminal Justice Act”, federal defendants have the right of State
paid court representation, case they cannot afford their own counselor. Depending on a series
of factors, it is not always possible to assign an attorney from the FPD’s (Federal Public
Defender) office to the defendant. For those cases, the CJA guidelines dictate that the US Court
shall assign and pay a private counselor.
low is designed to allow private counselors to input their vouchers electronically via a
web interface. These vouchers go through a series of steps and approvals which flow largely
depend on the case type and the amount being requested.
sed of several pieces of software residing on different locations. For
example, the attorneys use web pages hosted in a District Court web server. The web servers
interface with a series of web services that implement all the business rules of the system.
web services access a database located in each District Court that stores all the pending and
The main challenges of the project were security, distribution and the dynamic nature of
voucher workflows. Since the system would be open for attorneys and service providers to input
and manage vouchers, security was a big concern.
We have designed a custom opaque encrypted security token that would serve as both
authenticator and authorizer of user actions, no matter the system layer (web
The system was also largely distributed. Most District Courts of the 9th
Circuit of Appeals use the
system for vouchering management, and the 9th
Circuit Court of Appeals itself uses the system
ers as well as an approving entity for certain District Court vouchers (i.e.:
vouchers related to death penalty cases).
As mentioned earlier, the approving route of any given voucher depends on several factors,
such as case type (civil, criminal, death penalty, etc), type of provider (attorney, expert, court
reporter) and amount being requested. It is also possible that the workflow may be changed
Paulo E. Merloti 35
AFlow is a large scale project designed to allow input, management and payment of CJA
Vouchers. According to the “Criminal Justice Act”, federal defendants have the right of State
nding on a series
of factors, it is not always possible to assign an attorney from the FPD’s (Federal Public
Defender) office to the defendant. For those cases, the CJA guidelines dictate that the US Court
low is designed to allow private counselors to input their vouchers electronically via a
web interface. These vouchers go through a series of steps and approvals which flow largely
sed of several pieces of software residing on different locations. For
example, the attorneys use web pages hosted in a District Court web server. The web servers
interface with a series of web services that implement all the business rules of the system. The
web services access a database located in each District Court that stores all the pending and
The main challenges of the project were security, distribution and the dynamic nature of
for attorneys and service providers to input
We have designed a custom opaque encrypted security token that would serve as both
authenticator and authorizer of user actions, no matter the system layer (web server, service
Circuit of Appeals use the
Circuit Court of Appeals itself uses the system
ers as well as an approving entity for certain District Court vouchers (i.e.:
As mentioned earlier, the approving route of any given voucher depends on several factors,
alty, etc), type of provider (attorney, expert, court
It is also possible that the workflow may be changed
36 Project Catalog
midway and routed to an unexpected step. To comply to that requirement, we devised a clever
architecture of workflowable documents (in this case vouchers) and plug-ins that allow the
definition and inclusion of new vouchers and new workflows without the need of system wide
recompilation.
TECHNOLOGIES
� C# 3.0
� ASP.NET
� Web services
� Microsoft WCF
� Information Security
� SOA
� Document Workflow
� Design Patterns
� XML
� XSLT Transformations
� Microsoft SQL
� IBM Informix
P O C K E T S H U T T E R
Delivered: January 2009
Client: SDSU Foundation; TRNERR
ABSTRACT
The Pocket Shutter solution is a combination of hardware and software for automati
actuating a photo camera shutter. The software is developed for the Windows Mobile platform
and runs on an HP Pocket PC. The Pocket PC is connected via serial port to a hardware device
that I developed. When a command is received through the RS
and executed by the microcontroller. Depending on the command parsed, the firmware will
assert an output line connected to the shutter trigger mechanism (a series of transistors) that is
connected to the camera remote triggering po
This solution can be applied on time delay photography or more sophisticated schemes
involving networking via Wi
TECHNOLOGIES
� C#
� Windows Mobile
� Object Oriented Programming
� Design Patterns
� PocketPC
� Serial Port
� 8-bit microcontroller programm
� RS-232 Protocol
� Hardware Design
� PCB Design
� Hardware Debugging
� Oscilloscope Operation
Paulo E. Merloti
H U T T E R
January 2009
SDSU Foundation; TRNERR
The Pocket Shutter solution is a combination of hardware and software for automati
actuating a photo camera shutter. The software is developed for the Windows Mobile platform
and runs on an HP Pocket PC. The Pocket PC is connected via serial port to a hardware device
that I developed. When a command is received through the RS-232 connection, it is decoded
and executed by the microcontroller. Depending on the command parsed, the firmware will
assert an output line connected to the shutter trigger mechanism (a series of transistors) that is
connected to the camera remote triggering port.
This solution can be applied on time delay photography or more sophisticated schemes
involving networking via Wi-Fi networks.
Object Oriented Programming
bit microcontroller programming
Paulo E. Merloti 37
The Pocket Shutter solution is a combination of hardware and software for automatically
actuating a photo camera shutter. The software is developed for the Windows Mobile platform
and runs on an HP Pocket PC. The Pocket PC is connected via serial port to a hardware device
onnection, it is decoded
and executed by the microcontroller. Depending on the command parsed, the firmware will
assert an output line connected to the shutter trigger mechanism (a series of transistors) that is
This solution can be applied on time delay photography or more sophisticated schemes
38 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 39
P A P E R P U B L I S H E D O N ICST’2008
Delivered: December 2008
Authors: Dr. Mahmoud Tarokh, Paulo Merloti, John Duddy
ABSTRACT
As a culmination of efforts after having deployed the Segway RMP based person following robot
(see Person Following Segway Robot entry on this catalog), we wrote an academic paper
relating our findings during research and implementation of the project.
The paper was published on the 3rd
IEEE International Conference on Sensing Technology (ICST)
on Nov. 30 – Dec. 03, 2008 in Tinan, Taiwan.
TECHNOLOGIES
� C++
� STL Library
� MFC
� Mini-itx computer
� Servo controller
� Computer Vision Algorithms
� Frame grabbing
� Image processing
� Text to Speech
� PID Controller
� CAN Networks
40 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
A T T O R N E Y RE G I S T R A T I O N
Delivered: May
Client: U.S District Court
ABSTRACT
The U. S. District Courts use
the Judicial System) for Case Management and Electronic Case Filling called CM/ECF. This system
runs on top of an IBM Informix database and allows attorneys to electronically interact with
court cases online. Amazingly enough
their own online accounts, creating an unnecessary bureaucratic burden for the court clerks.
Having that problem in mind, I have developed a system for online attorney registration that
comply with all of the judiciary IT safety directives. The system is more complex
counterparts. It is open to all of the web population, but the information received has as a final
target an internal database that contains highly classified information suc
challenge is augmented because the web server has no visibility of internal machines, including
the one that holds the Informix database.
The solution encompasses designing a temporary database on the web server that serves as a
buffer. I also developed a set of internal ASP pages available on the intranet for the clerks
responsible for reviewing attorney information before checking in the main system. When the
clerks finally mark the attorney's record for inclusion, another Windows
pooling the temporary buffer, would create or update the attorney's record on the internal
system.
TECHNOLOGIES
� C# 3.0
� ASP.NET
� Windows Service
� Microsoft SQL
� IBM Informix
� Web services
� Microsoft WCF
� Information Security
� SOA
� Design Patterns
Paulo E. Merloti
E G I S T R A T I O N
May 2008
U.S District Court – Las Vegas
The U. S. District Courts uses proprietary software developed by the AO (Administrative
ystem) for Case Management and Electronic Case Filling called CM/ECF. This system
runs on top of an IBM Informix database and allows attorneys to electronically interact with
court cases online. Amazingly enough, the system lacks a unified way for attorneys to create
their own online accounts, creating an unnecessary bureaucratic burden for the court clerks.
Having that problem in mind, I have developed a system for online attorney registration that
ll of the judiciary IT safety directives. The system is more complex
counterparts. It is open to all of the web population, but the information received has as a final
target an internal database that contains highly classified information such as sealed cases. The
challenge is augmented because the web server has no visibility of internal machines, including
the one that holds the Informix database.
The solution encompasses designing a temporary database on the web server that serves as a
fer. I also developed a set of internal ASP pages available on the intranet for the clerks
responsible for reviewing attorney information before checking in the main system. When the
clerks finally mark the attorney's record for inclusion, another Windows Service, constantly
pooling the temporary buffer, would create or update the attorney's record on the internal
Paulo E. Merloti 41
Administrative Office of
ystem) for Case Management and Electronic Case Filling called CM/ECF. This system
runs on top of an IBM Informix database and allows attorneys to electronically interact with
, the system lacks a unified way for attorneys to create
their own online accounts, creating an unnecessary bureaucratic burden for the court clerks.
Having that problem in mind, I have developed a system for online attorney registration that
ll of the judiciary IT safety directives. The system is more complex than similar
counterparts. It is open to all of the web population, but the information received has as a final
h as sealed cases. The
challenge is augmented because the web server has no visibility of internal machines, including
The solution encompasses designing a temporary database on the web server that serves as a
fer. I also developed a set of internal ASP pages available on the intranet for the clerks
responsible for reviewing attorney information before checking in the main system. When the
Service, constantly
pooling the temporary buffer, would create or update the attorney's record on the internal
42 Project Catalog
P E R S O N F O L L O W I N G
Delivered: December 2007
Client: SDSU Foundation; SPAWAR San Diego
ABSTRACT
SPAWAR is the US Navy branch responsible for delivering leading edge technologies for
fighting. They contacted SDSU Fo
that would carry soldiers' backpacks and equipment while following them. In this specific
project, they provided us with a Segway RMP (robotic mobility platform) and we developed a
robotic person following system on top of that platform. Our effort included selecting and
installing the additional hardware components for the system such as a mini
interface card, wireless joystick for manual control, firewire camera, pan and tilt plat
speakers for audible feedback.
The system consisted of a firewire industrial camera mounted on a computer controlled pan and
tilt mount capturing images at 15 frames per second. We developed an image processing
module that would pre-process the i
frame to the next. By analyzing the changes in blob center point and size, we could estimate
future position of the blob, which allowed us to discard a large area of the search space and
drastically improve performance. The blob information such as
changes from past frames and estimate for next frames was passed on to a control module with
a series of PID controllers to control camera pan and tilt, vehicle speed and turning r
We also implemented a manual bypass allowing the robot to be manually controlled via a
wireless joystick, including the capability of remote controlled training. Just by standing in front
of the robot and pressing one button, the system would take a
storing the soldier's image signature.
TECHNOLOGIES
� C++
� STL Library
� MFC
� Mini-itx computer
� Servo controller
� Computer Vision Algorithms
� Frame grabbing
Paulo E. Merloti
O L L O W I N G S E G W A Y RO B O T
December 2007
SDSU Foundation; SPAWAR San Diego
SPAWAR is the US Navy branch responsible for delivering leading edge technologies for
. They contacted SDSU Foundation to request the development of a robotic platform
that would carry soldiers' backpacks and equipment while following them. In this specific
project, they provided us with a Segway RMP (robotic mobility platform) and we developed a
llowing system on top of that platform. Our effort included selecting and
installing the additional hardware components for the system such as a mini-itx computer, CAN
card, wireless joystick for manual control, firewire camera, pan and tilt plat
speakers for audible feedback.
The system consisted of a firewire industrial camera mounted on a computer controlled pan and
tilt mount capturing images at 15 frames per second. We developed an image processing
process the image and track a color blob in the HSB space from one
frame to the next. By analyzing the changes in blob center point and size, we could estimate
future position of the blob, which allowed us to discard a large area of the search space and
rove performance. The blob information such as center point location, size,
changes from past frames and estimate for next frames was passed on to a control module with
a series of PID controllers to control camera pan and tilt, vehicle speed and turning r
We also implemented a manual bypass allowing the robot to be manually controlled via a
wireless joystick, including the capability of remote controlled training. Just by standing in front
of the robot and pressing one button, the system would take a series of images, isolating and
storing the soldier's image signature.
Computer Vision Algorithms
Paulo E. Merloti 43
SPAWAR is the US Navy branch responsible for delivering leading edge technologies for war
undation to request the development of a robotic platform
that would carry soldiers' backpacks and equipment while following them. In this specific
project, they provided us with a Segway RMP (robotic mobility platform) and we developed a
llowing system on top of that platform. Our effort included selecting and
itx computer, CAN
card, wireless joystick for manual control, firewire camera, pan and tilt platform and
The system consisted of a firewire industrial camera mounted on a computer controlled pan and
tilt mount capturing images at 15 frames per second. We developed an image processing
mage and track a color blob in the HSB space from one
frame to the next. By analyzing the changes in blob center point and size, we could estimate
future position of the blob, which allowed us to discard a large area of the search space and
location, size,
changes from past frames and estimate for next frames was passed on to a control module with
a series of PID controllers to control camera pan and tilt, vehicle speed and turning radius.
We also implemented a manual bypass allowing the robot to be manually controlled via a
wireless joystick, including the capability of remote controlled training. Just by standing in front
series of images, isolating and
44 Project Catalog
� Image processing
� Text to Speech
� PID Controller
� CAN Networks
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 45
P H O N E2PC 4.0
Delivered: October 2006
Client: Konexx
ABSTRACT
Phone2PC 4.0 has all features of Phone2PC 3.6 with the following additional features:
� New user interface
� Integrated sound wave component that is also a progress bar and bookmark indicator.
� File properties and bookmarks embedded into WAVE file as an additional chunk
� Redesigned sound editor
� File Merger module
� Audio Enhancer utility created
� Silence Eliminator utility created
Phone2PC is the leading recording solution for telephone conversations in the market.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Multimedia API
� Win32 API
� MMTools
� Encryption
� DSP Algorithms
� Audio Analysis Algorithms
� Proprietary File Format
� Component Creation
� 2D Drawing Algorithms
� GSM 6.10
� WSOLA Time Stretch/Compression Algorithm
� COM+
� Design Patterns
46 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 47
KO L I P R O T O T Y P E 1
Delivered: October 2005
Client: SDSU – Intelligent Machines and Systems Thesis Research
ABSTRACT
Koli is a small autonomous rover being designed to serve as a platform for experiments on
autonomous navigation, computer vision and artificial intelligence. It is built on top of an off-
the-shelf Remote Control Car and prepared to be completely autonomous. This prototype
involved mechanical work, where we had to design and fabricate the protection shell for the
electronics, and contact bumpers with embedded sensors that notify the main computer when a
collision occurred.
We were also responsible for creating the electronics to provide low level control of speed and
steering. Two 8-bit PIC microcontrollers connected via a RS-485 bus to a mini-atx PC computer
running Windows XP Embedded were used. We developed firmware to run on the
microcontrollers and a simple behavior layer for the host PC that guided the rover in a random
fashion until it collides with an object. When a collision occurs, then an escape behavior takes
control of the rover and tries to clear the object.
TECHNOLOGIES
� Mechanical Design
� Mechanical Fabrication
� Digital Electronics
� PCB Fabrication and Assembly
� PCB Design
� 8-bit microcontroller (PIC18F452) programming
� Mikropascal
� PID Controller
� Windows XP Embedded
� Microsoft C#.NET
� Object Oriented Programming
� RS-485
� Communication Protocol Design
� Artificial Intelligence
48 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 49
P A P E R P U B L I S H E D O N ICAI’2005
Delivered: June 2005
Authors: Paulo Merloti and Dr. Joseph Lewis
ABSTRACT
Ants present a very good natural metaphor to evolutionary computation. While each individual’s
computational power is small compared to more evolved species, it is the power of their
colonies that inspire computer scientists. This paper presents “Ant Box Simulator”, a software
that allows the simulation of ants in a restricted environment. The simulator demonstrates how
digital ants make use of an autocatalytic behavior in order to collectively find a solution for a
posed problem in reasonable time. We also show that while pheromones play an important role
on biological ant’s navigation, it is not the only sense they rely on.
Dr. Lewis and I wrote an academic paper on the subject that was published on the International
Conference on Artificial Intelligence on June 2005 in Las Vegas, Nevada. In addition to writing
the paper, I was an invited speaker for the conference, held at the Monte Carlo hotel and casino
in Las Vegas, NV.
TECHNOLOGIES
� Swarm Intelligence
� Artificial Life
� Ant Algorithms
� Emergence
� Complex Adaptive Systems
� Delphi 6
� DirectX
� DirectDraw
� Artificial Intelligence
� Gaming Algorithms
� 2D Drawing Algorithms
� Linear Algebra
� Object Orientation
50 Project Catalog
ILLUSTRATIONS AND SCILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 51
G E N E T I C TSP
Delivered: June 2005
Client: SDSU – Intelligent Machines and Systems class project
ABSTRACT
The goal of this application was to put in practice Genetic Algorithms applied to combinatorial
problems, more specifically the Traveling Salesman Problem (TSP). This application made in
Delphi implements both brute force search and search based on genetic algorithms for
performance comparison. It allows controlling genetic searching parameters such as population
and bloating size, crossover and mutation probabilities, maximum number of generations and
minimum fitness gradient.
The application also allows advancing the search step by step in order to better visualize search
progress. It has an easy to use user interface.
TECHNOLOGIES
� Delphi 6
� Object Oriented
� Genetic Algorithms
� Traveling Salesman Problem (TSP)
� Combinatorial Optimization Problems
� Artificial Intelligence
� 2D Drawing Algorithms
52 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 53
F U Z Z Y ST O C K T R A D E R
Delivered: May 2005
Client: SDSU – Intelligent Machines and Systems class project
ABSTRACT
The goal of this application was to put in practice Fuzzy Logic algorithms applied to a fictional
stock system. Based on two fuzzy inputs, namely the stock price and a provided artificial index,
the system utilizes a FAM (Fuzzy Associative Memory) in order to compute the trading advice
(buy many; buy few; don't trade, etc).
TECHNOLOGIES
� Delphi 6
� Object Oriented
� Fuzzy Logic
� Fuzzy Rules
� Control Systems
� Artificial Intelligence
ILLUSTRATIONS AND SCREENSHOTS
54 Project Catalog
Paulo E. Merloti 55
P H O N E2PC 3.6
Delivered: Oct 2004
Client: Konexx
ABSTRACT
Phone2PC 3.6 has all features of Phone2PC 3.0 with the following additional features:
� Variable playback speed with no pitch shift (WSOLA algorithm)
� Announcement Manager allows pre-recorded sounds to be played back through the
telephone line on predefined events.
� File Merger allows merging files of different formats into one wave sound
� File Converter allows the conversion of one or a batch of sound files from one format to
another.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Multimedia
� Win32 API
� MMTools
� Encryption
� Proprietary File Format
� Component Creation
� GSM 6.10
� 2D Drawing Algorithms
� WSOLA Time Stretch/Compression Algorithm
� DSP (Digital Signal Processing)
56 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 57
T I C -TA C -TO E
Delivered: July 2004
Client: SDSU – Seminar in Artificial Intelligence
ABSTRACT
This is a very simple game which main development goal was to put in practice the Minimax
state-space search algorithm, one of the most fundamental algorithms used in AI.
TECHNOLOGIES
� Delphi 6
� Object Oriented
� Minimax algorithm
� A* Algorithms
� Artificial Intelligence
� 2D Drawing Algorithms
ILLUSTRATIONS AND SCREENSHOTS
58 Project Catalog
Paulo E. Merloti 59
IR I S C L A S S I F I E R
Delivered: May 2004
Client: SDSU – Neural Networks Class Project
ABSTRACT
This Human Iris Recognizer is an end of course project that implements an algorithm for pattern
recognition of images of the human iris. The project was based on a large corpus of human iris
images and the algorithms were developed in Matlab. The project involves preprocessing of
human iris images, feature extraction, feature preprocessing and finally pattern recognition
using a Backpropagation Neural Network.
TECHNOLOGIES
� Matlab
� Computer Vision
� Independent Component Analysis (ICA)
� Backpropagation Artificial Neural Networks (BANN)
� Statistics
� Image Processing Algorithms
� Pattern Recognition
� 2D Drawing Algorithms
� Artificial Intelligence
60 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 61
P H O N E2PC C L I E N T U P G R A D E R
Delivered: June 2003
Client: Konexx
ABSTRACT
This application allows Phone2PC users to upgrade their software/hardware solution from one
version to another according to an upgrade file generated by Konexx. In this project, Konexx
asked for an application that would decrypt a Konexx proprietary file and search for an
authorization record in order to upgrade a software solution (Phone2PC) from one edition to
another.
For example, they would create an encrypted file using “Phone2PC Master Upgrader” containing
one or more serial numbers and their respective target edition. Then they would send this file
electronically to the customer whom paid for the upgrade. The customer would then open that
file with “Phone2PC Upgrader” and execute the upgrade. Next time they open the Phone2PC
application the software will automatically self configure for the target edition contained in the
upgrade file.
TECHNOLOGIES
� Delphi 6
� USB Hardware Communication
� Encryption
� Proprietary File Format
� Object Oriented Programming
ILLUSTRATIONS AND SCREENSHOTS
62 Project Catalog
Paulo E. Merloti 63
P H O N E2PC M A S T E R U P G R A D E R
Delivered: June 2003
Client: Konexx
ABSTRACT
This is the application used by Konexx to generate upgrade files. Sometimes customers buy one
edition of the software, usually a basic one, and then decide to upgrade to an edition that offers
more features. The features are stored in the hardware device, but customers don't need to
ship back their devices in order to upgrade the solution edition, they simply request an upgrade
from Konexx and they generate the upgrade file using the Master Upgrader. These files contain
one or more serial numbers authorized for upgrading, extension of demo periods or conversion
of demo to full retail versions. It is based on an internal Database with a list of all devices
manufactured to date and their respective information (serial number, edition, etc). After the
serial number is chosen, the information is encrypted with a 448 bit key and saved to a file. This
file can only be used by the Phone2PC Upgrader on the client location.
TECHNOLOGIES
� Delphi 6
� USB Hardware Communication
� Encryption
� Proprietary File Format
� Object Oriented Programming
� Access Database
� Data Modeling
� ADO
64 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 65
PHS – PH O N E2PC H A R D W A R E S E L E C T O R
Delivered: May 2003
Client: Konexx
ABSTRACT
PHS is used by Konexx to perform hardware quality tests and to customize Phone2PC hardware
units according to customer orders. PHS allows Konexx to implement dynamic inventory.
Phone2PC Hardware Unit has 2 sound inputs (microphone and handset) and 2 sound outputs
(speakers and telephone system). PHS tests each of these channels individually, using
predefined sound patterns and signal generators.
Once all channels are tested, PHS writes the device’s internal memory its serial number along
with other testing information such as status (passed or failed test), date and software edition.
All steps of the testing process are logged into an Access Database that will serve as basis for
other applications (Internal Inventory System, Phone2PC Master Upgrader)
TECHNOLOGIES
� Delphi 6
� USB Hardware Communication
� Object Oriented Programming
� Access Database
� Data Modeling
� ADO
� Multimedia
� Win32 API
� MMTools
66 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 67
P H O N E2PC 3.0
Delivered: February 2003
Client: Konexx
ABSTRACT
Phone2PC 3.0 has all features of Phone2PC with the following additional features:
� “Do not display again” message dialogs
� Fast Forward and Rewind playback while still listening to the sound
� Improved Voice Activation
� Major improvement of the Graphical User Interface
� Recording and Playback Statistics
� Encryption of sound file for law enforcement applications
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Multimedia
� Win32 API
� MMTools
� Encryption
� 2D Drawing Algorithms
� Proprietary File Format
� Component Creation
� GSM 6.10
68 Project Catalog
Paulo E. Merloti 69
KO N E X X P L A Y E R
Delivered: Feb 2003
Client: Konexx
ABSTRACT
Konexx Player implements all features of a regular sound player plus some specialized functions
requested by Konexx.
In Law Enforcement applications, users of Phone2PC could create encrypted proprietary
recordings and want to send that file to another person through unsecured mediums, e-mail for
example. To avoid leaking of information, this application was designed to be a free distribution
wav player, that among several formats, it would also open encrypted proprietary sound files
generated from Phone2PC with a password assigned. This way, law enforcement officers could
send encrypted files over the network to district attorneys without fear of information leaking.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Multimedia
� Win32 API
� Encryption
� Proprietary File Format
� Security
� GUI design
ILLUSTRATIONS AND SCREENSHOTS
70 Project Catalog
Paulo E. Merloti 71
IN S T A L L A T I O N W I Z A R D
Delivered: Feb 2003
Client: Konexx
ABSTRACT
Installation Wizard was designed for simplifying and guide users of Phone2PC to correctly install
the hardware device, properly setup the multimedia system and install the software. It presents
instructions for each phase of the installation in clear steps, with diagrams, pictures and voice
explanation of what the user is supposed to do in each step.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Multimedia
� Win32 API – Multimedia Controls
� GUI multimedia design
72 Project Catalog
Paulo E. Merloti 73
P H O N E2PC 2.0
Delivered: Nov 2002
Client: Konexx
ABSTRACT
Phone2PC is a sound player/recorder that captures telephone conversations and allows editing
and/or playing back the files. What distinguishes Phone2PC from a regular sound
editor/recorder is the amount of features specially designed for day to day applications. Some
examples:
� Utilization of compressed file format (GSM)
� Robust Voice Activation Technology, smart enough to start recording only when voice is
detected, instead of regular noise.
� Bookmarks while recording or playing.
� Ability to send files though e-mail attachments automatically.
� Navigation functions (FF, RW)
� Ability to add voice annotations to the start or end of the file.
� Modes of operation specially designed for call center agencies.
� Modes of operation specially designed for law enforcement users.
TECHNOLOGIES
� Delphi 5
� Object Oriented Programming
� Multimedia
� Win32 API
� MMTools
� Encryption
� Proprietary File Format
� Component Creation
� GSM 6.10
74 Project Catalog
Paulo E. Merloti 75
F E A T U R E MA N A G E R
Delivered: Nov 2002
Client: Konexx
ABSTRACT
Feature Manager was designed to simplify software development of Phone2PC. For marketing
reasons, several editions of Phone2PC were to be created, each one with special features for a
given niche of the market. Instead of creating one version of the product for each edition, which
would turn managing the source code into a nightmare, Feature Manager would allow the
creation of “feature files” containing a set of definitions on what features should be turned on
and off, plus version information and the splash bitmap.
From this point, creating a new edition or changing an existing one would demand almost no
time and no need for code recompilation.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Win32 API
� Proprietary File Format
� File Streaming
� Proprietary File Format
76 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 77
IN T E R N A L DE B U G G E R
Delivered: Sep 2002
Client: Konexx
ABSTRACT
Debugging real-time applications can be tricky sometimes. If stop to watch a breakpoint, other
events may be happening in other parts of the system. The Internal Debugger is composed of
two parts; the first one is a Delphi unit that contains the encapsulated debugger class. This class
allows logging the debug messages in one of two places: a text file in disk or sending messages
to an external application (the one shown above).
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Win32 API – Messages inter-application
� Win32 API – System information
� File Streaming
78 Project Catalog
G E N E A L O G I C T R E E
Delivered: Oct 2002
Client: The Merlotti Family
URL: www.merlotti.com/
ABSTRACT
The Merlotti’s Genealogic tree is a
information is contained in a MySql
multi-language (English, Portuguese, Italian)
among other things a hierarchical list of all members of the family, a detailed personal
information page and a world map that plots ev
TECHNOLOGIES
� PHP
� HTML
� MySql
� Dreamweaver
� Database Modeling
� 2D Mapping
� 2D Drawing Algorithms
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti
R E E
t 2002
The Merlotti Family
ww.merlotti.com/GenTree/gen_tree.htm
The Merlotti’s Genealogic tree is an online database of all Merlotti’s around the World. All the
information is contained in a MySql database and presented to the internet user through a
language (English, Portuguese, Italian) PHP page. It contains dynamic pages that present
a hierarchical list of all members of the family, a detailed personal
information page and a world map that plots events (birth, marriage, etc) in specific locations.
SCREENSHOTS
Paulo E. Merloti 79
online database of all Merlotti’s around the World. All the
ser through a
dynamic pages that present
a hierarchical list of all members of the family, a detailed personal
ents (birth, marriage, etc) in specific locations.
80 Project Catalog
Paulo E. Merloti 81
A N T S I M U L A T O R
Delivered: May 2003
Client: Myself
ABSTRACT
Artificial Intelligence (AI) is one of the most promising fields in Computer Science. It is a so vast
field that many specialties were created within the field, each one trying to solve a different
problem. One recent area of study is based on the behavior of ants and the tasks they
accomplish when they interact. It is very interesting that even without a central command and
no way of broadcasting commands, they can perform very complex tasks such as foraging, often
finding an optimal path between nest and the food source.
This application intends to illustrate and simulate the concept of how beings executing very
simple behaviors can accomplish complex tasks when working collectively. The goal of the
simulated ants in this simulator is to create a “breadcrumb” trail from the input location to the
output location without having access to global information.
TECHNOLOGIES
� Delphi 6
� Object Oriented Programming
� Artificial Intelligence
� DirectX API
� DirectDraw API
� Gaming theory
� Ant Algorithms
� Artificial Life
82 Project Catalog
ILLUSTRATIONS AND SCREENSHOTS
Paulo E. Merloti 83
Q U O T E L O G G E R
Delivered: Jan 2002
Client: C3 Technologies; TD Waterhouse
ABSTRACT
Quote Logger is an auxiliary system used to gather online quoting information for billing
purposes. The customer in this case, TD Waterhouse, has an in house system that provides
electronic stock quotes to customers. The system we developed logged these transactions into a
farm of database servers using MSMQ to provide a high-availability robust system that would
not impact the performance of the stock quoting system.
TECHNOLOGIES
� MS-Visual C++
� MS-Visual Basic
� Object Oriented Programming
� Data Modeling
� Erwin
� UML
� MS-SQL Server
� Distributed COM+
� MS-Message Queue (MSMQ)
84 Project Catalog
Paulo E. Merloti 85
C R Y S T A L ST A I R S
Delivered: April 2001
Client: C3 Technologies; Crystal Stairs
ABSTRACT
Crystal Stairs is one of the largest nonprofit child care and development corporations in
California. Their business mission is to assign low income families with child care needs to
approved child care providers.
The system delivered helps Crystal Stairs map those families that need child care service to
eligible providers using a constantly updated database of child care providers and government
rules. The system also helps managing provider schedules, rates and fees, family eligibility,
provider payments and general legal forms.
TECHNOLOGIES
� Delphi 5
� Object Oriented Programming
� Data Modeling
� Erwin
� Advantage Database Server
86 Project Catalog
D A Y S A V O R
Delivered: 2001
Client: C3 Technologies; KaizenWorks Publishing
ABSTRACT
Day Savor is an entertainment product comprised of two modules, Day Savor Compiler and Day
Savor Screen Saver. Day Savor Compiler is used by KaizenWorks to create new Screen Savers
modules with different inspirational themes. Packages are sold in selected stores distributed
around malls and shopping centers or online. Day Savor offers several features, like password
protected screen savers, printing or e-mailing greeting cards from high quality photos, calendar,
daily agenda, personal journal and others.
TECHNOLOGIES
� Delphi 4
� Object Oriented Programming
� Win32 API – Screen Savers
� Memory Datasets
Paulo E. Merloti 87
P O C K E T PC W I R E L E S S EM P L O Y E E CH E C K IN
Delivered: 2001
Client: C3 Technologies
ABSTRACT
Employee Check in was built over the Windows Pocket PC platform and designed to interact
with a corporate database over a wireless cellular network. The system allows a construction
supervisor to walk around the construction site with a Pocket PC connected to the central
system via a cellular wireless system and check employees in or out. The supervisor can get real
time access to the employee’s personal record at the construction site. Additionally, a server
side application had to be built to collect and make information available to the wireless
endpoints.
TECHNOLOGIES
� Delphi 5
� Advantage Data Server
� XTNDConnect
� Object Oriented Programming
� Wireless Development
� AppForge
� Mobile Development
88 Project Catalog
FORAD
Delivered: 2001
Client: C3 Technologies
ABSTRACT
FORAD (for Feature Oriented Rapid Application Design) is a project management software suite
based on the methodology of feature oriented development. It attempts to bring the user and
the customer closer in the development lifecycle by increasing communication levels in all
stages of software development.
The design of FORAD called for a full n-tiered architecture, with a thin client that operates
through TCP/IP and connects to a FORAD server. The FORAD server together with database
stored procedures implements all the business objects necessary to run the application.
Additionally, the chosen architecture allowed the rapid creation of a limited version of FORAD
for the Web. Customers could log in at any time and see the current status of the application at
feature level.
TECHNOLOGIES
� Delphi 5
� ASTA
� Interbase
� Object Oriented Programming
� Data Modeling
� HTML
� ASP
� COM+
� N-Tier Architecture
Paulo E. Merloti 89
M O B I L E MA T R I X
Delivered: 2001
Client: C3 Technologies
ABSTRACT
Mobile Matrix is a business package to help the armored car industry to manage assets and bill
customers for services provided. This system was sold as a package to companies that provide
maintenance service to ATM sites. For example, an ATM machine is broken, a customer could
call a 1-800 number provide his customer id and PIN and report the problem to an automated
voice system implemented using a dialogic board. The software would automatically schedule a
technician for that site via pager and provide the customer with an ETA for repairing that
machine.
TECHNOLOGIES
� Delphi 5
� RPM
� Business Objects
� Data Modeling
� Dialogic Board Programming
� Advantage Data Server
� Object Oriented Programming
� N-Tier Architecture
90 Project Catalog
M E R K A P C L I E N T S E R V E R
Delivered: 2000
Client: Axioma
ABSTRACT
Merkap is the leader business package for Capital Markets and Asset Management. It is utilized
by most of the top banks in Brazil, such as Citibank, HSBC, Bank of Boston, Itau, and Sudameris.
Merkap is a large system that processes all information received from Stock Exchange
operations and calculates accrual of titles (fixed rate, stocks, derivatives, etc). In order to be the
first company to release a Client Server package for the Asset Management market, we created
an innovative abstract layer that compiles and optimize Btrieve data requests to SQL (Sybase or
MS-SQL) T-SQL calls. This saved the company months of development time and increased the
reliability of the software.
TECHNOLOGIES
� Delphi 3
� Sybase
� Microsoft SQL Server
� Data Modeling
� Capital Market/Financial Algorithms
Paulo E. Merloti 91
S I S F I N AT E N E
Delivered: 2000
Client: Atene
ABSTRACT
Atene is one of the largest immigration offices in Sao Paulo, Brazil. They needed a system for
managing their finances, cash flow and customer billing. Sisfin accomplished all these goals
proving to be a quick tool for managers to track the company cash flow on real time.
TECHNOLOGIES
� Delphi 4
� Microsoft SQL Server
� Data Modeling
� Object Oriented Programming
92 Project Catalog
T R O P I C A L RE A L ES T A T E S Y S T E M
Delivered: 2000
Client: Tropical Imoveis
ABSTRACT
Tropical System was designed as a multimedia Real Estate database, where real estate agents
would easily match customer requests with available properties through a nice and elegant user
interface, with multimedia resources such as property and building pictures and drawings of
floor plants.
TECHNOLOGIES
� Delphi 4
� Paradox
� Data Modeling
� Multimedia
Paulo E. Merloti 93
M E R K A P W I N D O W S
Delivered: 1998
Client: Axioma
ABSTRACT
Merkap is the leader business package for Capital Markets and Asset Management. It is utilized
by most of the top banks in Brazil, such as Citibank, HSBC, Bank of Boston, Itau, and Sudameris.
Merkap is a large system that processes all information received from Stock Exchange
operations and calculates accrual of titles (fixed rate, stocks, derivatives, etc). Because of its
tradition as a DOS system, the Windows version had to support both DOS and Windows user
interfaces. For that, a special layer of objects was created to abstract the user interface from the
OS.
TECHNOLOGIES
� Delphi 3
� BTrieve
� Data Modeling
� Capital Market Algorithms
� Dual OS (DOS/Windows) Technology
94 Project Catalog
GCON
Delivered: 1999
Client: Axioma
ABSTRACT
GCON (Gerenciador Contabil - General Ledger Manager) is a software utility used in conjunction
with Axioma’s Merkap C/S or Merkap for Windows. It automatically searches for financial
transactions in the Merkap database and import them into an Accounting database, performing
all calculations and balance reports for each asset account.
TECHNOLOGIES
� Delphi 3
� Data Modeling
� Paradox
� Accounting
Paulo E. Merloti 95
C O T I S T A CL I E N T S E R V E R
Delivered: 1999
Client: Axioma
ABSTRACT
Cotista is a software package designed for inputting requests for buying or selling of quotes in
mutual funds. It provides real time information and reports on mutual fund status such as
monthly statements, fund accrual, and quote value. Its architecture was designed using the top
technology at that time, which made Cotista a huge success in terms of sales and easiness of
maintenance.
TECHNOLOGIES
� Delphi 4
� Data Modeling
� Microsoft SQL Server
� COM/DCOM
� N-Tier Development
� Capital Market Algorithms
96 Project Catalog
S I S T E M A D E P L A N E J A M E N T O D E E S P A Ç O
Delivered: 1994
Length: 1 year
Client: Cadyx; Gessy Lever
ABSTRACT
One of the first systems created for the multinational Gessy Lever for the Microsoft Windows OS
using the first graphical database utility/language for Windows. The SPE was used to create
forecasts on how many square feet were necessary in new factory plants or warehouses given
historic sales records, market forecasts, desired location and distribution logistics.
TECHNOLOGIES
� Sybase for Windows
� Data Modeling
Paulo E. Merloti 97