Qizhen Ruan
Brookline, Massachusetts, United States
2K followers
500+ connections
About
Now working for Amazon in AWS.
Specialties: Java, C++, C#, LabVIEW, Matlab…
Experience
Education
Publications
-
LabVIEW Programming: My 10 Year’s Journey with LabVIEW, Second Edition
Beihang University Press
ISBN: 978-7-5124-0848-7
The best-selling LabVIEW programming book in China. -
LabVIEW Programming: My 10 Year’s Journey with LabVIEW (中文《我和LabVIEW》)
Beihang University Press
ISBN: 9787811248890.
Sold over 10,000 copies in two years, the best-selling LabVIEW book in China.
Courses
-
Algorithms
CS5800
-
Computer Systems
CS5600
-
Data Mining
CS6220
-
Digital Image Processing
-
-
Digital Signal Processing
-
-
Information Retrival
CS6200
-
Machine Learning
CS6140
-
Mathematical Statistics
-
-
Medical Instrumentation
-
-
Parallel Data Processing
CS6240
-
Programming Design Paradigm
CS5010
-
Social Computing
CS5750
Projects
-
LabVIEW Configuration File
A library that reads/writes INI files in LabVIEW. It is also the demo code for adopting LabVIEW Object Oriented Programming.
-
LabVIEW Numeric Controls and Calculation
Maintained the the numeric controls and numerical calculations related LabVIEW source code.
-
LabVIEW Palette API
A library that edits LabVIEW function palettes.
-
LabVIEW Registry Manager
A library that reads/writes Windows Registry in LabVIEW.
-
NI Hardware Calibration System
A software platform for calibrating all NI hardware. Developed in LabVIEW and TestStand.
-
LabVIEW Wizard Utility Template
A set of LabVIEW template code, upon which developers can quick create a wizard UI style application.
Adopted several Object Oriented Programming design pattern in this project. (There is a significant difference between LabVIEW OOP and other languages': the objects in LabVIEW are passed by value from function to function, while the objects in other languages are mainly passed by reference. Thus, the common design patterns for Java and C# are not suitable for LabVIEW.)
Key…A set of LabVIEW template code, upon which developers can quick create a wizard UI style application.
Adopted several Object Oriented Programming design pattern in this project. (There is a significant difference between LabVIEW OOP and other languages': the objects in LabVIEW are passed by value from function to function, while the objects in other languages are mainly passed by reference. Thus, the common design patterns for Java and C# are not suitable for LabVIEW.)
Key technologies and tools: OOP, Design Pattern -
Instrument Driver Converter for LabVIEW
A code generation tool. It automatically generates instrument drivers for LabVIEW.
-
Search Engine (Information Retrival Course Project)
-
A simple search engine.
-
Sentiment Analysis in Sina Weibo (Social Computing Course Project)
-
-
Face Recognition (Data Mining Course Project)
-
Implemented the Support Vector Machine algorithm to recognize human faces.
Key technologies and tools: Machine Learning, Machine Learning, SVM, Convex Optimization. -
Hand-written Characters Recognition (Machine Learning Course Project)
-
Implemented a Convolutional Neural Network to recognize hand-written characters with high accuracy.
Key technologies and tools: Data Mining, Machine Learning, ANN, CNN -
Data Mining for LabVIEW Code
-
Designed and implemented three applications (in C# and LabVIEW):
A back-end service to dig out the frequent patterns from LabVIEW (a programming language) source code files, and save the results into a database.
A recommendation program to boost highly correlated functions(VIs), and code snippets to the users.
A static code analysis tool to analyze LabVIEW projects, and give suggestions of optimization.
Key technologies and tools: Recommendation, Data Mining…Designed and implemented three applications (in C# and LabVIEW):
A back-end service to dig out the frequent patterns from LabVIEW (a programming language) source code files, and save the results into a database.
A recommendation program to boost highly correlated functions(VIs), and code snippets to the users.
A static code analysis tool to analyze LabVIEW projects, and give suggestions of optimization.
Key technologies and tools: Recommendation, Data Mining, Frequent pattern mining, Hadoop, Redis -
LabVIEW Find&Replace
-
Maintained the LabVIEW Find&Replace feature. Fixed bugs and optimized the code.
-
Information Search for LabVIEW
-
Established a framework plugin system to search information in LabVIEW and other NI software products.
Searched from both structured data (e.g. function library, UI components) and unstructured data (e.g. documents, on-line helps, web pages).
Developed the earlier version of this product in C++, then ported it to C#.
Key technologies and tools: .NET, WPF, MEF, Silverlight, Lucene, Qt -
XML Parsser for LabVIEW
-
This project includes three parts:
1. Xerces and Xalan libraries wrappers in LabVIEW.
2. Porting Xerces and Xalan libraries to real-time operating systems, PharLap and VxWorks
3. A lightweight XML parser for LabVIEW imbedded applications. -
LabVIEW Import Shared Library Utility
-
This utility parses the Shared Libraries (*.dll file on Windows; *.so file on Linux; *.framework file on Mac OS), and wraps the functions in the Shared Libraries into VIs (LabVIEW functions). With the wrappers, LabVIEW users can call DLL functions in LabVIEW directly with LabVIEW native data types.
Key technologies and tools: Yacc, Bison -
RF Modular Instruments Calibration Utility
-
The calibration software for NI RF modular instruments.
-
LabVIEW Data Container
-
A library of common data structures and generic containers for LabVIEW developers. Similar to the STL library in C++.
-
Software Installer Package
-
Windows installers for NI software products.
-
Instrument Driver
-
C and LabVIEW drivers for general instruments (eg. Oscilloscope, Spectrum Analyzer) that followed the IVI (Interchangeable Virtual Instruments) specifications and VXIpnp specifications.
-
IVI Engine
-
The low level module that provides the interchangeability of instrument drivers. Developed in C++.
-
IVI Class Driver
-
A higher level instruments driver. One Class Driver controls a class of instruments, while the specific driver only controls one instrument model. Developed in C++.
-
IVI Simulation Driver
-
An application that simulate the behavior of general instruments on desktop computers. This project is developed in C.
Other similar profiles
Explore collaborative articles
We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.
Explore More