<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://wiki.przemoc.net/lib/exe/css.php?s=feed" type="text/css"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Przemoc's wiki snippets</title>
    <subtitle></subtitle>
    <link rel="alternate" type="text/html" href="http://wiki.przemoc.net/"/>
    <id>http://wiki.przemoc.net/</id>
    <updated>2010-07-07T16:00:56+02:00</updated>
    <generator>FeedCreator 1.7.2-ppt DokuWiki</generator>
<link rel="self" type="application/atom+xml" href="http://wiki.przemoc.net/feed.php" />
    <entry>
        <title>snippets:c</title>
        <link rel="alternate" type="text/html" href="http://wiki.przemoc.net/snippets/c"/>
        <published>2009-12-05T20:21:54+02:00</published>
        <updated>2009-12-05T20:21:54+02:00</updated>
        <id>http://wiki.przemoc.net/snippets/c</id>
        <summary>vdiwrap.c


/*
 * Copyright (C) 2009  Przemyslaw Pawelczyk &lt;przemoc@gmail.com&gt;
 *
 ***** Description ************************************************************
 *
 * Simple (and incomplete) syscalls interposition for accessing fixed-size Sun
 * xVM VirtualBox Virtual Disk Images (.vdi files), especially using sfdisk.
 *
 ***** License ****************************************************************
 *
 * GNU General Public License v2, v3
 *
 ***** Tested on ************************************…</summary>
    </entry>
    <entry>
        <title>snippets:gawk</title>
        <link rel="alternate" type="text/html" href="http://wiki.przemoc.net/snippets/gawk"/>
        <published>2007-12-03T00:13:39+02:00</published>
        <updated>2007-12-03T00:13:39+02:00</updated>
        <id>http://wiki.przemoc.net/snippets/gawk</id>
        <summary>RFC formatting

Remove headers and footers


#!/usr/bin/gawk -f

{ gsub( /\x0d$/, &quot;&quot; ); }      # remove CR
/^\x0c/ { n = -3; next; }     # page-break
/\[Page [0-9]+\]$/ {          # end of page
  for ( i = 1; i &lt; n + ( lf &gt; 3 ) * 2 - 1; i++ )  # print buffer
    print lines[i];
  n = 0;
  next;
}
/^$/ &amp;&amp; ++lf &gt; 2 { next; }    # omit more than 2 breaks
!/^$/ { lf = 0; }
{ lines[++n] = $0; }          # add current line to buffer</summary>
    </entry>
    <entry>
        <title>snippets:ruby</title>
        <link rel="alternate" type="text/html" href="http://wiki.przemoc.net/snippets/ruby"/>
        <published>2007-11-17T23:50:19+02:00</published>
        <updated>2007-11-17T23:50:19+02:00</updated>
        <id>http://wiki.przemoc.net/snippets/ruby</id>
        <summary>validations.rb


module Validations # version 0.1
  # International Bank Account Number
  def iban?
    unless /\A[A-Z]{2}\d{2} ?[A-Z\d]{4}( ?\d{4}){1,} ?\d{1,4}\z/ === self
      return false
    end
    iban = self.gsub( / /, '' )
    iban = ( iban[4..-1] + iban[0..3] ).gsub( /[A-Z]/ ) { |c| ( c[0] - 55 ).to_s }
    iban.to_i % 97 == 1
  end

  # International Standard Book Number
  def isbn?
    unless [13,17].include?( self.size ) and /\A((978|979)-)?\d+-\d+-\d+-[X\d]\z/ === self
      retur…</summary>
    </entry>
    <entry>
        <title>snippets:sh</title>
        <link rel="alternate" type="text/html" href="http://wiki.przemoc.net/snippets/sh"/>
        <published>2009-09-04T16:19:20+02:00</published>
        <updated>2009-09-04T16:19:20+02:00</updated>
        <id>http://wiki.przemoc.net/snippets/sh</id>
        <summary>Bash

Lockable script


#!/bin/bash

## Copyright (C) 2009  Przemyslaw Pawelczyk &lt;przemoc@gmail.com&gt;
## License: GNU General Public License v2, v3
#
# Lockable script boilerplate

### HEADER ###

LOCKFILE=&quot;/var/lock/`basename $0`&quot;
LOCKFD=99

# PRIVATE
_lock()             { flock -$1 $LOCKFD; }
_no_more_locking()  { _lock u; _lock xn &amp;&amp; rm -f $LOCKFILE; }
_prepare_locking()  { eval &quot;exec $LOCKFD&gt;\&quot;$LOCKFILE\&quot;&quot;; trap _no_more_locking EXIT; }

# ON START
_prepare_locking

# PUBLIC
exlock_now()     …</summary>
    </entry>
</feed>
