<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7445459927601276838</id><updated>2011-07-31T07:49:15.886+02:00</updated><category term='VOB'/><category term='letzte Worte'/><category term='scanner'/><category term='path'/><category term='javascript'/><category term='AppleScript'/><category term='quote'/><category term='os x'/><category term='bash'/><category term='crypt(3)'/><category term='Großreinemachen'/><category term='twain'/><category term='iDVD'/><category term='Nudeln'/><category term='shell'/><category term='sane'/><category term='Rezept'/><category term='unix'/><category term='medion'/><category term='aldi'/><category term='Tools'/><category term='Auflauf'/><category term='ApfelTalk'/><category term='Passwort'/><category term='DVD'/><category term='Freeware'/><category term='tevion'/><title type='text'>Skeeves Kramkiste</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>12</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-4252377773549155932</id><published>2011-04-12T21:59:00.004+02:00</published><updated>2011-04-12T22:21:02.754+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='crypt(3)'/><title type='text'>JavaSCrypt - A crypt(3) implementation in JavaScript</title><content type='html'>For my Password Generator which I plan to port to JavaScript, I need to have an implementation of &lt;a href="http://en.wikipedia.org/wiki/Crypt_(Unix)"&gt;crypt(3)&lt;/a&gt; for JavaScript.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I quickly found, a &lt;a href="http://google.com/codesearch/p#118goTAkg2o/usr/src/libc/gen/crypt.c"&gt;source code online&lt;/a&gt;, buthad some problems porting it.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Searching the web a bit more I found &lt;a href="http://michael.dipperstein.com/crypt/"&gt;Michael Dipperstein's page&lt;/a&gt; describing a bug, or better, implementation detail which hit him. Applying his changes, I got my JavaScript version running.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So here is the - straightforward - implementation of crypt(3) in JavaScript.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;script&amp;gt;&lt;br /&gt;/*&lt;br /&gt;* This program implements the&lt;br /&gt;* Proposed Federal Information Processing&lt;br /&gt;*  Data Encryption Standard.&lt;br /&gt;* See Federal Register, March 17, 1975 (40FR12134)&lt;br /&gt;*&lt;br /&gt;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *&lt;br /&gt;*&lt;br /&gt;* The source is taken from&lt;br /&gt;* http://google.com/codesearch/p#ZWtxA-fyzBo/UnixArchive/PDP-11/Distributions/research/Henry_Spencer_v7/v7.tar.gz%7C118goTAkg2o/usr/src/libc/gen/crypt.c&lt;br /&gt;* and bug-fixed according to&lt;br /&gt;* http://michael.dipperstein.com/crypt/crypt3.c&lt;br /&gt;*&lt;br /&gt;* permission is granted to use this code at your own will nad risk&lt;br /&gt;* I don't guarantee anything.&lt;br /&gt;*&lt;br /&gt;* Written 2011-04-12 by Skeeve&lt;br /&gt;* mail: javascrypt.v0-1.skeeve et xoxy dot net&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;function JavaSCrypt() {&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Initial permutation,&lt;br /&gt;*/&lt;br /&gt;const IP = [&lt;br /&gt;58,50,42,34,26,18,10, 2,&lt;br /&gt;60,52,44,36,28,20,12, 4,&lt;br /&gt;62,54,46,38,30,22,14, 6,&lt;br /&gt;64,56,48,40,32,24,16, 8,&lt;br /&gt;57,49,41,33,25,17, 9, 1,&lt;br /&gt;59,51,43,35,27,19,11, 3,&lt;br /&gt;61,53,45,37,29,21,13, 5,&lt;br /&gt;63,55,47,39,31,23,15, 7,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Final permutation, FP = IP^(-1)&lt;br /&gt;*/&lt;br /&gt;const FP = [&lt;br /&gt;40, 8,48,16,56,24,64,32,&lt;br /&gt;39, 7,47,15,55,23,63,31,&lt;br /&gt;38, 6,46,14,54,22,62,30,&lt;br /&gt;37, 5,45,13,53,21,61,29,&lt;br /&gt;36, 4,44,12,52,20,60,28,&lt;br /&gt;35, 3,43,11,51,19,59,27,&lt;br /&gt;34, 2,42,10,50,18,58,26,&lt;br /&gt;33, 1,41, 9,49,17,57,25,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Permuted-choice 1 from the key bits&lt;br /&gt;* to yield C and D.&lt;br /&gt;* Note that bits 8,16... are left out:&lt;br /&gt;* They are intended for a parity check.&lt;br /&gt;*/&lt;br /&gt;const PC1_C = [&lt;br /&gt;57,49,41,33,25,17, 9,&lt;br /&gt; 1,58,50,42,34,26,18,&lt;br /&gt;10, 2,59,51,43,35,27,&lt;br /&gt;19,11, 3,60,52,44,36,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;const PC1_D = [&lt;br /&gt;63,55,47,39,31,23,15,&lt;br /&gt; 7,62,54,46,38,30,22,&lt;br /&gt;14, 6,61,53,45,37,29,&lt;br /&gt;21,13, 5,28,20,12, 4,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Sequence of shifts used for the key schedule.&lt;br /&gt;*/&lt;br /&gt;const shifts = [&lt;br /&gt;1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Permuted-choice 2, to pick out the bits from&lt;br /&gt;* the CD array that generate the key schedule.&lt;br /&gt;*/&lt;br /&gt;const PC2_C = [&lt;br /&gt;14,17,11,24, 1, 5,&lt;br /&gt; 3,28,15, 6,21,10,&lt;br /&gt;23,19,12, 4,26, 8,&lt;br /&gt;16, 7,27,20,13, 2,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;const PC2_D = [&lt;br /&gt;41,52,31,37,47,55,&lt;br /&gt;30,40,51,45,33,48,&lt;br /&gt;44,49,39,56,34,53,&lt;br /&gt;46,42,50,36,29,32,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* The C and D arrays used to calculate the key schedule.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;var C=new Array(28);&lt;br /&gt;var D=new Array(28);&lt;br /&gt;/*&lt;br /&gt;* The key schedule.&lt;br /&gt;* Generated from the key.&lt;br /&gt;*/&lt;br /&gt;var KS=new Array(&lt;br /&gt;new Array(48),new Array(48),new Array(48),new Array(48),&lt;br /&gt;new Array(48),new Array(48),new Array(48),new Array(48),&lt;br /&gt;new Array(48),new Array(48),new Array(48),new Array(48),&lt;br /&gt;new Array(48),new Array(48),new Array(48),new Array(48),&lt;br /&gt;new Array(48),new Array(48),new Array(48),new Array(48)&lt;br /&gt;);&lt;br /&gt;/*&lt;br /&gt;* Set up the key schedule from the key.&lt;br /&gt;*/&lt;br /&gt;function setkey(key) {&lt;br /&gt;/*&lt;br /&gt; * First, generate C and D by permuting&lt;br /&gt; * the key.  The low order bit of each&lt;br /&gt; * 8-bit char is not used, so C and D are only 28&lt;br /&gt; * bits apiece.&lt;br /&gt; */&lt;br /&gt;for (var i=0; i&amp;lt;28; i++) {&lt;br /&gt;  C[i] = key[PC1_C[i]-1];&lt;br /&gt;  D[i] = key[PC1_D[i]-1];&lt;br /&gt;}&lt;br /&gt;/*&lt;br /&gt; * To generate Ki, rotate C and D according&lt;br /&gt; * to schedule and pick up a permutation&lt;br /&gt; * using PC2.&lt;br /&gt; */&lt;br /&gt;for (var i=0; i&amp;lt;16; i++) {&lt;br /&gt;  /*&lt;br /&gt;   * rotate.&lt;br /&gt;   */&lt;br /&gt;  for (var k=0; k&amp;lt;shifts[i]; k++) {&lt;br /&gt;    var t = C[0];&lt;br /&gt;    for (var j=0; j&amp;lt;28-1; j++)&lt;br /&gt;      C[j] = C[j+1];&lt;br /&gt;    C[27] = t;&lt;br /&gt;    t = D[0];&lt;br /&gt;    for (j=0; j&amp;lt;28-1; j++)&lt;br /&gt;      D[j] = D[j+1];&lt;br /&gt;    D[27] = t;&lt;br /&gt;  }&lt;br /&gt;  /*&lt;br /&gt;   * get Ki. Note C and D are concatenated.&lt;br /&gt;   */&lt;br /&gt;  for (var j=0; j&amp;lt;24; j++) {&lt;br /&gt;    KS[i][j] = C[PC2_C[j]-1];&lt;br /&gt;    KS[i][j+24] = D[PC2_D[j]-28-1];&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* The E bit-selection table.&lt;br /&gt;*/&lt;br /&gt;var E= new Array(48);&lt;br /&gt;var e= [&lt;br /&gt;32, 1, 2, 3, 4, 5,&lt;br /&gt; 4, 5, 6, 7, 8, 9,&lt;br /&gt; 8, 9,10,11,12,13,&lt;br /&gt;12,13,14,15,16,17,&lt;br /&gt;16,17,18,19,20,21,&lt;br /&gt;20,21,22,23,24,25,&lt;br /&gt;24,25,26,27,28,29,&lt;br /&gt;28,29,30,31,32, 1,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* The 8 selection functions.&lt;br /&gt;* For some reason, they give a 0-origin&lt;br /&gt;* index, unlike everything else.&lt;br /&gt;*/&lt;br /&gt;const S= [&lt;br /&gt;[&lt;br /&gt;  14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7,&lt;br /&gt;   0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8,&lt;br /&gt;   4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0,&lt;br /&gt;  15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;  15, 1, 8,14, 6,11, 3, 4, 9, 7, 2,13,12, 0, 5,10,&lt;br /&gt;   3,13, 4, 7,15, 2, 8,14,12, 0, 1,10, 6, 9,11, 5,&lt;br /&gt;   0,14, 7,11,10, 4,13, 1, 5, 8,12, 6, 9, 3, 2,15,&lt;br /&gt;  13, 8,10, 1, 3,15, 4, 2,11, 6, 7,12, 0, 5,14, 9,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;  10, 0, 9,14, 6, 3,15, 5, 1,13,12, 7,11, 4, 2, 8,&lt;br /&gt;  13, 7, 0, 9, 3, 4, 6,10, 2, 8, 5,14,12,11,15, 1,&lt;br /&gt;  13, 6, 4, 9, 8,15, 3, 0,11, 1, 2,12, 5,10,14, 7,&lt;br /&gt;   1,10,13, 0, 6, 9, 8, 7, 4,15,14, 3,11, 5, 2,12,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;   7,13,14, 3, 0, 6, 9,10, 1, 2, 8, 5,11,12, 4,15,&lt;br /&gt;  13, 8,11, 5, 6,15, 0, 3, 4, 7, 2,12, 1,10,14, 9,&lt;br /&gt;  10, 6, 9, 0,12,11, 7,13,15, 1, 3,14, 5, 2, 8, 4,&lt;br /&gt;   3,15, 0, 6,10, 1,13, 8, 9, 4, 5,11,12, 7, 2,14,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;   2,12, 4, 1, 7,10,11, 6, 8, 5, 3,15,13, 0,14, 9,&lt;br /&gt;  14,11, 2,12, 4, 7,13, 1, 5, 0,15,10, 3, 9, 8, 6,&lt;br /&gt;   4, 2, 1,11,10,13, 7, 8,15, 9,12, 5, 6, 3, 0,14,&lt;br /&gt;  11, 8,12, 7, 1,14, 2,13, 6,15, 0, 9,10, 4, 5, 3,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;  12, 1,10,15, 9, 2, 6, 8, 0,13, 3, 4,14, 7, 5,11,&lt;br /&gt;  10,15, 4, 2, 7,12, 9, 5, 6, 1,13,14, 0,11, 3, 8,&lt;br /&gt;   9,14,15, 5, 2, 8,12, 3, 7, 0, 4,10, 1,13,11, 6,&lt;br /&gt;   4, 3, 2,12, 9, 5,15,10,11,14, 1, 7, 6, 0, 8,13,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;   4,11, 2,14,15, 0, 8,13, 3,12, 9, 7, 5,10, 6, 1,&lt;br /&gt;  13, 0,11, 7, 4, 9, 1,10,14, 3, 5,12, 2,15, 8, 6,&lt;br /&gt;   1, 4,11,13,12, 3, 7,14,10,15, 6, 8, 0, 5, 9, 2,&lt;br /&gt;   6,11,13, 8, 1, 4,10, 7, 9, 5, 0,15,14, 2, 3,12,&lt;br /&gt;],&lt;br /&gt;[&lt;br /&gt;  13, 2, 8, 4, 6,15,11, 1,10, 9, 3,14, 5, 0,12, 7,&lt;br /&gt;   1,15,13, 8,10, 3, 7, 4,12, 5, 6,11, 0,14, 9, 2,&lt;br /&gt;   7,11, 4, 1, 9,12,14, 2, 0, 6,10,13,15, 3, 5, 8,&lt;br /&gt;   2, 1,14, 7, 4,10, 8,13,15,12, 9, 0, 3, 5, 6,11,&lt;br /&gt;], &lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* P is a permutation on the selected combination&lt;br /&gt;* of the current L and key.&lt;br /&gt;*/&lt;br /&gt;const    P= [&lt;br /&gt;16, 7,20,21,&lt;br /&gt;29,12,28,17,&lt;br /&gt; 1,15,23,26,&lt;br /&gt; 5,18,31,10,&lt;br /&gt; 2, 8,24,14,&lt;br /&gt;32,27, 3, 9,&lt;br /&gt;19,13,30, 6,&lt;br /&gt;22,11, 4,25,&lt;br /&gt;];&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* The combination of the key and the input, before selection.&lt;br /&gt;*/&lt;br /&gt;var    preS= new Array(48);&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* The payoff: encrypt a block.&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;function encrypt(block, edflag) {&lt;br /&gt;/*&lt;br /&gt; * The current block, divided into 2 halves.&lt;br /&gt; */&lt;br /&gt;var L= new Array(32);&lt;br /&gt;var R= new Array(32);&lt;br /&gt;var tempL= new Array(32);&lt;br /&gt;var f= new Array(32);&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt; * First, permute the bits in the input&lt;br /&gt; */&lt;br /&gt;for (var j=0; j&amp;lt;32; j++) {&lt;br /&gt;  L[j] = block[IP[j]-1];&lt;br /&gt;  R[j] = block[IP[j+32]-1];&lt;br /&gt;}&lt;br /&gt;/*&lt;br /&gt; * Perform an encryption operation 16 times.&lt;br /&gt; */&lt;br /&gt;for (var ii=0; ii&amp;lt;16; ii++) {&lt;br /&gt;  /*&lt;br /&gt;   * Set direction&lt;br /&gt;   */&lt;br /&gt;  var i= (edflag&amp;gt;0) ? 15-ii : ii;&lt;br /&gt;  /*&lt;br /&gt;   * Save the R array,&lt;br /&gt;   * which will be the new L.&lt;br /&gt;   */&lt;br /&gt;  for (var j=0; j&amp;lt;32; j++)&lt;br /&gt;    tempL[j] = R[j];&lt;br /&gt;  /*&lt;br /&gt;   * Expand R to 48 bits using the E selector;&lt;br /&gt;   * exclusive-or with the current key bits.&lt;br /&gt;   */&lt;br /&gt;  for (var j=0; j&amp;lt;48; j++)&lt;br /&gt;    preS[j] = R[E[j]-1] ^ KS[i][j];&lt;br /&gt;  /*&lt;br /&gt;   * The pre-select bits are now considered&lt;br /&gt;   * in 8 groups of 6 bits each.&lt;br /&gt;   * The 8 selection functions map these&lt;br /&gt;   * 6-bit quantities into 4-bit quantities&lt;br /&gt;   * and the results permuted&lt;br /&gt;   * to make an f(R, K).&lt;br /&gt;   * The indexing into the selection functions&lt;br /&gt;   * is peculiar; it could be simplified by&lt;br /&gt;   * rewriting the tables.&lt;br /&gt;   */&lt;br /&gt;  for (var j=0; j&amp;lt;8; j++) {&lt;br /&gt;    var t = 6*j;&lt;br /&gt;    var k = S[j][(preS[t+0]&amp;lt;&amp;lt;5)+&lt;br /&gt;            (preS[t+1]&amp;lt;&amp;lt;3)+&lt;br /&gt;            (preS[t+2]&amp;lt;&amp;lt;2)+&lt;br /&gt;            (preS[t+3]&amp;lt;&amp;lt;1)+&lt;br /&gt;            (preS[t+4]&amp;lt;&amp;lt;0)+&lt;br /&gt;            (preS[t+5]&amp;lt;&amp;lt;4)];&lt;br /&gt;    t = 4*j;&lt;br /&gt;    f[t+0] = (k&amp;gt;&amp;gt;3)&amp;amp;01;&lt;br /&gt;    f[t+1] = (k&amp;gt;&amp;gt;2)&amp;amp;01;&lt;br /&gt;    f[t+2] = (k&amp;gt;&amp;gt;1)&amp;amp;01;&lt;br /&gt;    f[t+3] = (k&amp;gt;&amp;gt;0)&amp;amp;01;&lt;br /&gt;  }&lt;br /&gt;  /*&lt;br /&gt;   * The new R is L ^ f(R, K).&lt;br /&gt;   * The f here has to be permuted first, though.&lt;br /&gt;   */&lt;br /&gt;  for (var j=0; j&amp;lt;32; j++)&lt;br /&gt;    R[j] = L[j] ^ f[P[j]-1];&lt;br /&gt;  /*&lt;br /&gt;   * Finally, the new L (the original R)&lt;br /&gt;   * is copied back.&lt;br /&gt;   */&lt;br /&gt;  for (var j=0; j&amp;lt;32; j++)&lt;br /&gt;    L[j] = tempL[j];&lt;br /&gt;}&lt;br /&gt;/*&lt;br /&gt; * The output L and R are reversed.&lt;br /&gt; */&lt;br /&gt;for (var j=0; j&amp;lt;32; j++) {&lt;br /&gt;  var t = L[j];&lt;br /&gt;  L[j] = R[j];&lt;br /&gt;  R[j] = t;&lt;br /&gt;}&lt;br /&gt;/*&lt;br /&gt; * The final output&lt;br /&gt; * gets the inverse permutation of the very original.&lt;br /&gt; */&lt;br /&gt;for(var j = 0; j &amp;lt; 64; j++) {&lt;br /&gt;  var i = FP[j]-1;&lt;br /&gt;  if (i &amp;lt; 32)&lt;br /&gt;    block[j] = L[i];&lt;br /&gt;  else&lt;br /&gt;    block[j] = R[i - 32];&lt;br /&gt;}&lt;br /&gt;return block;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;this.crypt= function (pw,salt) {&lt;br /&gt;const charZ= "Z".charCodeAt(0);&lt;br /&gt;const char9= "9".charCodeAt(0);&lt;br /&gt;const charDot= ".".charCodeAt(0);&lt;br /&gt;var i;&lt;br /&gt;var j;&lt;br /&gt;var c;&lt;br /&gt;var temp;&lt;br /&gt;var block= new Array(66);&lt;br /&gt;var iobuf= new Array(16);&lt;br /&gt;for(var i=0; i&amp;lt;66; i++)&lt;br /&gt;  block[i] = 0;&lt;br /&gt;var ii;&lt;br /&gt;for(i=0, ii=0; ii&amp;lt;pw.length &amp;amp;&amp;amp; (c= pw.charCodeAt(ii)) &amp;amp;&amp;amp; i&amp;lt;64; i++, ii++){&lt;br /&gt;  for(j=0; j&amp;lt;7; j++, i++)&lt;br /&gt;    block[i] = (c&amp;gt;&amp;gt;(6-j)) &amp;amp; 01;&lt;br /&gt;}&lt;br /&gt;setkey(block);&lt;br /&gt;&lt;br /&gt;for(i=0; i&amp;lt;66; i++)&lt;br /&gt;  block[i] = 0;&lt;br /&gt;&lt;br /&gt;for(i=0;i&amp;lt;48;i++)&lt;br /&gt;  E[i] = e[i];&lt;br /&gt;&lt;br /&gt;for(i=0;i&amp;lt;2;i++){&lt;br /&gt;  c = salt.charCodeAt(i);&lt;br /&gt;  iobuf[i] = c;&lt;br /&gt;  if(c &amp;gt; charZ) c -= 6;&lt;br /&gt;  if(c &amp;gt; char9) c -= 7;&lt;br /&gt;  c -= charDot;&lt;br /&gt;  for(j=0;j&amp;lt;6;j++){&lt;br /&gt;    if(((c&amp;gt;&amp;gt;j) &amp;amp; 01) &amp;gt; 0){&lt;br /&gt;      temp = E[6*i+j];&lt;br /&gt;      E[6*i+j] = E[6*i+j+24];&lt;br /&gt;      E[6*i+j+24] = temp;&lt;br /&gt;    }&lt;br /&gt;  }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;for(i=0; i&amp;lt;25; i++)&lt;br /&gt;  block= encrypt(block,0);&lt;br /&gt;&lt;br /&gt;for(i=0; i&amp;lt;11; i++){&lt;br /&gt;  c = 0;&lt;br /&gt;  for(j=0; j&amp;lt;6; j++){&lt;br /&gt;    c &amp;lt;&amp;lt;= 1;&lt;br /&gt;    c |= block[6*i+j];&lt;br /&gt;  }&lt;br /&gt;  c += charDot;&lt;br /&gt;  if(c &amp;gt; char9) c += 7;&lt;br /&gt;  if(c &amp;gt; charZ) c += 6;&lt;br /&gt;  iobuf[i+2] = c;&lt;br /&gt;}&lt;br /&gt;iobuf[i+2] = 0;&lt;br /&gt;if(iobuf[1]==0)&lt;br /&gt;  iobuf[1] = iobuf[0];&lt;br /&gt;var result="";&lt;br /&gt;for (i=0; iobuf[i]&amp;gt;0; ++i) {&lt;br /&gt;  result+= String.fromCharCode(iobuf[i]);&lt;br /&gt;}&lt;br /&gt;return(result);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;var javascrypt= new JavaSCrypt;&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;form action="javascript:false;"&amp;gt;&lt;br /&gt;Pass: &amp;lt;input type="text" name="pwd"&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;Salt: &amp;lt;input type="text" name="salt" maxlength="2"&amp;gt;&lt;br /&gt;&amp;lt;br/&amp;gt;&lt;br /&gt;&amp;lt;button onclick="this.form.result.value=javascrypt.crypt(this.form.pwd.value, this.form.salt.value)"&amp;gt;encrypt&amp;lt;/button&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;input type="text" name="result" disabled="disabled"&amp;gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-4252377773549155932?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/4252377773549155932/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2011/04/javascrypt-crypt3-implementation-in.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/4252377773549155932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/4252377773549155932'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2011/04/javascrypt-crypt3-implementation-in.html' title='JavaSCrypt - A crypt(3) implementation in JavaScript'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-2046166300615631163</id><published>2011-04-09T21:39:00.005+02:00</published><updated>2011-04-11T19:23:47.945+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Passwort'/><category scheme='http://www.blogger.com/atom/ns#' term='AppleScript'/><title type='text'>Passwort Generator</title><content type='html'>Ich brauchte mal wieder ein Passwort.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Und als ich mich in meinen Mailaccount einloggte und sah "118" fehlgeschlagene Login Versuche, habe ich mir gedacht, jetzt muß aber mal wirklich was sicheres her.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Da fiel mir ein Applescript ein, was ich vor Äonen mal in einem &lt;a href="http://www.apfeltalk.de/"&gt;ehemals guten Appleforum&lt;/a&gt; veröffentlicht hatte. Zum Glück gibt es das Script dort noch und ich habe es mal rasch überarbeitet und erweitert.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Anmerkung: &lt;/b&gt;Dies ist eine erneut überarbeitete Version.&lt;/div&gt;&lt;div&gt;&lt;b&gt;Anmerkung 2:&lt;/b&gt; Und nocheinmal überarbeitet. Außerdem plane ich eine JavaScript Version.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Vorteile des Scripts:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Man kann ein simples Passwort eingeben.&lt;/li&gt;&lt;li&gt;Man bekommt daraus immer dasselbe schwierige Passwort generiert.&lt;/li&gt;&lt;li&gt;Dieses schwierige Passwort ist ziemlich sicher nicht zu erraten.&lt;/li&gt;&lt;li&gt;Man kann den Generator immer wieder verwenden um sich sein schwieriges Passwort zu regenerieren. Deswegen braucht man es sich auch nirgends zu speichern.&lt;/li&gt;&lt;li&gt;Es gibt einen "Copy" Knopf mit dem das generierte Passwort in das Clipboard kopiert werden kann um es so einfach per cmd-V zu übernehmen&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'lucida grande';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;a href="applescript://com.apple.scripteditor?action=new%20script=--%0A--%20Passwort%20Generator%20v0.4.2%20von%20Skeeve%0A--%0A--%20Dies%20AppleScript%20darf%20frei%20verwendet%20werden.%0A--%20Es%20wird%20keinerlei%20Gew%C3%A4hr%20f%C3%BCr%20irgendetwas%20%C3%BCbernommen.%0A--%20Insbesondere%20nicht%20f%C3%BCr%20die%20Sicherheit%20der%20generierten%0A--%20Passworte!%0A--%0A--%20Fragen%20und%20Anregungen%20bitte%20an%0A--%20pwdgen.v0-4-2.skeeve%20et%20xoxy%20punkt%20net%0A--%0Aon%20run%0A%09set%20version%20to%20%22Passwort%20Generator%20v0.4.2%22%0A%09set%20input%20to%20%22%22%0A%09repeat%0A%09%09set%20input%20to%20text%20returned%20of%20(display%20dialog%20%22Gib%20Dein%20Passwort%20ein.%22%20%26%20return%20%26%20return%20%26%20%22Es%20wird%20dann%20eine%20sichere%20Variante%20generiert.%22%20default%20answer%20input%20with%20title%20version)%0A%09%09if%20input%20%E2%89%A0%20%22%22%20then%20exit%20repeat%0A%09end%20repeat%0A%09repeat%0A%09%09set%20input%20to%20do%20shell%20script%20%22perl%20-e%20'%0A%09%09%09%24s%3Dsubstr(%24_%3Dshift%2C%200%2C%202)%3B%0A%09%09%09%24s%3Dsubstr(crypt(%24s%2C%24s)%2C%20-2)%3B%0A%09%09%09print%20%24s%3B%0A%09%09%09print%20substr%20crypt(%241%2C%20%24s)%2C2%20foreach%20(%2F(.%7B1%2C8%7D)%2Fg)%3B%0A%09%09%09'%20%22%20%26%20quoted%20form%20of%20input%0A%09%09repeat%0A%09%09%09set%20choice%20to%20display%20dialog%20%22Gib%20Dein%20Passwort%20ein%2C%20um%20ein%20weiteres%20sicheres%20zu%20generieren.%22%20%26%20return%20%26%20return%20%26%20%22%E2%80%A2%20Dein%20sicheres%20Passwort%20lautet%20%E2%80%A2%22%20default%20answer%20input%20buttons%20%7B%22OK%22%2C%20%22Copy%22%2C%20%22Cancel%22%7D%20default%20button%201%20with%20title%20version%0A%09%09%09set%20input%20to%20the%20text%20returned%20of%20choice%0A%09%09%09set%20choice%20to%20the%20button%20returned%20of%20choice%0A%09%09%09if%20choice%20is%20%22Cancel%22%20then%20return%0A%09%09%09if%20choice%20is%20%22Copy%22%20then%0A%09%09%09%09set%20the%20clipboard%20to%20the%20input%0A%09%09%09else%0A%09%09%09%09exit%20repeat%0A%09%09%09end%20if%0A%09%09end%20repeat%0A%09end%20repeat%0Aend%20run"&gt;&lt;span class="Apple-style-span"  style="color:#FFCC00;"&gt;Script im Editor öffnen&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;--&lt;br /&gt;-- Passwort Generator v0.4.2 von Skeeve&lt;br /&gt;--&lt;br /&gt;-- Dies AppleScript darf frei verwendet werden.&lt;br /&gt;-- Es wird keinerlei Gewähr für irgendetwas übernommen.&lt;br /&gt;-- Insbesondere nicht für die Sicherheit der generierten&lt;br /&gt;-- Passworte!&lt;br /&gt;--&lt;br /&gt;-- Fragen und Anregungen bitte an&lt;br /&gt;-- pwdgen.v0-4-2.skeeve et xoxy punkt net&lt;br /&gt;--&lt;br /&gt;on run&lt;br /&gt;set version to "Passwort Generator v0.4.2"&lt;br /&gt;set input to ""&lt;br /&gt;repeat&lt;br /&gt; set input to text returned of (display dialog "Gib Dein Passwort ein." &amp;amp; return &amp;amp; return &amp;amp; "Es wird dann eine sichere Variante generiert." default answer input with title version)&lt;br /&gt; if input ≠ "" then exit repeat&lt;br /&gt;end repeat&lt;br /&gt;repeat&lt;br /&gt; set input to do shell script "perl -e '&lt;br /&gt;  $s=substr($_=shift, 0, 2);&lt;br /&gt;  $s=substr(crypt($s,$s), -2);&lt;br /&gt;  print $s;&lt;br /&gt;  print substr crypt($1, $s),2 foreach (/(.{1,8})/g);&lt;br /&gt;  ' " &amp;amp; quoted form of input&lt;br /&gt; repeat&lt;br /&gt;  set choice to display dialog "Gib Dein Passwort ein, um ein weiteres sicheres zu generieren." &amp;amp; return &amp;amp; return &amp;amp; "• Dein sicheres Passwort lautet •" default answer input buttons {"OK", "Copy", "Cancel"} default button 1 with title version&lt;br /&gt;  set input to the text returned of choice&lt;br /&gt;  set choice to the button returned of choice&lt;br /&gt;  if choice is "Cancel" then return&lt;br /&gt;  if choice is "Copy" then&lt;br /&gt;   set the clipboard to the input&lt;br /&gt;  else&lt;br /&gt;   exit repeat&lt;br /&gt;  end if&lt;br /&gt; end repeat&lt;br /&gt;end repeat&lt;br /&gt;end run&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-2046166300615631163?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/2046166300615631163/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2011/04/passwort-generator.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2046166300615631163'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2046166300615631163'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2011/04/passwort-generator.html' title='Passwort Generator'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-1248993516626055028</id><published>2009-10-28T20:44:00.004+01:00</published><updated>2009-10-28T21:01:45.663+01:00</updated><title type='text'>Ich bin diskriminierend</title><content type='html'>Weil ich ein angeblich diskriminierendes Zitat gebracht habe, habe ich heute meine "Letzte Verwarnung" im Familienforum erhalten. Mal sehen. Vielleicht gönne ich mir zum Geburtstag ja &lt;a href="http://www.3dsupply.de/shop/detail.php?PID=00002023&amp;amp;KPATH=16.137.85"&gt;dieses T-Shirt&lt;/a&gt;. Immerhin gehen 3€ aufs Konto des &lt;a href="http://www.blogger.com/www.foebud.org"&gt;FoeBuD e.V.&lt;/a&gt;.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aber richtig gefreut habe ich mich über folgenden Beitrag einer Userin: &lt;blockquote&gt;Kleingeistige Arschlöcher sind für mich die, die nicht in der Lage sind, sich auf einer objektiven Ebene und sachlich mit einem Thema oder einer Person auseinanderzusetzen.&lt;/blockquote&gt; Und das ausgerechnet von der, die mich ständig als "Flitzpiepe" bezeichnet. In ihrer Weltsicht ist das ein (Zitat) "kleiner nerviger Hosenscheißer". In normaler Sprache bezeichnet man damit eine Person, die nicht ernstgenommen wird. Nunja. Daß mich keiner ernstnimmt, das bin ich gewohnt und das ist mir eigentlich auch egal. Aber wenn etwas als "nicht objektiv" und als unsachlich bezeichnet werden kann, dann doch wohl ganz eindeutig ihr Verhalten mir gegenüber.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Die Folgerung daraus ist klar. Mir war bisher aber nicht bewußt, daß sie so schlecht über sich selbst denkt. Allerdings erklärt das so einiges in ihrem Verhalten. Von daher bin ich echt dankbar für den Beitrag. Ich verstehe sie jetzt viel besser.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-1248993516626055028?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/1248993516626055028/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/10/ich-bin-diskriminierend.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1248993516626055028'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1248993516626055028'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/10/ich-bin-diskriminierend.html' title='Ich bin diskriminierend'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-8522292520958883284</id><published>2009-09-30T21:42:00.006+02:00</published><updated>2009-09-30T21:59:47.710+02:00</updated><title type='text'>Ich bin nicht forenkompatibel :-D</title><content type='html'>Und wieder einmal bin ich aus einem Forum geflogen. Zwar nur temporär, aber so wie ich (Familien-) Forenbetreiberinnen kenne, wird der finale Rausschmiß nicht lange auf sich warten lassen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wieder einmal bestätigt sich mein (Vor-) Urteil über Forenbetreiber im Allgemeinen und Familienforenbetreiberinnen im Besonderen. Es wird halt mit zweierlei Maß gemessen. Zitat einer Dame aus dem Forum, die ich eigentlich nicht mag, die aber, wie ich feststellen durfte, so einige, sehr treffende Bemerkungen fallen ließ: "&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;wieso ausgerechnet bei Skeeve so einen nervösen Finger am Abzug?&lt;/span&gt;"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Schaun wir mal, ob ich am 23.10. wieder schreiben darf. Oder ob ich das dann überhaupt noch will.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In der Zwischenzeit habe ich mich nochmal "künstlerisch" betätigt ;-)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;img src="http://img43.yfrog.com/img43/2692/cruelk.jpg" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-8522292520958883284?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/8522292520958883284/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/09/ich-bin-nicht-forenkompatibel-d.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/8522292520958883284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/8522292520958883284'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/09/ich-bin-nicht-forenkompatibel-d.html' title='Ich bin nicht forenkompatibel :-D'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-4503372745096597644</id><published>2009-07-18T07:48:00.005+02:00</published><updated>2009-07-18T08:14:49.082+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tools'/><category scheme='http://www.blogger.com/atom/ns#' term='os x'/><title type='text'>New Folder from Selection…</title><content type='html'>Some time ago I created a small AppleScript which creates a new folder and moves all selected files into that folder. Some people found it very useful but I was reluctant to give it to the public.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Today I saw a question on &lt;a href="http://www.fischer-bayern.de/phpBB2/viewtopic.php?t=2924"&gt;fischer-bayern.de&lt;/a&gt; asking for such a script.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I just searched for a free file hoster where I can put the script and now I put it here for you to download. Simply choose the &lt;a href="http://dateihoster.de/de/file/24319/Leopard-New-Folder-from-Selection--v1-3-b6-zip.html"&gt;Leopard&lt;/a&gt; or &lt;a href="http://dateihoster.de/de/file/24318/Tiger-New-Folder-from-Selection--v1-3-b6-zip.html"&gt;Tiger&lt;/a&gt; version. The only difference between the 2 is the icon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Extract the zip file and put the APP wherever you like. For example into /Applications/Utilities. From there drag it into the Finder's toolbar to have it always available or use a something like &lt;a href="http://www.manytricks.com/butler/"&gt;Butler&lt;/a&gt; to ave it available with just a keystroke.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-4503372745096597644?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/4503372745096597644/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/07/new-folder-from-selection.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/4503372745096597644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/4503372745096597644'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/07/new-folder-from-selection.html' title='New Folder from Selection…'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-1815787384831541382</id><published>2009-04-15T20:20:00.002+02:00</published><updated>2009-04-15T20:27:49.293+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Auflauf'/><category scheme='http://www.blogger.com/atom/ns#' term='Rezept'/><category scheme='http://www.blogger.com/atom/ns#' term='Nudeln'/><title type='text'>Bunter Nudelauflauf</title><content type='html'>;-) Heute mal was anderes. Ich habe vorhin nicht gewußt, was kochen. Also habe ich einfach mal geschaut, was wir an Vorrat haben. Dies ist dabei rausgekommen:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Zutaten&lt;/span&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;300gr bunte Spiralnudeln&lt;/li&gt;&lt;li&gt;1Pkg. „mexikanische Gemüseplatte“ (Mais, Erbsen, Paprika)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;2 große Zwiebeln&lt;/li&gt;&lt;li&gt;1 Pkg. Schmelzkäse&lt;br /&gt;&lt;/li&gt;&lt;li&gt;1 Ei&lt;/li&gt;&lt;li&gt;etwas Milch&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Zubereitung&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 17px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Die Nudeln bißfest garen. &lt;/div&gt;&lt;div&gt;Die Zwiebeln in Halbring schneiden und anbraten. Evtl. mit etwas Pfeffer würzen&lt;/div&gt;&lt;div&gt;Die Milch erwärmen und darin den Schmelzkäse auflösen&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nudeln, Zwiebeln und Gemüseplatte mischen und in eine Auflaufform geben.&lt;/div&gt;&lt;div&gt;Das Ei in die Milch-Käsemischung rühren und das Ganze über die Nudeln geben&lt;/div&gt;&lt;div&gt;Bei 200°C Ober- Unterhitze im nicht vorgeheizten Backofen 20 Minuten überbacken&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Guten Hunger!&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-1815787384831541382?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/1815787384831541382/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/04/bunter-nudelauflauf.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1815787384831541382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1815787384831541382'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/04/bunter-nudelauflauf.html' title='Bunter Nudelauflauf'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-1347787691139614695</id><published>2009-04-12T23:19:00.003+02:00</published><updated>2009-04-12T23:26:39.831+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='aldi'/><category scheme='http://www.blogger.com/atom/ns#' term='medion'/><category scheme='http://www.blogger.com/atom/ns#' term='sane'/><category scheme='http://www.blogger.com/atom/ns#' term='scanner'/><category scheme='http://www.blogger.com/atom/ns#' term='os x'/><category scheme='http://www.blogger.com/atom/ns#' term='tevion'/><category scheme='http://www.blogger.com/atom/ns#' term='twain'/><title type='text'>Tevion/Medion Scanner unter OS X nutzen</title><content type='html'>Seit einigen Tagen befindet sich nun ein nettes MacBook Pro in meinem Besitz. Aber wie schon zu Zeiten des PowerBook, besitze ich immer noch nur einen alten Tevion/Medion Scanner. Glücklicherweise habe ich vor einiger Zeit mal in einem ehemals netten Apple Forum eine Anleitung veröffentlicht, wie dieser Scanner zur Mitarbeit unter OS X zu bewegen ist. Glücklicherweise funktioniert das sogar noch unter Leopard / OS X 10.5.&lt;br /&gt;&lt;br /&gt;Zunächstmal lädt man von der &lt;a href="http://www.ellert.se/twain-sane/"&gt;Mattis Ellerts Seite&lt;/a&gt; die notwendigen Dateien:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; TWAIN SANE Interface &lt;/li&gt;&lt;br /&gt;&lt;li&gt; SANE Preference Pane &lt;/li&gt;&lt;br /&gt;&lt;li&gt; SANE backends            &lt;/li&gt;&lt;br /&gt;&lt;li&gt; libusb                            &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;Diese werden alle installiert (Tipp: In umgekehrter Reihenfolge als hier und auf Mattias' Seite gelistet)&lt;br /&gt;&lt;br /&gt;Wenn SANE/Twain installiert ist, ist noch etwas "Handarbeit" angesagt. &lt;br /&gt;&lt;br /&gt;Zunächst benötigt man noch die Datei "ePlus2k.usb", die man vermutlich auf der Treiber CD findet. Ich habe sie aus dem Backup(!) des DOS Rechners. Sie muß im Verzeichnis /usr/local/share/sane/gt68xx/ abgelegt werden. Achte auf Leserechte für alle! Am Besten als superuser im Terminal&lt;br /&gt;&lt;code&gt;&lt;br /&gt;chmod 644 /usr/local/share/sane/gt68xx/ePlus2k.usb&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;eingeben. Mich hat das damas 5 Minuten gekostet, herauszufenden, daß die Rechte verkehrt waren. &lt;br /&gt;&lt;br /&gt;Anschließend rufst Du auf: Systemeinstellungen -&gt; Sane &lt;br /&gt;Nimm dort alle Häkchen weg bis auf gt68xx.&lt;br /&gt;&lt;br /&gt;Den "Einstellen"-Bobbel klicken und mal lesen, was da steht.&lt;br /&gt;&lt;br /&gt;In der Datei sind viele Zeilen, die mit "#" beginnen. Dies sind Kommentare und sollten zumindest mal überflogen werden. &lt;br /&gt;&lt;br /&gt;Irgendwo steht folgendes als Kommentar:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# Medion/Lifetec/Tevion/Cytron MD 9458:&lt;br /&gt;#override "artec-ultima-2000" &lt;br /&gt;#vendor "Medion"&lt;br /&gt;#model "MD 9458"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Das muß verändert werden zu:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;# Medion/Lifetec/Tevion/Cytron MD 9458:&lt;br /&gt;override "artec-ultima-2000" &lt;br /&gt;vendor "Medion"&lt;br /&gt;model "MD 9458"&lt;br /&gt;firmware "ePlus2k.usb"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Beachte die zusätzlich einzufügende Zeile.&lt;br /&gt;&lt;br /&gt;Das war es.&lt;br /&gt;&lt;br /&gt;Nun nur noch "Digitale Bilder" aufrufen und testen, ob der Scanner erkannt wird.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-1347787691139614695?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/1347787691139614695/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/04/seit-einigen-tagen-befindet-sich-nun.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1347787691139614695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1347787691139614695'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/04/seit-einigen-tagen-befindet-sich-nun.html' title='Tevion/Medion Scanner unter OS X nutzen'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-2279268860338769737</id><published>2009-02-28T08:42:00.003+01:00</published><updated>2009-02-28T08:48:26.016+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='quote'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='AppleScript'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><title type='text'>Quoten von Shell Variablen</title><content type='html'>Heute habe ich in der AppleScript Mailinglist einen interessanten Beitrag von Mark J. Reed gelesen, der nicht nur für AppleScript Nutzer interessant ist.&lt;br /&gt;&lt;br /&gt;Oft gibt es ja das Problem, daß man in Shell Scripten Parameter "herumreichen" muß. Mark hat das Thema "Quoting" darin schön zusammengefaßt:&lt;br /&gt;&lt;blockquote&gt;Since I see lots of shell code being tossed around here, whether in do shell script strings or Terminal do scripts or scripts that invoke osascript, allow me to pass on a general tip: the best rule of thumb is to ALWAYS quote parameter expansions. Somewhat like macros in C, they are expanded *before* the shell does its normal compilation of the command (word splitting).  So this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;foo="1 2 3 4"&lt;br /&gt;somecommand $foo&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;calls "somecommand" with four arguments, not one.  This is sometimes what you want, but frequently not.  When I see bare $foo, I instinctively reach for the keyboard to turn it into "$foo" instead.  :) &lt;br /&gt;&lt;br /&gt;If you do want to expand something into a variable number of words, you can use an array instead of a string, especially if you find yourself trying to do yucky stuff like including quotes in the string and eval'ing the result (see above re: code generation).&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;foo=(1 "2 3" 4)&lt;br /&gt;somecommand "${foo[@]}"  # somecommand is called with three arguments&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Array variables are, sadly, not POSIX-compliant.  If that's an issue for you, one fallback is to use the shell's own positional parameters:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;set -- 1 "2 3" 4&lt;br /&gt;somecommand "$@"  # calls somecommand with three arguments&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;..but that only works if you don't have data you care about already in the positional params.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-2279268860338769737?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/2279268860338769737/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/02/heute-habe-ich-in-der-applescript.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2279268860338769737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2279268860338769737'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/02/heute-habe-ich-in-der-applescript.html' title='Quoten von Shell Variablen'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-7054867616174184993</id><published>2009-02-21T22:42:00.017+01:00</published><updated>2009-02-23T09:18:39.901+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VOB'/><category scheme='http://www.blogger.com/atom/ns#' term='Freeware'/><category scheme='http://www.blogger.com/atom/ns#' term='iDVD'/><category scheme='http://www.blogger.com/atom/ns#' term='DVD'/><title type='text'>Creating a (feature rich) DVD from VOB files  on your Mac</title><content type='html'>I had a DVD with 5 episodes of "The Avengers" (dubbed german). Each is about 49 minutes long and so my hard disc recorder couldn't fit them on one DVD. I removed the front credits and made them one title on the DVD. So there are 6 "films" on the DVD: 5 episode and 1 front credits.&lt;br /&gt;&lt;br /&gt;In the end I want to have a (more or less nice) menu with buttons to start each episode.&lt;br /&gt;&lt;br /&gt;Each episode should start with the front credits.&lt;br /&gt;&lt;br /&gt;After each episode, the next one should start automatically.&lt;br /&gt;&lt;br /&gt;In my first attempt I tried iDVD which, in fact, can generate really nice menus. Unfortunately iDVD just can pack 2hours on one DVD and needs to re-encode the source material.&lt;br /&gt;&lt;br /&gt;After some experimenting I found a solution which works for me but might seem a bit longish. But after all I have these advantages:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; I have all the posibilities, iDVD offers in regards to menu creation &lt;/li&gt;&lt;br /&gt;&lt;li&gt; I don't need to reencode the VOBs                                    &lt;/li&gt;&lt;br /&gt;&lt;li&gt; I can pack more material on a DVD than iDVD offers                   &lt;/li&gt;&lt;br /&gt;&lt;li&gt; I have more flexibility for DVD navigation than iDVD alone offers    &lt;/li&gt;&lt;br /&gt;&lt;li&gt; I can add chapters                                                   &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;The process in short goes like this:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; I burn a DVD with my hard disc recorder to get the VOB files         &lt;/li&gt;&lt;br /&gt;&lt;li&gt; extract the DVD titles with Mac the Ripper                           &lt;/li&gt;&lt;br /&gt;&lt;li&gt; extract the title sound and create a menu background                 &lt;/li&gt;&lt;br /&gt;&lt;li&gt; create a dvd image with Sizzle, putting chapters in                  &lt;/li&gt;&lt;br /&gt;&lt;li&gt; create a dvd image with iDVD using dummy files instead of the real ones&lt;/li&gt;&lt;br /&gt;&lt;li&gt; merge both images                                                    &lt;/li&gt;&lt;br /&gt;&lt;li&gt; manipulate the merged image with myDVDEdit                           &lt;/li&gt;&lt;br /&gt;&lt;li&gt; create a new DVD image with DVD Imager                               &lt;/li&gt;&lt;br /&gt;&lt;li&gt; burn the image with disc utility                                     &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;Here is all the software I used in making my standard hard disc recorder's DVD a nice individual on:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; Mac the Ripper&lt;br /&gt;&lt;br /&gt;to extract each individual film as a *.VOB file on it's own.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.videolan.org/vlc/"&gt; VLC&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;to make a snapshot of the front credits to have a picture for the menu's background.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.gimp.org/"&gt; Gimp&lt;/a&gt; for &lt;a href="http://gimp.lisanet.de/Website/Overview.html"&gt;OS X&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;for image manipulation and especially for creating the background image.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; Sizzle&lt;br /&gt;&lt;br /&gt;The program to create a DVD Image and Chapters. Unfortunately it seems to be no longer available and I just was a bit lucky to find the last version on &lt;a href="http://mac.softpedia.com/progDownload/Sizzle-b-Download-4299.html"&gt;mac.softpedia.com&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.ffmpegx.com/"&gt; ffmpegX&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;for extracting the title sound.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; iDVD (should be on your Mac in /Applications)&lt;br /&gt;&lt;br /&gt;for creating a fancy menu.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.mydvdedit.com/"&gt; myDVDedit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;to manipulate the DVD image iDVD created. I used this program to prepend the front credits to each episode and to make the autoplay of the next episode happen.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://lonestar.utsa.edu/llee/applescript/dvdimager.html"&gt; DVD Imager&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;to create an image from the manipulated VIDEO_TS folder.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; disc utility (should be on your Mac in /Applications/Utilities)&lt;br /&gt;&lt;br /&gt;for burning the image.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;After creating my DVD on my harddisc recorder, I popped it into the Mac and started Mac the Ripper in "Title Only Extraction" and extracted each of the 6 titles.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB7ECxdgoI/AAAAAAAAAAo/zzEHU0F8b1Y/s1600-h/Bild+1.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 282px; height: 320px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB7ECxdgoI/AAAAAAAAAAo/zzEHU0F8b1Y/s320/Bild+1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305375670436463234" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The result should look something like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB7nLEREbI/AAAAAAAAAAw/RgGreVQeS3g/s1600-h/Bild+2.png"&gt; &lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 198px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB7nLEREbI/AAAAAAAAAAw/RgGreVQeS3g/s320/Bild+2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305376273958244786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I moved the 6 VOB files to another folder and renamed them to match the names of the episodes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8ELly8EI/AAAAAAAAAA4/0iX2hA-GQ0w/s1600-h/Bild+3.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 106px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8ELly8EI/AAAAAAAAAA4/0iX2hA-GQ0w/s320/Bild+3.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305376772315082818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I had my videofiles, I started VLC with the front credits and took two pictures. I merged the pictures with Gimp to have a nice background image for the DVD Menu. I won't describe this step in detail.&lt;br /&gt;&lt;br /&gt;To have a background sound, I took the front credits VOB file and opened it with ffmpegX&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB8EFW4eoI/AAAAAAAAABA/WlACJ_w5wgY/s1600-h/Bild+4.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 266px;" src="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB8EFW4eoI/AAAAAAAAABA/WlACJ_w5wgY/s320/Bild+4.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305376770641918594" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click the dropdown (triangle) at the shown "AVI DivX" and change it to MP3&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB8E5pN9DI/AAAAAAAAABI/JYgmMJhla9I/s1600-h/Bild+5.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 266px;" src="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB8E5pN9DI/AAAAAAAAABI/JYgmMJhla9I/s320/Bild+5.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305376784677467186" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When you start the process, it might fail very quickly and you might get an eroor message like this&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8E893BtI/AAAAAAAAABQ/TqnNsTtyvOs/s1600-h/Bild+6.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 158px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8E893BtI/AAAAAAAAABQ/TqnNsTtyvOs/s320/Bild+6.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305376785569351378" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On ffmpegX' audio tab, you can change the stream (labeled "Spur" on the snapshot) to use for audio extraction. Usually it works if I set this to 1, but you might need to experiment a bit.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB8FAEVkII/AAAAAAAAABY/a4Am7caMy_0/s1600-h/Bild+7.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 266px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB8FAEVkII/AAAAAAAAABY/a4Am7caMy_0/s320/Bild+7.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305376786401824898" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If it succeeds, you'll get an ouput like this:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WW8OiWI/AAAAAAAAACI/x-EGwI4NESM/s1600-h/Bild+8.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 223px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WW8OiWI/AAAAAAAAACI/x-EGwI4NESM/s320/Bild+8.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305378184111229282" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And you'll have a new MP3 file in your VOB folder&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB8uJMpPII/AAAAAAAAABo/ghM2nNS_Bfo/s1600-h/Bild+9.png" &gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 126px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB8uJMpPII/AAAAAAAAABo/ghM2nNS_Bfo/s320/Bild+9.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305377493227224194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then I started Sizzle and added all my video files. The sixth one being the front credits.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8uH6eHNI/AAAAAAAAABw/9lh7DXn7uFA/s1600-h/Bild+10.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 193px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8uH6eHNI/AAAAAAAAABw/9lh7DXn7uFA/s320/Bild+10.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305377492882562258" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I added chapters at every 5 minutes of each episode. I just wanted to have these chapter marks to quickly jump forward and backward. This job is a bit tedious. The best way to accomplish this is, to simply add enough chaptermarks and set their values afterwards. Adding chaptermarks can only be done by clicking the mouse. Changing values can be done using keyboard alone. So I added 8 chapters to get a total of 9. Then clicked the first one to change it to 00:05:00.00 (5 minutes) and continuing my way down to #9 at 45 minutes. As each episode is about 49 minutes, I didn't needed a mark after that.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB8ucqGAnI/AAAAAAAAAB4/NGOST5PGrDg/s1600-h/Bild+11.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 193px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB8ucqGAnI/AAAAAAAAAB4/NGOST5PGrDg/s320/Bild+11.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305377498451018354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Note that I didn't add any button to start any of the episodes.&lt;br /&gt;&lt;br /&gt;Then I started Sizzle's DVD Image creation.&lt;br /&gt;&lt;br /&gt;When the image was done, I activated it and copied all it's content to the harddrive and made it writeable. You can do this either using the Finder (Cmd i and changing permissions recursively) or the shell (chmod -R +w VIDEO_TS).&lt;br /&gt;&lt;br /&gt;This is the contents of the Image. The first three files (the selected ones on the snapshot, VIDEO_TS.*) won't be needed afterwards, but it doesn't hurt to copy them too.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8us8479I/AAAAAAAAACA/vHdAgcgkGmc/s1600-h/Bild+12.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 234px; height: 320px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB8us8479I/AAAAAAAAACA/vHdAgcgkGmc/s320/Bild+12.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5305377502824820690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the next step I used iDVD to create the menu. But before that I needed some video content to use in place of the real VOB files. A bit googling brought me to the Teotihuacan Home Page and it's &lt;a href="http://archaeology.la.asu.edu/teo/movies/index.htm#anchor705243"&gt;Video Download&lt;/a&gt; page. I choose the smallest video available and copied it 5 times to get one dummy file for each of my VOB files.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WRYzUaI/AAAAAAAAACQ/RM2240PIALo/s1600-h/Bild+13.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 126px;" src="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WRYzUaI/AAAAAAAAACQ/RM2240PIALo/s320/Bild+13.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305378182620467618" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I then renamed them to match the VOB files' names&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WePc7zI/AAAAAAAAACY/vT14eo-apz8/s1600-h/Bild+14.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 123px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WePc7zI/AAAAAAAAACY/vT14eo-apz8/s320/Bild+14.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305378186070912818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This also helps in iDVD as it will take the file name for the menu's buttons.&lt;br /&gt;&lt;br /&gt;Next I started up iDVD and created a new project. From iDVD's old themes I choose the photo album as basis for my menu, as this theme doesn't have any opening sequence or moving content, which I didn't like.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WljQ6oI/AAAAAAAAACg/vQazw0XLnOo/s1600-h/Bild+15.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB9WljQ6oI/AAAAAAAAACg/vQazw0XLnOo/s320/Bild+15.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305378188033059458" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then I added all of my 6 MOV (dummy) files at once by dropping them onto the canvas. The result looks a bit messy:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB9W9TkXEI/AAAAAAAAACo/nxEWIYnhxtU/s1600-h/Bild+16.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB9W9TkXEI/AAAAAAAAACo/nxEWIYnhxtU/s320/Bild+16.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305378194409675842" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But after changing the buttons to text only&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HMujEOI/AAAAAAAAACw/3_QGzSGmTkw/s1600-h/Bild+17.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HMujEOI/AAAAAAAAACw/3_QGzSGmTkw/s320/Bild+17.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379023183089890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Rearranging a bit and changing colors and fonts, also adding the background image and sound, it all looks quite nice:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HG32REI/AAAAAAAAAC4/jotuGY6kBfw/s1600-h/Bild+18.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HG32REI/AAAAAAAAAC4/jotuGY6kBfw/s320/Bild+18.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379021611484226" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I also won't describe the whole process here. I guess there are good enough iDVD tutorials around which will help you should you really need guidance. I mostly learned everything by experimenting a bit.&lt;br /&gt;&lt;br /&gt;Please note that the front credits is now the button labeled "Film weiter abspielen" (resume film). The front credits will never be started on it's own and I needed a resume button anyway, so this came in handy.&lt;br /&gt;&lt;br /&gt;Don't worry: The real navigation will be done later.&lt;br /&gt;&lt;br /&gt;After saving the iDVD project, I created a DVD image. This needs some time, but fortunately not too long as the dummy files are really short.&lt;br /&gt;&lt;br /&gt;Again, after the image is done, I activated it.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HAIek9I/AAAAAAAAADA/bpwTjCguh9Y/s1600-h/Bild+19.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 243px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HAIek9I/AAAAAAAAADA/bpwTjCguh9Y/s320/Bild+19.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379019802186706" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This time only the first three files (VIDEO_TS.*) are needed and need to be copied to the VIDEO_TS folder I copied earlier from the Sizzle image. I had to make them writeable after copying. Again this can be done by either by using the Finder (Ctrl Cmd i) or the shell (chmod +w VIDEO_TS.*).&lt;br /&gt;&lt;br /&gt;Now I started up myDVDEdit and opened the VIDEO_TS folder of the copy. Remember: It contains the menu from iDVD (VIDEO_TS.*) and the contents from Sizzle (VTS_*).&lt;br /&gt;&lt;br /&gt;So please don't be astonished, if you get an error message:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HcBqW7I/AAAAAAAAADI/jKiYN0a2ghw/s1600-h/Bild+20.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 175px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HcBqW7I/AAAAAAAAADI/jKiYN0a2ghw/s320/Bild+20.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379027289791410" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When the errors are fixed, save (Cmd s)!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HZFUv-I/AAAAAAAAADQ/AD0h-36e5Go/s1600-h/Bild+21.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB-HZFUv-I/AAAAAAAAADQ/AD0h-36e5Go/s320/Bild+21.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379026499846114" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I won't explain myDVDEdit's interface here. That's well done in Jérôme's &lt;a href="http://www.mydvdedit.com/viewtopic.php?t=16&amp;amp;pg=forum"&gt;tutorial section&lt;/a&gt; of myDVDEdit's forum. Note that I (try to) use the same names for the GUI parts, as are used in the english tutorial you find at the link above.&lt;br /&gt;&lt;br /&gt;Click "VMG Menu en (English)" in the PGC Selector and you will see the menu created with iDVD.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB-mBv93uI/AAAAAAAAADY/uN1xtVTuB0s/s1600-h/Bild+22.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB-mBv93uI/AAAAAAAAADY/uN1xtVTuB0s/s320/Bild+22.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379552812195554" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First I changed the buttons so that they will start the appropriate episodes. Because I added the VOB files in the correct sequence to Sizzle, Title 1 now is the first and title 5 the last episode while title 6 is the front credits.&lt;br /&gt;&lt;br /&gt;iDVD on the other hand doesn't take care for the sequence the movies were added. So the first button can as well start title 1 as it could start title 6, which it did in my case, as you can see from the snapshot.&lt;br /&gt;&lt;br /&gt;I will change that now, but the buttons won't start the titles directly! I just set a register (think of it as a variable in programming sense) and jump to one specific position in the sequence of commands.&lt;br /&gt;&lt;br /&gt;But here is what to do:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt; In the Buttons zone click "Edit" &lt;/li&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-nPp3uBI/AAAAAAAAADg/ER57iMjxzco/s1600-h/Bild+23.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-nPp3uBI/AAAAAAAAADg/ER57iMjxzco/s320/Bild+23.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379573724592146" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;li&gt; Select Button 1 (usually already selected) &lt;/li&gt;&lt;br /&gt;&lt;li&gt; Click on the triangle to the left of "Jump Title 6"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-ooht2FI/AAAAAAAAADo/pbW251WbBV8/s1600-h/Bild+24.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 246px; height: 153px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-ooht2FI/AAAAAAAAADo/pbW251WbBV8/s320/Bild+24.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379597581146194" /&gt;&lt;/a&gt; &lt;/li&gt;&lt;br /&gt;&lt;li&gt; In the Popup change the settings as shown:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-qMZ34SI/AAAAAAAAADw/wVuGW2mnuuE/s1600-h/Bild+25.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 246px; height: 237px;" src="http://2.bp.blogspot.com/_VyK_8uYdNoQ/SaB-qMZ34SI/AAAAAAAAADw/wVuGW2mnuuE/s320/Bild+25.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379624391794978" /&gt;&lt;/a&gt;&lt;br /&gt;Type: Set Register&lt;br /&gt;&lt;br /&gt;Register: R0&lt;br /&gt;&lt;br /&gt;Operator: =&lt;br /&gt;&lt;br /&gt;Direct: yes&lt;br /&gt;&lt;br /&gt;Value: 1&lt;br /&gt;&lt;br /&gt;Link: Link TailPgc&lt;br /&gt;&lt;br /&gt;Highlighted Button: None &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;This process needs to be repeated for the other 4 buttons, setting R0 to 2, 3, 4 and 5 respectively. The 6th button ("Film weiter abspielen" / "resume film") is changed too, but this time not to "Set register" but to the single command "resume".&lt;br /&gt;&lt;br /&gt;With a click on "OK" the changes are saved.&lt;br /&gt;&lt;br /&gt;If you are still in "VMG Menu en", you'll see in the data zone see 4 commands in the "Pre cmds" tab:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; R5 = 0 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; R3 = 1 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; R0 = 0 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Let's get rid of them by selecting them and clicking the [-] Button at the bottom of the zone.&lt;br /&gt;&lt;br /&gt;Now some new commands need to be entered.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R0 == 0) Goto 9       &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R1 != R0) Goto 18     &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 = 0                   &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R1 == 1) Goto 13      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R1 == 2) Goto 14      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R1 == 3) Goto 15      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R1 == 4) Goto 16      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  if(R1 == 5) Goto 17      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 = R1                  &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 *= $0400              &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  highlightedButton = R0   &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 = 0, Link Prgm 1      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump Title 1             &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump Title 2             &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump Title 3             &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump Title 4             &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump Title 5             &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R1 = R0                  &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 = 0                   &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump Title 6             &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;On the "Post cmds" tab there are 4 commands which must be deleted and replaced by:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Jump VMG Menu Pgc 1     &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;A short explanation: This "Post cmds" is the place where the buttons are linked to. So if a button is activated, Register R0 is set to the title to start. The execution then reaches the "Post cmds", which is simply a "Jump VMG Menu Pgc 1". When you click the arrow behind that command, myDVDEdit shows the section that will be reached. It's exactly the 20 commands just entered. If you follow the logic, you might see what will happen, but stay tuned. myDVDEdit can help here too with it's debug feature. But first the DVD needs some more commands.&lt;br /&gt;&lt;br /&gt;As I said earlier, the register R0 gets the title number which should be played. After a title is played, the next one should start automatically. So I have to increment the title by one. Since this needs to happen 5 times, I simply created a new Pgc in "VMG Menu" and added some Pre cmds to it.&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 = R1     &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 += 1     &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R1 = 0      &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Link Pgc 1  &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;While a title plays, Register R0 must be set to 0 and R1 holds the current title number. The reason for this is, that the Viewer might press "Menu" or "Title" on his remote control at any time. Would R0 then be something other than 0, the current title would simply restart and the title menu could never be seen again. Check the logic of VMG Menu's Pgc 1 Pre cmds. So this is the reason for the first command "R0 = R1".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB-q3Za8aI/AAAAAAAAAD4/Qe5N1ISG10Q/s1600-h/Bild+27.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB-q3Za8aI/AAAAAAAAAD4/Qe5N1ISG10Q/s320/Bild+27.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305379635932623266" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Switching to one of the VTS' Pgcs, the Post cmds look like this:&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; Call VMG Menu Pgc 2 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;So this is exactly what's needed! After each of the titles, Pgc 2 of the menu is called.&lt;br /&gt;&lt;br /&gt;Just the Post cmds for VTS 6 need to be changed. After title 6, the real title has to start. Remember: Title 6 is the front credits. To accomplish this, the Post cmds need to be changed to:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  R0 = R1              &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt;  Call VMG Menu Pgc 1  &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;In "VTS Menu 1 en", three Pgcs can be seen. Not all of them are needed, all but Pgc 1, which is labeled as "(root)" can be deleted. (Hint: I had a crash of myDVDEdit when deleting Pgc 2 first. I just tried it once and it might have happend by accident. I deleted Pgc 3 first after that crash.) After deleting Pgc 3 and Pgc 2, one Pre cmd in Pgc 1 remains:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; Link Pgc 3 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;It' s labeld with an error "not found", so I delete it and replaced it with&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; Jump VMG Menu Pgc 1 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;Short explanation: The Pgc is labeled as "(root)". This means it's called as soon as the "Menu" button on a DVD Player's remote control is pressed. As I didn't want to have any menu for each title (episode), I simply instruct the DVD player to jump to the DVD's main menu instead.&lt;br /&gt;&lt;br /&gt;I repeated this for the other 5 VTS Menus.&lt;br /&gt;&lt;br /&gt;The only thing left to do is, to initialize R1 with a value that will highlight button 1 but not directly start title 1. This is done in the PGC called "First Play". Without further explanation, this is the Pre cmd:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;code&gt; R1 = $8001 &lt;/code&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;One final step needs to be done to the DVD. I want a chapter mark at the end of each title. Currently there are chaptermarks every 5 Minutes. But while the DVD player plays the last chapter of a title, pressing "Next Chapter" on the remote won't have any effect, as there is no chapter following.&lt;br /&gt;&lt;br /&gt;To enable this, I added to each VTS one empty cell. In the VTS (1 to 6), I opened the Cell tab in the data zone, right clicked on any Cell and selected "Add Cell &gt; Blank".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB_UCLoQUI/AAAAAAAAAEA/-ZA7KzWB1cM/s1600-h/Bild+28.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB_UCLoQUI/AAAAAAAAAEA/-ZA7KzWB1cM/s320/Bild+28.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305380343202201922" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I repeated this in each VTS. Even for VTS 6&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB_UTprOpI/AAAAAAAAAEI/4c5DD9LwDls/s1600-h/Bild+29.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 217px;" src="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB_UTprOpI/AAAAAAAAAEI/4c5DD9LwDls/s320/Bild+29.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305380347891628690" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now the commands can be debugged (tested). Clicking on the small switch with the scissor and the bug &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB_Ua5UKeI/AAAAAAAAAEQ/Vj-5bEZdqgs/s1600-h/Bild+30.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 81px; height: 31px;" src="http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB_Ua5UKeI/AAAAAAAAAEQ/Vj-5bEZdqgs/s320/Bild+30.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305380349836274146" /&gt;&lt;/a&gt; shows a "remote control" &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB_URo1hKI/AAAAAAAAAEY/HVTFnLyPuHY/s1600-h/Bild+31.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 128px; height: 304px;" src="http://1.bp.blogspot.com/_VyK_8uYdNoQ/SaB_URo1hKI/AAAAAAAAAEY/HVTFnLyPuHY/s320/Bild+31.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305380347351237794" /&gt;&lt;/a&gt; With it's help one can step through the commands and watch what happens.&lt;br /&gt;&lt;br /&gt;That's it. After saving the changes, I started DVD Imager&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB_Uj7inRI/AAAAAAAAAEg/Yk-nhSK_2l8/s1600-h/Bild+32.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 248px; height: 320px;" src="http://3.bp.blogspot.com/_VyK_8uYdNoQ/SaB_Uj7inRI/AAAAAAAAAEg/Yk-nhSK_2l8/s320/Bild+32.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5305380352261528850" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and dropped the VIDEO_TS folder on it. When the image is ready, it can be burned using OS X' standard disc utility.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-7054867616174184993?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/7054867616174184993/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/02/creating-feature-rich-dvd-from-vob.html#comment-form' title='0 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/7054867616174184993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/7054867616174184993'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/02/creating-feature-rich-dvd-from-vob.html' title='Creating a (feature rich) DVD from VOB files  on your Mac'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_VyK_8uYdNoQ/SaB7ECxdgoI/AAAAAAAAAAo/zzEHU0F8b1Y/s72-c/Bild+1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-2255376371629370105</id><published>2009-02-11T11:33:00.008+01:00</published><updated>2009-02-11T15:30:45.775+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='unix'/><category scheme='http://www.blogger.com/atom/ns#' term='shell'/><category scheme='http://www.blogger.com/atom/ns#' term='path'/><title type='text'>PATH Variable setzen mit addpath</title><content type='html'>Manchmal m&amp;ouml;chte man als Unix User gerne seine PATH Variable um neue Eintraege erweitern. Ich hatte immer mal wieder das "Problem", da&amp;szlig; Eintr&amp;auml;ge dabei doppelt auftauchten, da sie schon im Standard enthalten waren.&lt;br /&gt;&lt;br /&gt;Also habe ich mir vor einiger Zeit eine kleine Funktion gebastelt, die nur solche Werte aufnimmt, die nicht bereits enthalten sind:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;addpath () {&lt;br /&gt;    left=''&lt;br /&gt;    P=$1  &lt;br /&gt;    shift&lt;br /&gt;    while [ -n "$1" ]&lt;br /&gt;    do   case $1 in&lt;br /&gt;        -l) left=1 ;;&lt;br /&gt;        -r) left='' ;;&lt;br /&gt;        *)   case :$P: in&lt;br /&gt;            *:$1:*) ;; &lt;br /&gt;            *) if [ $left ] ; then P=$1:$P ; else P=$P:$1 ; fi ;;&lt;br /&gt;            esac ;;&lt;br /&gt;        esac      &lt;br /&gt;        shift&lt;br /&gt;    done&lt;br /&gt;    echo $P&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;"addpath" wird einfach in die .profile oder .bashrc (je nach Vorliebe) einkopiert.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Der Aufruf erfolgt in dieser Form:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;PATH=`addpath $PATH -l /usr/local/perl/perl-5.8.8/bin  -r ~/bin`&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Dies f&amp;uuml;gt "/usr/local/perl/perl-5.8.8/bin" vor dem aktuellen Pfad ein (links) und "~/bin" dahinter (rechts).&lt;br /&gt;&lt;br /&gt;Ohne -l und -r wird nur rechts angef&amp;uuml;gt. -l und -r beziehen sich auf alle, dahinter stehenden Pfade.&lt;br /&gt;&lt;br /&gt;addpath kann fuer alle Pfadvariablen verwendet werden, die wie PATH aufgebaut sind, also z.B. auch f&amp;uuml;r MANPATH, PERL5LIB etc. pp.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-2255376371629370105?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/2255376371629370105/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/02/path-variable-setzen-mit-addpath.html#comment-form' title='1 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2255376371629370105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2255376371629370105'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/02/path-variable-setzen-mit-addpath.html' title='PATH Variable setzen mit addpath'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-2523902329687946219</id><published>2009-01-30T21:59:00.009+01:00</published><updated>2009-01-31T09:39:49.419+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Großreinemachen'/><category scheme='http://www.blogger.com/atom/ns#' term='ApfelTalk'/><category scheme='http://www.blogger.com/atom/ns#' term='letzte Worte'/><title type='text'>Abschließende Worte zu meinem Rausschmiß aus Apfeltalk.</title><content type='html'>War das ein Theater auf ApfelTalk! Fast 600 Beiträge in dem &lt;a href="http://www.apfeltalk.de/forum/showthread.php?t=198405"&gt;Faden&lt;/a&gt;. Und &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt; gab sich mal wieder die Blöße.&lt;br /&gt;&lt;br /&gt;Bezeichnend finde ich, was mir "Hallo" schrieb:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;wie ich bei AT beobachtete, scheinen die Macher mit kritischen Altuser nicht mehr umgehen zu wollen. Ich denke, dass diese User, die doch erheblich zu der Qualität des Forums beigetragen haben, leider nicht mehr zu den AGB passen.&lt;br /&gt;[…] Offensichtlich braucht man diese nicht mehr und schmeißt sie raus, wenn sie nicht von selber gehen. Ich habe das Gefühl, dass einige ältere User gar nicht glauben können was bei AT passiert.&lt;br /&gt;Mir scheint es, dass &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt; und &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;N.&lt;/span&gt; einen wesentlich größeren Einfluss bekommen haben und bei der Bundeswehr wird auch nicht diskutiert sondern befohlen und gehorcht! Zum stützen dieses rigiden Vorgehens gibt es auch die neuen AGB.&lt;br /&gt;Es gab mal ein Forenmitglied, welches seinen Account bei eBay versteigert hat. Leider hat sich das als Farce entpuppt - schade, ich hätte mich gefreut, wenn mehr Mitglieder sich dem angeschlossen hätten, bevor man ihnen bei AT den Account kündigt.&lt;br /&gt;&lt;br /&gt;Zu &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;S.-T.&lt;/span&gt; &lt;span class="Apple-style-span" style="font-style: italic;"&gt;(Anmerkung Skeeve: Der, wie ich ihn bezeichne "&lt;a href="http://www.apfeltalk.de/forum/showthread.php?t=198405"&gt;Lügenbaron&lt;/a&gt;")&lt;/span&gt; kann ich nur bestätigen, dass er mich ebenfalls "blöde angemacht" hat. Ich habe es seinerzeit ignoriert. Nur kann ich auch hier skeeve gut verstehen. &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;S.-T.&lt;/span&gt; scheint ganz offensichtlich ein ziemlich mieses Spiel zu spielen!&lt;br /&gt;&lt;br /&gt;Für meinen Teil habe ich mit diesem Forum abgeschlossen und bin froh darüber. Ich bin der Meinung, früher oder später hat sich das Thema eh erledigt, da sich auf dieser Plattform keine Qualität mehr zeigen wird. […] Insofern haben die Macher ganze Arbeit geleistet und ihre Gesinnung klar über den Ausschluss von Mitgliedern definiert .&lt;br /&gt;&lt;br /&gt;Grüße&lt;br /&gt;&lt;br /&gt;Hallo&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Aber kommen wir zurück zum Schmierentheater in dem sich &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt; nicht entblödet, seine eigenen Worte, bzw. die seinens Chefs, Lügen zu strafen.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Wir haben bei jeder Userkündigung unsere trifftigen Gründe. Diese sind aus unserer Sicht durchaus nicht öffentlich. Wir stellen niemanden an den Pranger, treten nicht nach.&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1995579.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Und dann kam das zuerst hier (Hervorhebungen durch mich):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Niemand hat einen "Rechtsanspruch" auf Apfeltalk. Und ja, alleine das nicht akzeptieren der AGB reicht. Was soll das sein? Ich akzeptiere die Bedingungen nicht, will aber weiter mitmachen?&lt;br /&gt;&lt;br /&gt;Und wenn es dann sogar soweit geht, &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;dass, auch in IGs, auf Teufel komm raus gegen Mitglieder des Teams Stimmung gemacht wird und sogar Beleidigungen ausgesprochen werden&lt;/span&gt;, dann langt es erst einmal. &lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1978512.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Nein nein! Wir nennen die Gründe nicht! Bei den Mitgliedern entstand allerdings ein anderer Eindruck:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Die Gründe, warum ein User gesperrt wird, gehen uns nichts an. Ich möchte sie jedenfalls nicht hier lesen, wenn ich mal gesperrt werden sollte.&lt;br /&gt;Daß sie uns durch Moderator &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt; dann doch mitgeteilt wurden, ist unprofessionell. Die Mitteilung, dass er es nicht war, der Skeeve kickte, ist sogar zum Würgen.&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1978943.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Als nächstes kam noch dies von &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt;:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Das er die Dinge natürlich nur rein subjektiv darstellt (ich möchte nicht schreiben "verschönernd"), ist auch klar. Soviel zu dem "Warum".&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1997882.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;rumsi hat es gleich richtig erkannt und nachgehakt:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;dir muss es echt schwer fallen, dir solche aussagen zu verkneifen oder? welchen grund hast du, jetzt hier einen bereits durch euch gesperrten user erneut negativ zu belasten, insbesondere da er selbst kein statement dazu abgeben kann?&lt;br /&gt;&lt;br /&gt;genau das macht dich als administrator gerade laecherlich. du verharrst theoretisch auf einem sachlichen umgang in solchen situationen, handeln tust du aber genau entgegengesetzt. rein subjektiv. &lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1997884.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt; gibt vor nicht zu verstehen, was gemeint ist (wohlgemerkt: Ich schreibe: Er gibt vor, weil ich ihm nicht unterstelle, daß er so blöde ist, es tatsächlich nicht zu verstehen!)&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Genau das ist der Grund, warum es eben kein Statement gibt. Ich habe geschrieben, "ich möchte nicht sagen..." und ich hab ihn in keine Weise negativ belastet, auch wenn Du das jetzt so darstellen möchtest. Und Statements hat Skeeve abgegeben, darauf bezog sich meine Aussage. Folge den Links in den vorangegangenen Posts.&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1997902.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;rumsi, der Gute, kann es wohl auch nicht glauben und hakt weiter nach:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;warum aeusserst du dich denn dazu?&lt;br /&gt;ich dachte es ist nicht dein wertebefinden dies zu tun?&lt;br /&gt;du widersprichst dir selbst, so zumindest in meinen augen.&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1997908.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;und nun &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt;s Abschlußkommentar dazu:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;In wieweit widerspreche ich mich? Skeeve hat ein Statement abgegeben, wir machen das nicht. Ich habe mich auch nicht dazu geäussert sondern lediglich geschrieben, dass er es gemacht hat. Die Wertung legst Du in das Posting, von mir kam es wertfrei. Du darfst hineininterpretieren, was immer Dir gefällt, aber wirf mir keine Statements vor, die ich nie abgegeben habe.&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1997914.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Okay. Wollen wir doch mal der Argumentation folgen: &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wenn &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;M.&lt;/span&gt; schreibt »&lt;span class="Apple-style-span" style="font-style: italic;"&gt;ich möchte nicht schreiben "verschönernd"&lt;/span&gt;«, dann ist er also der Meinung, damit zum Ausdruck gebracht zu haben, daß er das eben nun gerade &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;wirklich nicht schreibt&lt;/span&gt; und ihm dieser Gedanke wohl auch gar nicht in den Sinn kommt.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Mit anderen Worten: Er behauptet also, mit diesem Satz zum Ausdruck gebracht zu haben, daß mein Kommentar zu meinem Rausschmiß tatsächlich nicht "verschönend" war, mithin also die Wahrheit, die reine Wahrheit und nichts als die Wahrheit?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt; Tatsächlich? Glaubt das irgendjemand?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Schrübe ich nun »&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Lieber Moderator, sie haben sich unfein (und ich schreibe nicht "wie ein extremes Arschloch") verhalten.&lt;/span&gt;« glaubte mir sicherlich niemand, daß ich nicht doch genau das gemeint habe, was ich angeblich nicht schreibe.&lt;br /&gt;&lt;br /&gt;Nun frage ich mich allerdings: Was war in meinem Kommentar "verschönend"? Was ist eigentlich "verschönend"? "Beschönigend" hätte vielleicht besser gepaßt, aber mit der deutschen Sprache hat es ja nichtmal der Meisterredaktör bei ApfelTalk so.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also was ist an meinem Kommentar "beschönigend"? Habe ich was unterschlagen? Was war nun wirklich so böse an meinem Verhalten, daß ich eine Sonderbehandlung bekomme und nicht, wie bei ApfelTalk vorgesehen, eine Verwarnung und eine befristete Sperre bekommen habe? Ich werde es wohl nie erfahren.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Ich weiß übrigens nicht, wie der Oberchef von AT auf diesen Trichter kommt (Hervorhebung durch mich):&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Ist doch schon längst geschehen. Frag ihn. Ob die nun für nachvollziehbar war oder nicht... Keine Ahnung. &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Jedenfalls hat er in seinem Blog geschrieben, dass er es verstanden hat. &lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;[&lt;a href="http://www.apfeltalk.de/forum/p1998844.html"&gt;Quelle…&lt;/a&gt;]&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ich habe es definitiv &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;nicht&lt;/span&gt; verstanden, aber auch auf meine Nachfrage per E-Mail gab es keine Antwort.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;Ach! Ich schreib schon wieder viel zu viel.&lt;br /&gt;&lt;br /&gt;Ein lieber Mensch, den ich auch über ApfelTalk kennengelernt habe, meinte sinngemäß, ich solle mein Blog jetzt nutzen, um nützliche Scripte zur Verfügung zu stellen. Und ich denke, er hat Recht. Warum auch soll ein mittelmäßiges, im Abstieg begriffenes Forum von meinen "Perlen der Weisheit" profitieren?&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-2523902329687946219?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/2523902329687946219/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/01/abschlieende-worte-zu-meinem-rausschmi.html#comment-form' title='2 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2523902329687946219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/2523902329687946219'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/01/abschlieende-worte-zu-meinem-rausschmi.html' title='Abschließende Worte zu meinem Rausschmiß aus Apfeltalk.'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7445459927601276838.post-1738378725937487689</id><published>2009-01-25T10:52:00.000+01:00</published><updated>2009-01-25T23:58:49.484+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Großreinemachen'/><category scheme='http://www.blogger.com/atom/ns#' term='ApfelTalk'/><title type='text'>Zu Skeeves ApfelTalk Rausschmiß</title><content type='html'>Am 19.01.2009 wurde mir, nach fast fünfjähriger Mitgliedschaft, mein ApfelTalk User Account ohne Vorwarnung gesperrt. Da es offensichtlich Probleme bei der Zustellung der Mail gab, erreichte mich die (sogenannte) Begründung erst mit 2 Tagen Verzögerung und auf Apfeltalk &lt;a href="http://www.apfeltalk.de/forum/bisher-unbegr-ndetes-t198405.html"&gt;hub ein großes Rätselraten an&lt;/a&gt;, was wohl die Gründe gewesen sein mögen.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Am 22.01. habe ich per Mail die beiden Geschäftsführer von Apfeltalk aufgefordert, doch die Begründungsmail im entsprechenden Thread zu veröffentlichen, damit dem Rätselraten endlich ein Ende gesetzt wird. Ganz offensichtlich hat diese Mail aber entweder nie ihre Adressaten erreicht (was ich bezweifle) oder sie finden die Idee nicht gar so prickelnd.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wie dem auch sei… Um die ganzen Anfragen, was denn nun passiert sei, zu befriedigen, hier der exakte Wortlaut der "Begründung" für meinen Rauswurf:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;Hallo Skeeve,&lt;br /&gt;&lt;br /&gt;wir haben heute entschieden deinen account in Apfeltalk zu sperren.&lt;br /&gt;Es gab jetzt von Dir keine Aktion in den letzten Tagen die dies zwingend rechtfertigt, es ist vielmehr die Art und Weise mir der Du dich in den letzten Monaten im Forum aufhältst.&lt;br /&gt;Du konntest unsere AGB nicht akzeptieren und Dich scheinbar dennoch nicht von Apfeltalk trennen. Dies wundert mich umso mehr, da ich Dich eigentlich als konsequenten Menschen einschätze.&lt;br /&gt;Wir hätten auch sicher nichts dagegen gehabt, wenn Du dich konstruktiv, mit den Mitteln die Dir noch zur Verfügung standen, weiterhin im Forum bewegt hättest.&lt;br /&gt;Dies hast Du aber leider nicht getan, im Gegenteil, dein Verhalten war sehr destruktiv und teilweise auch beleidigend, letztlich auch AT-Teammitgliedern von gegenüber.&lt;br /&gt;&lt;br /&gt;Wir möchten uns das nicht länger anschauen müßen.&lt;br /&gt;&lt;br /&gt;Im Prinzip könnte ich mir jede Rechtfertigung sparen nur mein Anstand sagt mir, daß ich es zumindest versuchen möchte,  Dir zu erklären warum.&lt;br /&gt;Es ist insofern schade, daß wir diesen Schritt jetzt machen müßen , da wir durchaus deine Fachkentnisse schätzen gelernt haben.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wir wünschen Dir für die Zukunft alles Gute.&lt;br /&gt;&lt;br /&gt;Viele Grüße von Apfeltalk&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: rgb(153, 153, 153);"&gt;Name entfernt&lt;/span&gt;&lt;/blockquote&gt;Ich lese daraus keine echte Begründung. Ihr vielleicht? Was genau von Apfeltalk als "destruktives Verhalten" gewertet wurde, kann ich nicht sagen. Ich kann nur raten. Und was  "beleidigend, letztlich auch AT-Teammitgliedern von gegenüber" bedeutet, erschließt sich mir auch nicht so ganz. Auf meine Mail an den Verfasser habe ich bis dato noch keine Antwort erhalten.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;"Beleidigend" wird wahrscheinlich meine (zugegebenermaßen kindische) Verballhornung eines Nicks zu "Natter" gewertet.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Was nun destrutiv gewesen sein soll? Vielleicht:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Meine Meldungen von Beiträgen, die nicht so ganz in Ordnung waren? Ich sage nur "Handbremse"!&lt;/li&gt;&lt;li&gt;Meine Bitte per Meldefunktion, mal gegen das ständige Bashing eines "Forenlieblings" vorzugehen?&lt;/li&gt;&lt;li&gt;Meine Bitte, die Dame, deren Nick ich an anderer Stelle verballhornte, mal in ihre Schranken zu weisen. Sie ist der irrigen Annahme, auf einem Mac müsse zwingend immer OS X installiert werden. Aus diesem Grund hat sie verschiedene User von Apfeltalk zurechtgewiesen.&lt;/li&gt;&lt;li&gt;Oder mein großzügiges Verteilen von schwarzem Karma an Leute, die es verdient haben.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Wie gesagt: Ich kann nur rätseln. Schließlich gab es ja nicht einmal eine Verwarnung. Gar nichts!&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Letztlich hat sich ein Karma Empfänger über mich beschwert. Im Forum unterstellt er mir inzwischen, &lt;a href="http://www.apfeltalk.de/forum/p1978253.html"&gt;ich hätte ihn mit unfreundlichen Mails belästigt&lt;/a&gt;. Dies entbehrt jeglicher Grundlage. Die einzige unfreundliche Mail, zwischen mir und ihm, wurde &lt;span class="Apple-style-span" style="font-weight: bold;"&gt;von ihm&lt;/span&gt; am 30.12.2008 um 23:15 über ApfelTalk abgeschickt. Ich bin nicht sicher, aber ich denke, das läßt sich über die Logs von ApfelTalk eventuell sogar belegen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ich habe diesen User sowohl per Mail als auch über die 2 ApfelTalk Geschäftsführer aufgefordert, diese Unterstellung bis zum 25.01.2009 23:59 zurückzunehmen und sich öffentlich zu entschuldigen, da ich ansonsten seine Mail veröffentlichen werde. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Da ich bislang keine Entschuldigung entdecken konnte, hier der genaue Wortlaut seiner Mail:&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;Hi Süßer,&lt;br /&gt;&lt;br /&gt;weil du so ein herzensguter Mensch bist komme ich nicht drum rum dir die allerschlechtesten Wünsche für das neue Jahr zu wünschen. Ich hoffe dein Jahr wird Pech erfüllt, und du wirst deines Lebens nicht mehr froh.&lt;br /&gt;&lt;br /&gt;Hoffe auf viel schlechtes Karma!&lt;/blockquote&gt;Ich lasse diese Mail unkommentiert so stehen. Es mag sich jeder selbst seine Meinung bilden, wes Geistes Kind dieser 24jährige wohl ist.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Meine, wie ich denke sehr freundlich Antwort war:&lt;blockquote&gt;Da ich an Karma glaube, bin ich doch ziemlich bestürzt über Deine Aussichten für 2009: "What goes around, comes around"&lt;br /&gt;&lt;br /&gt;In diesem Sinne wünsche ich Dir natürlich nur das allerbeste!&lt;br /&gt;&lt;br /&gt;-- Skeeve&lt;br /&gt;&lt;br /&gt;P.S. Wie steht's um meinen Rausschmiß bestellt?&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;Bezüglich meiner Nachfrage zu meinem Rausschmiß: Dank der Profilnachrichten in Apfeltalk und deren Funktion "Unterhaltung ansehen", war mir &lt;a href="http://www.apfeltalk.de/forum/p1978737.html"&gt;diese Unterhaltung&lt;/a&gt; zwischen dem User und einem seiner Spießgesellen aufgefallen.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Wie auch immer. ApfelTalk ist für mich nun fast Geschichte. Ich werde noch 10 meiner mehr als 3000 Beiträge herauskopieren und dann ApfelTalk auffordern, genau diese 10 zu löschen. Ich hoffe, daß sie diesem, meines Erachtens berechtigten, Ansinnen nachkommen werden und wir damit die ganze, für ApfelTalk peinliche Geschichte ad acta legen können.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7445459927601276838-1738378725937487689?l=skeeve42.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://skeeve42.blogspot.com/feeds/1738378725937487689/comments/default' title='Kommentare zum Post'/><link rel='replies' type='text/html' href='http://skeeve42.blogspot.com/2009/01/zu-skeeves-apfeltalk-rausschmi.html#comment-form' title='15 Kommentare'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1738378725937487689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7445459927601276838/posts/default/1738378725937487689'/><link rel='alternate' type='text/html' href='http://skeeve42.blogspot.com/2009/01/zu-skeeves-apfeltalk-rausschmi.html' title='Zu Skeeves ApfelTalk Rausschmiß'/><author><name>Skeeve</name><uri>http://www.blogger.com/profile/11056975765989772187</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='30' height='32' src='http://1.bp.blogspot.com/_VyK_8uYdNoQ/SX1kxaTEtQI/AAAAAAAAAAM/kFDXIpCUlYs/S220/Kill+Bild+animiert+95x100.gif'/></author><thr:total>15</thr:total></entry></feed>
