97

Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 2: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 3: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 4: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 5: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 6: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 7: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 8: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 9: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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.

Page 10: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 11: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 12: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 13: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 14: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 15: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 16: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 17: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 18: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 19: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

Paulo E. Merloti 19

Phone2PC 4.0

Phone2PC 3.6

XCODE iPhone ABC

XML CJAFlow

XSLT Transformations CJAFlow

XTNDConnect PocketPC Wireless Employee Checkin

Page 20: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 21: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

Paulo E. Merloti 21

PROJECT ABSTRACTS

Page 22: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator
Page 23: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 24: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

24 Project Catalog

Page 25: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 26: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

26 Project Catalog

Page 27: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 28: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

28 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 29: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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,

Page 30: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

30 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 31: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 32: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

32 Project Catalog

Page 33: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 34: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

34 Project Catalog

Page 35: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 36: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 37: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 38: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

38 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 39: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 40: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

40 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 41: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 42: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

42 Project Catalog

Page 43: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 44: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

44 Project Catalog

� Image processing

� Text to Speech

� PID Controller

� CAN Networks

ILLUSTRATIONS AND SCREENSHOTS

Page 45: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 46: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

46 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 47: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 48: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

48 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 49: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 50: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

50 Project Catalog

ILLUSTRATIONS AND SCILLUSTRATIONS AND SCREENSHOTS

Page 51: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 52: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

52 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 53: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 54: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

54 Project Catalog

Page 55: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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)

Page 56: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

56 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 57: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 58: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

58 Project Catalog

Page 59: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 60: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

60 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 61: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 62: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

62 Project Catalog

Page 63: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 64: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

64 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 65: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 66: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

66 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 67: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 68: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

68 Project Catalog

Page 69: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 70: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

70 Project Catalog

Page 71: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 72: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

72 Project Catalog

Page 73: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 74: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

74 Project Catalog

Page 75: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 76: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

76 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 77: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 78: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

78 Project Catalog

Page 79: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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.

Page 80: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

80 Project Catalog

Page 81: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 82: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

82 Project Catalog

ILLUSTRATIONS AND SCREENSHOTS

Page 83: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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)

Page 84: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

84 Project Catalog

Page 85: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 86: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 87: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 88: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 89: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 90: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 91: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 92: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 93: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 94: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 95: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 96: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

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

Page 97: Project Portfolio 2 - Merlotti Portfolio 2.pdf · Dialogic Board Programming Mobile Matrix Digital Electronics Koli Prototype 1 DirectDraw API Paper Published on ICAI'2005 Ant Simulator

Paulo E. Merloti 97