Friday, May 15, 2009

Ultimate Maps Downloader

Ultimate Maps Downloader can download both satellite imagery and topographic maps from Google Maps, Yahoo Maps, Microsoft Virtual Earth Maps, Open Street Maps.

All downloaded small tiles are saved on the disk and then combined in one map image for offline use.

Microsoft .Net Framework 2.0 is required for running the program.

You can save maps and tiles in several kinds of image formats such as bmp, jpg, png and gif.

You can select multiple download servers and zoom levels at the same time.

Note: The downloaded images are only for your personal purpose, non-commercial use.

For more info and download link, please visit http://www.lizardl.com/

Sunday, March 8, 2009

Basics of writing a SQL Query for Microsoft Logparser 2.2

A basic SQL query must have, at a minimum two basic building blocks: the SELECT clause, and the FROM clause. For starters: start Log Parser Lizard, click on the “New Query” button on the toolbar, from a drop down list select “Windows Event Log” and in the Query text box in the bottom of the window write the following command:
  • SELECT * FROM System

The SELECT clause is used to specify which input record fields we want to appear in the output. The FROM clause is used to specify which specific data source we want the Input Format to process. Different Input Formats interpret the value of the FROM clause in different ways; for instance, the EVT Input Format requires the value of the FROM clause to be the name of a Windows Event Log, which in our example is the "System" Event Log.

The special "*" wildcard after a SELECT keyword means "all the fields" (like in standard SQL). Most of the times, an output of all of the fields of the log records might not be desired. You might only want to see only the fields that are of your interest. To accomplish this, instead of the "*" wildcard in the SELECT clause, you will have to write a comma-separated list of the names of the fields you wish to be displayed.

  • SELECT TimeGenerated, EventTypeName, SourceName FROM System

The Log Parser SQL-Like language also supports a wide variety of functions, including arithmetical functions (e.g. ADD, SUB, MUL, DIV, MOD, QUANTIZE, etc.), string manipulation functions (e.g. SUBSTR, STRCAT, STRLEN, EXTRACT_TOKEN, etc.), and timestamp manipulation functions (e.g. TO_DATE, TO_TIME, TO_UTCTIME, etc.). Functions can also appear as arguments of other functions.

  • SELECT TO_DATE(TimeGenerated), TO_UPPERCASE( EXTRACT_TOKEN(EventTypeName, 0, ' ') ), SourceName FROM System

То change the name of a field-expression in the SELECT clause by using an alias you can use the AS keyword followed by the new name of the field.

  • SELECT TO_DATE(TimeGenerated) AS DateGenerated, TO_UPPERCASE( EXTRACT_TOKEN(EventTypeName, 0, ' ') ) AS TypeName, SourceName FROM System

When retrieving data from an Input Format, it is often needed to filter out unneeded records and only keep those that match specific criteria. To accomplish this task, you can use another basic building block of the Log Parser SQL language: the WHERE clause which is used to specify a Boolean expression that must be satisfied by an input record for that record to be listed in the output. Input records that do not satisfy the condition will be discarded. Conditions specified in the WHERE clause can be more complex, making use of comparison operators (such as ">", "<=", "<>", "LIKE", "BETWEEN", etc.) and boolean operators (such as "AND", "OR", "NOT"). The WHERE clause must immediately follow the FROM clause.

  • SELECT TimeGenerated, EventTypeName, SourceName FROM System WHERE ( SourceName = 'Service Control Manager' AND EventID >= 7024)

The ORDER BY clause can be used to specify that the output records should be sorted according to the values of selected fields. By default, output records are sorted according to ascending values. We can change the sort direction by appending the DESC (for descending) or ASC (for ascending) keywords to the ORDER BY clause.

  • SELECT SourceName, EventID, TimeGenerated FROM System ORDER BY TimeGenerated

Sometimes we might need to aggregate multiple input records together and perform some operation on groups of input records. To accomplish this, the Log Parser SQL like language has a set of aggregate functions (also referred to as "SQL functions") that can be used to perform basic calculations on multiple records. These functions include SUM, COUNT, MAX, MIN, and AVG. The GROUP BY clause is used to specify which fields we want the group subdivision to be based on. After the input records have been divided into these groups, all the aggregate functions in the SELECT clause will be calculated separately on each of these groups, and the query will return an output record for each group created.

  • SELECT EventTypeName, Count(*) FROM system GROUP BY EventTypeName

For filtering results from groups you can use the HAVING clause. The HAVING clause works just like the WHERE clause, with the only difference being that the HAVING clause is evaluated after groups have been created, which makes it possible for the HAVING clause to specify aggregate functions.

  • SELECT EventTypeName, Count(*) from system group by EventTypeName HAVING EventTypeName =’Error event'

The DISTINCT keyword is used to indicate that the output of a query should consist of unique records. Duplicate output records are discarded. It is also possible to use the DISTINCT keyword inside the COUNT aggregate function, in order to retrieve the total number of different values appearing in the data.

  • SELECT DISTINCT SourceName from System
  • SELECT COUNT( DISTINCT SourceName) from System

Use the TOP keyword in the SELECT clause to return only a few records at the top of the ordered output.

  • SELECT TOP 10 SourceName, Count(*) as Total FROM System GROUP BY SourceName ORDER BY Total DESC

These are simple queries, but they are good example that this log tool is more powerful for analyzing syslog events than any other event log viewer. For more samples, you can always look in examples provided with the program. They don’t all work out-of-a-box but can be very helpful.

XSign ActiveX XML Digital Signature Component

I have created an ActiveX component for signing XML documents named Lizard Labs XSign Lite :) It is an ActiveX software component and has been developed for secure personal and business transactions. It enables XML digital signatures using certificates over the Internet and intranet. LLXSL is compatible with Microsoft.Net, ASP.Net and many other signature verification libraries; it doesn’t need MS XML, CAPICOM or other components and works on most Windows operation system including Windows XP and Windows Vista. Although similar products are available on the market for more then 1000$, Lizard Labs XSign Lite is free for use but please consider a monetary donation if you like this component.


Features

  • XSign is an ActiveX component and can be used in both web based and desktop applications (XPCOM component for use in Fire Fox will be available in XSign Standard edition) .
  • Can be used in a Web Browser and on the server,
  • Compatible with Microsoft.Net, ASP.Net and many other signature verification libraries
  • XSign is implemented on the Win32 platform and uses Microsoft’s standard API functions for cryptographic functions and XML processing
  • Stand alone installation. No need for MS XML, CAPICOM and other components
  • Compatible with Internet Explorer on all Windows operation system including Windows XP SP2 and Windows Vista
  • Implements the XML digital signature standard of the World Wide Web Consortium (W3C) and the Internet Engineering Task Force (IETF)
  • API that allows application developer flexible to control the signing process
  • Full support of Unicode characters
  • X.509 certificates can be used to generate the signatures (passwords can be used only in XSign Standard Edition, available soon)
  • Support for user certificate store to find certificates, meaning that all devices including installed certificates on your computer, smart cards, and USB tokens, can bi used to generate signatures
  • Utilizes SHA1 digest algorithm, Canonical XML canonicalization and Base64 algorithms
  • When creating signatures the signed XML data can easily be made visible for the user for inspection when required
  • Easy to use, yet powerful
  • Free for use and distribution (published as a donationware)

For more info and download link, please visit http://www.lizardl.com/

Monday, February 2, 2009

Log Parser GUI

Log Parser is a very powerful, free and versatile tool that provides universal query access to text-based data, such as log files, XML files, and CSV files, as well as key data sources on the Microsoft Windows operating system, such as the event log, IIS log, the registry, the file system, and the Active Directory services.

Because the command-line interface is not very intuitive, I have created Log Parser Lizard, a GUI tool for managing queries, exporting results to Excel, charts, etc… In addition I have added input filters for RegEx and log4net input log formats (with support for regular expressions) and SQL server T-SQL queries. There are some helpful examples included in installation package to help you start using Log Parser Lizard (and it’s SQL like syntax) for a web log analyzer and system log analyzer.

For more info and download link please visit http://www.lizardl.com/