ANZAC Day

Anzac Day public holiday is awesome. It’s a nationwide holiday which everyone gets off work. But what is an anzac anyway? Some kind of small beetle? No, it’s a member of the Australian or New Zealand armed forces.

The day starts with a dawn service, especially for veterans, followed by a full day of drinking and remembering. If that’s not an oxymoron. For the next few years this is even more important as the Great War (1914-1918) passes out of living memory.

For the ANZACs the First World War is synonymous with Gallipoli. The Gallipoli Campaign, also known as the Dardanelles Campaign, the Battle of Gallipoli, or the Battle of Çanakkale (in Turkish). The allied forces of Russia, Britain and France, which also comprised a lot of Australian and NZ troops attempted a Naval invasion and amphibious landing of the peninsular with the view of capturing the capital of the Ottoman Empire, Constantinople (Istanbul).

They failed. It took 8 months of bitter fighting and masses of casualties on both sides for the Ottoman Empire to win their victory. The attempt was abandoned and the allied forces withdrawn to Egypt, but not before over nearly 200,000 men were either killed wounded or taken prisoner.

Gallipoli casualties (not including illness)
Dead Wounded POW Total
Ottoman
Empire
56,643 97,007 11,178 164,828
United Kingdom 34,072 78,520 7,654 120,246
France 9,798 17,371 27,169
Australia 8,709 19,441 28,150
New Zealand 2,721 4,752 7,473
British India 1,358 3,421 4,779
Newfoundland 49 93 142
Total Allies 56,707 123,598 7,654 187,959

The Gallipoli Campaign, also known as the Dardanelles Campaign, the Battle of Gallipoli, or the Battle of Çanakkale

Vagrant for frontend development

As a frontend developer you’ll often have to set up working environments for the websites you’re working on. It’s not too hard to set up a MAMP stack of Apache,  PHP , MySQL etc on a machine, but sometimes you’ll have different requirements for different projects. For instance one website might require PHP 5.6 on nginx and another 5.3 on Apache.

You could try setting up configurable environments and switch between them, but are you 100% sure that the environment you’re running is identical to the production server it will need to run on when you’ve finished?

What you need is a way of your team to easily create and work on a specifically configured environment that is identical, quick and easy. That’s where vagrant comes in.

Vagrant is a tool for building and managing virtual machine environments in a single workflow. With an easy-to-use workflow and focus on automation, Vagrant lowers development environment setup time, increases production parity, and makes the “works on my machine” excuse a relic of the past.

Who benefits?

  • Developers
    Vagrant will isolate dependencies and their configuration within a single disposable, consistent environment, without sacrificing any of the tools you are used to working with (editors, browsers, debuggers, etc.)
  • DevOps
    Vagrant gives you a disposable environment and consistent workflow for developing and testing infrastructure management scripts. You can quickly test things like shell scripts, Chef cookbooks, Puppet modules, and more using local virtualization such as VirtualBox or VMware.
  • Designers
    Vagrant will automatically set everything up that is required for that web app in order for you to focus on doing what you do best: design.

Installing Magento 2 on Red Hat Openshift

Openshift is brilliant. Mostly because it’s free, but also for it’s more advanced features like being able to deploy your website simply pushing your master branch from git.

Red hat Openshift

Getting back to it being free, there are obviously limitations in the scope of the gears (I think of gears as servers). In trying to setup Magento 2 I came up to those limitations. According to How to Install Magento 2 on Openshift;

  • Magento 2 requires PHP 5.5+ and OpenShift currently has official cartridges of up to PHP 5.4
  • Magento 2 requires shit loads of space, and OpenShift free gears are limited to 1GB
  • Magento 2 requires MySQL 5.6+ and OpenShift currently supports up to MySQL 5.5 official cartridges

After following this excellent set of instructions, we managed to launch a full fledged Magento 2 store, hosted for free here. All you’ll need is a free openshift account, and the OpenShift Client Tools.


# Create a new OpenShift app with NGINX as web server
# Replace "123" by your actual api key & secrets and
# $myapp with your preferred app name.

# Write down the “Git Remote” ssh url that will be shown once the command finishes.
rhc create-app $myapp http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-nginx API_KEY=123 API_SECRET=123

# Install PHP 5.6 cartridge into the app
rhc cartridge add -a $myapp http://cartreflect-claytondev.rhcloud.com/github/boekkooi/openshift-cartridge-php

# Install mysql-5.5 cartridge into the app
rhc cartridge add -a $myapp mysql-5.5

# Clone our repository and push it to your app, we will take care of everything for you.
git clone https://github.com/javilumbrales/magento2-openshift
cd magento2-openshift

# Remember to replace $myapp by your app’s name and YOUR_GIT_REMOTE by your actual repository url, the one that you got when you created the app (ie. should be something like ssh://*******@magento2-mage2.rhcloud.com/~/git/yourappname.git/)
git remote add $myapp YOUR_GIT_REMOTE
git push $myapp master -f

Magento is hard

Free open source ecommerce platform helping you sell online

I’m not going to lie, Magento is hard. The codebase contains 30,000 files. It’s like WordPress’s much more sophisticated older sibling. It’s modular and designed to be chopped up and hacked so long as that is done in the right way. There are plenty of wrong ways.

If you need to run a website on your local mac, you’re going to need to follow read “Installing Nginx in Mac OS X Maverick With Homebrew“.

That should give you what you need to then attempt to install Magneto for the first time. To be fair, that part is quite easy. It’s when you lift up the hood and catch sight of all those olden days cogs and whirring moving parts that you realise that there’s a lot more to Magento than a shopping cart.