John Gilson
Online
Your chat session is free until you hire the expert!
Home > Computers & Programming > Programming > C++ > John Gilson

John Gilson

Expert in: C++    
Rating: (Read all 1 reviews)
Languages: English
MIT-educated C++ guru with 20+ years as a professional software engineer/architect. Got Cpp?
All chat sessions start FREE!
Chat / Phone: $0.50 per minute (Convert currency)
Email: Email rate = LIVE session rate, bigger project rates reasonable and negotiable. (Convert currency)
 

Other Specialties

MySQL
Loading...

Degrees

BS in Computer Science and Engineering from MIT

My Expert Service

C++ expert prepared to meet all needs associated with the language, from language lawyer questions and homework assistance (please be upfront about this) to design issues and programming projects (small to large scale). Guaranteed timely, correct, complete and high-quality work beautifully communicated (both the English and the C++). You deserve no less!

Experience & Qualifications

  • Fully immersed in C++ since the early 1990s, designing and implementing large-scale infrastructure and application software in the language for both Wall Street and Silicon Valley companies. Some C++ projects of the last few years:
    • Tagged
      • Design and implementation of a C++11 library using sophisticated template metaprogramming techniques to do at compile-time what the STL algorithms do at runtime.
      • Mentor a college student software engineering intern through a significant C++11 project to design and build a chain iterator (an iterator adaptor to iterate over an arbitrary number of iterator ranges) culminating in his being made an offer of permanent employment by the company.
    • E*TRADE Financial
      • Design and implementation of a framework in C++ (using g++) to serialize and deserialize data in multiple formats (think HTTP message field Content-Type values) and encodings (think HTTP message field Content-Encoding values). The example serialization format employed by this framework is Google Protocol Buffers. The design and coding style pervasively uses advanced template techniques such as traits and metaprogramming including a library to do compile-time execution using higher-order functional programming with templates. Implementation also heavily leverages the C++ Standard Library and the Boost Libraries.
    • Voleon Capital Management
      • Design and implementation in C++ of a "lazy" version of many of the STL algorithms, e.g., a lazy version of the function std::transform that can be applied to a range of values, possibly of unbounded length, with the result computed on a demand-driven as-needed basis and possibly being of unbounded length as well.
    • Attributor
      • Design and implementation in C++ of an abstraction layer library for Berkeley DB, an embedded database library in C.
      • Design and implementation in C++ of a URL data store using the aforementioned library.
      • Design and implementation in C++ of a module to perform Uniform Resource Identifier (URI) normalization and relative reference resolution following the specification in RFC 3986, the document detailing URI generic syntax.
  • Extensive knowledge of all areas of C++ from the syntax and semantics of constructs to how these constructs are compiled and supported at runtime, e.g., need to know how virtual functions, exceptions or multiple inheritance are implemented by the C++ compiler and runtime library?
  • Very strong background in both object-oriented programming (have an object-oriented design pattern question?) and generic programming/template techniques (interested in template metaprogramming, expression templates or traits templates?). Template approaches are a personal strong suit.
  • Very knowledgeable of the Standard C++ Library (especially STL) and the Boost libraries. Need an iterator adaptor written or perhaps wondering how an input iterator differs from a forward iterator?
  • Draw upon my significant experience and readings on C++ to provide helpful practical insights, rules of thumb and gotchas to avoid.
  • Increasingly familiar with features introduced by the newly-approved C++ Standard, C++11, through my current day-to-day programming. Need to know something about rvalue references, variadic templates or lambda functions?

Available Modes Of Communication

email/chat/phone

Most Recent Client Reviews   

(Read all 1 reviews)

by bperls on Jan 20 2012
very helpful, prompt and thorough

(Read all 1 reviews)

Contact John Gilson

Online
Your chat session is free until you hire the expert!