Paul Thacker work email
- Valid
- Valid
Paul Thacker personal email
- Valid
- Valid
- Valid
Paul Thacker phone numbers
I have worked successfully in business, academic, and nonprofit environments. My Master's project involved processing and visualizing 3-D medical data. I then spent several years developing firmware in C++ on Lexmark’s business-class copy and scan devices, working hard to produce the best possible image quality for our customers. More recently, I had the opportunity to work more independently and pursue my creative dreams by co-founding an LLC for video game development. And throughout all this, I've done volunteer work to preserve our cultural heritage of vintage video games and computing. I'm currently developing optimization algorithms for Advanced Solutions.• I have significant experience programming in C and C++, including graphics development through the OpenGL, GLU, and GLUT libraries, as well as GUI development with the FLTK library. I’ve used C for parallel processing with the pthreads library.• I've done video game development using the Unity3D engine and C# scripts.• I’ve worked on Perl and Python scripts for unit tests and for the automated portions of image quality work.• I have excellent written communication skills. In particular, I’ve written technical papers for internal business documentation.• I have training in color science through my work at Lexmark.• I've done extensive audio processing work using both Audacity and tools developed for specific projects.• I’ve worked in an agile programming environment.• I have experience with using both Git and Subversion for version control.• I have also programmed in Java, in particular for integration with database programs.• I have worked with XML.• I am familiar with SQL for database queries.
-
Software EngineerAdvanced Solutions Jan 2016 - PresentLouisville, Ky, UsI've been developing optimization algorithms for their Slot3D warehouse slotting software.I've worked on a photo application using the Microsoft Kinect. -
Computer ProgrammerSelf-Employed Oct 2012 - Dec 2015I had the opportunity to work on various independent/freelance/small business projects. Here are some highlights.Independent Game Development / Selective Electricity, LLC--I joined RunJumpDev, a nonprofit organization supporting independent game developers in Central Kentucky.I learned game development technologies such as the Unity3D engine and C# scripting, writing a number of games for practice.I co-founded an LLC to develop the upcoming Esperia video game project, a planned episodic PC action/puzzle game with strong story elements. I served as CEO and Lead Programmer, working with a small team. After developing a demo and preparing for a Kickstarter campaign, I ultimately chose to sell my share of the IP to my co-founder and dissolve the company before the Kickstarter launch.Bally Alley--I've worked as a digital archivist for the Bally Alley website, which documents the history of the Astrocade video game system.The Question Connection--I've written questions for use in Quick Recall and Quiz Bowl tournaments.
-
Embedded Firmware DeveloperLexmark Jun 2011 - Sep 2012Lexington, Kentucky, UsI worked as a contractor on the scanner image quality team, writing code for business-class laser copy/scan/fax devices running a Linux-based system. This code processed the images coming from the scanner hardware into the final form given to the user. I had worked on this team previously, and transitioned back to it from ASIC verification work as the ASIC was entering production.• I developed our tuning process for the segmentation stage on a Lexmark-developed ASIC. I had to select the best parameters for identifying areas of text, image, or halftone on a scan for a large number of modes. This was impractical to tune by hand, so I wrote a C++ program to perform a genetic optimization. Each gene was evaluated against a suite of test images with a known classification, such as images with only text or only halftone. The highest scoring genes could correctly segment all the images. The results were accurate enough to apply unique filters to different classifications. This allowed us to maintain crisp text, while avoiding the visual artifacts from overly sharpening half toned images, as was often seen in earlier products in that line.• A disadvantage of the genetic approach was the huge number of tests required to get good results. To make this tractable, I parallelized the program such that I could send each segmentation and comparison to a machine as a separate job. Before this would work, I had to overhaul our custom parallelization library in C so that any job that crashed or hung could be killed and sent to another computer. Eventually, it could run over 100,000 jobs on 20 computers over a weekend, utilizing unused cycles on our network of Unix servers.• I updated our algorithm for background removal in the imagepipe driver so that instead of stretching the entire image, we only affected the lighter shades. -
Asic Verification DeveloperLexmark Apr 2010 - Jun 2011Lexington, Kentucky, UsI returned to Lexmark as a contractor on the ASIC team, working to verify that an ASIC they acquired from another company and updated for use in Lexmark’s devices worked as intended.• I set up a Perl script to run unit tests on an FPGA emulating the ASIC or on a prototype version of the ASIC itself. It ran a series of tests every night, and e-mailed the results to a mailing list. I also archived the results on a web page.• In order to detect edge cases not covered by standard unit tests, I set up C programs to generate random tests, using parameters for each stage of the ASIC’s image processing pipeline within user-defined ranges, and input images clipped from a large collection of scans. I ran thousands of tests each night, and if I found a case where the emulator/ASIC crashed or the results didn’t match our software simulation, I added it to the unit tests.• I tracked failing test cases, and coordinated with the driver developers to fix them. -
Embedded Firmware DeveloperLexmark International Jul 2006 - Oct 2009Lexington, Kentucky, UsI worked as a contractor on the scanner image quality team, writing code for business-class laser copy/scan/fax devices running a Linux-based system. This code processed the images coming from the scanner hardware into the final form given to the user.• I converted the code in our subsystem (about 10,000 lines) from C to C++, making the code more modular so we could reuse portions for a whole line of products, and making it more maintainable.• I updated the code to allow new functions, including user-controlled sharpness levels, negative image, and pushing nearly neutral colors (as might be found in slightly tinted paper) to be truly neutral.• I worked with the other team members to set parameters for default image processing, and to choose a number of settings for various scan/copy modes, such as optimizations for text or photographs. Many user-controllable functions, like the sharpness level and background removal, required a number of different settings. We chose these using a combination of customer feedback, tester feedback, and our own metrics.• I helped evaluate the effectiveness of a new ASIC and developed unit tests to track the results of changes.• I led the team in investigating how our image quality settings were used by the scan drivers, which were developed by a separate team. This revealed several ways to improve our user experience.• I wrote a white paper describing our entire image processing path and user function implementation. This document is used by other groups who interact with our code subsystem, testers evaluating our image quality options, and customer support addressing user concerns. -
Research And Teaching AssistantUniversity Of Kentucky May 2003 - May 2006Lexington, Ky, Us• I developed a system to evaluate segmentations of medical MRI's using the expectation maximization technique. I then wrote an application to interactively visualize a consensus of the results in two or three dimensions, which I could compile for Windows, Linux, or Mac. This turned into my Master’s project. I also collaborated on a paper including this work presented at the "International Conference on Computer Vision and Graphics 2004" in Warsaw, Poland.• I assisted with summer undergraduate research programs. I lectured on various computer science topics, and supervised student projects.• I helped grade assignments and programs for both undergraduate and graduate algorithms classes.
Paul Thacker Skills
Paul Thacker Education Details
-
University Of KentuckyComputer Science -
Transylvania UniversityPhysics
Frequently Asked Questions about Paul Thacker
What company does Paul Thacker work for?
Paul Thacker works for Advanced Solutions
What is Paul Thacker's role at the current company?
Paul Thacker's current role is Software Engineer.
What is Paul Thacker's email address?
Paul Thacker's email address is pa****@****ail.com
What is Paul Thacker's direct phone number?
Paul Thacker's direct phone number is +160657*****
What schools did Paul Thacker attend?
Paul Thacker attended University Of Kentucky, Transylvania University.
What are some of Paul Thacker's interests?
Paul Thacker has interest in Cooking, Yoga, Reading, Hiking, Science And Technology, Swimming, Vintage Computers, Video Games.
What skills is Paul Thacker known for?
Paul Thacker has skills like C++, Perl, C, Python, Java, C#, Unix, Xml, Testing, Unity3d, Linux, Opengl.
Free Chrome Extension
Find emails, phones & company data instantly
Aero Online
Your AI prospecting assistant
Select data to include:
0 records × $0.02 per record
Download 750 million emails and 100 million phone numbers
Access emails and phone numbers of over 750 million business users. Instantly download verified profiles using 20+ filters, including location, job title, company, function, and industry.
Start your free trial