× {{alert.msg}} Never ask again
ABOUT ME
Solid programmer. Great trouble-shooter, debugger, and "OMG! Everything is on fire! HALP!!" first responder. Especially good at complex integration and automation. Having "jumped the fence" into new programming languages and communities multiple times, strong mentor for just getting into new toolsets and approaches, or moving into cloud/DevOps deployments. Heavily using Python, JavaScript, nodejs, jQuery, d3.js, HTML, CSS, SVG, and LESS. Have worked extensively with PHP, WordPress, Perl, Java, SQL, MySQL, PostreSQL, XML, ODF, NoSQL, and a bunch of other stuff. Interested in, but have not relied on Ruby, Go, Julia, Rust, D, and Nim in production code. I can get in the wayback machine and do C, bash, awk, Ada, Pascal, Modula-2, Icon, LISP, Prolog, and Smalltalk, depending how far back you want to go. We'll pretend that BASIC thing never happened, s'ok? I've programmed inside the Unix kernel, distributed multi-threaded middleware, GUIs, application code, numerical/HPC, and more.
EXPERTISE
9 Python
9 JavaScript
6 HTML/CSS
4 Html
3 jQuery
No icon Full stack - 25 years experience
From front-end user interfaces and interactions through back-end APIs and servers. Integration, automation, optimization, and operation across multiple layers, languages, platforms, stacks, and vendors? Check. No one person can really be expert in every single technology at every level—that's strictly impossible. But I've worked every part of the IT equation, understand how all the parts fit together (when they happily do), and have seen most of the ways they can fall apart.
Devops expert help DevOps - 5 years experience
Have been DevOps architect and operator of cloud service for flash-mob traffic serving over 1M people as they converged on a city for a single day. Operated that for several years, at low cost, without downtime. Have written, consulted, and spoken extensively at industry events on DevOps. Latest instance: I recently gave the keynote and DevOps deep-dive session at Tech Target's Modern Infrastructure Summit.
No icon D3.js - 2 years experience
Have completed several visualiation projects using Raphael, D3.js, and rleated libraries, and have mentored a number of D3.js users here on Codementor.
Python expert help Python - 12 years experience
Though I've programmed in dozens of languages, Python is my go-to language. I've developed many modules and apps, a number of which are open-source (see my [BitBucket](https://bitbucket.org/jeunice) or [Github](https://github.com/jonathaneunice) accounts). I work a large swath of the Python stack, from core language features to IDEs, ORMs, web frameworks, introspection and reflection, language optimization and extensions, etc. I work in a mixed Python 2.7 and Python 3.x environment (favoring x >= 4). Most of my code is developed to work in either--and critically, is tested against multiple language versions. I work regularly with Python packages, RST and Sphinx documentation, automated testing, Travis CI, and other professional refinements. Having bootstrapped myself, I'd be a good mentor to those just working their way through the process of moving from coder to complete professional.
No icon Cloud - 16 years experience
Have studied the cloud space long before it was called cloud (previously: HPC cluster, grid computing, and Application Service Provider, e.g.). Have sophisticated understanding of technical underpinnings going back to late 70s distributed computing projects. Have been DevOps architect and operator of cloud service for flash-mob traffic serving over 1M people as they converged on a city for a single day.
Amazon expert help AWS - 6 years experience
Active user of AWS services. Developer of services based atop AWS, and advisor to AWS clients. Have used to scale Web and application presence for million-person festivals that exhibit flash-mob spikes in traffic, from near-nothing to aggressive pounding over the course of hours and days.
Server expert help Server - 25 years experience
Recognized industry expert in server designs, software, operating systems, technologies, and strategies since the early 1990s. From x86 through mainframe and fault-tolerant designs, clusters, middleware, organization, operation--the entire stack. Accepted as expert witness on this topic in the US federal court system, and many times by state and international government agencies in architecture, acquisition and procurement situations. Advisor to some of the world's most renown server and server component vendors, executives, and inventors/research fellows.
Php expert help PHP - 11 years experience
Long-time WordPress user and developer. Use PHP primarily in a Web context. I've developed both WordPress templates and plugins/extensions. PHP itself is not my favorite language (too inconsistent, too replete with add-ons to add-ons), but the systems it powers are exceptionally useful, and interestingly, some of the easiest to install. I use it because it's practical and pragmatic to do so.
Wordpress WordPress - 9 years experience
Have used WordPress on many occasions, for a number of customers. Have customized it, written plugins, and helped optimize high-scale applications. PHP is not my favorite development environment, but I adore the easy deployment, easy extensions, and fast setup times.
Perl expert help Perl - 21 years experience
Have used Perl since its Perl4 days, and its AWK predecessor going back a decade before that. Principal author of ETL system used for multi-billion dollar enterprise based on Perl, and have written a full-scale application system (tens of thousands of lines of code) mainly in Perl. Perl is no longer my primary development language, so I would recommend other mentors for core Perl work. Having been through a relatively recent personal migration of skills, I would be a good mentor for those looking to move from Perl to another environment, especially Python, or for those seeking to evaluate the virtues of different alternatives to Perl (including Python, Ruby, Groovy, Julia, Go, Nimrod, PHP, and so on).
Javascript expert help JavaScript - 16 years experience
JavaScript used to be the worst possible language. Low performance, not connected to server-side execution, and incredibly inconsistent from browser implementation to browser implementation. Today, thanks to standards, evolution, JIT compilers, jQuery and friends, and node.js, it's completely changed into an interesting execution environment. I use JavaScript primarily as a Web development language, with occasional forays into node.js for server side execution. I study the development of its extensions, frameworks, packaging tools, and large ecosystem, including offshoots like Dart, TypeScript, and CoffeeScript.
Jquery expert help jQuery - 6 years experience
Have used jQuery and other JavaScript frameworks/UI helpers for many years. I do not consider myself a JavaScript guru first and foremost, but rather have a strong working knowledge of JS and jQuery as it relates to use in full-stack applications and webapps, including synchronization and coordination through APIs.
Flask expert help Flask - 2 years experience
Have used Flask as the foundation of my web development projects for the last several years. Have answered how-to questions on Stack Overflow, and posted samples of how to use Flask with COMET (long polling) and Web Sockets APIs.
No icon Markdown - 5 years experience
I use Markdown extensively, and some of the alternative Markdown-like formats (esp. RST for documentation) occasionally. I've written a number of extensions and plugins for the most popular Python Markdown formatter, and I have experience writing translators and clean-up processors for transformations between markdown and other formats such as Word, HTML, and RTF.
Html css expert help HTML/CSS - 20 years experience
Have used HTML since the Internet was a thing. Have sophisticated understanding of HTML, XML, CSS, LESS, and related document-transport formats in the encoding of documents, content, and application frames. Have used on many projects, including ones that intelligently transformed from one form to another.
No icon Documents - 24 years experience
Have built several document production platforms, including one that automatically updated document layout and metadata and published simultaneously to multiple output domains (paper, PDF, and Web). I have experience writing translators and clean-up processors for transformations between document formats such as Word, ODF, HTML, RTF, markdown, and RST.
No icon Testing - 6 years experience
Nothing has improved my code quality more than the imposition of regular, repeatable testing. Key to making testing work well is to make it simple enough that the tests can be easily created; easily run across multiple platform, OS, middleware, library, and other variables; and easily comprehended. I do not subscribe to the testing-above-everything-else religions of TDD, BDD, and so on. But coupling development with testing and behavior descriptions is clearly a Good Thing. My greatest practical experience is testing Python programs using `pytest` and `tox`. I have also managed testing for CI (continuous integration) suites such as Travis CI.
No icon Optimization - 30 years experience
I am a great fan of the "Programming Pearls" style of optimization: First, make it work. Then, make it fast. Obviously, some use cases are all about performance. For those, performance is a key aspect of design, consider it first and foremost. But usually, there are a handful of core data structures, algorithms, or operations that are performance-critical. Figuring out what needs to be optimized, and what does not--that saves you a lot of work and angst. Getting real data to identify what needs tuning is paramount. Our intuitions are often wrong--even for experts. Get data. Act on that data, not on "educated guesses." Beyond guiding strategies for program/system optimization, I have a lot of experience with benchmarking, profiling, and algorithm/data structure selection.
No icon Debugging - 30 years experience
I'm a pretty good programmer--but an *outstanding* debugger. I discovered I have a knack for it years ago, as a grader and teaching assistant in my university. I also have a degree in Philosophy. Many people think of as a "soft" discipline or "liberal art." What it really is: a degree in rigorous thinking about complex systems. I regularly refuse to accept others' assumptions about what's going on. While that might be annoying in some contexts, it's a great attribute for walking through problem situations. I can mentor either those that have specific problems to be solved, or those wanting to set up "best practices" for catching problems early.
No icon Human factors - 25 years experience
I love technology, but all the historical evidence suggests that larger issues such as ecosystems, communities, human factors, economics, and organizational dynamics usually trump things that are simply "better mousetraps." There are many "UI" or "UX" experts. While I have a lot of experience in those domains, I don't claim to be an expert in those per se. Rather, I'm an expert in putting all the factors of system/application/service together, from design through deployment, marketing, operation, and lifecycle evolution--and doing so in light of what their users/consumers want, think they want, need, and aspire to. I've done this work at very high levels--i.e. working with senior inventors, investors, and executives--very successfully.
No icon Real time web coordination - 6 years experience
Have used several real-time collaboration systems, a la WebSockets. Develop and use WebRTC applications myself, and have professional interest in full-scale systems (Meteor, Google Docs, etc.) Have published example code for using WebRTC from Python and Flask.
No icon Database - 30 years experience
Have used and studied relational database systems going back to Stonebraker and Ingres in its early Unix incarnations. Have studied Oracle, DB2, Teradata, NonStop SQL, PostgreSQL, SQL Server, Sybase, and related SQL/relational-based systems going back almost as long. In the late 1980s, I wrote one of the early books tracing the evolution and differences between relational and the then-new style of object-oriented data stores. When NoSQL and document-structured stores (e.g MongoDB, Couchbase, and Cassandra) came on the scene, it was very much back-to-the-future. I've used relational and non-relational DBMSs on many projects myself, and advised clients about their use in many others--including in advanced use cases such as complex object representation within engineering and design systems, clustered DBMS scaling, XML document integration, operational data stores, enterprise-scale application integration hubs, embedded near-realtime device data stores, and big data/analytics. The developers for these products have been occasional clients. Have interviewed many users/developers/DBAs for these products and their experiences. Many of my own recent in-the-cloud projects have depended on MySQL and/or SQLite as an application back-end. I have a long history understanding "bigger" DBMSs such as Oracle, DB2, Teradata, NonStop SQL, and SQL Server, as well as many document-structured, object-oriented, and NoSQL servers.
No icon Extract transform load - 30 years experience
Numerous projects importing data from one format to another, including pulling from various sources (extract), mappings and cleanups (transforms), and pushing into other data managers (load). Data is always "dirty" in some way--old formats, different encodings, user errors, missing data, etc. I'm expert at dealing with all those many variations.
OFFICE HOURS LIBRARY

Interactive Charts in D3.js

  Wed, Dec 31, 04:00 PM (PST)
GITHUB
iterm2-tab-set 11   1
Utility to set iTerm2 characteristics such as tab color, tab title, and tab badge
JavaScript
colors 2   0
ANSI colors for Python
Python
disptrace 1   0
Generate Python trace log in HTML
Python
Py2ChainMap 1   0
A backport of ChainMap from Python 3 to Python 2.
Python
agility 0   0
Javascript MVC for the "write less, do more" programmer
JavaScript
STACK OVERFLOW
 Reputation: 5487
  •  Gold Badge: 1
  •  Silver Badge: 25
  •  Bronze Badge: 45
javascript lodash
python plugins factory composition openstack-neutron
REVIEWS
Average Rating
5.0
(142 ratings)
Awesome mentor!
139
Pretty good
3
Could've been better
0
Needs improvement
0
Unsatisfactory
0

Tremendous help. Clear step-by-step instruction and command of multiple programming languages + packages/ libraries. In-depth knowledge of theory and application. Focused approach peppered with informational and entertaining insights to facilitate a positive learning experience and encourage creativity.
vishal patel Dec 04, 2016

Brilliant mentoring in coding mechanics, program design, generally how to think about your creation, and debugging techniques
Miriam Dec 01, 2016

Prepared a whole review summary for me, recommending reading and formal approaches
Miriam Nov 30, 2016

As good as they get.
Miriam Nov 29, 2016

Focused, efficient, effective.
Miriam Nov 28, 2016

Best code mentor of python, pandas and more
Miriam Nov 28, 2016

Good explanation with shortcuts, he is experienced!
Andrew Nov 18, 2016

Best mentor I've had on Codementor. Helpful, patient and polite. Extremely professionals.
Jade Oct 17, 2016

Excellent mentor with a wealth of knowledge to share.
Miriam Oct 11, 2016

Jonathan was very helpful–he helped our developer organizing a professional workflow and supported us with his expertise and experience. Jonathan even provided us with a written summary of the most important points. Thank you!
Michael Baumgartner Oct 05, 2016

Methodical, considered in his opinion; and patient even whilst I am clearly sleep deprived and semi-coherent, Jonathon ensured my first mentoring session was both educational and interesting. I am satisfied and look forward to where things go from here.
George Sidiroff Oct 04, 2016

Jonathan was fantastic. I spent all day looking for mentors who could help me understand a more mathematically-intense problem, and Jonathan was the only one who stepped up to the challenge and knocked it out of the park. If you're looking for a mentor with high expertise, good communication skills, and mathematical chops, Jonathan is the guy to go to. Definitely will be coming back.
Stephen Huh Oct 03, 2016

Excellent Session! Jonathan was able to navigate me to the answers I was looking for and provide a clear explanation to my questions. He was very patient, understanding and professional. I will surely look for his help in the future. Thank you!
eva ferenc Oct 03, 2016

Excellent! Incredibly competent and friendly. Wonderful teacher, I highly recommend.
Brianna W. Sep 30, 2016

Excellent mentor; excellent communicator.
Miriam Sep 30, 2016

Simple problem and Jonathan fixed it in no time. He then explained it very well, adding in how I might handle it in other cases.
Miriam Sep 25, 2016

Very Good help .
James Sep 22, 2016

Excellent experience. Helped me with exactly what I needed and explained it so I could understand. Thank you Jonathan!
Denis V Sep 22, 2016

Great developer! Fast, easy support and tailor made solutions. If you have everything you need laid out clearly and ready to go for him, you will be pleased!
Brandon J Sep 15, 2016

Jonathan saved me a ton of time with my progression for learning! He was very patient and very willing to listen to my many questions. He told me the most practical route to take for my projects. I 100% recommend his council if you have questions for setting a learning path to become a better developer.
Matthew Slomski Sep 11, 2016

Great mentor. Very personable and knowledgable.
Nicole Apr 29, 2015

I found it comforting conversing with a seasoned veteran. Jonathan was pleasant to speak with and extremely knowledgable. Highly recommend chatting with him at some point.
Steve Pascoe Apr 20, 2015

Helped with debugging - lots of tips to make the process easier - and explanations of how to make my code work. Thanks!
Jason V. Apr 10, 2015

Extremely helpful on all fronts that matter: communication, code, etc.
Lin Apr 06, 2015

Jonathan is a great communicator. He listens well and has thoughtful responses that push the dialog along to solutions to the problem. I would not hesitate to use him again.
Ginny Deering Apr 01, 2015

Jonathan was prompt and gave very practical advice. In the end, my code was written well and he told me practical reasons why he wouldn't refactor. If he were a mechanic, I would take my car to him. :)
Leigh Boone Feb 20, 2015

Lifesaver!!!
jon neylon Feb 20, 2015

In 30 minutes: - we made a cleaner C.V. - I have more confidence in my skills - I know what I've been missing in my skill set (build and testing) - We figured out what kind of app to make for my portfolio. I'm happy with results.
Omid Feb 19, 2015

My first session with Jonathan was very positive. I'm looking forward to working with him more.
Nathan Spears Feb 11, 2015

Advanced Multi-Lingual Filtering is a cakewalk for Jonathan.
Joshua Feb 07, 2015

Always a pleasure to work with. My issue was fixed promptly and I picked up some new tricks.
Joshua Feb 06, 2015

Very clear. Great responses. Answered all of my questions easily.
Megan Feb 04, 2015

great guy.
rob Jan 31, 2015

Great! Thank you!
Nicole Jan 28, 2015

Update. I was able to use what I learned the first meeting to ask better questions. Jonathan then was able to walk me through resolving my issue. Being able to learn through trouble shooting and very clear examples was great. Jonathan is an amazing mentor! I love working with him.
Joshua Jan 28, 2015

Jonathan, is very helpful and honest. We were not able to solve my problem entirely however we were able come up with a work around and I learned better practices to clean up my code. I will definitely reach out to him in the future to learn more about javascript. It was a pleasure learning from him.
Joshua Jan 28, 2015

We did a lot today and Jonathan explained it clearly and kept it manageable. It is always great working with him. I feel lucky to have him as a mentor.
Chris Lewis Jan 19, 2015

Very knowledgable about the theory and history of what we were discussing. Very helpful.
Jaryd Jan 18, 2015

great help, thank you for your time
Sam Jan 14, 2015

I'm very impressed with Jonathan as a long term mentor. He has taken my education very seriously and gone above and beyond my expectations. I'm learning a lot, in a customized way, at the speed appropriate for me. I'd recommend him without reservation.
Chris Lewis Jan 06, 2015

Very good mentor, very helpful and clear and easy to understand! Recommended
Seb Szocinski Jan 06, 2015

Very helpful first session. Looking forward to a long term mentor-ship!
Chris Lewis Jan 02, 2015

Great Mentor. Quickly found and explained my problem. I would never have found it myself. Very professional and very knowledgeable.
Adrian Rich Dec 29, 2014

Jonathan is excellent at explaining concepts. Not only does he quickly debug but also spends the time to explain underlying concepts. Essentially, making you a better programmer in the future.
Santiago Dec 20, 2014

Jonathan was able to hone right in on my barrier accessing the GMAIL API, and we got it resolved. Just the right person for the job.
Marjorie Roswell Dec 16, 2014

Jonathan quickly helped me solve my problem, then made me code to illustrate I had understood the concept and could do it again on my own. We continued to talk about more concepts and best practices to help me become a better developer and I was highly satisfied with my time with Jonathan.
John Ellison Dec 15, 2014

He was a great Help
Enoch Leonard Dec 14, 2014

Jonathan is extremely knowledgable and patient. Answered all my questions and more. would definitely recommend.
antoine Nov 27, 2014

Jonathan is very knowledgeable about his craft and guides the discussion based on my needs. Will be happy to schedule future work with Jonathan again and would highly recommend him.
Alden Meneses Jul 20, 2014