Principles of Aggressive Programming

ArchitectureWhile much has been said and entire volumes have been written regarding Defensive Programming techniques, few authors have broached the topic of Aggressive Programming.  Whereas Defensive Programming finds its ideal environment in high-security and mission-critical environments, Aggressive Programming is an excellent technique for new research-focused projects or initial prototypes in iterative system development.
Continue reading

RSS Twitter LinkedIn Facebook Email

Using Wget with Cookies

CookiesOne of the powerful tools available in most Linux distributions is the Wget command line utility.  With a simply one-line command, the tool can download files from the web and save them to the local disk.  While this capability might initially seem only moderately useful (Why not just use Chrome or Firefox to download the file?) – most Linux servers are managed remotely through a tool called SSH.  SSH normally offers only a command line interface without any graphical components, so all the server maintenance needs to be done through the command line.  Wget is used constantly throughout the installation process to download files from the Internet and install new programs on the system.
Continue reading

RSS Twitter LinkedIn Facebook Email

Next in UI Design: No UI

ButlerAt a presentation yesterday on new trends in UI Design, designer Drew Davidson provided a surprising maxim: the best UI is no UI.  As computers advance to the point of being able to predict exactly what we want to do, instead of providing an interface for our input, the ideal system would simply read our mind and provide what we want or need.
Continue reading

RSS Twitter LinkedIn Facebook Email

Windows Version Control: Git vs SVN

Version ControlFor developers evaluating version control software, there are realistically three primary contenders: Git, Mercurial and SVN.  Git and Mercurial offer distributed version control (DVCS), while Subversion is one of the leaders in centralized version control.  Between Git and Mercurial, Git is currently leading the way as the version control system for the Linux platform and GitHub, one of the most popular online software repositories for new open source projects.
Continue reading

RSS Twitter LinkedIn Facebook Email

Why Salt is Critical for Data Encryption

SecurityFrom banking and finance to healthcare, as highly sensitive database applications have migrated to the Internet, it is absolutely vital to ensure that their data is properly protected. Sensitive data that is stolen can be used to not only damage the reputation of the originating company, but also wreak havoc on the personal lives of individuals. As has been seen from the massive-scale data breaches that have recently proliferated the news, from Target to Home Depot, even multi-billion dollar companies that follow multitudes of data security protocols cannot be kept safe from breeches. With swarms of bots searching the web for vulnerabilities in any and every web application and publicly accessible machine, it is vital to follow hold all sensitive data to a high level of security.
Continue reading

RSS Twitter LinkedIn Facebook Email

Creating a GUI with Powershell

PowerShellThe Powershell scripting language helps extend Windows batch files by providing a fully functional programming language and the capability to natively run .Net code.  By leveraging the .Net Windows Forms DLLs, Powershell can rise to even greater heights, leaving the command prompt and giving users a graphical interface.
Continue reading

RSS Twitter LinkedIn Facebook Email

Magento – Additional Properties in the Product Listing

MagentoThe Magento E-commerce platform is a highly customizable online store, with the full source code provided for advanced manipulation and coding.  With the flexibility, however, often comes the challenge of performance optimization.  For example, the default product listing screens only select a subset of the fields from the database that are directly necessary to render the listing.  In the event that the product listing needs to be customized to pull additional information from the database, the underlying PHP code needs to be updated as well.
Continue reading

RSS Twitter LinkedIn Facebook Email

Node.js – EJS Function in Module

Node.jsThe EJS templating engine is one of the more effective ways to render HTML from Node / Express.js.  With an HTML syntax and simple tags for including server-side JavaScript, EJS combines the best of both HTML and Node.  While other templating engines such as Handlebars.js can also work with HTML, the EJS format is particularly flexible by enabling the full capability of the JavaScript interpreter in the template body.
Continue reading

RSS Twitter LinkedIn Facebook Email

Multiple SSL Certificates on One IP Address

SSL SecurityWhether due to network configuration requirements or load-balancing, configuring multiple SSL sites on a single IP address can often provide more flexibility and ease of maintenance.  The challenge with the implementation is that older browsers can only interact with one SSL site per IP address on port 443.  Addressing this problem are two primary solutions: port redirects and virtual directories.
Continue reading

RSS Twitter LinkedIn Facebook Email

C# Design Patterns: #7 – Bridge

BridgeThe Bridge pattern is ideal for building cross-platform applications.  By completely separating the class interface from the implementation, programs can interchange the actual implementation of a particular subsystem without requiring any changes in other parts of the code.
Continue reading

RSS Twitter LinkedIn Facebook Email