Recent Articles

Open Source AdServer Software »

AdServerBeans is free open source adserver software suitable for ad networks, advertising agencies, ad serving companies and web publishers who need their own ad management software.

AdServerBeans has advanced banner ad management, tracking and reporting functionality.

  • auction-like bidding-based banner matching algorithm;
  • CPM/CPC/CPA selling methods support;
  • targeting by content (category, page position, site section) , time (hour, day of the week), geo location (country), traffic (views capping per unique per day, views capping per campaign per day);
  • two adserving domains: public and private;
  • support for text ads, rich media ads, image ads;
  • action tracking;
  • in-built conversion of CPC/CPA to eCPM (effective CPM);
  • visual reports contain all the data required for effective ad serving.

AdServerBeans are written in Java using such powerful frameworks and software as Spring, Hibernate, Flex; J2EE, MySQL.

  • technologies: Java, Flex, any RDBMS (tested on MySQL);
  • frameworks: Spring, Hibernate;
  • beans: UI (Flex), service, adserver, reporter.

Popularity: 2% [?]

Open Source Ad Serving and Inventory System »

OASIS is a high-performance ad server built using Linux (RHEL4), Apache, PHP, and MySQL. It is designed to handle many hundreds of thousands of ad impressions per hour. On moderately capable dual processor hardware, it is capable of serving approximately 500,000 impressions per hour.

With OASIS, a publisher, network or marketer can manage all of its online advertising components, including sub-publisher accounts, advertisers, campaign set-up, reporting, forecasting, and billing, with an easy-to-use web-based interface accessible from any web browser.

OASIS version 2.3 includes the following features :

  • Scalability - OASIS allows for an admin (master) ad server controlling an unlimited farm of delivery (slave) ad servers. Ad serving performance will not decrease as you grow.
  • Unlimited Publisher Accounts - handles the needs of any site network consisting of multiple publishers including revenue share.
  • Simple Online User Interface - manage your advertising campaigns, advertisers, publishers, sections, reporting and invoicing 24-hours per day from any web browser.
  • Flexible Assignment of User Access Rights - give any user access to any combination of the software functions that you select, including the "new campaign creation wizard", general campaign management, selected campaign management, advertiser management, section management, reporting and invoicing.
  • Flexible and Powerful Scheduling - schedule CPM, CPC, fixed price and network campaigns by publisher, section and category within a fully user-defined section hierarchy. For each campaign, you can easily include delivery, exclude delivery or force exclusive delivery within your publisher, section and category hierarchy.
  • Streamlined Campaign Workflow – the ad operations group is notified by e-mail when a new campaign has been created by a salesperson, guaranteeing proper ad approval.
  • Delivery Targeting - target campaigns by keyword, IP, full domain, top-level domain, browser, browser language, operating system, time of day, and day of week. Target at both the campaign and creative levels.
  • Geographic Targeting – target campaigns based on the geographic location of the visitor, by country or U.S. state/Canadian Province. Geo targeting requires the purchase and installation of the MaxMind geo IP Region database.
  • Hourly Reporting Updates - no need to wait for the next day to see reporting changes.
  • Hourly Campaign Updates - campaign edits and new campaigns take affect at the top of each hour.
  • Detailed Reporting for Networks, Publishers and Advertisers - for any date range, quickly access campaign and section reports which show impressions, click-throughs and click-through rate (CTR) by dimension, advertiser, campaign, creative, month, date, hour, publisher and section.
  • Revenue Reporting - easy access to detailed advertising revenue reports broken down by CPM, CPC and fixed-price campaigns. Revenue reports can also account for any defined agency commissions, hosting costs and network costs.
  • Invoice Creation - easily create formatted invoices for advertisers and publishers, including network payments.
  • Inventory Forecasting - a sales tool to quickly determine projected ad inventory by section and inventory currently allocated (booked) to each section.
  • Flexible Page Tagging - various ad coding types are available including IFRAME, Javascript and image-based page tagging with "cache busting" technology.
  • Page Tag Generation Tool - easily create error-free page tags for your publishers or for delivery to third party ad networks.
  • Frequency Capping - limit the frequency of campaign delivery to users with time-based frequency capping.
  • Full Rich Media Support - deliver and track clicks for any rich media type under the sun including Flash ads. Create a suite of custom rich media templates for easy rich media set-up as needed.
  • Custom Ad Sizes - in addition to a complete list of pre-defined IAB ad sizes, custom ad sizes can be created.
  • E-mail Report Notifications - automatically send selected individuals weekly campaign summary reports by e-mail.

Popularity: 2% [?]

7stacks »

7stacks is an easy to use, free app that lets Windows 7 (and Vista and XP) users have “stacks” of icons in their Taskbar (in 7) or QuickLaunch Toolbar (in Vista and XP). By using stacks, users can reduce icon clutter, and combine a group of related icons into a single icon. For instance, if you use application suites such as Microsoft Office, OpenOffice, or Adobe CS4, you can have all the suite’s icons combined into one icon!

You can also use it to browse and access documents within a folder very quickly. Usually, when you want to edit a series of frequently used documents, you’d have to either launch the app, and go to File|Open, or open the (My) Computer icon and go into your (My) Documents folder and pick the file you want. With 7stacks, just create a stack to that document’s folder, and open that document in a couple of clicks.


Popularity: 2% [?]

Web Service Testing Tool Written in F# »

STORM is a free and open source tool for testing web services.

It is written mostly in F#.

STORM allows you to

1. Test web services written using any technology (.NET , Java, etc.)
2. Dynamically invoke web service methods even those that have input parameters of complex data types
3. Save development time and money. Creating throw-away test client apps just to test the web service is just too wasteful
4. Test multiple web services from within one UI.
5. Edit/Manipulate the raw soap requests.
6 Others (Try out the tool and find out yourself!)

Popularity: 2% [?]

SharedView from Microsoft »

Microsoft SharedView is a fast, easy way to share documents and screen views with small groups of friends or coworkers; anytime, anywhere. Use SharedView to put your heads together and collaborate – create, convey, and communicate…across physical boundaries, through firewalls, and down to the smallest details.


Popularity: 2% [?]

AutoHotkey »

AutoHotkey is a free, open-source utility for Windows. With it, you can:

  • Automate almost anything by sending keystrokes and mouse clicks. You can write a mouse or keyboard macro by hand or use the macro recorder.
  • Create hotkeys for keyboard, joystick, and mouse. Virtually any key, button, or combination can become a hotkey.
  • Expand abbreviations as you type them. For example, typing “btw” can automatically produce “by the way”.
  • Create custom data-entry forms, user interfaces, and menu bars. See GUI for details.
  • Remap keys and buttons on your keyboard, joystick, and mouse.
  • Respond to signals from hand-held remote controls via the WinLIRC client script.
  • Run existing AutoIt v2 scripts and enhance them with new capabilities.
  • Convert any script into an EXE file that can be run on computers that don’t have AutoHotkey installed.

Popularity: 2% [?]


LINQPad supports everything in C# 3.0 and Framework 3.5:

LINQPad is also a great way to learn LINQ: it comes preloaded with 200 examples from the book, C# 3.0 in a Nutshell.  There’s no better way to experience the coolness of LINQ and functional programming.

And LINQPad is more than just a LINQ tool: it’s a highly ergonomic code snippet IDE that instantly executes any C#/VB expression, statement block or program – the ultimate in dynamic development. Put an end to those hundreds of Visual Studio Console projects cluttering your source folder!

Popularity: 2% [?]

Java: Open Source SMPP Library »

Here are 2 good SMPP libraries


OpenSMPP is an open source Java library which implements the SMPP (Short Message Peer to Peer) protocol. It is based on an open source Java SMPP API originally released by Logica. It can be used to develop ESMEs (External Short Message Entities), Messaging Gateways, and more.

Also provided are some basic command line based tools to simulate an ESME or SMSC for testing of SMPP applications. They also serve as examples of how to use the API.

At the moment only SMPP version 3.4 is supported.



JSMPP is a java implementation (SMPP API) of SMPP protocol (currently support SMPP v3.4). It provides interfaces to communicate with Message Center or ESME (External Short Message Entity) and able to handle traffic 3000-5000 messages per second.

SMPP is stand for Short Message Peer to Peer. It is a standard protocol for exchanging SMS messages between SMS entities over TCP/IP or X.25 connections.

This API created to reduce the verbosity of the existing SMPP API. It’s very simple and easy to use because it hides the complexity of the low level protocol communication such as automatically enquire link request-response.

Popularity: 3% [?]

C# QRCode Library »

The latest C# QRCode library is available for download now at

QRCode Library is a .NET component that can be used to encode and decode QRCode. QRCode is a 2 dimensional bar code that originated in Japan. Nowadays it is widely used in a wide range of industries, e.g. for vehicle parts tracking and inventory management.

QR stands for “Quick Response”. It was created by the Japanese corporation Denso-Wave in 1994 and is aimed at decoding contents at high speed. Nowadays, QR Code is used in mobile phones to ease data entry.

QRCode can also be printed on a business card or shown on any display, which can then be captured by the mobile phone provided the mobile phone has the software to read QRCode.

QRCode Library provides functions to:

  • Encode content into a QR Code image which can saved in JPEG, GIF, PNG, or BITMAP formats
  • Decode a QR Code image

The library can be used in any .NET 3.5 Windows Application, ASP.NET web application or Windows Mobile device application.

Popularity: 3% [?]

Open Source Java Barcode Processing Library »

ZXing (pronounced “zebra crossing”) is an open-source, multi-format 1D/2D barcode image processing library implemented in Java. Our focus is on using the built-in camera on mobile phones to photograph and decode barcodes on the device, without communicating with a server. We currently have production-quality support for:

  • UPC-A and UPC-E
  • EAN-8 and EAN-13
  • Code 39
  • Code 128
  • QR Code
  • Data Matrix (‘alpha’ quality)
  • PDF 417 (‘alpha’ quality)
  • ITF

This library is divided into several components; some are actively supported:

  1. core: The core image decoding library, and test code
  2. javase: J2SE-specific client code
  3. android: Android client, called Barcode Scanner
  4. androidtest: Android test app
  5. android-integration: Supports integration with our Barcode Scanner app via Intent
  6. zxingorg: The source behind
  7. The source behind our web-based barcode generator

Some modules are contributed and/or intermittently maintained:

  1. javame: JavaME client
  2. csharp: Partial C# port
  3. cpp: Partial C++ port
  4. rim: RIM/Blackberry-specific client build
  5. iphone: iPhone client + port to Objective C / C++ (QR code only)
  6. bug: Client for BugLabs’s BUG

Popularity: 2% [?]

Concurrency Testing Tool »

CHESS is a tool for finding and reproducing Heisenbugs in concurrent programs. CHESS repeatedly runs a concurrent test ensuring that every run takes a different interleaving. If an interleaving results in an error, CHESS can reproduce the interleaving for improved debugging. CHESS is available for both managed and native programs.

Popularity: 2% [?]

Microsoft Sync Framework »

Microsoft Sync Framework is a comprehensive synchronization platform that enables collaboration and offline access for applications, services and devices. It features technologies and tools that enable roaming, sharing, and taking data offline. Using Microsoft Sync Framework, developers can build sync ecosystems that integrate any application, with any data from any store using any protocol over any network. 

A key aspect of the Microsoft Sync Framework is the ability to create custom synchronization providers. A provider is a software component that represents a replica for synchronization. A replica is a particular repository of information to be synchronized, such as a file system on a handheld device. When representing a data source, a provider enumerates changes from its replica. When representing a destination, a provider applies changes to its replica. If the data at the source and destination differ in type or schema, each provider performs any necessary mapping or transformation. 

Microsoft Sync Framework includes a number of providers that support common data sources. Although you can write custom providers for these data sources, it is recommended that you use the providers that we supply wherever possible. This can minimize development time and enable you to reuse existing tested code. The following providers are included:

  • Sync Services for ADO.NET: Synchronization for ADO.NET enabled data sources
  • Sync Services for File Systems: Synchronization for files and folders
  • Sync Services for FeedSync: Synchronization for RSS and ATOM feeds

Developers can ultimately use any of the providers supplied or can create custom providers to exchange information between devices and applications.


Popularity: 2% [?]

Windows Plugin Framework »

The Managed Extensibility Framework (or MEF for short) simplifies the creation of extensible applications. MEF offers discovery and composition capabilities that you can leverage to load application extensions.

MEF presents a simple solution for the runtime extensibility problem. Until now, any application that wanted to support a plugin model needed to create its own infrastructure from scratch. Those plugins would often be application-specific and could not be reused across multiple implementations.

  • MEF provides a standard way for the host application to expose itself and consume external extensions. Extensions, by their nature, can be reused amongst different applications. However, an extension could still be implemented in a way that is application-specific. Extensions themselves can depend on one another and MEF will make sure they are wired together in the correct order (another thing you won’t have to worry about).
  • MEF offers a set of discovery approaches for your application to locate and load available extensions.
  • MEF allows tagging extensions with additional metadata which facilitates rich querying and filtering

Popularity: 2% [?]

Windows 7 Sample Application »

The Windows XP to Windows 7 (XP2Win7) reference application provides a tour of the unique Windows 7 technical features that enable developers to “light up” their applications on Windows 7. The XP2Win7 reference application features the Image Viewer, a WPF application that runs on XP.

This project shows that by exploiting Windows 7 features you can add a great deal of value to your application with relatively little effort and without sacrificing backward compatibility.


  • Windows Search
  • UAC
  • Scheduled Task
  • Windows 7 Taskbar Integration
  • Transactional File System
  • IO Optimization
  • Event Tracing for Windows (ETW)
  • Microsoft Management Console
  • Windows 7 Libraries
  • Windows 7 Sensor and Location Platform
  • PowerShell
  • Preview Handler
  • Aero Glass
  • Trigger Start Services

Popularity: 2% [?]

SQLite Database Management Tool »

SQLite2009 Pro Enterprise Manager is a freeware tool that enables you to manage your SQLite3 databases.


  • Blob/Image viewer
  • Built-in FTS3 Extention
  • Built-in LUA Programming Language
  • Encrypted database support
  • Export recordset into excel, csv, xml and html format
  • Import data from Ms Access / MS SQL server
  • Includes SQLite2009 Pro ODBC Driver
  • Includes Additional sqlite3 function (compress, decompress, crc32, md5, lua_exec, etc)
  • Transactions supported
  • Visual Query Builder
  • Includes the user-contributed extension-functions from

Popularity: 2% [?]

Open Source ADO.NET Provider for SQLite Database Engine »

System.Data.SQLite is the original SQLite database engine and a complete ADO.NET 2.0/3.5 provider all rolled into a single mixed mode assembly.  It is a complete drop-in replacement for the original sqlite3.dll.

The provider was written from scratch on VS2005/2008 specifically for ADO.NET 2.0, using all the most recent changes to the ADO.NET framework.  That includes full DbProviderFactory support, automatic distributed transaction enlistment, connection pooling, extensive schema support, Entity Framework support and more.

Popularity: 2% [?]

Oracle: Using ADDM »

The Automatic Database Diagnostic Monitor ( ADDM ) is an advisor which detects problem area’ s in the database and and which gives recommendations. ADDM uses the statistical data from the AWR – Automatic Workload Repository – stored in the sysaux tablespace. By default the statistical data is gathered / written to disk by snapshots every hour and kept in the sysaux tablespace for 7 days, assuming you haven’ t set the instance parameter statistics_level to basic. ( default = typical ). Please note you can also take AWR Reports which are an equivalent of the statspack reports from previous releases.  (AWR reports gives even more detailed information )

We can however create a snapshot manually

SQL> exec dbms_workload_repository.create_snapshot;

PL/SQL procedure successfully completed.

As well we can change the retention period and the snapshot interval. In the example below we change the retention period to 5 days ( 5 x 24 x 60 ) and the snapshot interval to 30 minutes.

SQL> exec dbms_workload_repository.modify_snapshot_settings (retention => 7200,interval => 30);
PL/SQL procedure successfully completed.

Here is an example of how one can take a ADDM report.

SQL> @/app/oracle10g/10.2.0/rdbms/admin/addmrpt.sql;

Popularity: 2% [?]

Java: Generate RDF from Web Pages »

WebCAT is an extensible tool to extract meta-data and generate RDF descriptions from existing Web documents. Implemented in Java, it provides a set of APIs (Application Programming Interfaces) that allow one to analyse text documents from the Web without having to write complicated parsers.

Among other things, WebCAT provides:
  – Language and encoding detection.
  – Hyperlink extraction.
  – Text tokenization (words, n-grams, sentences).
  – Document fingerprinting.
  – Format conversion.
  – Metadata extraction and normalization.
  – Named Entity Extraction.
  – Document classification.

The considered meta-data elements are particularly suited to the domain of automated search, making this a good tool to use in other information retrieval and extraction projects.

Popularity: 2% [?]

N-Gram Analysis with TCatNG »

The TCatNG Toolkit is a Java package that you can use to apply N-Gram analysis techniques to the process of categorizing text files.

N-Grams are short sequences of bytes or letters, and their statistics provide valuable informations about byte sequences and strings. N-Gram based approaches are very powerful in text categorization because every string is decomposed into small parts, and errors tend to affect only a limited number of those parts, leaving the remainder intact.

The use of character N-Grams also does not explicitly or implicitly require the specification of a separator, as it is necessary for words. Consequently, analyzing a text in terms of N-Grams constitutes a valuable approach for text written in any language based on an alphabet and the concatenation text-construction operator, eliminating the need for complex text tokenization, stemming, and/or lemmatization.

There are many possible applications: categorizing documents by topic, detecting the author of a text, or recognizing the language and encoding for a bunch of bytes (i.e. in a search engine, to figure the language of a document). This is actually the first application this software package was designed for, but many other uncharted areas are up to you to explore.

In sum, this package offers a robust research framework for experimenting with text categorization using character N-Grams.

Popularity: 2% [?]

Oracle Performance: DFS Lock Handle and Oracle Sequence »

If you are using Oracle sequences very frequently in a RAC environment, most often you will see that one of the most timed events is “DFS Lock Handle”. Commonly you should set the sequence to have a larger cache size and with the NOORDER option, which is the default, for best performance.

Performance of combined options worst to best:

  • CACHE with ORDER

Few more things to note

  • High volume insert intensive applications using Sequence generated keys add extra overhead
    NOCACHE is the worst for performance
  • CACHE NOORDER is the best for performance
  • Services may help improve performance even for CACHE NOORDER sequences if the insert application uses a service with only one Preferred Instance.
  • This eliminates the Interconnect traffic and synchronisation overhead required to coordinate the next value from amongst all the instances when using CACHE ORDER

Most information here

Popularity: 3% [?]