Martin Goldberg
Verified Expert in Engineering
Software Developer
New York, NY, United States
Toptal member since May 21, 2020
Martin is an innovative and motivated developer who has come up with many elegant solutions to complicated problems. Thanks to his excellent managerial, analytical, and interpersonal skills, Martin oversees projects with ease, communicates exceptionally well, and can effectively liaise between business and programming sides. Where Martin shines is his ability to meet challenges and to innovate when solutions are required.
Portfolio
Experience
- ADO.NET - 11 years
- HTML - 11 years
- C# - 11 years
- T-SQL (Transact-SQL) - 10 years
- ASP.NET - 10 years
- Computer Vision Algorithms - 8 years
- Image Processing - 8 years
- Raspberry Pi - 5 years
Availability
Preferred Environment
Python, Computer, Linux, Databases, Back-end, SQL, Applications, .NET, C#, Visual Studio, MATLAB
The most amazing...
...project I've worked on is the creation of a smart environment including an interface that utilizes multiple threads with a communications protocol.
Work Experience
Solutions Architect | Applications Developer
Tinski-Tech
- Developed ideas for a braille tablet. Designed and developed labelling for images being loaded onto the device. The device allows users to zoom in, as well as pan around the device, the labels had to accommodate this, and thus dynamically readjust.
- Implemented an SQL database for the site to provide data to Razor pages.
- Developed an editing application that lets instructors implement images on the tablet to allow adding labels. Labels included legends and long descriptions to aid with user comprehension.
- Developed an app allowing instructors to load educational material such as in pdf format and allow them to extract the images for use in the labeling application.
Senior Software Engineer
Fyooshe LLC (via Toptal)
- Developed an MVP version of a touch screen application run on a Raspberry Pi. I prepared the Raspberry PI with the required operating system and Python modules—Kivy and Pillow, the base modules used to make this application work.
- Worked on a socket server that could read in images from another digital source, one that would shut down once all images were passed in was built to allow for updated image input into the system.
- Built the client-server in Python, running on a Windows desktop. The system is designed to send a message to inform the server that all data has been sent.
- Acted as advisor on what hardware to purchase and how the client could use and improve the product.
Ph.D. Candidate
CUNY Graduate Center
- Built a prototype as a proof of concept for a dissertation on mobile cyber-physical system framework. Worked on Raspberry Pi and development in Linux using Python, also I2C.
- Created a smart environment on a Windows server in C#, employing multithreading which included communicating between threads. Applied socket communication to build an interactive network.
- Published papers on the subject; papers describe the work done.
Ph.D. Candidate
CINY Graduate Center
- Proposed a cyber-physical systems framework as a solution to the needs of disabled people when negotiating a signalized crosswalk.
- Conceptualized a solution in response to the NYC DoT and Barcelona Dept. of Mobility call for innovation.
- Used this as the basis of the dissertation and began the design of a proposed prototype.
Ph.D. Student Working on Experimentation
CUNY Graduate Center
- Experimented with Bluetooth Fingerprinting which was meant to help with localizing a cellphone.
- Worked on 3D LIDAR generated data, including turning LIDAR data into PTX files for later use.
- Developed code on edge detection in 3D models using Delaunay triangulation.
Ph.D. Student
CUNY Graduate Center — CCCVCL at CCNY
- Worked on Microsoft Kinect utilizing C# in WPF to test for face recognition.
- Normalized face mask production by attained code through rotation and translation of the generated mask.
- Re-engineered face tracking provided by Microsoft to do the work.
Solutions Architect | Applications Developer
Manhattan Telecommunications (MetTel)
- Redesigned a payment portal by replacing an old Visual Basic app with a newer C# version separating the application from the SQL Server extended stored procedures that precluded the SQL Server upgrade.
- Utilized WCF to facilitate a multiplatform interface to the payment processing app. This allowed interaction with a ColdFusion program using a web service.
- Built a data access set of functionality based on a SQL Server statement that generated all tables and their properties.
Founder | Self-employed Developer
Hands-on Data
- Created this company in May 2005 and disbanded it in December 2009.
- Developed the initial concept of helping small- and medium-sized businesses obtain websites that afforded them applications at a reduced rate.
- Provided services so that multiple companies would each have a few applications built which would then be available to all companies utilizing Hands-on Data’s services.
- Thought up of a way to dramatically reduce the cost of any single app. This was later deemed to be a precursor to cloud computing. Marketing was not successful and so, after a period, the company was used for acquiring corp-to-corp work contracts.
Experience
A Mobile Cyber-physical System Prototype
https://academicworks.cuny.edu/gc_etds/3266/Build:
1. A smart environment, i.e., a server that would anticipate connectivity via wireless communication and form an ad-hoc network.
2. The agent aspect of the system, i.e., the client system that would connect to the smart environment.
3. A language of communication.
4. Several other aspects of the smart environment and agent internet of things.
To facilitate the system, the server portion was built in C# in a console application that ran three main threads:
a) The main process. This process had an open port waiting for socket communication from a potential client. On receipt of the communication, this process would read the message and then act upon it. This included spawning new agent threads when a new client connected to the system.
b) A file watcher thread, whose purpose was to watch the FTP folder for incoming files.
c) The SE_Process thread (smart environment) which served as the backbone of the system. This process received messages designed for it from other threads and then acted upon them.
d) Agent threads were impermanent processes that communicated messages back to agents.
Agents' Internet of Things (IoT) for the MCPS System
https://academicworks.cuny.edu/gc_etds/3266/Two main pieces were created for the prototype with the understanding that more could be added if required. Using the language developed for this purpose, one machine was designated the personal information hub (PiH) of the agent system.
The main function of this device was to control the conversation with the server and to pass on instruction to other parts of the IoT.
The second Raspberry Pi computer was set up to take photographs and send them to the server. Thus, a command would come from the PiH, the image would be taken, and then sent back to the server via FTP.
All communication was done through socket communication with ports being known to each device.
Facial Identification with Microsoft Kinect
https://projet.liris.cnrs.fr/imagine/pub/proceedings/ECCV-2014/workshops/w22/W22-11.pdfThe basic project was taken up and developed into a gesture-recognition algorithm.
Payment-processing System
1. The main processing system
2. A web-service interface for non-.NET applications to utilize
Using a WCF architecture, the system used an interface to accommodate the communication from outside. Class libraries were generated to give the system its shape and allow for data management. The back-end data access layer talked to a SQL Server database using T-SQL stored procedures.
In addition to the basic system, we added a ticketing system to generate tickets which allowed a second system to capture the tickets and display them as needed in other applications.
Survey Processing System Improvement
The application was written in classic ASP 3.0. The back end was a SQL-Server database.
The program was built to provide similar data to unrecognized or ambiguous data entries. It considered partial strings for names and common nicknames, so Tom could be Tomas or Thomas, Jack could be John, and so forth.
The Tinskirox Website
It was written in ASP.NET using C# with stored procedures in T-SQL from SQL Server databases.
To facilitate the input of the texts to the database, a WinForms application would read the text, allow for editing to match HTML tags, and upload it to the SQL Server databases. This was written in C#.
The site Tinskirox.com is no longer on the web.
Search Engine for a Recruitment App
Technologies: ASP.NET, HTML 4.0, JavaScript
Windows Active Directory Membership Condenser
Hands-on Data Concept
Ideally a B2B interface between interested companies could be generated. To facilitate this, we created a table generator using C# which would take in the parameters and generate SQL Server tables with keys and build stored procedures to allow for an ASP.NET interface to talk to the data.
Library Catalog and Circulation App
Given a template of the required information, we built an application using MS-Access and VBA. The application allowed for cataloging and circulation management of the materials.
Marketing Calendar
The data was transferred into an MS=Access database. After numerous meetings to ascertain what the data meant, normalization of the data happened. Once an interface that was built-in VBA was devised. the company requested the generation of reports in MS Excel.
Once all was set up, managers were asked to review the system. They came back and asked for the system to be created in a web interface. This was done in ASP 3.0 (2001). Once the managers were satisfied with the result, they could input potential marketing plans and get instant information on how this might affect the management of marketing.
In short, a 90-day process was made near-instantaneous.
Education
Ph.D. in Computer Science
City University of New York, Graduate Center - New York, NY, United States
Master of Science Degree in Computer Science
City College of New York (CUNY) - New York, NY, United States
Certifications
Microsoft Certified Application Developer
Microsoft
Skills
Libraries/APIs
Windows Forms (WinForms), Kivy
Tools
C#.NET WinForms, Visual Studio, Visual Studio .NET, Spreadsheets, MATLAB, Visual Studio 2015
Languages
C#, T-SQL (Transact-SQL), Python, C#.NET, SQL, HTML4, HTML, C++, HTML5, JavaScript, C, CSS, Python 3, Rust, TypeScript
Frameworks
ASP.NET, ADO.NET, .NET 5, ASP.NET Core, .NET, Microsoft Kinect, Windows Presentation Foundation (WPF), .NET Core, Tauri
Paradigms
Database Design, Desktop App Development, Requirements Analysis, Parallel Programming, Socket Programming
Platforms
Raspberry Pi, Microsoft, Linux, Azure
Storage
Databases, Database Triggers, Azure SQL, Microsoft SQL Server
Other
Computer Vision Algorithms, Image Processing, C# Operators, Desktop App Design, Responsive Design, Scope Management, User Requirements, System Requirements, HTML Email, Accessibility, Presentations, Applications, Back-end, Computer, Data Science, Algorithms, Windows Communication Foundation (WCF), 3D, Machine Learning, Networking, Networks, Data Compression, Video Compression, I2C, Systems, Design, Computer Vision, Image Registration, IIS 6, Multithreading, Data Compression Algorithms
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring