Handling Grace Logins from Novell e-Directory in Shibboleth

Many institutions are using Shibboleth for unified single sign-on between both internal and external web application. Shibboleth is an authentication engine and, as its backend, it can use a variety of sources for authentication including LDAP, a SQL database or other resources. It simply deals with authentication, so more advanced configurations, such as systems which allow grace logins after a password expires, may require more customization. The following tutorial shows how to use Shibboleth with a Novell e-Directory server that allows grace logins after a user’s password has expired.

Read More

Modifying uApprove for Microsoft SQL

Shibboleth is an Internet2 project used to implement identity authentication and authorization across multiple domains (sometimes known as a single sign-on). Shibboleth also allows federated authentication, which allows an organization or institution to let a user on one domain to authenticate to another domain. This is common in academic settings where one university may want to allow users from another university to use their services using that first university’s authentication system. A plug-in for Shibboleth known as uApprove provides an approval screen so users can see what information is being shared before being logged into a remote system. uApprove is designed to work with MySQL, however this tutorial shows how it can be easily modified to use Microsoft SQL Server.

uApprove Attributes Screenshot

Read More

My Account’s Been Hacked (No It Hasn’t)

Recently I’ve seen unsolicited SPAM e-mails coming directly from other peoples’ e-mail and social networking accounts. They’ll often post messages afterwords claiming that their accounts had been hacked. I’ll usually ask these friends, “Do you use the same password on multiple websites?” and the ensuing “Yes” response from them is followed by, “Change your e-mail password, and also, you need to learn something about password security.”

Read More

Running Beans Locally that use Application Server Data Sources

When writing J2EE web applications, web services, enterprise Java beans (EJBs) or other pieces of code that run on a Java application server such as RedHat’s JBoss, IBM WebSphere or Apache Tomcat, a developer typically doesn’t load database drivers or connect to the database directly. Instead, a context lookup must be made in order to get a DataSource, and from there a Connection. However what if one needs to run existing code locally, outside of the web server? This guide shows developers how to setup a local context so application server code can be run in a stand-alone application without modification.

Read More

Building Java EAR files using Ant

When creating new Java web applications within an IDE such as Eclipse or NetBeans, the IDE creates a directory structure and uses its own internal builder to create WAR and EAR files. While these build tools may be convenient when starting to develop J2EE applications, when working on production grade projects, it’s important to create your own directory structure and build scripts to automate the building and deployment process. This tutorial will take you through automating the build process of a web application using Apache Ant as well as giving you a better understanding of exactly how web applications are laid-out and built within the EAR file.

Read More

Java’s Checked Exceptions

Anyone who has programmed with Java should be familiar with the concept of Checked Exceptions. Although C++ and OCaml have optional support for exception checking, Java seems to be the only major programing language where it is a built-in and required part of the language. Enforcing at compile time that certain exceptions need to be caught may have seemed like a good idea at the time Java was developed, however no major languages developed since have adapted the concept. Many view Checked Exceptions as a design flaw. In this article, I attempt to show how this flaw can be overcome using a base exception class to encapsulate exception handling.

Read More

Disappointed with Zend’s PHP5 Certification

I’ve never been a huge fan of certification. Although I understand it is supposed to help gauge an industry benchmark in a given field, I often feel like it’s given the IT world a generation of good test takers who are not necessarily good designers. Still, I’ve programmed with PHP on my own for years and want to eventually move my career path towards that direction. I decided to get a one up and try for my Zend PHP5 certification. What I came away with was a massive sense in disappointment in Zend’s entire certification process.

Read More


I just finished my latest web application project: TweeFlood. For those of you on Twitter, TweeFlood is a way to see how much you and your friends tweet. It displays statistics for how often your friends tweet per year, month, day and hour. Try it out and follow @TweeFlood.

Read More

Installing Awstats on a Media Temple grid-server (gs)

I’ve been using Media Temple for web hosting for a while. Like any other host, they have their advantages and disadvantages. One of the biggest problems with Media Temples is that their basic grid-server (gs) package only allows for very simple statistics gathering using Urchin. It is so simple that it combines hit counts from all websites into one graph unless users purchase additional grid-server units. Although Media Temple provides raw access logs, the way virtual hosts have been setup causes difficulty when attempting to use their logs with a log analyzer.

The following tutorial goes through how to install and configure the free and open source web statistics program Awstats to be used with Media Temple’s grid-servers to provide analytic data from the Apache logs per each individual domain.

Read More

Winter at Lula Lake