is the screen name of Carsten Eckelmann.

 package require base64
 package require http
 package require tdom

 proc delicious_get_all {username password} {
   set auth "Basic [base64::encode $username:$password]"
   set headerl [list Authorization $auth]
   set tok [http::geturl -headers $headerl]
   set res [http::data $tok]
   http::cleanup $tok
   set pdoc [dom parse $res]
   set plist [$pdoc selectNodes //post]
   set posts {}
   foreach p $plist {
     lappend posts [list [$p getAttribute href] [$p getAttribute description] [$p getAttribute tag] [$p getAttribute time]]
   $pdoc delete
   set posts

 proc delicious_select_by_tag {dlist dtag} {
   set rl {}
   foreach p $dlist {
     set found 0
     foreach d $dtag {
       if {[lsearch [lindex $p 2] $d] > -1} {
       incr found 1
                        } else {
                                incr found -1
                if {$found > 0} {
                        lappend rl $p
        set rl