Software Sagacity

Why Node.js Is the Ideal Language for High-Performance Web Applications

NodeJSEvery ten or so years, a programming language emerges that changes the face of software development.  From C++ in the 80’s, to Java in the 90’s, to C# .Net in the 2000’s, each iteration transforms how people work and develop software systems.  Node.js is that language of the 2010’s, combining highly asynchronous development with a wide breadth of plugins to create 50%+ reductions in development time.  Its single-threaded execution, high-level of configurability, and large plugin ecosystem make it the ideal language for high-performance web application development.
Continue reading

RSS Twitter LinkedIn Facebook Email

Node.js Video Chat Tutorial

Video ChatThe video chat revolution is bringing application interactivity to new frontiers.  Whether used to provide real-time communication, improve customer service, or give technical training, the prevalence of high-quality video cameras on smart phones and high-speed Internet access makes video chat applications easy to both build and deploy.
Continue reading

RSS Twitter LinkedIn Facebook Email

Cross-domain Node.js Function Calls

Cross DomainNode.js and AJAX provide a full spectrum of development capabilities that rival the desktop environment. From image editing software to 3D interactive games, many desktop apps have successfully moved from the local machine to the browser. When programming these applications, however, developers often need to work around browser security restrictions, the most frequently encountered limitation being cross-domain function call prevention.
Continue reading

RSS Twitter LinkedIn Facebook Email

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