Building software that has 
				useful features while still
				being easy-to-use takes
				a lot of work, but we feel
				the greatest satisfaction
				in seeing our users happy.
			
			
				Our Products
			
			
				Hierarchy is an open-source
				compiler that extends the   
				Java programming language 
				with an entirely new language 
				for data
			
 
			
				Unconventional Thinking
				Website
			 
			
				This website, the one you're currently viewing, seems pretty straightforward, but actually has some
				interesting technologies behind it.
			
			
				We wanted to try the best
				of the latest tech, so we
				used the following tools:
			
			Docker
			
			
				These lightweight virtual-machines (or "containers")
				greatly minimize the problems of deploying an
				application to production. For complex applications,
				deployment can be a nightmare, because for even
				moderately-complex setups, it's easy for the
				developer's setup to get out of sync
				with what is installed in production.
			
			
				Creating a container can be a decent amount of work,
				but in the long run using them saves companies enormous amounts
				of time that would be wasted fixing problems in their
				deployments - and on top of this, Docker is just a really
				fascinating technology to work with!
			
			Amazon Web Services
			
			
				Amazon Web Services (AWS) provide all the infrastructure and application servers
				needed to run almost any type of application, from standard
				eCommerce websites, to machine-learning batch-jobs. And one of the
				its most useful features is that all your infrastructure can be
				defined as code! Called "Infrastructure As Code" or IAS,
				servers, networks and load balancers are not directly wired
				together. Instead, they are wired "virtually," and these
				virtual connections can be defined in a scripting language called Cloudformation.
				In a Cloudformation script, you describe your server hardware and network setup,
				and when you run the script, AWS creates these connections between the
				devices, so that your infrastructure is assembled in a matter of minutes!
				
			
			
				For the various websites we've created using Docker containers, we deploy these containers into a variety of hosting providers, such as AWS and Fly.io. For containers deployed to AWS, they use their full-featured Elastic Container Service to manage our containers, while for those deployed to Fly.io use their light-weight low-cost solution that's more suitable for smaller sites.
			
			Responsive Websites
			
			
				Websites these days need to be readable in the large screens of desktops
				and the small screens of cellphones (and everything in between).
				To support this large range of browser sizes, web programmers can
				use Responsive-Website techniques to allow their websites to grow or shrink
				to different sizes.
			
			
				On a personal note, it was a chore to get the Unconventional Thinking
				website to look good at almost any size - Response Websites are
				surprisingly a lot of work because it's like creating three sites
				in one - but we feel the results are worth it. In fact, if you're
				on a desktop computer, try scrolling back up to the top of the page and
				reducing the width of your browser, until the page is as small as a cellphone.
				You should see the site constantly
				reconfiguring itself to match the smaller proportions.