Image for post
Image for post
Photo by NASA on Unsplash

The practice of Identity and Access Management (IAM) introduces many questions about an organization’s business processes and technology solutions. The decision to use a particular Single Sign-On (SSO) technology takes into account concerns such as:

  • Is the technology secure?
  • Is the organization affected by data privacy laws such as General Data Protection Regulation (GDPR)?
  • What is the organization’s rollout plan?
  • Do the cost savings from centralizing authentication into a single location outweigh the sunk cost of implementing SSO?

The decision is not only made in the context of a MindTouch site deployment, but also takes into account how all user identities and applications across the organization will be affected. As an integration point for both SAML SSO and OpenID Connect, MindTouch provides recommendations regarding which of these two supported SSO technology paths are best suited for a MindTouch solution. …


You can have your CPU and RAM back…

Image for post
Image for post
Photo by Ian Battaglia on Unsplash

There are too many to count articles about configuring Apache or NGINX to optimize for multi-process, multi-threaded scenarios with one or more downstream, detached processors of HTTP requests ( PHP-FPM, Passenger, ASP.NET, etc.). This post won’t be addressing the step-by-step configuration details. The key takeaway from most articles, that’s relevant here, is that it is often very taxing on high-load, performance-critical web servers when all possible request handlers and processors are engaged to satisfy every incoming client request — regardless of context. …


Originally published June 15, 2017

Image for post
Image for post

The MindTouch Engineering team, as usual, has been hard at work. Between our recent updates to MindTouch site analysis tools and our efforts to optimize our cloud infrastructure, its been a busy first half of 2017. Our latest efforts have focused on one of our favorite features — Touchpoints. This is part one of a three-part series that will explore our development process, and the technologies we use to make Touchpoints secure, flexible, and incredibly simple to implement. …


Native ES2015 module browser support can’t come soon enough.

Image for post
Image for post
Photo by Christopher Robin Ebbinghaus on Unsplash

If you are writing modular JavaScript source code using ES2015’s import keyword, you are likely transpiling your code so that it can execute in web browsers presently available to most users. As much as it is a pleasure to maintain your source code as modules, it’s been a bumpy road to reach a common implementation of modules in the JavaScript execution environments themselves, resulting in a rather large and confusing set of technologies. The problem described later requires a bit of knowledge about the relationship between UMD, AMD, and Require.JS.


An insightful day of innovation and collaboration…

Image for post
Image for post
Photo by Christina @ wocintechchat.com on Unsplash

I was honored to co-host the @WalmartLabs hackathon this past weekend!

Hackathons aren’t easy to pull off — and it’s important not to try to do too much. If the event is focused on promoting or leveraging specific tools (this particular event was promoting @WalmartLabs Electrode React/Node.js framework), familiarity and training with the tools before a competition is underway is a must-have. For those of you planning an event, consider a scripted challenge with a clear result or outcome to achieve, using the promoted technology. Future hackathons, with increasingly more breadth and positioned to developers that develop mastery of the chosen technology, can build a dedicated community and strong advocates for the tech in the industry.


What is CD and, especially, what is it not?

Image for post
Image for post
Photo by Science in HD on Unsplash

Let’s start with one key fact: Continuous Delivery, though expanded from Continuous Integration, is not simply automating your code deployment pipeline like you automated your build architecture. Continuous Delivery is a shared business process, a contract between different members of product delivery to move software through stages to someone who will benefit, without blocking it or at best avoiding unreasonably long delays.

Automation applied to an inefficient operation will magnify the inefficiency.

Bill Gates

Where were we ten years ago? At your organization, it probably looked something like this: long product release cycles leading to long development and testing cycles with lots and lots of value bundled up in massive code drops. …


Image for post
Image for post

Yesterday, MindTouch’s cloud infrastructure handled 6,048,192 HelpRequests across all MindTouch sites, each request creating knowledge or providing it to your customers. MindTouch has a continuing commitment to speed and performance, and delivering all this knowledge presents significant engineering challenges that other customer success software, knowledgebases, and content management systems do not face. MindTouch pages are so much more than static HTML and text, they are also rich with DekiScript code, identity and context-specific content, templated content, global variables, and transcluded pages. Each page that is served to your customer is run through our content engine, which parses, compiles, and renders the finished MindTouch page, all in realtime! The more dynamic content the page contains, the more work and load on the content engine. …


Image for post
Image for post
Photo by Howard Bouchevereau on Unsplash

MindTouch, as a customer success company, treats web page load speeds as a critical metric for your happy customers. Numerous studies into the perception and behavior of Internet users has shown that expectations are high for a fast transition between web pages, and mere seconds of wait time can be the difference between a happy customer or an unhappy one seeking your competition.

MindTouch powers help sites and empowers you to author content on these sites. We provide very little restrictions on the size of web pages, the amount of images or videos embedded in them, and the use of third-party web assets and widgets. However, we are quite aware of the fact that the more things you put in a web page, the bigger the page becomes, the more web requests are required, and that ultimately the page becomes slower to display. This is not an issue with MindTouch software, but rather the limitations of the HTTP 1.x protocol. Until HTTP 2.0 is widely adopted and solves the performance bottlenecks associated with the current version of HTTP, MindTouch’s out of the box experience has to produce the fastest possible web page load speeds we can over HTTP. We need to reduce the number of web requests required to download all required assets for a web page, download as many as we can in parallel, and prevent one asset from blocking the download of another. …

About

James Andrew Vaughn

I'm a software architect, a technical product lead, and a black belt instructor. My friends call me Andy. https://modethirteen.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store