Software consulting

chi.nguyen [at] post.harvard.edu


I hear and I forget. I see and I remember. I do and I understand.

JavaScript training and development

For 30+ years, I've been interested in software programming. I learned BASIC programming on Apple IIe computers during junior and high school. While studying at Harvard University (BSc Engineering), I learned Pascal, C, C++, Lisp and SQL. I acquired more software design and programming experience working at Goldman Sachs (Programmer Analyst), Deutsche Bank (Associate Director), Eventures UK (CTO), Evolution Global Partners (Principal) and Procomsoft (CEO). My experiences in the financial services industry coincided with the rise of the Internet, during which I learned Perl, (Sybase) Transact-SQL, Unix Motif, HTML, Java, CSS, PHP and JavaScript. After 10 years in the financial services industry, I spent the next 14 years teaching at the University of Portsmouth (Senior Lecturer, School of Engineering) where I taught C programming for first year engineering students, Python programming for final year computer networking students and R (statistics) programming for postgraduate students. The strength of JavaScript is its flexibility: simple enough for beginners to learn, sufficiently high performance to power server applications, fits into the traditional procedural programming paradigm and sufficiently advanced to fit into object-oriented or functional programming paradigms. If you or your team needs to jumpstart or rejuvenate your JavaScript programming, I can provide custom training using online conferencing or onsite at your office. If you need JavaScript programming temporarily for a specific task or project, I can assist on a contract project basis.


Every student can learn, just not on the same day or the same way.

Digital art workshops

While teaching at the University of Portsmouth, I learned about the work of John Maeda and the invention of the Processing language by 2 students he taught at MIT. Processing was a ground breaking tool for data visualization and generative art, but, it was based on Java and suffered if used on a low performance computer. Another project emerged from MIT, which was the Scratch visual programming language aimed initially at children learning to program and create digital art. For 3 years, I taught workshops for children to learn Scratch and create simple animation sequences. Although Scratch was much easier to learn, the visual language imposed a practical ceiling on the size and complexity of the digital art projects. As the digital art tools evolved, JavaScript became widespread and matured into a high performance language. Today, I teach digital art workshops for adults and children using 2 JavaScript libraries, p5js and paper.js With the ubiquity and power of JavaScript, a digital artist can create art on any phone or computer. You can join the next scheduled workshop or contact me to setup an individual lesson at a local cafe.


If we are all thinking alike, someone isn't thinking.

Website design, development and support

When working at Goldman Sachs, I was on the team that developed the first (for the bank) Internet application for customers to view their trading accounts. I learned about Unix systems administration and running batch jobs behind the scenes and around the clock to provide the most accurate account status for our global customers. Later experiences at Deutsche Bank, Procomsoft and Eventures provided more hands on experience with database servers, email servers, application servers, firewalls and computer networks. Since 2004, I've been maintaining and supporting websites for a variety of customers. If you need to improve the security of your website, I can migrate your website to a static content management system (e.g. Metalsmith). If you need to reduce the operating costs of your website, I can migrate your website to use opens source software and cloud servers (e.g. Linode). Contact me for an initial discussion if you need a new website or to upgrade an existing website.