Fork me on GitHub

Author Archive

Installing Vista Beta 2 in VMware

Like many other developers, I wanted a chance to play with Windows Vista Beta 2. So I downloaded the whopping 3.2 GB DVD image (in twelve minutes). Since I don’t have a spare machine powerful enough to handle it, I decided to install Vista in a VMware virtual machine. This was, to say the least, not a clean and pleasant experience.

I opened my existing “Beta 1″ virtual machine with 256 MB of RAM and 8 GB of hard disk space, set the ISO as the boot media, and started it. Setup started, but then presented me with this:

The file WinSetup.dll could not be loaded or is corrupt. Setup cannot continue.

Continue reading »

IPEdit DHCP Service

Description

IPEdit is a web-based tool for configuring DHCP, DNS, and firewall filters for a local area network. Based on Matt Campbell’s project, this implementation is written entirely in PHP and stores its data in a MySQL database. Running as a service, it is capable of configuring the ISC DHCP server, a DNS masquerade server, and Shorewall (iptables). Authentication can be handled through either Active Directory or MySQL.

Continue reading »

Active Directory and Linux

I maintain several client and server machines that, up until recently, all authenticated users locally. I wanted a more centralized mechanism that could handle the various users and systems on the network. The big catch is that a few key system run Linux while others run Windows. So after doing some research, I turned to Active Directory.

My first chore was to install Windows Server 2003 and configure it to be a domain controller. This part was fairly easy, although a little time-consuming. Once that was working I was able to quickly join the Windows machines to the domain. Now to deal with Linux… for that I chose Windows Services for Unix. This software alters the AD schema to allow for Unix account attributes. On the Linux machines, I installed OpenLDAP, a Kerberos client, configured PAM… and voila! Now AD users can authenticate on the Linux machines.

My home-made DHCP/DNS configuration tool, however, was a little trickier. The data for this tool is stored in a MySQL database and accessed via a PHP script. If I wanted to grant someone access to the tool, I needed to first give them a MySQL account. Since Active Directory is basically an LDAP server, I rewrote the authentication mechanism to query AD.

With very little work, I was able to simplify authentication and account management. While this is not new technology, I still feel all warm and fuzzy with a sense of accomplishment.

.NET Rocks!

I recently had the impossible task of making one of my applications work on OS X. The school uses Microsoft SQL Server 2000 to house its huge volumes of data. The server is integrated with Active Directory to allow for trusted connections. This means that when a client connects to the server, they need only to authenticate locally in the domain. This makes password and privilege maintenance much easier.

The bad part is that only Windows client operating systems are capable of supporting trusted connections (NT Authentication). This means that I can’t write a program to interface with the database server unless it’s running on Windows. So when I was asked to make my Windows creation work on a Mac, I was at a loss. Fortunately, I had been writing the suite of tools in VB.NET, so I started investigating the possibility of running a .NET app on OS X.

I found two contenders: Mono and DotGNU Portable .NET. Both projects are free implementations of the .NET standard. Mono doesn’t seem to have the anti-Microsoft sentiment and was easier to install. Right out of the gate, Mono allowed me to run a .NET app on OS X. PNET complained about ncurses not being installed. While this is probably a simple fix, it was one step that Mono did not require.

The end result? I managed to clone my VB.NET app in C# and make it run smoothly on a Mac. High five for .NET!

Jumping on the Bandwagon

“Why would anyone care to read my opinions on a website?” That was the excuse I used for never having started my own blog. And for the longest time I was comfortable with that.

But now-a-days I’m seeing other computing professionals sharing their thoughts about products, personal projects, and even works-for-hire. Microsoft has a special blogging site for its employees to blab about company products. I am consistently finding good and helpful information from that website. And that’s just one of many.

Using the Internet as a publishing platform has definite advantages. Instead of handing prospective employers my resume, I can point them to my website. I tried this approach with my present employer… and it worked. The other big advantage is a little more altruistic. I know something… and you can know it, too, if I publish it. The point is that innovation breeds through collaboration.

In following with a good article that I recently read, I’m going to give this blogging thing a try. I think I shall write about my field — software systems and information security. These are great topics that I’m really interested in. And who knows?… maybe somebody will get something out of my ramblings.

So… here’s my blog.