Zelda Outlands Walkthough


The “Legend of Zelda – Outlands” is a hack of the original 8-bit “Legend of Zelda” game for the NES.  The ROM can be downloaded here. The game is also available in cartridge format on Ebay and the like, however the price is prohibitive.

Note that this re-work of the original LOZ game is notoriously difficult. I was, however, able to dig up walkthrough in word doc format. I am posting it below for posterity, and am adding some formatting to make it easy to read.


The Thunderbird, a horrible guardian encountered by Link in the Great Palace of Zelda 2, has somehow survived and is out for revenge. Having lost the Triforce of Courage at the hands of its adversary, it has stolen the Triforce of Power and flown to the vast neighbor of Hyrule, the Outlands.

In a world similar to yet completely different from Zelda 1, Link must track down the captured Tetrarch Fairies and, with their help, break open Ganon’s secret golden vault where the creature now resides. Link will face dangers and traps unlike anything Ganon had ever devised. His adventure will span 18 new dungeons hidden within a completely unfamiliar terrain.

Zelda herself will make appearances to help the hero, providing items and sage advice crucial to the new journey. Link has become very skilled in his familiar world of Hyrule, but skill alone is his only advantage — the land of the Outlands is a beautiful yet deadly world bearing no resemblance to his own cherished kingdom.


Map Of Overworld – Click for Full Size




Your start location is on the west end of the map, (at A6) and you don’t have any weapon with you. From here, go right three screens, down once, and right once. you will arrive at screen E7 and enter Level 1 here.



Level 1 : Amicus Palace

Item to get : Sword
Heart Container : #1
Tetrach Fairy:1

As soon as you enter, go right 2 screens and you will get your sword from Zelda. Head back left and kill the easy blue Peahats for 5 rupees and go up. Here, Kill all Gibdos to get the key and unlock the door there. Go up, right, up, and right 4 screens. Kill all the Peahats and then push the far left block to open the doors.

Go right again and kill the Peahats, then grab the key and head up to next room. Here, you will get a compass from Zelda. from here, Go down 2 screens and you’ll face Boomerang Moblins that will attack you with boomerang, and they are deadly. Kill them for the map. From here, go up, left, left, down, and left 5 screens.

Here, go left and up 2 screens. Kill all the Deelers here and head up again. Destroy the Cages and note the one difference in details in this room. There’s a block on the right side where a gap is on the left. Push this block down and go right once. Kill the Moblins for another key and go right again. Note the Wizzrobe Quartet in here, focused on a ball in their center. This will be important later.

Make your way back to the room that had the Deelers and go left by unlocking the door. Kill or just avoid the Blue Moblins and go left. Ready for tough battle, Basilisk triplets!

To defeat them, feed them with a bomb and quickly place a second to kill it. You can slash it after stun it with bomb to get four extra bombs. Once you’re done head down and kill the Peahats, then push one of the block to get the Heart Container #1.

Then, go up 2 screens and grab the Tetrach Fairy #1. Before leaving this dungeon, check your map and you’ll notice a few rooms that you haven’t explored yet. We’ll be come back here later… So leave this dungeon.

Continue reading

Puppet: Convert a Variable to Lower Case



This is going to be a very simple example of how to convert a variable to all lowercase inside a Puppet module.

If you look, which I am sure that you have already…there seems to be a lot of documentation around how to use the Ruby “downcase” function, but not much of it is easy to read if you are not very familiar with Ruby.

In this example, I create a very simple Puppet module and show how to use the downcase function.

class test-module (
$myname = "TEST",

$myname_downcase = downcase($myname)

file { "/var/tmp/$myname_downcase":
ensure => present,
content => "This is a Test File for $myname_downcase",

In this example I have a Variable called $myname. I am setting $myname to TEST inside the init.pp.

Note however you would probably never do this. More than likely you would do one of the following:

  1. Set $myname so that it is an external environmental variable
  2. Set $myname to NULL and override in Foreman.

The meat in this potato is this line here, where we take the $myname variable and munge it into a new variable called $myname_downcase.

$myname_downcase = downcase($myname)


Running CloudForms and Puppet Together


In this instance we are trying to run Red Hat Cloudforms, also known as Manage IQ, and Puppet together on the same RHEL 6 host.

Our goal here is to push out some configuration to the Cloudforms appliances via Puppet. However we ran into issues as the version of Ruby/Ruby Gems used by Cloudforms is different than the version used by Puppet and they are stepping on each other a bit.

Here is the error we see when attempting to run Puppet


# puppet agent -t

/opt/rh/ruby200/root/usr/share/gems/gems/json-1.8.2/lib/json/ext/parser.so: [BUG] Segmentation fault

ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

Aborted (core dumped)


As a workaround we add this code to /usr/bin/puppet.


ENV.delete x

end if $0.match(/\A#{‘/usr/bin’}/)



We add this right below


By no means is this the best way to work around this issue, however it does work and will get you up and running.


Foreman: Advanced integration with Red Hat Enterprise Virtualization Manager (RHEV-M) – Part 1 of 2

Interesting read for those who want to integrate Foreman into their RHEV environment.  I’m still working on figuring out the exact benefits of doing so, but this this seems like its the go-to guide to reference.

Source: Advanced integration with Red Hat Enterprise Virtualization Manager (RHEV-M) – Part 1 of 2

How to Add Standalone Puppet Agents to Foreman

This example will walk us through the process of adding a standalone Puppet host to Foreman for the purpose of managing the host through Puppet. In this instance we are going to create a standalone-hostgroup for the server.

Note that the Foreman server must be able listening on ports 8140, and 6163 (according to Puppet documentation). My RHEL7 Foreman host was listening on these ports, but the firewall was blocking any inbound connections. I corrected this with the commands shown below.

First I needed to determine my default firewalld zone.

# firewall-cmd –get-default-zone

Then I ran the commands below to punch a hole in the firewall to allow the required traffic. I also reloaded firewald.

# firewall-cmd –permanent –zone=public –add-port=8140/tcp
# firewall-cmd –permanent –zone=public –add-port=61613/tcp

On the puppet client, install the puppet agent

# yum -y install puppet

Now we add an entry for the puppet server in /etc/puppet/puppet.conf in section [agent], where <PUPPETSERVER-FQDN> is the FQDN of your Foreman Server


Now save the file.

Then on the Puppet client run the following command.

# puppet agent -t waitforcert 60

Log into Foreman WebUI.
Navigate to => “Infrastructure” => “Smart Proxies” => “Certificates”

In the list located the new puppet client and click on sign to accept the key for the new host. The host that I am adding is osd01.lab.localdomain.

NOTE: Once you have accepted the key you need to run the puppet client again (puppet agent -t)  on the client. Otherwise the client will not appear in on the “All hosts” page


Now Lets create a new Host Group to use for this server. Come on, its will be a blast.

Navigate to => “Configure” => “Host groups“. Select the green “New Host Group” button and then add your host group. Here I have added a host group called “Standalone Hosts”. See below.


Now we need to add our new client to this new host group. We do so by navigating to => “Hosts” => “All hosts“. Then select “Edit” to the left of the host.


Click “Submit” an the bottom of the page and you are good to go.