DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world


  • submit to reddit

Recent Snippets

                    Use the following to automatically use the current class name for the log category (example is for commons-logging, works with log4j, too):

class Foo {
   private final Log log = LogFactory.getLog(getClass());

Compare to the following where the class name is refered to explicitely. If the class is renamed or parts of the codes are copied ("reused") the logging will by misleading.

class Foo {
   private static final Log log = LogFactory.getLog(Foo.class);

                    No more letter counting... :-)
edit: see kirk's faster solution "String_Begins_With2"

function String_Begins_With($needle, $subject) {
 return (substr($subject, 0, strlen($needle))==$needle);
window.onbeforeunload = function (evt) {
  var message = 'Are you sure you want to leave?';
  if (typeof evt == 'undefined') {
    evt = window.event;
  if (evt) {
    evt.returnValue = message;
  return message;
                    This attaches a style attribute to the tr tag, but only on every other tag.

<xsl:template match="my_repeating_item">
  <xsl:if test="position() mod 2 != 1">
    <xsl:attribute  name="style">background-color:#dddddd</xsl:attribute>
                    Mark all links except ones inside your domein
a:not([href*="mydomain"]) {
	padding-right: 10px;
	background: transparent url("images/aoutside.gif") center right no-repeat;

Mark all links that start with 'http://'
a[href^="http"] {
padding-right: 10px;
background-image: url(external.gif);
background-position: right !important;
background-repeat: no-repeat;
<cfdirectory action="LIST" directory="d:\www\docs\" name="dirlist">
<cfloop query="dirlist">
	<cfset outSize = dirlist.size / 1000>
	<a href="docs/" target="_blank"></a> 
	(#NumberFormat(outSize)# kB, 
	#lsdateformat(dirlist.dateLastModified, 'dddd d mmmm yyyy')#)
                    PHP function Singleton allows you holding exactly one object of a class in memory. If an object of a given class doesn't exist, Singleton will create and store a new one in static array singleton. It then (and otherwise) will return a reference to it.

Adding an optional ID allows holding more than one object a class. Assigned ID will distinguish array keys.

 * Singleton Repository
 * @param string $class PHP Class Name
 * @param string $id Optional Object ID
 * @return reference Reference to existing Object
function &Singleton($class, $id='') {
  static $singleton = array();
  if (!array_key_exists($class.$id, $singleton))
    $singleton[$class.$id] = &new $class();
  $reference = &$singleton[$class.$id];
  return $reference;

Use like this:
[edit] I'm sorry there was a mistake in the first exmaple for three days or so. Fixed.
# first call: create object

# second call: get a reference
echo $current_user->Show_Beers_Counter();
#will be 5

#Two different objects

Works fine with PHP4, not tested on PHP5                
                    I create a batch file (w.bat) containing just
wget -krmnp %1

Then I call
C:\>w [what-ever-url]
                    Current python for series 60 (version 1) doesn't support graphics drawing on screen. But it still allows you to open an image file or other content file using external content handler. Here is the short and shorter versions to demonstrate.

# this version wait for external app to exit, then it continue.
import e32
lock = e32.Ao_lock()
handler = appuifw.Content_handler(lock.signal)  # eg. an image file
lock.wait()	# wait for lock.signal to unlock

# this is a short, one-line version which doesn't wait