Welcome!

A Software Architect Living in a Networking World

Joe Pruitt

Subscribe to Joe Pruitt: eMailAlertsEmail Alerts
Get Joe Pruitt via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Latest Blogs from Joe Pruitt
To embark on iControl week in DevCentral's Programmability Month, I figured I'd take a little time to talk about iControl's past, present, and future to give you a glimpse at how we got to where we are and what you can expect in the years to come.  Last Month, iControl...
One of the great benefits of utilizing a language like Node.js is the wide assortment of 3rd party modules that are at your disposal. From calculating the validity of credit card numbers, to managing network connections, the Node Package Manager (npm) repository has hundreds of thousa...
With the web services that are popping from your corporate networks to the wild-internet, accessing HTTP based resources is becoming a critical component to any and all application development.  One of the more popular API application design styles is Representational State Transfer  (...
In my previous articles on the history of DevOps, I outlined the following pillars of the DevOps methodology. The fourth pillar is Collaboration. Collaboration is defined as: "working with others to do a task and to achieve shared goals." In traditional separated organizations, t...
As any one who has created a software system can tell you, after some point you get to a point in time where putting all your code in one big location becomes unmanageable and leads to maintenance issues.  The logical first step is to try to separate code that is related into smaller d...
JavaScript is primarily a client-based dynamic scripting language most commonly used within web browsers as client-side scripts to interact with the user, browser, and communicate asynchronously to servers. If you have been part of any web-based development, odds are you have worked...
In my previous article on the history of DevOps, I outlined the following pillars of the DevOps methodology Management Integration Communication and information sharing Collaboration Automation Measurement The Third Pillar The third pillar in the DevOps stack is Communication (and Inf...
Node.js is an open source runtime environment for server-side and network based applications. Node.js contains all the components needed to build a functioning website. But, you need to think of Node.js as a big tool box. As with any other art form, going to the tool box over and ov...
The ability to create a class and then extend it is the basis for object-oriented programming.  Inheritance in object-oriented programming is when an object, or class, is derived from another object using the same core implementation.  Inheritance in JavaScript is a little d...
A variable is a storage location paired with an associated name, which contains the information known as a value.  Nearly every programming language under the sun supports variables in some form or another. Within the context of a single piece of code, the use of variables are st...
JavaScript, and thus Node.js, is at it's heart a functional programming language.  Functions are fully typed objects that can be modified, extended, and used as data objects.  A function is a block of code designed to perform a specific task and is much the same as a pro...
In my previous article on the history of DevOps, I outlined the following pillars of the DevOps methodology Management Integration Communication and information sharing Collaboration Automation Measurement The First Pillar In this article I'll touch on the first pillar o...
Node.js has it's basis in asynchronous programming. Also known as Event-driven programming, asynchronous development gives the programmer a way to write a program in such a way as to not block the progress of the program while waiting for a long-lived task to complete.  Input/Output pr...
When developing new software, a good debugging tool is essential to making sure your code is functioning as expected.  The console is most often used as a poor-mans debugging system by including extra code in your script that prints out status to the hosted console.  Is some ...
With synchronous programming, when you make a call to function, your code is blocked until the method you are calling has processed it's work and returned it's status to you.  A good example is the "C" fopen and fread commands.FILE *pFile = fopen("file.txt", "r");  // Wait...char buf[1...
Core JavaScript uses Unicode friendly interfaces for storing string data but when dealing with network protocols or file I/O that are using raw data, it's necessary to handle that data as binary streams of data.  Node has several options for creating, consuming, and interactin...
Back in 2008, I started a series of articles on Networking basics titled the "Networking ABC’s" in which I set out to document a networking Term for each letter of the alphabet.  After some good feedback, I followed that up with The "Social Media ABC’s&q...
Yesterday, NIST released information on a new network exploitable vulnerability in the GNU Bash shell as demonstrated by vectors involving parts of OpenSSH sshd, the mod_cgi, and mod_cgid modules in the Apache HTTP Server, scripts executed by DHCP clients, and other situations where se...
iControl isn’t just SOAP anymore… No, iControl isn’t getting lazy.   While taking it easy is an important part of life, I’m talking about the other kind of REST.   REST, or “REpresentational State Transfer” for you technically inclined, is a style of architectura...
iControl isn’t just SOAP anymore… No, iControl isn’t getting lazy.   While taking it easy is an important part of life, I’m talking about the other kind of REST.   REST, or “REpresentational State Transfer” for you technically inclined, is a style of architectura...
SyntaxHighlighter.all(); iControl isn’t just SOAP anymore… No, iControl isn’t getting lazy.   While taking it easy is an important part of life, I’m talking about the other kind of REST.   REST, or “REpresentational State Transfer&...
SyntaxHighlighter.all(); iControl isn’t just SOAP anymore… No, iControl isn’t getting lazy.   While taking it easy is an important part of life, I’m talking about the other kind of REST.   REST, or “REpresentational State Transfer&...
Note: As of 11.4, WebAccelerator is now a part of BIG-IP Application Acceleration Manager. This is article nine of ten in a series on DevCentral’s implementation of WebAccelerator. Join Colin Walker and product manager Dawn Parzych as they discuss the ins and outs of WebAccelerat...
Note: As of 11.4, WebAccelerator is now a part of BIG-IP Application Acceleration Manager. This is article nine of ten in a series on DevCentral’s implementation of WebAccelerator. Join Colin Walker and product manager Dawn Parzych as they discuss the ins and outs of WebAccelerat...
Note: As of 11.4, WebAccelerator is now a part of BIG-IP Application Acceleration Manager. This is article nine of ten in a series on DevCentral’s implementation of WebAccelerator. Join Colin Walker and product manager Dawn Parzych as they discuss the ins and outs of WebAccelerat...
Note: As of 11.4, WebAccelerator is now a part of BIG-IP Application Acceleration Manager. This is article nine of ten in a series on DevCentral’s implementation of WebAccelerator. Join Colin Walker and product manager Dawn Parzych as they discuss the ins and outs of WebAccelerat...
DevCentral is a lot different now from nearly 8 years since when it was a website on a desktop under my desk.  I was a software architect in the Product Development organization and I took on a side project with Jeff Browning to build a platform that software developers could coll...
DevCentral is a lot different now from nearly 8 years since when it was a website on a desktop under my desk.  I was a software architect in the Product Development organization and I took on a side project with Jeff Browning to build a platform that software developers could coll...
DevCentral is a lot different now from nearly 8 years since when it was a website on a desktop under my desk.  I was a software architect in the Product Development organization and I took on a side project with Jeff Browning to build a platform that software developers could coll...
DevCentral is a lot different now from nearly 8 years since when it was a website on a desktop under my desk.  I was a software architect in the Product Development organization and I took on a side project with Jeff Browning to build a platform that software developers could coll...
In September, Cisco announced that it was ceasing development and pulling back on sales of its Application Control Engine (ACE) load balancing modules.  Customers of Cisco’s ACE product line will now have to look for a replacement product to solve their load balancing and a...
In September, Cisco announced that it was ceasing development and pulling back on sales of its Application Control Engine (ACE) load balancing modules.  Customers of Cisco’s ACE product line will now have to look for a replacement product to solve their load balancing and a...
In September, Cisco announced that it was ceasing development and pulling back on sales of its Application Control Engine (ACE) load balancing modules.  Customers of Cisco’s ACE product line will now have to look for a replacement product to solve their load balancing and a...
In September, Cisco announced that it was ceasing development and pulling back on sales of its Application Control Engine (ACE) load balancing modules.  Customers of Cisco’s ACE product line will now have to look for a replacement product to solve their load balancing and a...
The Problem Application performance testing is a tricky beast.  In the good old days, you would write some code, plop it on a web server and expose it’s IP address to the world and you were ready to roll.  Testing application performance was relatively simple.  You woul...
The Problem Application performance testing is a tricky beast.  In the good old days, you would write some code, plop it on a web server and expose it’s IP address to the world and you were ready to roll.  Testing application performance was relatively simple.  You woul...
The Problem Application performance testing is a tricky beast.  In the good old days, you would write some code, plop it on a web server and expose it’s IP address to the world and you were ready to roll.  Testing application performance was relatively simple.  You woul...
The Problem Application performance testing is a tricky beast.  In the good old days, you would write some code, plop it on a web server and expose it’s IP address to the world and you were ready to roll.  Testing application performance was relatively simple.  You woul...
Articles in this series: Monitoring Your Network with PRTG - Overview, Installation, and Configuration Monitoring Your Network with PRTG - Custom Sensors Part 1 Monitoring Your Network with PRTG - Custom Sensors Part 2 Monitoring Your Network with PRTG - Custom Notifications In the ...
Articles in this series: Monitoring Your Network with PRTG - Overview, Installation, and Configuration Monitoring Your Network with PRTG - Custom Sensors Part 1 Monitoring Your Network with PRTG - Custom Sensors Part 2 Monitoring Your Network with PRTG - Custom Notifications In the ...