× {{alert.msg}} Never ask again
I'm a software developer and DevOps/cloud service operator. I also advise companies and investors on IT and business strategy. Solid programmer. Extraordinary trouble-shooter and "OMG! Everything is on fire! HALP!!!" first responder. Especially good at complex integration and automation. I've "jumped the fence" into new programming languages, styles, and communities multiple times, so particularly good at mentoring those just "getting into" new languages and toolsets, or moving into cloud/DevOps deployments. Heavily using Python, JavaScript, jQuery, d3.js, HTML, CSS, SVG, and LESS. Have worked extensively with PHP, WordPress, Perl, Java, SQL, MySQL, XML, Open Document Format, NoSQL, and a bunch of other stuff. Interested in, but have not relied on, Ruby, Go, Julia, Rust, D, 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. Pragmatic. Results matter. Repeatable approaches to achieve quality results matter. Individual tools, languages, and APIs? Enh. Just a means to the end. While I love technology, all the evidence suggests that larger issues such as ecosystems, communities, human factors, economics, and organizational dynamics usually trump things that are simply "better mousetraps."
No icon Full stack - 20 years experience
I've worked with applications and services spanning multiple IT layers for several decades. Much of my work integrates or automates the activities of invariably-incompatible systems. I have worked with everyone from CPU architects (e.g. at AMD, Intel, IBM, HP, and Sun) through operating system developers (various flavors of Unix and Linux, NonStop, OpenVMS, i/OS, and z/OS), middleware developers (DBMSs, message busses/ESBs, transaction monitors, application servers) to application developers and service consumers. While I do not claim expertise in every single technical domain--that's literally impossible--I understand components at every IT level, how they interact/interrelate, and the challenges of integrating/automating their composition.
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 - 9 years experience
I've programmed in dozens of languages, across all major language styles (e.g. procedural, functional, declarative, object-oriented) and in many different contexts (e.g. GUI, HPC/numerical programming, operating system kernel, application code, integration code). Python is now my primary development language. I've developed many modules and apps, most of them 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 tend to work most in Python 2.7, but I use as many of the Python 3 idioms (strings should be Unicode, `with` context managers, etc.) as possible, and almost all my code is developed to work in--and critically, tested against--both Python 2 or Python 3, because the natural switch-over point to Python 3 is coming soon. While I am not quite a wizard of Python virtual contexts (`virtualenv` and friends), the packaging system, RST and Sphinx documentation, automated testing, and related issues, I have bootstrapped myself into using these regularly and at a high level. Having in the past few years moved from newbie to near-expert, I remember the challenges of taking each of these systems on board, and would therefore be a good mentor to someone just working their way through this process.
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 - 14 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.

Interactive Charts in D3.js

  Wed, Dec 31, 04:00 PM (PST)
colors 2   0
ANSI colors for Python
disptrace 1   0
Generate Python trace log in HTML
Py2ChainMap 1   0
A backport of ChainMap from Python 3 to Python 2.
agility 0   0
Javascript MVC for the "write less, do more" programmer
arrow 0   0
Better date & time manipulation for Python
 Reputation: 2523
  •  Silver Badge: 11
  •  Bronze Badge: 31
python iteration
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

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