HLX Studios is a long time proponent of free/open source software (F/OSS). The open source community has been an invaluable ally in every facet of our growth & development. Any and all of our victories and progress are celebrated by acknowledging the tremendous community which have made all of this possible. We regularly contribute to the community through open source software, forum activity and charitable contributions. While others keep their stack as a company secret, we share it with pride & gratitude.
If I have seen further, it is by standing on the shoulders of giants.- Sir Isaac Newton
Our language of choice is Python 3.x. As the premiere language it is used in all server-side integration for it’s ability to handle tremendous load without breaking a sweat. Python is used widely in companies like Google, Dropbox, Reddit & others. It’s ability to handle everything from video rendering to file synchronization across a distributed network make it the essential ecommerce programming tool. Additionally there is a wide array of libraries that exist exclusively in Python which provide us with a competitive edge to develop software expeditiously.
AutoHotkey is an little-known wonder of the office automation world. This tiny, open source platform allows us to quickly (and I do mean quickly) build interactive desktop applications to integrate to your custom cloud solutions. More importantly it can have access to any part of your Windows operating system. This allows us to build office automation tools that are unparalleled. Whether you want to bridge two unrelated solutions or want to empower your workforce with tools for efficiency, this language helps us get there.
PostgreSQL is a powerful relational database management system. It offers all of the expected features of the other RDBMS’ with added benefits like a write ahead log, seamless replication, concurrency & row level security. The net result of all of that is that it takes care of many of the issues of scaling and security while we are able to focus on differentiating solutions that meet the problem at hand. This means less time working on software and more time fixing the problems at hand.
MySQL is a high availability RDBMS onto which a substantial portion of the internet is built. This database system is embedded as part of many website, ecommerce & similar frameworks. As a result proficiency and ease of use is a requirement among the data community. We are avid users, having built integrations & extensions onto the software. Due to it’s limited nature we would only suggest it’s use if the project were limited or if it were a requirement of another project.
This lightweight, NoSQL database system is a fantastic tool for seamless multi-database replication & synchronization. It’s schema-less design allows for us to quickly prototype software. It’s distributed synchronization tools take care of all of the concurrency across all instances of the database. Lastly it’s Google support means that it scales without any added work or effort on our part. This tool is primarily used in mobile app development, but may find it’s place to solve different needs.
SQLite lives up to the name as the lightest relational database management system. This RDBMS is often used when prototyping new software whose future is not certain. As the project scales, the database would be transitioned. In other instances, SQLite is the most useful database engine for lightweight, minimal instances of software which do require logging & timing events for the application. It is a very useful addition to a mobile app or a server side application whose data intensity is minimal.
Operating System: Linux:
Having spent the past 10 years using Linux personally and professionally, I can say with confidence that the operating system only gets better with age. In addition to proficiency with cloud solutions (listed below) we have several projects where we work on bare-metal-Linux. If you have a command line and an idea, we can make it work. Linux is the central component of different stacks onto which we have worked for the past decade.
PaaS: Google Cloud:
Google Cloud Engine is a top cloud solution offering a scaleable, high availability infrastructure with standardized tools. In addition to their top notch services for Python & PostgreSQL they offer a massive suite of Google APIs which allow for everything from YouTube to facial recognition to big data services to be easily integrated into the cloud solutions. Additionally they provide much of the source code for the integration. This allows for robust, distributed, scalable applications to be built with their infrastructure.
Heroku is a powerful middleground solution between PaaS’ like Google Cloud Engine or Amazon Web Services & PythonAnywhere. It provides a simplified user interface while also offering additional tools and services. Their added layer includes the Heroku Toolbelt which provides easy access to management tools as well as GIT version control software. They manage to meet many of the possible requirements while still maintaining a relatively simple interface.
PythonAnywhere is an easy to use layer that allows for simple deployment of websites, application layers & databases. It has an extremely simple user interface while also providing command line access for more powerful under-the-hood support. This is the preferred option for inexpensive, minimalist applications whose maintenance is delegated to in house staff and often non-programmers. Their customer support and plain-English approach to solutions makes them easy to work with.
Linode is a powerful, scalable VPS. It provides the maintainer full access to the Linux shell to install ancilary software & run concurrent systems. Additionally, Linode has provided a wide array of system management tools for backup, restore, system monitoring, security & more. Additional features include load balancing, managed databases, and server clustering. By leverageing their offerings we are able to scale & deploy solutions rapidly.
PaaS: Digital Ocean
Digital Ocean is unlike many of the other cloud solutions in that it allows the maintainer full access to their Linux shell. Here we have the ability to launch all sorts of software to run and collaborate. However Digital ocean provides many of the niceties of a cloud solution like scalability, load balancing, system security & more. By leverageing their offerings we are able to scale & deploy solutions rapidly.
PaaS: Amazon AWS
Amazon AWS is one of the better known platforms as a service. AWS includes all of the off-the-shelf features that you would expect from the other platforms with added benefits. The AWS API allows you full access to features like load balancing, scalable databases and more.
Version Control: GIT
GIT is the defacto standard in version control. It allows for teams to work on a single project simultaneously and deploy it as a solution in real time. It further allows for software versioning and quick rollback such that bugs and other unintended consequences are avoided quickly & without issue. This is a further efficiency which avoids the dreaded situation found with many developers where a resolved problem arises again.
Micro platform: Raspberry Pi:
The Raspberry Pi is a mini computer built with an ARM processor which primarily runs Linux. It provides a small, inexpensive, energy efficient platform which leverages the entire Linux OS. In projects where several, private, inexpensive, geographically distributed server locations are required, this is the best solution. It is also powerful enough to share in the serverside processing of a given task prior to synchronizing the data back to the primary database.