We support Microsoft .NET Framework 2.0 & 1.1, all versions of Access, SQL 2000, SQL 7.0, SQL 2005 Express, SOAP, FrontPage 2002, 2003, Visual Studio 2005, Index Server, XML, UDDI, & Mobile device support. We also offer great third party tools like SmarterMail, Merak Mail, SmarterStats, PHP, Perl, MySql, DeepMetrix Livestats XSP 8.0.   We support Microsoft .NET Framework 2.0 & 1.1, all versions of Access, SQL 2000, SQL 7.0, SQL 2005 Express, SOAP, FrontPage 2002, 2003, Visual Studio 2005, Index Server, XML, UDDI, & Mobile device support. We also offer great third party tools like SmarterMail, Merak Mail, SmarterStats, PHP, Perl, MySql, DeepMetrix Livestats XSP 8.0.
 Sunday, August 31, 2008

EGroupware is a free enterprise ready groupware software for your network. It enables you to manage contacts, appointments, todos and many more for your whole business.

EGroupware is a groupware server. It comes with a native web-interface which allowes to access your data from any platform all over the planet. Moreover you also have the choice to access the EGroupware server with your favorite groupware client (Kontact, Evolution, Outlook) and also with your mobile or PDA via SyncML.

EGroupware is international. At the time, it supports more than 25 languages including rtl support.

EGroupware is platform independent. The server runs on Linux, Mac, Windows and many more other operating systems. On the client side, all you need is a internetbrowser such as Firefox, Konqueror, Internet Explorer and many more.

Dev
8/31/2008 4:52:59 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, July 27, 2008

As MS discovers its once huge following of web code writers leaving for easier free open source approaches. They have of course tried to recapture some of its base by offering things in the past like Iron Python and now they are doing the same with Iron Ruby.

While at Redmond few can actually point out the benefits of running these things the framework verses just simply tossing a Linux box up with a free CentOS distro, and just running it native with the only real cost being the hardware investment.

The approach always seems to be at MS we can fit a round peg in a square hole just as long as the radius is small enough.

This is not to say that the .net platform is by itself somehow flawed. But rather that MS has focused on the enterprise at a time when many small web business applications simply do not have the budgets that MS seeks. This really reminds me of a replay that IBM once saw as a solution to their loss of market share. Lets not forget the PC was invented by IBM and the open hardware standards of almost every PC was created by them.

It really seems MS has forgot how to compete. Perhaps a replay of the late 1990s and the fight with Netscape in both the browser wars, and web servers, was waged and MS won hands down. How did they do it? Simple they gave away a browser Netscape tried to sell, and gave away a web server, that then Netscape tried to sell.

Enough of this and on to the great news of MS and Iron Ruby. While it might be a bit late at least they are trying, and we have to give them points for that.

Dev
7/27/2008 10:12:45 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, June 28, 2008

Recently there has been a rash of SQL injection due to the approach of the thugs who honestly have nothing better to do with their time. In the first code writer wanted the attempt to appear as if it really just worked and moved on. In the second the writers actually used a Response.Write warning. Though the code writers in the second clearly have more targeted regular expression, and is more focused to current attacks. We offer these code snippets which work, and have offered to others to save time.

'Function IllegalChars to guard against SQL injection
Function IllegalChars(sInput)
'Declare variables
Dim sBadChars, iCounter
'Set IllegalChars to False
IllegalChars=False
'Create an array of illegal characters and words
sBadChars=array("select", "drop", ";", "--", "insert", "delete", "xp_", _
"#", "%", "&", "'", "(", ")", "/", "\", ":", ";", "<", ">", "=", "[", "]", "?", "`", "|")
'Loop through array sBadChars using our counter & UBound function
For iCounter = 0 to uBound(sBadChars)
'Use Function Instr to check presence of illegal character in our variable
If Instr(sInput,sBadChars(iCounter))>0 Then
IllegalChars=True
End If
Next
End function

(Author: Aalia Wayfare)

In example 2:

I put this function in place on every public page...

array_split_item = Array("-", ";", "/*", "*/", "@@", "@", "char", "nchar", "varchar", "nvarchar", "alter", "begin", "cast", "create", "cursor", "declare", "delete", "drop", "end", "exec", "execute", "fetch", "insert", "kill", "open", "select", "sys", "sysobjects", "syscolumns", "table", "update", "<script", "/script>", "'")

for each item in Request.QueryString
   for array_counter = lbound(array_split_item) to ubound(array_split_item)
      item_postion1 = InStr(lcase(Request(item)),array_split_item(array_counter))
         if item_postion1 > 0  then
           Response.Write("Command cannot be executed.")
           Response.End()
         end if
    next
next

(Authors: Nick Jensen & Steve Kluskens)

Dev
6/28/2008 7:15:17 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, May 25, 2008

Problem

You know, if you make just one change and don't transfer it on the other instanses it can cause big errors and stop your scripts from working. But (as in our case) opening 50 control panels and going to the MySQL administration and running manually these ALTER TABLE or CREATE TABLE statements was a cumbersome task, taking all of our time.

Solution

All the instances of our app were running on one physical server, not always the possible. But you can implement similar solution even if your ap is running on different servers - you just need to allow connection to the master host - the one which will run the Synhronizer - the script i will describe below. Our Synchronizer is actually a simple PHP script which is started manually and have one only purpose - to synchronize all 50 databases with one "master" database. In our case we needed that script to synchronize only the DB structure, but not the content. But if you understand the simple logic of the script, you can easy extend it to copy/synchronize your content if this is you case.

Implementation

First, you need to select all the tables and their fields from the master database:

//select tables from the master
$q="SHOW TABLES FROM master_database";
$tabs=$DB->aq($q); //$DB is a database fetching object, you can use the
built PHP functions to select from mysql if you prefer

$tables=array();

foreach($tabs as $tab)
{
       //select fields
       $q="SHOW FIELDS FROM $tab[0]";
       $fields=$DB->aq($q);

       array_push($tables,array("name"=>$tab[0],"fields"=>$fields));
}


You see how our script fills an array $tables with all the table names and itself containing another array - with the table fields.

Secondly, you need a list with the databases or domains where the instances of the synchronized application are running. Once having that list, you can browse thru it with "foreach" or another cycle.

Now we are going to select all the tables in the database on each target domain. (Of course you need to connect to its database, and disconnect from master one! We already did our job in selecting the tables from the master database :)

In the same way as above, you need to select the tables from the target domain.

Then below, just compare the tables:

foreach($tables as $table) //browse thru master tables
{
       $found=false;

       foreach($dtables as $dtable)
       {
          if($dtable[name]==$table[name]) $found=$dtable;
       }

       if(is_array($found))
       {
          //table exists, check fields
          foreach($table[fields] as $field)
          {
             $ffound=false;
             foreach($found[fields] as $dfield)
             {
                if($field[Field]==$dfield[Field]) $ffound=true;
             }

             if(!$ffound)
             {
                //alter table add field
                if($field[Key]=='PRI') $primary=" PRIMARY KEY ";
                else $primary='';

                     $q="ALTER TABLE `$table[name]` ADD `$field[Field]` $field[Type] NOT NULL
                     $field[Extra] $primary";
                     $DB->q($q);
          }
          }
          else
          {
             //table does not exists, create
             $q="CREATE TABLE `$table[name]`(";

             foreach($table[fields] as $cnt=>$field)
             {
                if($field[Key]=='PRI') $primary=" PRIMARY KEY ";
                else $primary='';

                $q.="`$field[Field]` $field[Type] NOT NULL $field[Extra] $primary ";
                if($cnt<(sizeof($table[fields])-1)) $q.=", ";
             }

             $q.=")";
             $DB->q($q);
             }
       }
}


And that's all! You may need to work a little on this code, but the logic is here provided for your needs. Feel free to use the ideas for your own applications.

The Author:
Bobby Handzhiev senior developer in PIM Team Bulgaria

Dev
5/25/2008 8:00:05 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, December 20, 2007

The IE team has been very hard at work on IE 8 for the past several months and they hit a huge milestone last Friday evening. The IE dev team checked in a bunch of code that included several new features implemented in the core rendering engine that enable IE to pass the ACID 2 test! This is great news for web developers: IE 8 is going to be our most standards compliant browser to date. Passing ACID 2 is really a combined side effect of all the new features that have been developed for IE 8.

In this interview, I sit down with IE GM Dean Hachamovitch and Architect Chris Wilson to discuss this milestone and dig into compliance in general, lessons learned from IE 7 and discuss the IE team's ultimate goal of de facto interoperability. Of course, no Channel 9 interview is complete without meeting some of the devs who actually write technology so we take a walk from Dean's office to super developer Alex Mogilevsky's office to discuss what's been done to provide IE with the core rendering features that enable IE 8 to pass the ACID 2 test. We also chat with CSS guru Markus Mielke who was instrumental in identifying and planning the feature set required to pass ACID 2. Learn More at channel9

Dev
12/20/2007 1:14:56 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Thursday, December 06, 2007

Some developers write SQL amazingly fast. Do you want to know their secret? It's SQL Prompt. This is a must-have tool for all T-SQL developers.

SQL Prompt automates the retrieval of database object names, syntax and snippets as you write, intelligently offering only appropriate code choices. In addition to displaying the object creation-SQL script, SQL Prompt is highly customizable so you can make it perform exactly the way you want.

Using SQL Prompt will improve your productivity and dramatically reduce your time at the keyboard. See the animation below displaying a typical scripting event and how much effort and time SQL Prompt can save you.  Download and Learn More!

Dev
12/6/2007 7:48:08 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, November 30, 2007

Using 'Normal' or active mode FTP, a client begins a session by sending a request to communicate through TCP port 21, the port that is conventionally assigned for this use at the FTP server. This communication is known as the Control Channel connection.

Using "normal" FTP communication, the client requestor also includes in the same PORT command packet on the Control Channel a second port number that is to be used when data is to be exchanged; the port-to-port exchange for data is known as the Data Channel. The FTP server then initiates the exchange from its own port 20 to whatever port was designated by the client. However, because the server-initiated communication is no longer controlled by the client and can't be correlated by a firewall to the initial request, the potential exists for uninvited data to arrive from anywhere posing as a normal FTP transfer.

Using passive FTP, a PASV command is sent instead of a PORT command. Instead of specifying a port that the server can send to, the PASV command asks the server to specify a port it wishes to use for the Data Channel connection. The server replies on the Control Channel with the port number which the client then uses to initiate an exchange on the Data Channel. The server will thus always be responding to client-initiated requests on the Data Channel and the firewall can coorelate these.

Defined:

Active FTP :
     command : client >1023 -> server 21
     data    : client >1023 <- server 20

Passive FTP :
     command : client >1023 -> server 21
     data    : client >1023 -> server >1023

Dev
11/30/2007 11:02:56 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Monday, November 26, 2007

We received many questions about SQL 2005 Express though number 1 is always DTSwizard is gone! Well no not really it is harder to understand than in SQL 2000 as the gui is simply not as straight forward.

If you look at your files this path C:\Program Files\Microsoft SQL Server\90\DTS should be present.

If you do not have this path you may need SQLServer2005_DTS.msi If you try this as I did it appeared to do nothing at all. I checked to make sure that I had IIS running on the desktop and installed that. Still no luck, so some searching offered another link which did the trick. SQLEXPR_TOOLKIT.EXE After you install this then run the DTS.MSI again. Just go to C:\Program Files\Microsoft SQL Server\90\DTS\Binn\DTSWizard.exe

You should then see a very friendly wizard that really is not that different from SQL 2000.

Dev
11/26/2007 8:15:55 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
 Monday, October 15, 2007

Place the following code into the header of any php document and it will redirect the page access to the correct site name. while preserving the script name and the query arguments.


// If the server name is not www.sitename.com we can do the redirect to www.sitename.com. // The only time we can is if the method is a GET // (no way to pass along the POST arguments) and its on port 80 (don't want to redirect the SSL). if ( strcmp( strtolower( $_SERVER['HTTP_HOST'] ) , "www.sitename.com" ) != 0 && strcmp( strtolower( $_SERVER['REQUEST_METHOD'] ) , "get" ) == 0 && $_SERVER['SERVER_PORT'] == 80 ) { header("Location: http://www.sitename.com" . $_SERVER['REQUEST_URI'] ); header("HTTP/1.0 301 Moved Permanently"); exit ; }
Dev
10/15/2007 7:10:00 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 

Place the following code into the header of any asp document and it will redirect the page access to the correct site name while preserving the script name and the query arguments.

<%
  ' If the server name is not www.sitename.com we can do the redirect to www.sitename.com. 
  ' The only time we can is if the method is a GET
  ' (no way to pass along the POST arguments) and its on port 80 (don't want to redirect the SSL).
if ( strcomp( lcase( Request.ServerVariables("SERVER_NAME") ) , "www.sitename.com", 1 ) <> 0 _
    AND Request.ServerVariables("SERVER_PORT") = 80 _
    AND strcomp( lcase( Request.ServerVariables("REQUEST_METHOD") ) , "get" , 1 ) = 0 _
) then
    URL = "http://www.sitename.com" & Request.ServerVariables("SCRIPT_NAME")
    if len ( request.servervariables("QUERY_STRING" ) ) > 0 then
        URL = URL + "?" + request.servervariables("QUERY_STRING" )
    end if
    Response.Status="301 Moved Permanently"
    Response.AddHeader "Location", URL
    Response.End
end if
%>
Dev
10/15/2007 7:07:41 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Wednesday, October 03, 2007

The Internet Explorer Developer Toolbar provides several features for exploring and understanding Web pages. These features enable you to:

Explore and modify the document object model (DOM) of a Web page.
Locate and select specific elements on a Web page through a variety of techniques.
Selectively disable Internet Explorer settings.
View HTML object class names, ID's, and details such as link paths, tab index values, and access keys.
Outline tables, table cells, images, or selected tags.
Validate HTML, CSS, WAI, and RSS web feed links.
Display image dimensions, file sizes, path information, and alternate (ALT) text.
Immediately resize the browser window to a new resolution.
Selectively clear the browser cache and saved cookies.
Choose from all objects or those associated with a given domain.
Display a fully featured design ruler to help accurately align and measure objects on your pages.
Find the style rules used to set specific style values on an element.
View the formatted and syntax colored source of HTML and CSS.

The Developer Toolbar can be pinned to the Internet Explorer browser window or floated separately. Get it here!

Dev
10/3/2007 9:47:12 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, July 27, 2007

Consider the following scenario. You install Microsoft Windows Server 2003 with Service Pack 2 (SP2). You create an ASP Web application that uses the Session_OnEnd() event. You host the ASP Web application in Microsoft Internet Information Services (IIS) 6.0. You run an ASP Web application that uses the Session_OnEnd() event. In this scenario, the Session_OnEnd() event is not raised in ASP Web applications as expected. Therefore, you may experience slow computer performance or memory leaks.

HotFix Here

Dev
7/27/2007 4:55:17 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, July 15, 2007

Microsoft® Visual Studio® 2008 (formerly known as, Microsoft® Visual Studio® code name “Orcas”) delivers on Microsoft’s vision of smart client applications by enabling developers to rapidly create connected applications that deliver the highest quality rich user experiences. With Visual Studio 2008, organizations will find it easier than ever before to capture and analyze information so that they can make effective business decisions. Visual Studio 2008 enables any size organization to rapidly create more secure, manageable & reliable applications that take advantage of Windows Vista and the 2007 Office system.

"It is Microsoft's desire to ship Visual Studio 2008 by the end of this calendar year (although, as always, customer feedback ultimately determines when a product is ready to ship)," the representative said in an e-mail. "The February launch event is more of an opportunity to show customers, partners, and the community the wave of innovation Microsoft is delivering with all three products represented (i.e. Windows Server 2008, SQL Server 2008, and Visual Studio 2008)." 

Dev
7/15/2007 6:27:09 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, June 04, 2007

When making a website today, there are many of pieces that need to work together. You need to create the WebForm in HTML, the codebehind in C# or VB, the stylesheets in CSS, the scripts in Javascript and the animations in Flash / ActionScript. Just making the form look just right by switching back and forth between the code editor and browser, determining which shows up in Internet Explorer but not Firefox. Internet Explorer handles bugs in Javascript by saying "Object expected" on the wrong line in the wrong file. Even the codebehind is messy because it's very difficult to separate the view from the application logic.

Silverlight will make the web application look better, and will be easier to create. WPF applications are the next evolution in user interfaces; Expression Blend is a powerful way to create beautiful applications. You don't have to worry about time-consuming cross-browser CSS issues because the Silverlight plugin will ensure that things are consistent across browsers and operating systems. This makes it easy to separate the code affecting the view into the XAML file and the application logic on the server. Consider Silverlight's ability to stream audio and video and you can get an idea of what's possible. While it is still in beta some people are already showing us how powerful Silverlight really is.

"LearnMore" "Getting Started"

Dev
6/4/2007 11:26:17 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, May 20, 2007

We have had several requests for a simple contact form sample that one can place on their website. The requirment was to have different departments in a drop down. The second requirment was to use .Net 2.0 and the most important was to be able to use something simple like Expression Web to edit and deploy it. 

A text editor will work as their are only a couple of fields to edit. Add and edit the mail destinations, and department names, in the default.aspx. Name the mail server in the web.config that is all there is to it.

Contact-department.zip (15.79 KB)
Dev
5/20/2007 7:15:24 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, May 19, 2007

Smart Code is an Open Source template-driven code generator that lets software developers automatically produce programs and components that interact with database systems. Smar Code' templates are programs that access the Smar Code Object Model to produce tailored programs and components. Templates may be written in C# or VB.NET (or theoretically in any language that supports the creation of dynamic-link libraries). This is a very powerful paradigm.

Smart Code is the right tool for you if:

  • You want to automatically generate n-tier .NET web applications, all the way from the user interface to the SQL Server stored procedures.
  • You have designed the user interface for your (windows or web) application, automatically generate the code to access and update the database.
  • You have developed the business tier for your application and want to automatically generate the data access layers based on the database schema.
  • You want to automatically generate stored procedures for creating, deleting, updating, and searching for records in the database.
  • You want to quickly build fully-functional prototypes of web-based applications that interact with database systems.
  • You want to standardize the architecture of the applications that are developed in your organization.
  • You want to learn by example how to architect enterprise-level web applications.
  • You want to develop templates of the code you write so that in the future you can generate code automatically.
  • You want to deliver applications with consistent quality.
  • You are tired of writing the same repetitive code over and over again.
  • You want an powerful and Open Source tool.

"Get it here"
Dev
5/19/2007 12:15:33 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, May 18, 2007

This is a great Expression web 2 part tutorial on creating an ASP.NET contact form that sends e-mail.

In the first part of this tutorial, you'll learn how to create the user-interface portion of the form and add ASP.NET validation so that the fields are required and valid.

The second part of the tutorial covers the server-side C# code that sends the e-mail. Downloadable examples in both VB and C# also area available.

See the tutorials here.

Dev
5/18/2007 10:55:35 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Thursday, May 17, 2007

This is a very basic contact form which can be used for any kind of website. Web form contains name, email, subject and message inputs. Change only mail server and default email within the script.   Code: ASP.NET v2.0 & VB

<%@ Page Language="VB" Debug="true" %>
<% @Import Namespace="System.Web.Mail" %>
<script language="vb" runat="server">

Sub Send2Mail (sender as Object, e as EventArgs)

Dim objMail as New MailMessage()

  objMail.To = "Whoever@DomainName.com"
  objMail.From = strEmail.Text

  objMail.BodyFormat = MailFormat.Text
  objMail.Priority = MailPriority.Normal
  objMail.Subject = strSubject.Text

  objMail.Body = "Name : " + strName.Text + vbNewLine + "Email : " + strEmail.text + vbnewLine + "Message : " + strYourMsg.text
  
  SmtpMail.SmtpServer = "mail.Domainname.com"
  SmtpMail.Send(objMail)


  strMessage.Visible = true

End Sub

</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>How to send email</title>
</head>
<body>

  <asp:panel id="strMessage" runat="server" Visible="False">
      Thanks for your kind message ...  </asp:panel>

    <form runat="server">
      <b>First Name:</b> <br/>
      <asp:textbox id="strName" runat="server" />
      <br><br>

      <b>Email Address:</b><br/>
      <asp:textbox id="strEmail" runat="server" />
       <br><br>

      <b>Subject:</b><br/>
      <asp:textbox id="strSubject" runat="server" />
       <br><br>

       <b>Your Message</b><br/>
      <asp:textbox id="strYourMsg" runat="server" Columns="45" Rows="10" TextMode="MultiLine" />
        <br />
      <asp:button runat="server" id="func" Text="Send Message"
                  OnClick="Send2Mail" />
    </form>
</body>
</html>

Dev
5/17/2007 5:16:08 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 

This is a simple application to deter spammers. ASP.NET Version Features: Put an end to those exposed mailto links to robots. C#/Access2003 driven. Easy set-up, the database holds the true email addresses. It is next to impossible for a bot to expose these links.

Authors Website  safermail-ASPNET.zip (17.2 KB)

Dev
5/17/2007 5:10:08 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, May 12, 2007

All web applications make extensive use of the HTTP protocol (or HTTPS for secure sites). Even simple web pages require the use of multiple HTTP requests to download HTML, graphics and javascript. The ability to view the HTTP interaction between the browser and web site is crucial to these areas of web development:

  • Trouble shooting
  • Performance tuning
  • Verifying that a site is secure and does not expose sensitive information

Seven reasons to use HttpWatch rather than other HTTP monitoring tools:

  1. Easy to Use - start logging after just a couple of mouse clicks in Internet Explorer. No other proxies, debuggers or network sniffers have to be configured
  2. Productive - quickly see cookies, headers, POST data and query strings without having to manually decode raw HTTP packets
  3. Robust - reliably log thousands of HTTP transactions for hours or days while tracking down intermittent problems
  4. Accurate - HttpWatch has minimal impact on the normal interaction of Internet Explorer with a web site. No extra network hops are added, allowing you to measure real world HTTP performance
  5. Flexible - HttpWatch only requires client-side installation and will work with any server side technology that renders HTTP pages in Internet Explorer. No special server-side permissions or configurations are required - ideal for use against production servers on the Internet or Intranet
  6. Comprehensive - works with HTTP compression, redirection, SSL encryption & NTLM authentication. A complete automation interface provides access to recorded data and allows HttpWatch to be controlled from most popular programming languages.
  7. Professional Supportupdates and bug fixes are provided free of charge on our website and technical support is available by email, phone or fax.

Download it here

Dev
5/12/2007 9:53:08 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 

This is a very simple method to redirect a single IIS entry to multiple FQDN's. You can add as many as you wish just repeat Elseif code. Place this as the default document and you are set.

<%
Dim srvrname
srvrname= lcase(Request.servervariables("SERVER_NAME"))
if srvrname="www.domainname.com" or srvrname="domainname.com" then
 Response.Redirect "default.htm"%>
<%Elseif srvrname="www.domain2.com" or srvrname="domain2.com" then
  Response.Redirect "/domain2/default.asp"%>
<%end if%>

Dev
5/12/2007 8:00:59 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 

IIS Redirect
In internet services manager, right click on the file or folder you wish to redirect
Select the radio titled "a redirection to a URL".
Enter the redirection page
Check "The exact url entered above" and the "A permanent redirection for this resource"
Click on 'Apply'

ColdFusion Redirect
<.cfheader statuscode="301" statustext="Moved permanently">
<.cfheader name="Location" value="http://www.new-url.com">

PHP Redirect
<?
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://www.new-url.com" );
?>

ASP Redirect
<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com/");
%>

ASP .NET Redirect
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com");
}
</script>

JSP (Java) Redirect
<%
response.setStatus(301);
response.setHeader( "Location", "http://www.new-url.com/" );
response.setHeader( "Connection", "close" );
%>

CGI PERL Redirect
$q = new CGI;
print $q->redirect("http://www.new-url.com/");

Ruby on Rails Redirect
def old_action
headers["Status"] = "301 Moved Permanently"
redirect_to "http://www.new-url.com/"
end

Dev
5/12/2007 7:46:37 AM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, April 29, 2007

Google Inc. and MySQL AB are close to finalizing a deal that could find the open-source database vendor incorporating powerful features created by the search giant into future versions of the popular database.

On Monday, Google publicly released the source code for several custom features it had built in-house to enhance the performance and reliability of its search engine. The add-ons were released via the General Public License (GPL).

Google’s announcement, done without MySQL and on the eve of MySQL’s annual worldwide conference in Santa Clara, Calif., appeared to be a subtle attempt to put pressure on MySQL to add the features to the official version of the software, something the company has until recently been loath to do.

Since then, sources say Google has signed a Contributor License Agreement (CLA), a key legal document required by MySQL to accept source code from outside companies or developers and port it to its popular database, reportedly used in 11 million servers worldwide.

Google is widely believed to be the largest MySQL user in the world, with hundreds or even thousands of MySQL servers running in data centers around the world.

What remains to be worked out are the exact features that Google will transfer to MySQL and the compensation MySQL will offer in return, which could range from symbolic gifts such as T-shirts to monies up to hundreds of thousands of dollars, said Steve Curry, a MySQL spokesman. Curry declined to confirm the status of the deal.

Read More

Dev
4/29/2007 7:40:49 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, April 21, 2007

Vertical Computer Systems Inc. is suing Microsoft Corp. for patent infringement related to Microsoft's .Net framework for building Windows-based software.

Vertical filed suit April 18 in a U.S. District Court in Texas alleging that Microsoft has infringed on its Patent No. 6,826,744, for a "system and method for generating web sites in an arbitrary object framework."

The patent is for Vertical's SiteFlash technology, which utilizes XML (Extensible Markup Language) to create a component-based structure to build and efficiently operate Web sites, according to the company's Web site. A Vertical spokesman could not be reached for comment.

The complaint says Microsoft is still infringing on the patent despite Vertical having put Microsoft on notice about it on Feb. 7. Vertical is asking for a jury trial.

Vertical, based in Fort Worth, Texas, describes itself as a global Web services provider. It went public in 2000 but is not listed on a major stock exchange.

Dev
4/21/2007 6:40:25 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, April 15, 2007

The Database Publishing Wizard enables the deployment of SQL Server 2005 databases (both schema and data) into a shared hosting environment on either a SQL Server 2000 or 2005 server.

The tool supports two modes of deployment:

  1. It generates a single SQL script file which can be used to recreate a database when the only connectivity to a server is through a web-based control panel with a script execution window.
  2. It connects to a web service provided by your hoster and directly creates objects on a specified hosted database

The Database Publishing Wizard provide both a graphical and a command-line interface. In addition, it can integrate directly into Visual Studio 2005 or Visual Web Developer 2005.   "Get it here"

Dev
4/15/2007 6:26:51 PM (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, February 17, 2007

Coghead empowers tech-savvy business people to develop applications for common business problems. By combining the benefits of zero infrastructure, drag and drop tools, powerful development features and more, Coghead is changing the app development game, in your favor.

Now you can develop custom apps quickly, and share them with your co-workers in real time. The revolutionary Coghead application delivery service provides an intuitive drag and drop development environment so you can build, and maintain, your custom applications yourself... no coding required!

Dev
2/17/2007 8:29:48 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Wednesday, February 14, 2007

Win32++ provides a framework for developing applications, using the Win32 API directly. It supports all MS operating systems which run the Win32 API, from Windows 95 through to Windows XP and Vista. This framework is designed to produce programs with a similar look and feel to those created using MFC. It can develop applications based on simple windows, dialogs, frames and MDI frames. The frames produced by Win32++ have the following features:

  • Rebar Control (to contain the Menubar and Toolbar)
  • Menubar
  • Toolbar
  • Status bar
  • Tool tips

Win32++ also brings an object oriented approach to programming directly with the Win32 API. Each window created is a C++ class object capable of having its own window procedure for routing messages.

Hopefully, beginners will find this framework simpler and easier to use than MFC. There are no confusing macros in the message maps for example, just straightforward C++. Most importantly, for beginners perhaps, this framework runs on free compilers readily available for download from the internet. You don't need to buy a compiler to use it.

Dev
2/14/2007 9:25:56 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, February 12, 2007
UISuite - ASP.NET UI Component Suite UISuite is a unique set of components to AJAXIFY your ASP.NET website. Build professional-grade applications while reducing development time and cost.
UltimateAjax - ASP.NET AJAX Server Control UltimateAjax is an ASP.NET control to avoid unnecessary page reloads on your website. Improve interactivity by refreshing only the relevant content instead of the entire page.
UltimateCalendar - ASP.NET Calendar and Date Picker Server Controls UltimateCalendar is a set of calendar and date picker controls for ASP.NET. Show multiple months in various layouts, and jump into any date without navigating. Select/deselect days, weeks, or months.
UltimateEditor - ASP.NET HTML Editor Server Control UltimateEditor is a WYSIWYG online editor for ASP.NET. Edit HTML content in a richtextbox, and spell check as you type. Edit HTML tables as easy as in MS Word, and clean markup pasted from MS Word.
UltimateMenu - ASP.NET Menu Server Control and Visual Designer UltimateMenu is an ASP.NET control to build advanced pop-up menus. Support frames without any code or page layout changes. Visual designer fully integrated into Visual Studio.
UltimatePanel - ASP.NET Panel Server Control and Visual Designer UltimatePanel is a navigation control to build advanced side panel bars. Persist latest panel state, and restore on the next visit. Scroll panel vertically and horizontally.
UltimateSearch - ASP.NET Search Engine Server Controls UltimateSearch is a set of ASP.NET server controls to add search to your website. Support static and dynamic pages, and parse document types such as ASPX, ASP, HTML, PDF, DOC, PPT, RTF, and more.
UltimateSitemap - ASP.NET Sitemap Server Controls and Visual Designer UltimateSitemap is a set of sitemap and sitemap path (breadcrumb) controls for ASP.NET. Build sitemap from website directory, and render navigation path on every page.
UltimateSpell - ASP.NET Spell Check Server Control UltimateSpell is a server control to add multi-language spell checking to your ASP.NET website or Windows Forms application. Spell as you type, and auto correct errors. Get the best suggestions, and look up meaning.
Live Demos       Download Now       Learn More
Dev
2/12/2007 5:25:13 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Saturday, February 10, 2007

Even if I logon as Administrator and try to backup any of my databases to local partitions, I get this error below.

Cannot open backup device 'F:\foldername'. Operating system error 5(Access is denied.).

It doesn't matter who *you* are logged in as, it is the service account for SQL Server service that
matters. Learn More

Dev
2/10/2007 6:38:13 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Friday, February 09, 2007

Why do I always have problems with IIS 6.0 and upload sizes?

There is one tweak that must happen for the upload large files to work properly in IIS6. By default it won't allow a POST larger than 200KB
(Not sure of the Reasoning).

To fix it:

- Open IIS Manager
- Right-click on the server name at the top of the tree and choose "Properties"
- Check the first box for "Enable Direct Metabase Edit" and click the "OK" button
- Open C:\Windows\System32\Inetsrv\metabase.xml with Notepad (NOT Wordpad)
- Find AspMaxRequestEntityAllowed and change it to 1073741824

Dev
2/9/2007 4:34:30 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Sunday, January 21, 2007


Cute Editor for .NET - The Most Powerful ASP.NET WYSIWYG Control Enables ASP.NET Web developers to replace the <TextArea> in your existing content management system with the most powerful WYSIWYG HTML editing component.
Cute Live Help Cute Live Support - Providing site visitors with sales and technical support A real-time online chat support. Let your customer reach out and speak with you or your representatives when they have questions.

Cute Chat - #1  ASP.NET Chat Application A full-featured ASP.NET chat program which has been the choice of the leading web sites, from around the world, from small to largest Portals.

Cute Web Messenger - Instant messaging using a web browser A state-of-the-art instant messaging software package that facilitates communication with your web sites. Your visitors can chat with each other using a web browser.

Cute Editor for ASP - The Most Powerful ASP Rich Text Editor An advanced online web based WYSIWYG HTML editor for Classic ASP. It will replace your Textarea to a richtextbox.

DotNetGallery - A Robust ASP.NET Image Gallery A file-based, dynamic, image gallery. It is also a highly configurable application that automatically generates fast thumbnail indexes of a folder structure.
Dev
1/21/2007 9:19:50 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Tuesday, January 02, 2007

Microsoft® Expression® Web Free Trial

We recommend the trial version of Expression Web, everyone should become comfortable with the product before laying down your $269.00. The trial is a fully functioning version of the product that will expire 60 days from installation.

Expression Web is a professional design tool that helps you create and work with:

  • Standards-based Web sites
  • Sophisticated CSS-based layouts
  • Extensive CSS formatting and management
  • Rich data presentation
  • Powerful ASP.NET 2.0-based technology

A few learning videos:

Standards-based Web Sites (17:30) Download (45 MB)
Sophisticated CSS-based Layout and Formatting (26:07) Download (79 MB)
Rich Data Presentation (08:03) Download (27 MB)
Powerful Server Technology (08:23) Download (28 MB)
Reporting and Deployment (06:25) Download (21 MB)

Dev
1/2/2007 3:05:49 PM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Monday, December 04, 2006

Connection string for web.config. Attaching your uploaded database to a 2005 SQLExpress server without administrator needing to help. Make sure to insert the name of your database in the areas marked in bold.

<connectionStrings>
    <add name="DBNAMEConnStr" connectionString="Data Source=.\SQLExpress;Integrated Security=True;User Instance=True;AttachDBFilename=|DataDirectory|DBNAME.mdf"
providerName="System.Data.SqlClient"/>
        </connectionStrings>

Dev
12/4/2006 6:34:23 AM (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
 Wednesday, November 22, 2006

I have been asked to provide some MIME for 2003 servers so we thought it was best to provide a fairly complete list.
The following MIME extensions can be added to IIS on Windows 2003

MIME Maps Extension Type

.323 text/h323
.3gp audio/3gpp
.3gp video/3gpp
.IVF video/x-ivf
.Mtx Application/metastream
.aaf application/octet-stream
.aca application/octet-stream
.ace application/x-compressed
.acx application/internet-property-stream
.aer Application/atmosphere
.afm application/octet-stream
.ai application/postscript
.aif audio/x-aiff
.aifc audio/aiff
.aiff audio/aiff
.application application/x-ms-application
.art image/x-jg
.as text/plain
.asd application/octet-stream
.asf video/x-ms-asf
.asi application/octet-stream
.asm text/plain
.asr video/x-ms-asf
.asx video/x-ms-asf
.au audio/basic
.avi video/x-msvideo
.axs application/olescript
.bas text/plain
.bcpio application/x-bcpio
.bin application/octet-stream
.bmp image/bmp
.c text/plain
.cab application/octet-stream
.cat application/vnd.ms-pki.seccat
.cdf application/x-cdf
.cfg 3DVista CFG
.chm application/octet-stream
.class application/x-java-applet
.clp application/x-msclip
.cmx image/x-cmx
.cnf text/plain
.co application/x-cult3d-object
.cod image/cis-cod
.cpio application/x-cpio
.cpp text/plain
.crd application/x-mscardfile
.crl application/pkix-crl
.crt application/x-x509-ca-cert
.csh application/x-csh
.css text/css
.csv application/octet-stream
.cur application/octet-stream
.dcr application/x-director
.deploy application/octet-stream
.der application/x-x509-ca-cert
.dib image/bmp
.dir application/x-director
.disco text/xml
.djv Image/x.djvu
.djvu Image/x.djvu
.dll application/x-msdownload
.dlm text/dlm
.dnl application/x-msdownload
.doc application/msword
.dot application/msword
.dsp application/octet-stream
.dtd text/xml
.dvi application/x-dvi
.dwf drawing/x-dwf
.dwg image/x-dwg
.dwp application/octet-stream
.dxr application/x-director
.eml message/rfc822
.emz application/octet-stream
.eot application/octet-stream
.eps application/postscript
.etx text/x-setext
.evy application/envoy
.exe application/octet-stream
.fdf application/vnd.fdf
.fif application/fractals
.fla application/octet-stream
.flr x-world/x-vrml
.flv application/x-shockwave-flash
.gif image/gif
.gtar application/x-gtar
.gz application/x-gzip
.h text/plain
.hdf application/x-hdf
.hdml text/x-hdml
.hhc application/x-oleobject
.hhk application/octet-stream
.hhp application/octet-stream
.hlp application/winhlp
.hqx application/mac-binhex40
.hta application/hta
.htc text/x-component
.htm text/html
.html text/html
.htt text/webviewhtml
.hxt text/html
.ico image/x-icon
.ics application/octet-stream
.ief image/ief
.iii application/x-iphone
.inf application/octet-stream
.ins application/x-internet-signup
.ips application/x-ipscript
.ipx application/x-ipix
.isp application/x-internet-signup
.ivr i-world/i-vrml
.jad text/vnd.sun.j2me.app-descriptor
.jar application/java-archive
.java application/octet-stream
.jck application/liquidmotion
.jcz application/liquidmotion
.jfif image/pjpeg
.jpb application/octet-stream
.jpe image/jpeg
.jpeg image/jpeg
.jpg image/jpeg
.js application/x-javascript
.kml Application/vnd.google-earth.kml+xml
.kmz Application/vnd.google-earth.kmz
.latex application/x-latex
.lit application/x-ms-reader
.lpk application/octet-stream
.lsf video/x-la-asf
.lsx video/x-la-asf
.lzh application/octet-stream
.m13 application/x-msmediaview
.m14 application/x-msmediaview
.m1v video/mpeg
.m3u audio/x-mpegurl
.man application/x-troff-man
.manifest application/x-ms-manifest
.map text/plain
.mdb application/x-msaccess
.mdp application/octet-stream
.me application/x-troff-me
.mht message/rfc822
.mhtml message/rfc822
.mid audio/mid
.midi audio/mid
.mix application/octet-stream
.mmf application/x-smaf
.mno text/xml
.mny application/x-msmoney
.mov video/quicktime
.movie video/x-sgi-movie
.mp2 video/mpeg
.mp3 audio/mpeg
.mp4 Video/mp4
.mp4 video/mp4
.mpa video/mpeg
.mpe video/mpeg
.mpeg video/mpeg
.mpg video/mpeg
.mpp application/vnd.ms-project
.mpv2 video/mpeg
.ms application/x-troff-ms
.msi application/octet-stream
.mts Application/metastream
.mvb application/x-msmediaview
.mw2 Image/x.mw2
.mwx Image/x.mwx
.nc application/x-netcdf
.nsc video/x-ms-asf
.nws message/rfc822
.ocx application/octet-stream
.oda application/oda
.ods application/oleobject
.odt application/vnd.oasis.opendocument.text
.p10 application/pkcs10
.p12 application/x-pkcs12
.p7b application/x-pkcs7-certificates
.p7c application/pkc