Software Development Methodologies

Much like various areas of study, or activities, there are methodologies in software development that a good developer should be familiar with. These methodologies describe a process or framework for planning, creating, testing, deploying, and maintaining an information system.

Methodologies I relate to: 

Agile Methodology

Agile promotes adaptive planning, evolutionary development, early delivery, continuous improvement and encourages rapid and flexible response to change.

Described in the Agile Manifesto as:

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over Processes and tools
Working software over Comprehensive documentation
Customer collaboration over Contract negotiation
Responding to change over Following a plan

That is, while there is value in the items on the right, we value the items on the left more.[1]

Scrum Methodology
A subset of Agile Methodology:

“Scrum emphasizes the idea of “empirical process control.” That is, Scrum uses the real-world progress of a project — not a best guess or uninformed forecast — to plan and schedule releases. In Scrum, projects are divided into succinct work cadences, known as sprints, which are typically one week, two weeks, or three weeks in duration. At the end of each sprint, stakeholders and team members meet to assess the progress of a project and plan its next steps. This allows a project’s direction to be adjusted or reoriented based on completed work, not speculation or predictions.” [2]



References: has a great reference that describes the principles, strengths, weaknesses, and use-cases for the Waterfall Model, Prototyping, Incremental, Spiral, and Rapid Application Development (RAD).

[1] Beck, Kent; et al. (2001). “Manifesto for Agile Software Development”. Agile Alliance.

[2] What’s Unique about Scrum?

GNS3 – Networking

I finally found time to install and mess with GNS3 and I’m so happy that I did.  Whether you’re studying for certifications or a professional network engineer GNS3 is definitely a must have tool.  GNS3 also has a great community following and here’s an example.  Mark Blackwell posted multiple how-to video’s showing various features of GNS3 and how to configure them in labs.  Features such as Static Routing for Beginners, NAT Port Forwarding, IOS Firewall, Dynamic Access List,  Address Resolution Protocol ARP Concepts with GNS3, and the list goes on.

GNS3 is a Graphical Network Simulator that allows emulation of complex networks.  It allows you to run a Cisco IOS in a virtual environment on your computer. Dynamips is the core program that allows IOS emulation. GNS3 runs on top of Dynamips to create a more user friendly, graphical environment.

GNS3 is an alternative or complementary software tool to using real computer labs for computer network engineers, administrators and people studying for certifications such as Cisco CCNACCNP and CCIE as well as Juniper JNCIA, JNCIS and JNCIE. It can also be used to experiment features or to check configurations that need to be deployed later on real devices. GNS3 also includes other features like connection of the virtual network to real ones or packet captures using Wireshark.



Introduction to GNS3

GNS3 Wikipedia

Multi-Room Audio – Project – Diagnosis

Marantz SR6005

I found myself sitting on the floor tangled in a mess of wires this weekend.

The project was a multi-room audio and video system. The key components consisted of Marantz, Polk Audio, Atlantic Technology, Aeros IR/RF Remote Control, Sony, and a Samsung 72in TV.

This particular system has a Marantz SR6005 receive set with two zones. Zone 1 consists of a Samsung 72in HL-T7288W TV with Polk Audio floor standing Monitor 70 Series II front speakers and Bose Acoustimass rears. Zone 2 consists of two indoor (located in Kitchen) Polk Audio in-ceiling speakers and two outdoor Polk Audio speakers with independent wall-mounted volume control pads.

The problem was that the homeowner could no longer listen to music through their Zone 2 Kitchen and Outdoor speakers. They had an Aeros MX-850 programmable infrared remote control that was configured to power on Zone 2 and play music through the USB/iPod input.

During the diagnosis I confirmed that I could manually power on Zone 2 and play music via an iPod through the SR6005’s USB interface. This lead me to believe that the Aero MX-850 programmable remote control needed to be re-programmed with the correct macros to account for the receiver that was switched out and replaced with the current Marantz SR6005.  A macro is a sequence of commands that are issued to the receiver in a particular order. The macro’s programmed in the remote control had to be updated.

If this issue occurs in the future the homeowner needs to know how to manually operate their system’s Zones independent from the Aeros remote control. To help educate the homeowner and for future convenience I created visual instructions on how to manually operate Zone1 and Zone2.

Marantz SR6005 Panel

Marantz SR6005 Backside

Marantz SR6005 :

Samsung 72in :

Polk Audio :

Aeros IR/RF Remote Control

Wireless Printer – Networking – Diagnosis

Having issues installing your wireless printer? When installing a wireless printer there are a number of reasons why it might not function correctly. There could be issues on the Printer, on the Router (network), or even on the Computer. Also keep in mind that there is more than one type of “wireless” printing. For example, Bluetooth-enabled, Infrared, Direct Print, Apple AirPrint, ePrint and other manufacturer specific printing. So when reading this post keep in mind that I’m just trying to provide troubleshooting tips for common problems that you might run into when trying to configure your wireless or Wi-Fi printer.

Here are some tips and things to consider:

Printer Side

  • First things first, make sure the printer is powering on correctly. Check the power cable and ensure it powers up with no issues or warnings.
  • If the printer comes with software, install it and go through whatever configuration or installation wizards it provides. Sometimes this is the easiest solution.
  • Some wireless printers need to be configured via USB. Try hardwiring the printer to your PC first and seeing if you can connect and configure it successfully. Then following the manufactures instructions on how to configure wireless functionality.
  • For wireless printing ensure that the Printer is on the same network as the computer you’re trying to print from. Within the printers wireless or network settings check to ensure the IP address is that of your internal network. (i.e. PC is at and Printer is at and not some other address) If the printer address is different reconnect it to the correct network via manual configuration or through the manufacturers assisted setup wizard.
  • Ensure that your wireless printer is powered on, the wireless functionality is enabled and running, check to ensure the network is the correct network, if everything appears to be configured and enabled try restarting components of the wireless network. Turn off the router, turn off your pc, turn off your printer, and then turn back on the router, turn back on your pc, and turn back on your printer in that order.


Router (Network) Side

  • Ensure that the Printer is on the same network as the computer you’re trying to print from.
  • Set a static IP for the printer. Within your routers DHCP settings configure a fixed local IP address to the printers MAC address. This will ensure that the printer’s IP address doesn’t change even after the lease expires.
  • AP Isolation. Make sure your router’s AP Isolation feature is disabled. AP Isolation isolates all wireless clients and wireless devices on your network from each other. This means your printer could be connected to your wireless network successfully, but cannot communicate with other wireless devices on your network.
  • Check your routers UPnP settings. UPnP helps devices on your network automatically discover and communicate with each other. Please be aware that there are a number of UPnP vulnerabilities and that enabling UPnP might make your router vulnerable.


Computer Side

  • Make sure the Computer you’re trying to print from is on the same network as the printer.
  • Check your firewall settings to ensure that the computer and wireless printer can communicate.
  • On a PC: Install the printer via the “Devices and Printers” option in the Control Panel. On a Mac: Install the printer by selecting “Printers & Scanners” in the System Preferences. If you configured a static IP for the printer you can manually enter it.



Make sure the printer is successfully connected to your wireless network. Make sure the printer and the computer you’re trying to print from are on the same network and the printers IP address is correct. If your printer says its connected successfully but the computers don’t recognize it and you cannot ping the printer from your computer then make sure your router firewall, AP Isolation, UPnP, and computer firewalls are all configured to allow communication to and from each device. There are lots of resources and references available on the Internet, start googling.



Why Use Static Addresses for Printers?

What is AP Isolation?

What is Universal Plug and Play (UPnP)

How to Connect A Wireless Printer,2817,2411967,00.asp

Raspberry Pi

I recently purchased a Raspberry Pi Model B from

Video @

The Raspberry Pi is a low-cost ARM GNU/Linux box which was developed in the UK with the intention of stimulating and teaching of basic computer science in schools.  “It enables people to exploring computing, and to learn how to program in languages like Scratch or Python.  It also has the ability to interact with the outside world, and has been used in a wide array of digital maker projects, from music machines and parent detectors to weather stations and tweeting birdhouses with infra-red cameras.”

Check back for projects I’ve developed using the Raspberry Pi



I’ve been using HTML5 in some of my coding and I’d like to share what I’ve learned.  I plan to create some posts about HTML5 and the new elements and aspects it brings to the table for web developers.  Over the next few days I’ll be posting about new features and creating some example code.

Features I’d like to cover:

  • Essentials of HTML5
  • Drawing with the Canvas
  • Drag and Drop
  • Web Form Controls
  • Browser History
  • Video and Audio
  • Web Storage

If you have any questions, recommendations, or concerns please reach out to me.  Thanks.

« Previous Page