Thursday, August 23, 2007

Simple ASP contact form processor

If you have a contact form like this:

First Name

Last Name

Address

City

State

ZIP Code

Age

Your Question Is?

Email Address

Phone Number



you could use a simple ASP script this to send the submissions via email:
<%
dim emailFrom, emailTo, emailSubject, emailBody
dim objMail, iConf
emailFrom = Request.Form("emailAddress")
emailTo = "hross@jmsonline.com"
emailSubject = "JMS Website: Contact Form Submission"
emailBody = "The following information was submitted from the JMS online contact form:" & vbcrlf &vbcrlf
emailBody = emailBody & "First Name: " & (Request.Form("firstName")) &vbcrlf
emailBody = emailBody & "Last Name: " & (Request.Form("lastName")) &vbcrlf
emailBody = emailBody & "Address: " & (Request.Form("address")) &vbcrlf
emailBody = emailBody & "City: " & (Request.Form("city")) &vbcrlf
emailBody = emailBody & "State: " & (Request.Form("state")) &vbcrlf
emailBody = emailBody & "Zip: " & (Request.Form("zip")) &vbcrlf
emailBody = emailBody & "Age: " & (Request.Form("age")) &vbcrlf &vbcrlf
emailBody = emailBody & "Question: " & (Request.Form("question")) &vbcrlf
emailBody = emailBody & "Email Address: " & (Request.Form("emailAddress")) &vbcrlf
emailBody = emailBody & "Phone: " & (Request.Form("p1")) & Request.Form("p2") & Request.Form("p3") &vbcrlf &vbcrlf
emailBody = emailBody & vbcrlf
set objMail = server.CreateObject("CDO.Message")
set iConf = CreateObject("CDO.Configuration")
With iConf.Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 ' CdoSendUsingPort
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = Application("EmailServer")
.Update
End With
objMail.From = emailFrom
objMail.To = emailTo
objMail.Subject = emailSubject
objMail.TextBody = EmailBody
objMail.send
Set objMail = Nothing
%>

Monday, August 20, 2007

Easiest way to hack a Windows admin password

Say your pc becomes disconnected from your network and there by your domain where your user accounts are controlled or someone dies it may be necessary to hack a windows Administrator password.

While the Offline NT Password & Registry Editor, Bootdisk / CD seemed like easiest method for resetting windows passwords I had trouble with it and had to find an alternate method.

This alternate method consisted of booting up the machine with Linux distro Knoppix, and copying the system32/config directory which contains the SAM file onto a usb flash drive. The SAM file is the Security Accounts Manager Windows uses to store password "hashes" which amounts to essentially encrypted passwords.

I then copied the necessary files to another windows machine on which I had installed SAMinside. SAMinside was instantly able to tell me all the user names for the locked box and offered the ability to do a brute force / dictionary hybrid attack that tried over 4 million passwords a second. Luckily, the password i was trying to crack was a simple 6 letter dictionary word so it only took about an hour.

Thursday, August 9, 2007

Intro to Windows SharePoint Services (WSS) 3.0

Yesterday I installed the .NET framework, WSS 3.0, the SharePoint Application Template Core and a pre-built application template for a Document Library and Review which included threaded discussion. Out of the box, the whole thing ties into our user accounts so all our actions are linked to our usernames as we move through the app. There are many pre-built app templates available on Microsoft's TechNet

Despite being a M$ product, WSS seems like an excellent, full-featured web app framework. Installation was slightly more complex than normal for M$ products, involving uncompressing files and utilizing the ol' command line, but a cinch coming from a Linux background.

Tuesday, July 31, 2007

Custom Picassa Photo Gallery Application

After experimenting with several of the leading photo editing/organizing tools including offerings from apple(iPhoto) and Adobe(Photoshop, Dreamweaver, and Fireworks), I have decided to use Picassa2 for our online photo gallery needs. Besides the interface being excellent, I chose Picasssa2 becuase of how easy it was to create a custom photo gallery templates based on one of the standard templates.

To create your own Picassa2 Template first go into your Program Files/Picassa/web/templates folder and make a copy of one you would like to base your template off. Then change the first line of the index.tpl in order to give your template its own version number, name and description. You can then easily replace the Picassa Logo with any logo of your choice by simply saving your logo over in the assets folder. I added a little padding around my logo by modifing the css file in the assets folder. To the BODY i added "background-position: 10px 10px;". I also moved the photo caption below the photo for use as copyright by moving the <%itemCaption%> tag in targetlistelement.html . And that was about all it took to create a custom enterprise photo gallery.

Tuesday, July 17, 2007

snap footer to bottom of viewport

Previously, on our pages with short content the footer would not always appear at the bottom of the viewport (browser). I was able to fix this with a little css wizardry.

I do, however, feel that this functionality should be built into the standard and therefore the browser but thats the subject for another post.

I surrounded all non-footer content in a "page" div and the footer in a "footer" div here is the css:

.Page {
height: 80%;
position: relative;
}

div.Footer{
width:100%;
float:left;
height:174px;
margin-top:15px;
position: relative;
}


This seemed to do the trick despite the many more complex solutions posted around town.

Wednesday, July 11, 2007

Team Messaging

My team needs real time messaging capabilities. Sending a link or sharing a file should not require 7 clicks and several seconds as is the case with using Outlook for this purpose.

More Specifically, what we need is:
  • Chat /Conference room for my team to collaborate
  • Desktop application as opposed to running in the browser
  • Visual and audio notification of new messages
Seems so simple yet I am having trouble finding a tool to suit these needs. I have looked at the big 3 messangers: AOL, Windows, and Yahoo!

Aol seems geared towards children of myspace generation and Windows requires that we change our firewall settings so both of these are out of the question. That leaves us with Yahoo which is fine but far from perfect.

The Yahoo! Messenger sign up process does not include an instant screen name availability check which wouldn't be so bad if it wasn't for having to do a captcha for every taken screen name. A very interesting feature is the ability for the messenger to run in a strictly http request mode which allows it to bypass our corporate firewall.

Unfortunately, messages are taking around 7 seconds to get to my coworker sitting right next to me. Also, when in conference mode there is no new message notification.

Looks like I'm back to the drawing board. Maybe I'll just write an app myself. I mean this is simple messaging we are talking about; the most basic of internet functionality.

Friday, July 6, 2007

Project Management Software Investigation

Out of a dire need stemming from a growing team involved in more projects than I care to enumerate and a lack of what I consider to be essential collaboration tools, I have been investigating project management software. My initial reaction was "oh, i know, how about that much bzzzzzed about app from our innovative friends over at 37 signals...Basecamp.

I singed up for the free 1 project package, invited my team members, entered our Milestones for the next year and we were all set to start existing in the modern era of project collaboration . Thats when "Process Management" got involved and we are still, more than a month later, without an official project management tool.

Process Management suggested 2 tools:
Project Insight which is huge and bloated with reporting and charting features. Despite it being web based and having a collaborative aspect you'd probably be better off with yea ol standard MS Project

And ViewPath which I thought was alright and would probably do the trick but was a little lack luster and unrefined.

What I need most:
  • shared calendar
  • document repository which allows discussion
  • action item / todo lists
  • a tool that is not only easy but actually fun to use
What my boss needs:
  • time tracking
  • high level view of what his developers are doing
Basecamp provides all this is a beautifully arranged package which displays an innate understanding of the fact that what makes a successful project is a well communicating team.