What we don't share
Yireo is in the business of sharing. We develop some software, share it for free and than earn money by providing paid support on top of it. We love doing this. There's a lot we do that we don't share though. Here's a listing, to share some things with you anyway.
The Yireo server runs a stack of Nginx, PHP-FPM and PHP. Because we like our site to be as fast as possible, we spend a lot of time tuning this stack, resulting in a lot of tweaks that we don't share with you. For instance, instead of using a frontend proxy like Varnish, we make use of the FastCGI caching of Nginx itself - a configuration that is kind of complex and not worth sharing, even though it works very well for us. Only if we can confirm the same tweaking has a benefit for other users (customers) as well, only then are we happy to share those tricks, resulting in a bunch of tutorials like how to use Redis through UNIX sockets and troubleshooting the notorious MySQL has gone away error.
Besides our main Yireo server, we manage about a dozen other servers (development, testing, demo, other companies) using various tools, among which Ansible. Ansible is very cool in running automated jobs through SSH and we use it to keep all servers up to date and performing. Our Ansible playbooks are ugly and badly organized. We don't share them.
The core of Yireo is formed by extension development. We host over 60 extensions for both Joomla and Magento and frequently build new releases for those extensions as well. The amount of packages that are contained in our private repositories (which we don't share) and our public repositories (GitHub) comes to around 200 (including lots of Joomla plugins for main components like Dynamic404 and MageBridge). All those packages are automatically built using Phing scripts, and these scripts are so complex that we don't share them with you. The main Phing script contains about 40 includes with less generic tasks calling upon generic tasks, which is kind of hard to maintain. Again it works for us well.
Currently we are working hard on a new Yireo site based on Bootstrap 3 and using LESS. We will definitely share this with you, as soon as it is ready. It will perform better and be responsive as well. We use various scripts to ease git commits and swapping changes between production branch and development branch. Those scripts are mostly simple shell scripts, not worth sharing. When developing LESS, we make use of Grunt so that our LESS compiles into minified CSS - it is the base example of Grunt so already shared by many others.
So, as you can see, there's quite a bunch of things that we don't share. I haven't even come up with the things of my personal life, which contains my awesome things that I will not share. Ofcourse, the ironic thing about this blog post is that it contains some peeks at we do to automate our lifes, so this blog is already about sharing. Perhaps that's the point I wanted to make: When we talk about openness, we should not focus on what we are not willing to share, we should simply focus on what we are willing to share.
Written by Jisse Reitsma op 2 February 2015