Recent Articles

Firefox WebMail Notifier »

WebMail Notifier checks your webmail accounts and notifies the number of unread emails.


Currently supports

  • & Google Apps)

Popularity: 1% [?]

Firefox: Blocking Ads »

Ever been annoyed by all those ads and banners on the internet that often take longer to download than everything else on the page? Install Adblock Plus now and get rid of them. Right-click on a banner and choose “Adblock” from the context menu — the banner won’t be downloaded again. Maybe even replace parts of the banner address with star symbols to block similar banners as well. Or choose a filter subscription, then even this simple task will usually be unnecessary: the filter subscription will block most advertisements fully automatically.


Popularity: 1% [?]

Tor – To be Anonymous Online »

Tor is free software and an open network that helps you defend against a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security known as traffic analysis.

Tor protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, and it prevents the sites you visit from learning your physical location. Tor works with many of your existing applications, including web browsers, instant messaging clients, remote login, and other applications based on the TCP protocol.

Hundreds of thousands of people around the world use Tor for a wide variety of reasons: journalists and bloggers, human rights workers, law enforcement officers, soldiers, corporations, citizens of repressive regimes, and just ordinary citizens. See the Who Uses Tor? page for examples of typical Tor users. See the overview page for a more detailed explanation of what Tor does, and why this diversity of users is important.

Tor doesn’t magically encrypt all of your Internet activities, though. You should understand what Tor does and does not do for you.

Tor’s security improves as its user base grows and as more people volunteer to run relays. (It isn’t nearly as hard to set up as you might think, and can significantly enhance your own security.)

Tor is a registered 501(c)(3) U.S. non-profit whose mission is to allow you to protect your Internet traffic from analysis.

Popularity: 1% [?]

Open Source BPEL Engine fro JBOSS »

Project Riftsaw is a WS-BPEL 2.0 engine that is optimized for the JBoss Application Server container. WS-BPEL 2.0 is an XML-based language for defining business processes that orchestrate web services.


Riftsaw supports :

  • short-lived and long-running process executions
  • process persistence & recovery
  • process versioning
  • JBoss deployment architecture, enabling hot deployment
  • ant-based deployment
  • integrated with the JBoss ESB
  • Eclipse-based designer (Bundled with JBoss Tools 3.1)

Riftsaw is based on Apache Ode and will extend Ode in the following ways:

  • Tight integration with Eclipse BPEL editor
  • Support for JBossWS, and therefore the three web service stacks (Native, Apache CXF and Metro)
  • Enterprise quality management console
  • Runs in JBoss Cluster

Popularity: 2% [?]

Firefox Proxy Tool »

FoxyProxy is a set of proxy management tools for Firefox, Thunderbird, Seamonkey, and Songbird.

  • Animated statusbar/toolbar icons show you when a proxy is in use
  • Define multiple proxies
  • Define which proxy to use (or none!) for arbitrary URLs using wildcards, regular expressions, whitelists, blacklists, and other conveniences
  • No more wondering whether a URL loaded through a proxy or not: FoxyProxy optionally logs all URLs, including which proxy was used (if any), which pattern was matched, timestamps, etc.
  • Out-of-the-box support for Tor with the unique Tor Wizard – zero configuration!
  • Temporarily or permanently dedicate all URLs to go through a particular proxy
  • Temporarily or permanently disable use of a proxy
  • Automatically add blocked sites to a proxy and have them reload through the proxy
  • Optional status bar information about which proxy is currently in use
  • Complete Proxy Auto-Config (PAC) support
  • Download a link using one of your defined proxies with a simple right-click (coming soon)
  • Unobtrusive presence, stable execution, premier support
  • Optionally force Firefox to perform DNS lookups through a SOCKS4a/5 server. Note that Firefox without FoxyProxy always performs DNS lookups through a SOCKS5 server if you’ve defined one. Only with FoxyProxy can you instruct Firefox to not use defined SOCKS5 servers for DNS lookups.

Popularity: 1% [?]

Firefox: View and Modify HTTP/HTTPS Data »

TamperData is an extension to track and modify http/https requests.

What I use it for
  • security testing of Web based applications
  • tracking request/responses
  • It’s just cool.


Popularity: 1% [?]

.NET: Convert to Local Timezone »

You can use the style DateTimeStyles.AssumeLocal to parse the date time string if there is no timezone information contained in the string.


   1: DateTime.ParseExact(dateString, DateFormats, CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);

If datestring contains no time zone information, the DateTime..::.Parse(String, IFormatProvider, DateTimeStyles) method returns a DateTime value whose Kind property is DateTimeKind..::.Unspecified unless a styles flag indicates otherwise.

If datestring includes time zone or time zone offset information, the DateTime..::.Parse(String, IFormatProvider, DateTimeStyles) method performs any necessary time conversion and returns one of the following:

  • A DateTime value whose date and time reflect the local time and whose Kind property is DateTimeKind..::.Local.
  • Or, if styles includes the AdjustToUniversal flag, a DateTime value whose date and time reflect UTC and whose Kind property is DateTimeKind..::.Utc

Popularity: 1% [?]

Oracle BPEL: Partner Link Timeout »

Starting version, to set time out in seconds for a partner link, it is just configuration in bpel.xml.

E.g. the configuration below sets the timeout to 5 seconds

   1: <partnerLinkBinding name="WebService"

   2:   <property name="timeout">5</property>   

   3:   <property name="optSoapShortcut">false</property>    

   4:   <!-- other PartnerLink properties --> 

   5: </partnerLinkBinding>

If  the WebService is on the SAME host as the BPEL, it is also necessary to set the property "optSoapShortcut" to FALSE.  The parameter "optSoapShortcut" is by Default = TRUE. It should be set to FALSE to force local SOAP request to go through SOAP instead of internal calls. 

The parameter Timeout is documented in :  Oracle® BPEL Process Manager Developer’s Guide

optSoapShortcut is documented in :

Popularity: 1% [?]

Oracle BPEL: Adding CDATA Section to XML Payload »

In Oracle BPEL, to add a CDATA section to a XML payload looks like not easy.

E.g. if you want to add the CDATA to the XML below, it is not easy as using Java

   1: <?xml version = '1.0' encoding = 'UTF-8'?>

   2: <tns:RunTask><xmlRequestDocument><![CDATA[test

   3: data]]></xmlRequestDocument></tns:RunTask>

As of version, the ora:toCDATA() is introduced to resolve this issue.

Popularity: 1% [?]

Useful Text Analysis Tool in .NET »

The Problem: For those times when you have to analyze a large amount of textual data, picking out the relevant line(s) of interest can be quite difficult. Standard text editors usually provide a generic "find" function, but the limitations of that simple approach quickly become apparent (e.g., when it is necessary to compare two or more widely separated lines). Some more sophisticated editors do better by allowing you to "bookmark" lines of interest; this can be a big help, but is often not enough.

The Solution: TextAnalysisTool.NET – a program designed from the start to excel at viewing, searching, and navigating large files quickly and efficiently. TextAnalysisTool.NET provides a view of the file that you can easily manipulate (through the use of various filters) to display exactly the information you need – as you need it.


Filters: Before displaying the lines of a file, TextAnalysisTool.NET passes the lines of that file through a set of user-defined filters, dimming or hiding all lines that do not satisfy any of the filters. Filters can select only the lines that contain a sub-string, those that have been marked with a particular marker type, or those that match a regular expression. A color can be associated with each filter so lines matching a particular filter stand out and so lines matching different filters can be easily distinguished. In addition to the normal "including" filters that isolate lines of text you DO want to see, there are also "excluding" filters that can be used to suppress lines you do NOT want to see. Excluding filters are configured just like including filters but are processed afterward and remove all matching lines from the set. Excluding filters allow you to easily refine your search even further.

Markers: Markers are another way that TextAnalysisTool.NET makes it easy to navigate a file; you can mark any line with one or more of eight different marker types. Once lines have been marked, you can quickly navigate between similarly marked lines – or add a "marked by" filter to view only those lines.

Find: TextAnalysisTool.NET also provides a flexible "find" function that allows you to search for text anywhere within a file. This text can be a literal string or a regular expression, so it’s easy to find a specific line. If you decide to turn a find string into a filter, the history feature of both dialogs makes it easy.

Summary: TextAnalysisTool.NET was written with speed and ease of use in mind throughout. It saves you time by allowing you to save and load filter sets; it lets you import text by opening a file, dragging-and-dropping a file or text from another application, or by pasting text from the clipboard; and it allows you to share the results of your filters by copying lines to the clipboard or by saving the current lines to a file. TextAnalysisTool.NET supports files encoded with ANSI, UTF-8, Unicode, and big-endian Unicode and is designed to handle large files efficiently.

Popularity: 1% [?]

How to Prevent Windows From Sleeping Mode »

Insomnia is the tool that can be used to prevent your computer from going to sleep mode, temporarily.


The default power settings for Windows are set up so a computer will go to sleep after 15 to 30 minutes of inactivity (i.e., no mouse or keyboard input). This is great because a computer that’s not being used doesn’t need to be running at full power. By letting an idle machine enter sleep mode, the user benefits from a significant reduction in electricity use, heat generation, component wear, etc.. And because sleep mode preserves the state of everything in memory, it’s quick to enter, quick to exit, and doesn’t affect the user’s work-flow. All the same applications continue running, windows stay open and where they were, etc.. So sleep mode is a Good Thing and I’m a fan.

However, sometimes a computer is busy even though someone isn’t actively using the mouse and keyboard; common examples include playing a movie, burning a DVD, streaming music, etc.. In these cases, you don’t want the machine to go to sleep because you’re using it – even though you’re not actually using it! So most media players and disc burners tell Windows not to go to sleep while they’re running. In fact, there’s a dedicated API for exactly this purpose: the SetThreadExecutionState Win32 Function.

But what about those times when the computer is busy doing something and the relevant program doesn’t suppress the default sleep behavior? For example, it might be downloading a large file, re-encoding a music collection, backing up the hard drive, or hashing the entire contents of the disk. You don’t want the machine to go to sleep for now, but are otherwise happy with the default sleep behavior. Unfortunately, the easiest way I know of to temporarily suppress sleeping is to go to Control Panel, open the Power Options page, change the power plan settings, commit them – and then remember to undo everything once the task is finished. It’s not hard; but it’s kind of annoying…

Insomnia is a simple WPF application that calls the SetThreadExecutionState API to disable sleep mode for as long as it’s running. (Note that the display can still power off during this time – it’s just sleep for the computer that’s blocked.) Closing the Insomnia window immediately restores whatever sleep mode was in effect before it was run. It couldn’t be easier!

Popularity: 1% [?]

Analysing Tools for Java Class and Package Dependencies »

Classycle‘s Analyser analyses the static class and package dependencies in Java applications or libraries. It is especially helpful for finding cyclic dependencies between classes or packages. Classycle is similar to JDepend which does also a dependency analysis but only on the package level.

Classycle’s Dependency Checker searchs for unwanted class dependencies described in a dependency definition file. Dependency checking helps to monitor whether certain architectural constrains (e.g. in a layered architecture) are fulfilled or not.

Static cyclic dependencies of classes or packages can be a sign of bad object-oriented design. A static dependency is a dependency between classes or packages. It can already be detected by the compiler. This has to be distinguished from dynamic dependency which is a dependency between objects. Figuring out static cyclic dependency is the main purpose of Classycle.

Classycle does not need the Java source files because it analyses the compiled class files. Since version 1.3 it also evaluates Java Generics signatures.

From the analysis of the class files directed graphs of class and package dependencies are calculated. These graphs are further analysed in order to detect cyclic dependencies.

Classycle’s Analyser produces a report (in XML) which contains

  • the complete directed class/package graph
  • all strong components of the class/package graph with more than one vertex (i.e. cycles of class/package dependencies)


Coqua measures 5 distinct Java code quality metrics, providing an overview and history for the management, and down-to-the-code, detailed views for the developer. Metrics can be defined per team. Ideal for mid- to large-sized and/or offshore projects.

Popularity: 1% [?]

Code Contracts from Microsoft Research »

Code Contracts provide a language-agnostic way to express coding assumptions in .NET programs. The contracts take the form of preconditions, postconditions, and object invariants. Contracts act as checked documentation of your external and internal APIs. The contracts are used to improve testing via runtime checking, enable static contract verification, and documentation generation.

Code Contracts bring the advantages of design-by-contract programming to all .NET programming languages. The benefits of writing contracts are:

Improved testability

  • each contract acts as an oracle, giving a test run a pass/fail indication.
  • automatic testing tools, such as Pex, can take advantage of contracts to generate more meaningful unit tests by filtering out meaningless test arguments that don’t satisfy the pre-conditions.

Static verification We have prototyped numerous static verification tools over the past years. Our current tool takes advantage of contracts to reduce false positives and produce more meaningful errors.

API documentation Our API documentation often lacks useful information. The same contracts used for runtime testing and static verification can also be used to generate better API documentation, such as which parameters need to be non-null, etc.

Popularity: 1% [?]

Open Source Java GIS Toolkit »

GeoTools is an open source Java library that provides tools for geospatial data.


It has a modular architecture which allows extra functionality to be added or removed easily. Geotools 2 aims to support Open GIS and other relevant standards as they are developed’.

The aim of the project is to develop a core set of Java objects in a framework which makes it easy for others to implement OGC-compliant, server-side services or provide OGC compatibility in standalone applications or applets. The GeoTools 2 project comprises a core API of interfaces and default implementations of those interfaces.

Popularity: 1% [?]

OpenLayers: Free Maps for the Web »

OpenLayers makes it easy to put a dynamic map in any web page. It can display map tiles and markers loaded from any source. MetaCarta developed the initial version of OpenLayers and gave it to the public to further the use of geographic information of all kinds. OpenLayers is completely free, Open Source JavaScript, released under a BSD-style License.

OpenLayers is a pure JavaScript library for displaying map data in most modern web browsers, with no server-side dependencies. OpenLayers implements a (still-developing) JavaScript API for building rich web-based geographic applications, similar to the Google Maps and MSN Virtual Earth APIs, with one important difference — OpenLayers is Free Software, developed for and by the Open Source software community.

Popularity: 1% [?]

Open Source Java GeoServer »

GeoServer is a Java-based software server that allows users to view and edit geospatial data. Using open standards set forth by the Open Geospatial Consortium (OGC), GeoServer allows for great flexibility in map creation and data sharing.

GeoServer allows you to display your spatial information to the world. Implementing the Web Map Service (WMS) standard, GeoServer can create maps in a variety of output formats. OpenLayers, a free mapping library, is integrated into GeoServer, making map generation quick and easy. GeoServer is built on Geotools, an open source Java GIS toolkit.

There is much more to GeoServer than nicely styled maps, though. GeoServer also conforms to the Web Feature Service (WFS) standard, which permits the actual sharing and editing of the data that is used to generate the maps. Others can incorporate your data into their websites and applications, freeing your data and permitting greater transparency.

GeoServer can display data on any of the popular mapping applications such as Google Maps, Google Earth, Yahoo Maps, and Microsoft Virtual Earth. In addition, GeoServer can connect with traditional GIS architectures such as ESRI ArcGIS.

Popularity: 1% [?]

Open Source Java JAR Browser »

The Jars Browser is a simple free Swing application for browsing a set of jar files.
It scans a directory or a Java archive (Jar, EAR, WAR) to answer these simple questions:

  • In which Jar/WAR/EAR this class file is located ?
  • Is this class contained in multiple Jars ?

It helps resolving classpath problems as well as sealing violation issues when different versions of a class are contained in multiple Jars.

The Jar Browser is a simple Swing app for browsing a set of jar files.

  • Browse all the jars from a directory tree, or from the CLASSPATH
  • Search for classes by name across a set of jars
  • Decompile classes from within a jar
  • Search for text within decompiled class listing

Popularity: 1% [?]

C#: Convert Byte to SByte »

Here is a simple way to convert SByte to Byte in C#. E.g. if you want to convert the value of 129 from data type Byte to –127 in SByte

   1: byte byteValue = 129;

   2: sbyte sb = unchecked((sbyte)byteValue);

   3: Console.WriteLine(sb);

Popularity: 1% [?]

Open Source Digital Asset Management »

Razuna is a software solution (some call it digital asset management, media asset management, digital library, media management, etc.) that delivers and makes management of your digital assets a simple task!

By using Razuna you get the benefit of it being free and open source and supported by a professional company.

With Razuna, your information can be collected, consolidated, verified, filtered, mined and always be available and secure. Razuna does all this while requiring less hardware and fewer administrators, for the lowest overall cost of ownership. A powerful solution like Razuna will achieve significant efficiency gains as well as consistency throughout the organization.

Since Razuna is based on open standards (J2EE/CFML/SQL/XML) you can rest assured that Razuna can scale with your business. For international organizations that hold already thousands of assets, Razuna can take up on your existing assets with powerful import and export tools.

Popularity: 1% [?]

Open Source SMPP Library for Java, .NET, ERLANG »

This is a sequel to my previous article on SMPP Library. Here are additional free and open source solutions.


smppapi is an Java implementation of the Short Message Peer to Peer (SMPP) protocol. SMPP is used by applications to communicate with Service Centres to send and receive short messages to & from mobile devices.

The current implementation (0.3.x) supports versions 3.3 and 3.4 of the specification. Work has begun on implementing version 5.0 of the specification.

The smppapi supports communication over the TCP/IP protocol but is extensible, allowing other network implementations to be added.

The smppapi is released under the Lesser GPL.


Easy SMPP is a SMPP protocol library for fast and easy SMSC(Short Message Service Centre) client development even for non-telecom guys. Easy to use classes covers all needed functionality for SMS applications developers and Content Providers. Written for .NET 2.0 in C#.


RoaminSMPP is a SMPP library written in C#. Intended to be fully SMPP v3.4 compliant and extensible for future versions of the spec.


smppclient is a SMPP v 3.4 protocol implementation written in Java. High configurable, with comprehensive documentation and very easy to use. Look at Wiki for examples.


This is another SMPP library that can be downloaded here.


OSERL (Open SMPP Erlang Library) is an erlang implementation of the Short Message Peer to Peer protocol.

Short Message Peer to Peer (SMPP) protocol is an open, industry standard designed to provide a flexible data communications interface for the transfer of short message data between External Short Message Entities (ESME), Routing Entities (RE) and Message Centers (MC). OSERL is an open source library that comprises the entire specification of the recently released SMPP version 5.0 (February 20th, 2003). Moreover, thanks to an appropriated design, any future and previous version of the protocol are also directly supported by OSERL.

Popularity: 2% [?]