An Intelligent Approach to Image Classification By Color
Machine learning sounds like a fancy term. Depending on which recent sci-fi film you may have watched, it may even invoke a sense of fear. However, it's actually a powerful set of algorithms and techniques for allowing a computer program to intelligentl..
Solving Mazes with AI Pathfinding Techniques: A* vs Tremaux
Imagine that an artificially intelligent robot approaches a valley. Looking down the cliff into the valley, the robots sees a large, man-made, labyrinth structure. The structure has an entrance, an exit, and is surrounded by water. The robot can, of course,..
Your First Node.js Web Application in 15 Easy Steps
This tutorial takes you thr..
Pushing the Limits of Self-Programming Artificial Intelligence
Is it possible for a computer program to write its own programs? In the previous article this question was answered with the creation of a program, using artificial intelligence, that could write its own programs to output "Hello World" and other ..
Using Artificial Intelligence to Write Self-Modifying/Improving Programs
Is it possible for a computer program to write its own programs? Could human software developers be replaced one day by the very computers that they master? Just like the farmer, the assembly line worker, and the telephone operator, could software developer..
MVC Forms Authentication and Storing Data in the Cookie
Forms authentication is a common feature in many C# MVC .NET web applications. There are a variety of methods for implementing forms authentication in MVC .NET. A key part for each, is the process of storing user specific details that are carried throughout..
Creating Windows 8 Live Tile Notifications with WinRT C# .NET
Reading POST data in Node.js Express, Easy Manager Method
A common task of many web applications is the ability to submit a form and read the POST data sent back to the server. Node.js with Express offers a fairly simple method for reading form POST data by simply referring to req.body.nameOfField. However, when d..
Creating Your First Node.js App in Windows with Heroku Hosting
Many Windows developers are currently developing web applications with the most popular Microsoft technology stack of C# ASP .NET. As technologies evolve, and especially with the advent of mobile platforms and alternative operating systems, new programming ..
Loading C# MVC .NET Data Annotation Attributes From XML, Form Validation
Validating web forms is a common task of almost any C# MVC ASP .NET web application. Typically, form field validation is implemented in MVC web applications through the use of .NET data annotations on class member fields. While data annotations..
Moving in and Out of SSL HTTPS in C# MVC ASP .NET
Securing pages of a web application is an important step for many production-ready C# ASP .NET MVC web applications, especially those dealing with security-sensitive or personal data, such as passwords or financial information. The..
Creating A jQuery Modal Confirmation Dialog When Submitting a Form
Accepting input from users through the use of HTML forms is a common task in almost any web application. When a web application form is lengthy or detailed in nature, it may be a good idea to display a confirmation of the values the user entere..
Smart Page - an MVC C# .NET Pager Control for Search Results
Searchis an important part for many C# .NET web applications, comprising of both the display of search results and a navigational control for scrolling through the pages of results. While traditional WebForms in C# ASP .NET included a variety of..
MongoDb Enterprise Design with C# .NET, the Repository Pattern, and NoSQL
There is a growing change in the software development world around considering the choice of a NoSQL database platform over the more typical SQL database. SQL databases are centered around the idea of relational tables. Data is normalized and separate..
Creating a Slick Login Form in MVC3 C# ASP .NET with Attribute Security, CSS3
A common task for many MVC3 C# ASP .NET web applications is the creation of a login form. Along with the common login form comes an array of required functionality, including login validation, authentication, storing of credentials, and of course, sec..
Loading Web Navigation from XML with MVC3 Partial Views, C# .NET
Introduction The navigation menu is a common control on almost every MVC3 C# ASP .NET web site, containing sets of links for navigating to various portions of the web site. Traditionally, menu navigation links are statically embedded within an MVC3 control or directly within the HTML of a web page..
Introduction Although HTML5's formal specification is still under development, the technology is already growing in popularity. HTML5, as supported by many popular web browsers, already brings together a set of client-side technologies for producing highly interactive and responsive applications. ..
Remote Debugging with Pastebin and Automatic Logging of Errors
Introduction Debugging software applications typically occurs within the context of an IDE (integrated development environment), such as Eclipse, XCode, Visual Studio, etc. This allows developers to step line by line through sections of code, analyzing variables, and tracing the stack. Occasionall..
Creating a C# .NET Jabber Chatbot that Talks on Gmail with XMPP and AIML
Introduction User interfaces for software applications can come in a variety of formats, ranging from command-line, graphical, web application, and even voice. While the most popular user interfaces include graphical and web-based applications, occasionally the need arises for an alternative inter..
Creating an ASP .NET MVC 3 User Control with a Partial View
Introduction It's common in ASP .NET Web Forms to create user controls that encompass frequently accessed user interface components. WebForms user controls can be created which allow setting of properties, customization, and placement on any aspx web form for display of content. However, with ASP ..
Consuming a C# .NET WCF Web Service from Perl / CGI
Introduction The chief argument for a web service is to provide a platform and language independent means of accessing a software API. This allows client programs, written in a variety of programming languages, to interact with the web service. Of course, web services also provide additional benef..
Creating a C# .NET External Domain Specific Language to Map a Dungeon
Fluent Interfaces in C# .NET with Expression Builder Method Chaining and RPG Games
Introduction Domain specific language (DSL) is a method of programming where variables, functions, and classes are descriptive of business-domain definitions and methodology. It allows software developers to more easily communicate with business matter experts and non-technical users, even to the ..
Generating Flying Creatures in NoSQL RavenDB with C# ASP .NET MVC Razor
Introduction C# ASP .NET web applications have grown to encompass varying degrees of complexity and enterprise-level flexibility. With the latest release of the Microsoft ASP .NET MVC Model View Controller (Release Candidate) framework, C# web applications can be designed using the fluent view tem..
Web Gardens, Web Farms, Clouds, and Session State in C# ASP .NET
Introduction The majority of C# ASP .NET web applications are often developed with the intention of running in a single web server environment. They'll often take advantage of ASP .NET's Session State to store variables and data on the server, per user. As an ASP .NET web application grows in usag..
Using Silverlight Graph Charts and WCF to Visualize Stock Dividends in C# .NET
IntroductionSilverlight is a graphical toolkit for providing advanced visual displays and animation in web pages, using C# ASP .NET. The Silverlight API contains a flexible list of graph and chart controls, used for visualizing a vast array of data. As the Silverlight graph and chart controls are ..
Using the Entity Framework Repository and UnitOfWork Pattern in C# ASP .NET
Introduction Web application data access layers have evolved over time to provide increasing flexibility and maintainability in software architecture. Often, many web applications begin by manually maintaining database connections and SQL query strings. However, as architecture designs grow, more ..
Displaying SOAP XML Messages in a Simple WCF Web Service
Introduction The Windows Communication Foundation WCF is growing in popularity and becoming the mainstream method for creating web services. While WCF can provide a powerful interoperable service, which many different programs and languages can comminute with, it becomes increasingly important to ..
Using the NHibernate Repository Pattern in C# ASP .NET
Introduction A large variety of ORM object relational mapping tools exist for use with developing C# ASP .NET web applications. Some of the more popular ORM tools include LINQ to SQL, the Entity Framework, and NHibernate. While previous articles have discussed developing web applications with LINQ..
Creating Silverlight Microsoft Bing Maps with Editable Pushpins in .NET
IntroductionA variety of software mapping development kits are available for use in C# ASP .NET web applications, including Google Maps, Mapquest, Bing, and more. However, with Microsoft's recently released Bing Maps for Silverlight and C# ASP .NET, it's become quite easy to develop a mapping web ..
Populating a DropDownList with Linquify and the Entity Framework in C# ASP .NET
Introduction Linquify is a Visual Studio add-in and business class generator for LINQ to SQL and the Entity Framework, providing quick and easy development for ASP .NET data layers. In this tutorial, we'll go through the steps of setting up a basic C# ASP .NET web application, which populates a Dr..
Creating Silverlight Web Applications with Linquify, LINQ to SQL, WCF
Introduction Linquify, our recently released Visual Studio Add-in, is a .NET business class generator for LINQ to SQL and the Entity Framework, providing quick and easy development for ASP .NET data layers. In this tutorial, we'll demonstrate some of Linquify's features by guiding you through the ..
Converting and Compiling 32-bit to 64-bit Visual Studio 2008 Projects
Introduction The average lifespan of a typical computer is about 3-5 years. Today, the majority of users are running 32-bit architecture PCs. However, as users begin upgrading to faster computers, they will be moving to the newer 64-bit platforms, requiring some software developers to port their W..
Securing PDF Files in ASP .NET with Custom HTTP Handlers
Introduction It's quite common to include PDF and other static file formats in a C# ASP .NET web application for access by the user. However, many developers overlook the fact that the built-in .NET authentication and security framework does not apply to static files, such as PDF files, Word docs,..
Managing SQL Strings in C# ASP .NET Applications
Introduction Many ASP .NET business web applications involve the usage of a database in one form or another. Depending on the architecture of the web application, database calls may exist in the user interface, business tier, or data tier. Regardless of the layer, many developers include raw SQL q..
Implementing the Repository Design Pattern in C# ASP .NET
Introduction Writing a C# ASP .NET web application which utilizes a database can create increasingly complex code. The more complex code gets, the more difficult it becomes to debug, maintain, and enhance. The Repository design pattern is a way of introducing architecture into your C# ASP .NET web..
Sending Email From a Gmail Account with C# .NET and Web Services
IntroductionSending email notifications from C# ASP .NET web applications can often become a troublesome process. Automatic emails from software may be marked as junk or spam by many ISP mail servers. This can make it difficult for users to properly receive email notifications from software produc..
Creating Artificial Life with Cellular Automata in C# .NET
IntroductionCellular automata is a model of artificial intelligence involving the creation of single-celled programmatic life forms, within a computer program. John von Neumann, the first scientist to implement cellular automata, came about the discovery while in search of a way to create self rep..
Using Neural Networks and Genetic Algorithms in C# .NET
IntroductionNeural networks are one of the methods for creating artificial intelligence in computers. They are a way of solving problems that are too difficult or complicated to solve using traditional algorithms and programmatic methods. Some believe that neural networks are the future of compute..
Looking Up Zip Codes with C# ASP .NET MVC and AJAX
IntroductionWith the release of the ASP .NET MVC (model view controller) framework for Visual Studio and .NET, many developers are considering the move to the new MVC architecture, in place of classic ASP .NET. The MVC framework for C# ASP .NET provides a loosely-coupled and robust architecture fo..
Detecting Browsers, Crawlers, and Web Bots in C# ASP .NET
IntroductionThere are a lot of different entities crawling around your web applications in the wild, including web browsers, web crawlers, web spiders, web bots, and automated scripts. Determining the difference between a regular user visiting your site and an automated web bot can help aid you wi..
Using MySQL and LINQ to SQL in C# ASP .NET
IntroductionLINQ is one of the most popular Microsoft technologies for reading and writing to SQL Server databases. LINQ to SQL builds upon LINQ technology to allow working with business objects, generated from the database tables. Tranditionally, LINQ to SQL is compatible with SQL Server database..
Fixing: DbLinq Slow MySql Queries, Linq to SQL
The following is a fix for an issue with slow queries in DbLinqwhen usingMySql. The problem causes very slow MySQL queries when using LINQ to SQL with DbLinq, and displays a list of ArgumentExceptions, thrown before the query is executed. The query can take up to 8-10 seconds to execute.Here is a ..
Redirect a Login By Role in C# ASP .NET
IntroductionRedirecting a user after login to a C# ASP .NET web application is a common feature found in most web applications. It's also quite common to have multiple types of users logging into the ASP .NET web application, differing by the type of role membership they belong to, and each requir..
Customizing Membership Role Providers and Login Control in C# .NET
IntroductionSooner or later many web sites realize they need to allow users to login to their C# ASP .NET web applications. This can be as a result of web application functionality, feature restrictions, or simply to gauge web site traffic better by keeping track of users in the .NET application. ..
Three Ways to Bind a DropDownList with LINQ and C# ASP .NET
IntroductionWith the latest release of C# ASP .NET 3.5, Visual Studio 2008, and LINQ, there is a whole new way of working with the data layer in C# ASP .NET web applications. Prior to LINQ, many developers would either generate or custom-code a data layer based upon the usage of SqlConnection, Sql..
Writing a Simple Role Playing Game with C# .NET and the State Pattern
IntroductionThe State Pattern is an interesting design pattern in that it allows us to separate out portions of code into individual related modules, or states. This pattern is particularly useful for applications which need to retain state information, such as the current phase a program is in. W..
Preventing Session Timeouts in C# ASP .NET Web Applications
IntroductionC# ASP .NET has a setting in the web.config file which allows selecting the desired session timeout. When the session timeout value expires, the currently logged in user's session is deleted and the user is directed back to the login page. The default timeout value usually hovers aroun..
Using the Iterator Pattern in C# ASP .NET
IntroductionThe Iterator design pattern provides us with a common method of enumerating a list of items or array, while hiding the details of the list's implementation. This provides a cleaner use of the array object and hides unneccessary information from the client, ultimately leading to better ..
A C# .NET Adventure Game Sim and the Strategy Pattern
IntroductionThe strategy design pattern is a useful pattern for pulling out frequently changing pieces of code and encapsulating them within individual classes. The strategy pattern allows us to reference these new classes in a loosely-coupled fashion, without directly referencing the concrete imp..
Using the Model View Controller Pattern in C# ASP .NET
IntroductionWith the release of Visual Studio 2008, Microsoft is working on including an add-on for C# ASP .NET web application developers to include the Model view Controller (MVC) design pattern within their software architecture. While one of the add-on's core purposes is to enhance URL functio..
Implementing a Database Factory Pattern in C# ASP .NET
IntroductionDesigning a C# ASP .NET web application which utilizes a database is a common and straight-forward task for developers. The web application accesses various tables, stored procedures, executes SQL script, and retrieves records. Often, developers not familiar with design patterns will u..
Using the Memento Design Pattern in C# ASP .NET
IntroductionThe Memento design pattern is a useful pattern in C# ASP .NET for saving the state of an object for retrieval at a later time. A common example of the Memento pattern would be the Undo command of various programs. With the Undo command, the current state information for the task at han..
Passing Arrays to SQL Stored Procedures with C# ASP .NET
IntroductionStored procedures provide a powerful extension to C# ASP .NET by allowing us to move large portions of data manipulation logic to the database server. Stored procedures are optimized to process data and their associated logic faster than the application layer and are therefore the pref..
Using the Microsoft Message Queue MSMQ and C# ASP .NET
IntroductionThere are several different kinds of queues available in the C# ASP .NET framework with the most popular one being the standard Queue collection object. While these collections are easy to work with and fairly robust they are still stored in memory and therefore temporary. Often, in en..
Exporting XML in a C# ASP .NET Web Application
IntroductionXML (extensible markup language) is a popular format of data for importing and exporting between different applications designed using different programming languages. Since XML uses a standardized format of data, applications can easily parse the XML data to pull out specific fields, ..
Designing Software Generics and Reflection in C# ASP .NET
IntroductionAs software becomes more complex, the ability to design a modular and re-usable architecture into your software becomes increasingly important. Using the programming concept of generics with interfaces, included in C# ASP .NET 2.0, software developers can abstract algorithms and classe..
Using the Observer Design Pattern in C# ASP .NET
IntroductionSimilar in nature to the Chain of Responsibility design pattern, the Observer pattern allows linking of several listener classes to a subject class. When a change or event occurs within the subject class, all listeners are made aware of the event and may take action. This essentially c..
Using Chain of Responsibility Design Patterns in C# ASP .NET
IntroductionA powerful design pattern geared towards handling an event is the Chain of Responsbility design pattern. This pattern helps decouple related algorithms in C# ASP .NET and can help your software become more scalable and easier to control.In general, the Chain of Responsbility design pat..
Using the Command Object Design Pattern in C# ASP .NET
IntroductionThe Command Object design pattern can be a powerful tool to use in development of C# ASP .NET web applications. The Command design pattern brings object oriented design to an otherwise non-object oriented piece of data - a command.It is common to create classes and functions which oper..
Using Microsoft Silverlight to Fade an HTML Form
IntroductionMicrosoft has recently released the beta version of Silverlight. For those unfamiliar with what Silverlight is, it is essentially a plug-in technology to create web pages and web applications that look much closer to desktop applications. It appears to combine the best of AJAX, DHTML, ..
Using the Strategy Design Pattern in C# ASP .NET
IntroductionDeveloping software can quickly become a complicated process, with lists of funtions, procedures, loops, and repetitive code. Understanding theories of design patterns and implementing them, when neccessary, can help simplify a software's design.Design patterns have been around for man..
How to Kill MySQL Sleeping Connections in C# ASP .NET
IntroductionMySQL is a free database includedwith many web hosting services on linux and Windows platforms. C# ASP .NET developers, using a MySQL database back-end, may notice an unnecessarily large list of sleeping connections that remain online in MySqlAdministrator. This can cause wasteful use ..
Connecting to a MySQL Database with C# ASP .NET
IntroductionIf you're creating a web application using C# ASP .NET, you will more than likely be using one of the three top database engines MySQL, MSSQL (Microsoft SQL Server), or Oracle to store your online data. From the developer's view, all three databases are virtually the same. You use the ..
Creating XML RSS Feeds with C# ASP .NET
IntroductionAn RSS feed is really just a fancy term for an XML file, specifically used to re-distribute web content to aggregators. The most commonly used form of an RSS feed comes from blogs, which are constantly increasing in popularity. Combine the interest in blogs with the major web browsers'..
Resetting Passwords in Active Directory with C# ASP .NET
IntroductionOne of the most common functions to perform in Active Directory from a desktop application or C# ASP .NET application is resetting user passwords. Due to the security features of Windows, resetting a password can be a little tricker than you think. After throwing in the security featur..
Fixing: VC Package not available or not registered
IntroductionRecently, an error occured on a PC with bothVisual Studio .NET 2003 and Visual Studio 2005 installed, where new forms could no longer be added to a web project and new projects could not longer be created in VS2003. Upon trying to perform either task, an error message would display sta..
Internet Streams and Downloading Files in C# ASP .NET
IntroductionC# ASP .NET is one of the first programming platforms which provides a vast array of easy-to-use libraries for accessing the Internet, download files and web pages, and manipulating the Internet stream. With this comes the ability toprogram your own C# ASP .NET web spiders, crawlers, a..
Search Engine Friendly Links in C# ASP .NET
IntroductionWhen designing a large C# ASP .NET web application, containing hundreds or thousands of dynamically generated pages, a common after thought is how the search engine robots will handle your site. Often, generated pages contain numerous parameters in the URL query string, including conte..
Using Active Directory in a C# .NET Web Application
Active Directory is the primary user management system used by business and enterprise networks. It's basically just another kind of database, similar to MSSQL or Oracle, but with its own type of query language and protocol, which is based on LDAP.Being able to query objects in Active Directory fr..
Saving and Loading Images in MSSQL Database with C# .NET
Microsoft's MSSQL database can store a variety of data types in its columns including varchar strings, int, double, float, date/time, binary, and image. The data type name "image" may seem mysterious at first, but it is actually another representation of a binary data type. This field in..
Using CSS Styles in C# ASP .NET Web Applications
CSS has become a fundamental part of designing C# ASP .NET web applications. All web applications designed by Primary Objects include CSS styles and inner-html effects for a professional polished look. With the importance of cross-browser compatibility, neatness, and world wide web standards, CSS ..
Detecting Blocked Cookies in Web Applications
Enabling your C# ASP .NET web application to detect if a user has turned off cookies is an important stepin designing any successful online software.At Primary Objects, many of the web applications we create for our clients will be used by hundreds or thousands of users on the Internet. With this ..
ASP .NET Security, C# Web Application Security
In all projects developed by Primary Objects, security is our first and foremost concern. We work very hard to assure our web applications contain the highest levels of security suitable for the project at hand.As we develop applications using C# ASP .NET, there are several choices of security mod..
ASP .NET Web Site Design
At Primary Objects we design professional custom ASP .NET web sites for your individual needs. We can create your web site from a designed template which your company may already have or take advantage of thousands of professional pre-made templates to give your site the perfect look.Professional In..