About

Hristo Iordanov Gueorguiev is a computer programmer, thinker and more than occasional tinkerer in disciplines such as but not limited to philosophy, sports and nutrition science, finance and economics and just about anything related to technology.

Skills

Analytical/ System Thinking: STRONG

Interpersonal / Intrapersonal: STRONG

Programming: STRONG

Leadership: STRONG

Mangement: PROFICIENT

Click for more ▼

Portfolio

Full-Stack Software Engineer

Working with Python, JS, Flask, SQLAlchemy, ElasticSearch, MySql, Redis, Webpack, SASS, HTML5, CSS, Bootstrap.
Company: Catalant

Super Hi-Res digital camera

(Aimed at precision measurements)(Tcp/ip)
Utilizing Embedded C, 68HC12 Assembly, Python and customized Fig – Forth.
Company: PolyPhotonics
Click for more ▼

Education

UC Berkeley Extension
Computer programming and software development professional certificate

Greece Arcadia H.S., Greece, NY

Graduated with Distinction, 1998
Foreign Exchange Student Program

151 S.O.U.P.I H.S., Sofia Bulgaria*

Majored in Computer Technology

*151 S.O.U.P.I H.S. is an accelerated educational
institution.

Click for more ▼

Latest Posts

Here is a summary of most of the skills I bring to the table, programming and few others related to design, etc. As it’s evident from bellow my experience is a little broad as my interests in the field have been diverse. I have been fortunate to have a few excellent mentors along the way that gave me chance to work on some interesting projects. In my opinion the core skills in computer programming are the ability to critically think and understanding the mechanics behind the process. The tools used are of secondary importance. As one is fully immersed in the specific set of tools they can develop an expert proficiency provided the core skill set is there and only for the time being that they are actively using those specific tools.

Analytical Thinking

* Logical reasoning
* Problem solving by dismantling issue at hand in to manageable components and arriving at solution by the way of reasoned thinking combined with experimentation.
* Cognitive bias and logical fallacies awareness
* Strategic planing
* Practiced in both convergent and divergent thinking

Interpersonal

* Ability to take ownership/responsibility of both process and outcome
* Excellent ability to communicate, actively listen and provide support
* Lead proactively up and down the chain of command to accomplish set mission goals
* Negotiation, conflict management and resolution

Intra-personal

* Impulse control and emotional intelligence
* Able to assume responsibility
* Self motivated learner
* Initiative
* Internally driven
* Persistent and resilient

Programming

* 80×86 Asm
* Z80/180 Asm
* 68HC12 Asm
* C
* C++
* Python
* Java
* JavaScript
* Pascal
* Perl
* Fig – Forth
* MS Visual basic
* LabView
* HTML/HTML5
* Php
* SQL
* Dos/Bash etc Shell script

Full-Stack

* Python
* JavaScript
* WebAssembly
* HTML/HTML5
* Bootstrap
* ElasticSearch
* Php
* Perl
* SQL

Bellow you can find a portfolio with some of the projects I have worked on. Click here to access my SOURCE CODE archive.

SOFTWARE DEVELOPMENT PORTFOLIO:


Catalant Inc., Boston, MA


Short summary:
SaaS platform, Online marketplace for matching consulting needs to independent consultants and firms. Responsible for managing the Architecture team as Sr Engineering Manager, software architecture and technical direction of the platform as Lead of Architecture.

Tools/Platforms used:
Python, JavaScript, SQL, HTML/HTML5, SASS, Flask, SQLAlchemy, MySQL, ElasticSearch, Redis, Celery, RabbitMQ, Nginx, BigQuery, Docker, Kubernates, Vue.js, Webpack, Google Cloud Platform, NewRelic, Sentry, WordPress

Other notes:


PolyPhotonics, Rochester, NY


Short summary:

Image sensor technology, instrumentation and software. Responsible for image/data acquisition and data transfer software creation and design. Utilizing Embedded C, 68HC12 Assembly, Python and customized Fig – Forth.

Project objective: Development of a high resolution CCD (Charge coupled device) digital camera for astrophotography and other scientific applications, other camera features are TCP/IP transfer capability and a multitasking Forth kernel serving as on board operating system.

Technical description:

The project was based around a high resolution CCD imaging sensor driven by a Freescale mc9s12ne64 Ethernet enabled MCU. The MCU booted a custom multitasking enabled Forth kernel, the kernel in turn loaded a TCP/IP stack and other essential camera configuration and operation routines as tasks that shared processor running time and resources.

Data was clocked out of the CCD in to a shift register then passed on to the TCP/IP stack and transmitted to a PC client over Ethernet.

Embedded development side involved HCS12 Assembly, Embedded C and Forth. CCD clocking and control routines were implemented in Assembly and hooks we developed so they can be called in the Forth kernel. OPENTCP TCP/IP stack was deployed and configured in C, on top of it were build all the data collection and transmission routines. The OPENTCP stack was integrated into the Forth kernel and hooks inserted so that it can run as task. Routines to handle incoming commands and camera specific tasks build on the Assembly and C routines were put in place in the kernel in the form of Forth words.

The PC client was built in Python allowing for cross-platform execution, the client communicated with the camera across Ethernet over TCP/IP conducting transactions in a custom protocol named EITP(Etruscan image transfer protocol). The user was also able to access the Forth kernel prompt with full Forth functionality which made for an extremely flexible system that could be highly customized remotely and without down time.

Responsible for:

On the embedded (camera) side: Configuring and deploying OPENTCP stack, integrating OPENTCP stack in to Forth kernel and having it run as a task. Collecting image data from shift register, transmitting data to client over TCP/IP. Designing communication and data transmission protocol (EITP), implementing EITP on camera in Forth.

On the client (PC) side: Implementing communication and data transmission protocol over TCP/IP (EITP) in Python, providing a console interface to the remote Forth (on camera). Collecting image data sent to client over TCP/IP, restructuring raw data for viewing, storing image data in FITS file format.

Tools/Platforms used:

CCD sensor, Freescale mc9s12ne64 microcontroller, Freescale C, HCS12 Asm, OPENTCP TCP/IP stack, Python, Python standard distribution libs, Custom Forth.

Other notes:


Monroe Community College, Rochester, NY


Short summary:

Worked along side with George Fazekas, Professor of Computer Science, in the development of a digital camera prototype to be used in MCC signal processing class curriculum. Responsible for design and creation of on-camera software and data acquisition clients. Utilizing Embedded C, Z80/180 Assembly, LabView and Java.

Project objective:

Development of a CCD (Charge coupled device) based digital camera for astrophotography. The camera hardware and associated software were to be used so tools for a course on digital signal processing at Monroe Community College in Rochester, Ny.

Technical description:

The project was based around a CCD imaging sensor driven by Rabbit Semiconductors microcontroller, data was extracted and passed on to a PC client via Ethernet over the TCP/IP protocol.

On the embedded side software was built in Z80 Assembly and Embedded C (Dynamic C by Rabbit Semico.). CCD clocking and controls along with data collection were written primarily in Asm. Embedded C was used for Ethernet, TCP/IP communication and to provide command interface to the PC client.

There were two versions of the PC client one developed in LabView and one in Java. The PC client provided the user with interface to control the camera, setting up needed parameters, taking exposures and collecting the data over TCP/IP. Clients restructured data in order to display as an image and also provided some basic data analysis and manipulation tools.

Responsible for:

On the embedded side I the scope of my work was collecting data from a shift register where CCD data was clocked in, then passing this data to the clinet PC via the TCP/IP stack. Along with that I setup the TCP/IP stack for use and designed and implemented a camera communication and control protocol. My work involved both Dynamic C and it’s networking libraries as well z80 Assembly. Something notable about my work on the embedded side was developing a data collection routine in Assembly that utilized self-modifying code as opposed to conditional statements, doing so reduced clock cycles needed to move data speeding collection from the CCD and thus reducing the accumulation of noise.

On the PC client side I developed the complete clients both in LabView and Java and all their functionality. As mentioned before this involved controlling the camera over the command protocol designed and implemented by me, collecting and displaying data as an image and other metadata, basic data analysis and manipulation tools.

Tools/Platforms used:

CCD image sensor, Rabbit Microcontroller, z80 Asm, Dynamic C, Java, LabView.

Other notes:


Finger Lakes Instrumentation, Lima, NY


Short summary:

Responsible for design and creation of imaging and camera control software modules to be used in the field of astronomy. Utilizing primarily Microsoft Visual Studio

Project objective:

Updating and adding new functionality in a preexisting camera control and imagine software suite that was used along side with Finger Lakes Instrumentation astrophotograph digital cameras.

Technical description:

Responsible for:

Using Visual Studio to create modules that communicate and drive FLI camera peripherals and other image manipulation/analysis software features.

Tools/Platforms used:

Microsoft Visual Studio

Other notes:


Video rental database, Sofia, Bulgaria


Short summary:

Designed and built a custom database system for a small video rental chain in Sofia, Bulgaria.

Project objective:

Video rental database system capable of managing video catalog with inventory, members database and rental transaction history. The system needed to have a fast short cut interface with a good flow to facilitate efficient transactions.

Technical description:

Data structures, file structure and interface flow were designed around customers needs fit their desired function outcome. The database, storage and interface was then implemented in Borland Turbo Pascal utilizing the standard distribution libraries.

Responsible for:

Full scope of project, from design to implementation.

Tools/Platforms used:

MSDOS, Borland Turbo Pascal

Other notes:

Listed here are the schools I have attended and other educational courses taken. This summary only includes formal institutions and course work, as such it is largely incomplete. My principal interest in life since an early age has been learning about the workings of just about everything that crosses my view. I seem to be fascinated with the mechanics of just about everything. Here is book list of nonfiction books I have read, it is perpetually behind but I do try to update it when I can.

UC Berkeley Extension
Computer programming and software development professional certificate
Certificate Link

Udemy, Inc.
Machine Learning A-Z™: Hands-On Python & R In Data Science

Monroe Community College
Computer Science
Associate of Science, 90% Completed

Greece Arcadia H.S., Greece, NY
Graduated with Distinction, 1998
Foreign Exchange Student Program

151 S.O.U.P.I H.S., Sofia Bulgaria*
Majored in Computer Technology
*151 S.O.U.P.I H.S. is an accelerated educational
institution.