<?xml version="1.0" encoding="ISO-8859-1" ?>
<feed xmlns="http://purl.org/atom/ns#" version="0.3"
	  xmlns:dc="http://purl.org/dc/elements/1.1/"
	  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xml:lang="en">

  <title>TreeGarden</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/"/>
  <tagline type="text/plain" mode="escaped"></tagline>
  
  <modified>2006-12-15T11:33:14+00:00</modified>
  <generator version="1.2" url="http://www.dotclear.net/">DotClear</generator>
  
  <sy:updatePeriod>daily</sy:updatePeriod>
  <sy:updateFrequency>1</sy:updateFrequency>
  <sy:updateBase>2006-12-15T11:33:14+00:00</sy:updateBase>
  
<entry xml:lang="en">
  <title>Liste au père noël.</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/12/15/80-liste-au-pere-noel" />
  <issued>2006-12-15T11:33:14+00:00</issued>
  <modified>2006-12-15T11:33:14+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/12/15/80-liste-au-pere-noel</id>
  <author><name>obi</name></author>
  <dc:subject>WebDesign</dc:subject>
  <summary>Cher papa noël du W3C, je veux ça implémenté dans tous les navigateurs pour noielle. Tu sais, j'ai été très sage. Merci !...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;Cher papa noël du W3C, &lt;a href=&quot;http://blog.airbladesoftware.com/2006/12/11/cssdryer-dry-up-your-css&quot; hreflang=&quot;en&quot;&gt;je veux ça&lt;/a&gt; implémenté dans tous les navigateurs pour noielle. Tu sais, j'ai été très sage. Merci !&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Choosing a default color palette for OOo charts</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/12/13/79-choosing-a-default-color-palette-for-ooo-charts" />
  <issued>2006-12-13T17:02:28+00:00</issued>
  <modified>2006-12-13T17:02:28+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/12/13/79-choosing-a-default-color-palette-for-ooo-charts</id>
  <author><name>obi</name></author>
  <dc:subject>Linux and Libre Software</dc:subject>
  <summary>Choosing a color palette for OOo  is quite a tough challenge, 12 shades of gray is a lot, 7/8 is the limit of what you can distinguish "easily". So I tried a pragmatic approach, with shades of gray...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;&lt;a href=&quot;http://devadventure.blogspot.com/2006/12/need-help-choosing-default-color.html&quot; hreflang=&quot;en&quot;&gt;Choosing a color palette for &lt;acronym title=&quot;OpenOffice.org&quot;&gt;OOo&lt;/acronym&gt; &lt;/a&gt; is quite a tough challenge, &lt;strong&gt;12&lt;/strong&gt; shades of gray is a lot, 7/8 is the limit of what you can distinguish &quot;easily&quot;. So I tried a pragmatic approach, with shades of gray from 25% to 90%, a first row of 6 colors sticking to 10 multiples, and a second one with multiples of 5. Then setting saturation to 100% (assuming vibrant colors are the best to draw charts), there's only the hue left to play with. So aesthetically speaking, it's, hum, perfectible. Slight gradient to darker colors somehow improve the results.&lt;/p&gt;


&lt;p&gt;Anyway, IMO, the best way to make colors stand-out on any background are outlines (I like thick rounded outlines, but it gives a cartoonesque look which might be inappropriate). Inverse video is also very efficient, but not always nice to the eyes. Yet another solution is to associate two colors, one for the fill and another one for the outline so your chances of confusion are lowered (2 hints instead of 1). Or to associate motifs to colors (stripes, bubbles, stars), but this does not work for lines.&lt;/p&gt;


&lt;p&gt;Anyway, here's a first try&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;/dotclear/images/svg/Ooo-color-scheme.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Visualiser tous les liens rel=nofollow</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/12/06/78-visualiser-tous-les-liens-relnofollow" />
  <issued>2006-12-06T12:47:55+00:00</issued>
  <modified>2006-12-06T12:47:55+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/12/06/78-visualiser-tous-les-liens-relnofollow</id>
  <author><name>obi</name></author>
  <dc:subject>En Français dans le texte</dc:subject>
  <summary>En tant que webmestre, il peut être intéressant de voir d'un seul coup d'oeil si un back link a l'attribut rel="nofollow". Firefox, ses sélecteurs CSS avancés et son fichier userContent.css rendent celà très facile.</summary>
  <content type="text/html" mode="escaped">&lt;p&gt;En tant que webmestre, il peut être intéressant de voir d'un seul coup d'oeil si un back link a l'attribut &lt;code&gt;rel=&quot;nofollow&quot;&lt;/code&gt;. Firefox, ses sélecteurs CSS avancés et son fichier userContent.css rendent celà très facile.&lt;/p&gt; &lt;p&gt;Le fichier userContent.css se situe dans votre profil firefox, par exemple chez moi: &lt;code&gt;C:\Documents and Settings\&amp;lt;MON NOM&amp;gt;\Application Data\Mozilla\Firefox\Profiles\&amp;lt;MON PROFIL&amp;gt;\chrome&lt;/code&gt;. Renommez donc le fichier &lt;code&gt;userContent-example.css&lt;/code&gt; en &lt;code&gt;userContent.css&lt;/code&gt;. Les règles CSS contenues dans ce fichier sont applliquées à toutes les pages affichées par firefox. Profitons donc de ses sélecteurs avancé pour créer une règle sécifique aux liens ayant un attribut &lt;code&gt;rel=&quot;nofollow&quot;&lt;/code&gt;:&lt;/p&gt;


&lt;pre&gt;a[rel =&quot;nofollow&quot;]:after {
	color: gray;
	font-size:80%;
	content: &quot;\0000a0&amp;empty;&quot;;		
}&lt;/pre&gt;

&lt;p&gt;Cette règle ajoute le symbole &amp;empty; en gris à la suite de tous les liens &lt;code&gt;rel=nofollow&lt;/code&gt;.
Sauvegardez, relancez firefox, et visitez un page contenant de tels liens&amp;hellip;&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Set your feed on fire</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/07/06/77-set-your-feed-on-fire" />
  <issued>2006-07-06T14:22:57+00:00</issued>
  <modified>2006-07-06T14:22:57+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/07/06/77-set-your-feed-on-fire</id>
  <author><name>obi</name></author>
  <dc:subject>TreeGarden</dc:subject>
  <summary>http://feeds.feedburner.com/treegarden...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;&lt;a href=&quot;http://feeds.feedburner.com/treegarden&quot;&gt;http://feeds.feedburner.com/treegarden&lt;/a&gt;&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Technorati claim</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/06/23/75-technorati-claim" />
  <issued>2006-06-23T10:52:28+00:00</issued>
  <modified>2006-06-23T10:52:28+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/06/23/75-technorati-claim</id>
  <author><name>obi</name></author>
  <dc:subject>TreeGarden</dc:subject>
  <summary>Technorati Profile...</summary>
  <content type="text/html" mode="escaped"> &lt;a href=&quot;http://technorati.com/claim/tif7fi54su&quot; rel=&quot;me&quot;&gt;Technorati Profile&lt;/a&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Palette switching script for Illustrator</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/06/01/74-palette-switching-script-for-illustrator" />
  <issued>2006-06-01T00:08:50+00:00</issued>
  <modified>2006-06-01T00:08:50+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/06/01/74-palette-switching-script-for-illustrator</id>
  <author><name>obi</name></author>
  <dc:subject>ArtWork</dc:subject>
  <summary>Already had to convert vectors made in CMYK ignorant programs, like, say, inkscape and wanted to print them with a predefined and fixed palette ? Illustrator scripting capabilities saves you hours of repetitive work.</summary>
  <content type="text/html" mode="escaped">&lt;p&gt;Already had to convert vectors made in CMYK ignorant programs, like, say, &lt;a href=&quot;http://www.inkscape.org&quot;&gt;inkscape&lt;/a&gt; and wanted to print them with a predefined and fixed palette ? Illustrator scripting capabilities saves you hours of repetitive work.&lt;/p&gt; &lt;p&gt;First of all, credits where credits are due, this script is based on &lt;a href=&quot;http://www.wundes.com&quot;&gt;Randomize Colors, by John Wundes &lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;This script works on solid fills and strokes, on &lt;strong&gt;gradients&lt;/strong&gt; and on &lt;strong&gt;vectorized&lt;/strong&gt; text (could not succeed to make it work on regular text, any hint is welcome). It changes predefined &lt;acronym title=&quot;Cyan Magente Yellow Key&quot;&gt;CMYK&lt;/acronym&gt; values to other ones. The match on the predefined value has a certain tolerance (default 1%). A color which is not matched is turned to a highly visible red, letting you know where something went wrong.
&lt;a href=&quot;partners.adobe.com/public/developer/en/illustrator/sdk/AICS2-JavaScriptGuide.pdf&quot;&gt;This complete javascript documentation for illustrator&lt;/a&gt; unveils of the secrets of the internal form of illustrator, and in many ways it's cleaner than the clumsy Illustrator GUI.&lt;/p&gt;


&lt;p&gt;There are 3 parts in this script:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2 arrays containning the source palette and the destination palette. Colors with identical indexes will be swapped.&lt;/li&gt;
&lt;li&gt;An internal form walker, working on the current selection, and calling itself recursively while walking the internal form. When we reach the final colors, the swap is realized.&lt;/li&gt;
&lt;li&gt;2 Functions to find the destination color from object color and the correspondance tables.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And now, here is the script:&lt;/p&gt;

&lt;pre&gt;//Stick to CMYK Palette
//JS code modifications (c) Aubanel MONNIER
//http://un.regne.net
//Original was:
//Randomize Colors
//JS code (c) by John Wundes 
// johnwun@aol.com
// www.wundes.com
//////////////////////////////////////////////////////////////////

len = app.activeDocument.selection.length;
gradAlert = 0;
strokes = false;
epsilon = 1; //1% of error margin
palette=[
        &lt;a href=&quot;0, 0, 0, 0&quot;&gt;0, 0, 0, 0&lt;/a&gt;,  //blanc
        &lt;a href=&quot;87.06, 19.61, 0, 0&quot;&gt;87.06, 19.61, 0, 0&lt;/a&gt;, //Bleu electrique
        &lt;a href=&quot;23.92, 3.53, 1.18, 0&quot;&gt;23.92, 3.53, 1.18, 0&lt;/a&gt;, //Bleu Ciel
        &lt;a href=&quot;94.90,60.78,34.90,29.019&quot;&gt;94.90,60.78,34.90,29.019&lt;/a&gt;,//Pétrole
        &lt;a href=&quot;1.96, 59.60, 89.01, 0&quot;&gt;1.96, 59.60, 89.01, 0&lt;/a&gt;, //Orange tricycle
        &lt;a href=&quot;1.96, 29.8, 41.57, 0&quot;&gt;1.96, 29.8, 41.57, 0&lt;/a&gt;, //Peche
        &lt;a href=&quot;28.62, 67.84, 94.11, 16.07&quot;&gt;28.62, 67.84, 94.11, 16.07&lt;/a&gt;,//Fruit Pourri
        &lt;a href=&quot;58.03, 3.13, 100, 0.39&quot;&gt;58.03, 3.13, 100, 0.39&lt;/a&gt;, //Vert Tendre        
        &lt;a href=&quot;20.39, 0, 52.54, 0&quot;&gt;20.39, 0, 52.54, 0&lt;/a&gt;, //Vert Tilleul
        &lt;a href=&quot;72.54, 29.01, 99.21, 13.72&quot;&gt;72.54, 29.01, 99.21, 13.72&lt;/a&gt;, //Vert Sapin
        &lt;a href=&quot;37.64,25.09,0,0&quot;&gt;37.64,25.09,0,0&lt;/a&gt;, //Mauve
        &lt;a href=&quot;10.59,5.49,1.57,0&quot;&gt;10.59,5.49,1.57,0&lt;/a&gt;, //Lavande
        &lt;a href=&quot;83.92,66.27,0,0&quot;&gt;83.92,66.27,0,0&lt;/a&gt;, //Nuit
        &lt;a href=&quot;5.88, 17.64, 27.45, 0.78&quot;&gt;5.88, 17.64, 27.45, 0.78&lt;/a&gt;, //Chene
        &lt;a href=&quot;23.52, 43.92, 78.82, 9.80&quot;&gt;23.52, 43.92, 78.82, 9.80&lt;/a&gt;, //Beige
        &lt;a href=&quot;43.92, 65.49, 94.90, 57.25&quot;&gt;43.92, 65.49, 94.90, 57.25&lt;/a&gt;, //Chocolat
        &lt;a href=&quot;2.35,13.72,92.54,0.39&quot;&gt;2.35,13.72,92.54,0.39&lt;/a&gt;, //Jaune d'or
        &lt;a href=&quot;3.52,3.92,41.96,0&quot;&gt;3.52,3.92,41.96,0&lt;/a&gt;, //Jaune pale
        &lt;a href=&quot;39.99,39.99,97.64,26.66&quot;&gt;39.99,39.99,97.64,26.66&lt;/a&gt;, //Caca d'oie
        &lt;a href=&quot;1.17, 96.07, 84.70, 0&quot;&gt;1.17, 96.07, 84.70, 0&lt;/a&gt;,  //Rouge Camion
        &lt;a href=&quot;2.35, 14.50, 1.96, 0&quot;&gt;2.35, 14.50, 1.96, 0&lt;/a&gt;, //Rose pale
        &lt;a href=&quot;37.25, 83.92, 92.54, 36.07&quot;&gt;37.25, 83.92, 92.54, 36.07&lt;/a&gt;,//Bordeaux
        &lt;a href=&quot;9.41, 6.27, 4.71, 0.39&quot;&gt;9.41, 6.27, 4.71, 0.39&lt;/a&gt;, //Gris10  
        &lt;a href=&quot;18.82,12.94,10.2,1.18&quot;&gt;18.82,12.94,10.2,1.18&lt;/a&gt;, //Gris20
        &lt;a href=&quot;27.06, 19.22, 16.08, 3.14&quot;&gt;27.06, 19.22, 16.08, 3.14&lt;/a&gt;, //Gris30
        &lt;a href=&quot;35.29,25.49,22.35,6.67&quot;&gt;35.29,25.49,22.35,6.67&lt;/a&gt;, //Gris40
        &lt;a href=&quot;42.75,31.37, 28.63,12.94&quot;&gt;42.75,31.37, 28.63,12.94&lt;/a&gt;, //Gris50
        &lt;a href=&quot;49.02,36.47,34.51,21.96&quot;&gt;49.02,36.47,34.51,21.96&lt;/a&gt;, //Gris60
        &lt;a href=&quot;56.08,42.35,41.57,32.94&quot;&gt;56.08,42.35,41.57,32.94&lt;/a&gt;, //Gris70
        &lt;a href=&quot;62.35,48.63,48.63,47.84&quot;&gt;62.35,48.63,48.63,47.84&lt;/a&gt;, //Gris80
        &lt;a href=&quot;68.63,54.9,56.08, 69.41&quot;&gt;68.63,54.9,56.08, 69.41&lt;/a&gt;, //Gris90
        &lt;a href=&quot;0, 0, 0, 100&quot;&gt;0, 0, 0, 100&lt;/a&gt;, //Noir
        ];
swapTo=[
        &lt;a href=&quot;0, 0, 0, 0&quot;&gt;0, 0, 0, 0&lt;/a&gt;,  //blanc
        &lt;a href=&quot;91, 43, 0, 0&quot;&gt;91, 43, 0, 0&lt;/a&gt;,//Bleu electrique
        &lt;a href=&quot;25, 10, 0, 0&quot;&gt;25, 10, 0, 0&lt;/a&gt;, //Bleu Ciel
        &lt;a href=&quot;91,43,0,70&quot;&gt;91,43,0,70&lt;/a&gt;,//Pétrole
        &lt;a href=&quot;0, 60, 94, 0&quot;&gt;0, 60, 94, 0&lt;/a&gt;, //Orange tricycle
        &lt;a href=&quot;0, 30, 50, 0&quot;&gt;0, 30, 50, 0&lt;/a&gt;, //Peche
        &lt;a href=&quot;0, 60, 100, 40&quot;&gt;0, 60, 100, 40&lt;/a&gt;,//Fruit Pourri
        &lt;a href=&quot;40,0,100,30&quot;&gt;40,0,100,30&lt;/a&gt;, //Vert Tendre        
        &lt;a href=&quot;20,0,50,0&quot;&gt;20,0,50,0&lt;/a&gt;, //Vert Tilleul  
        &lt;a href=&quot;40, 0, 100, 60&quot;&gt;40, 0, 100, 60&lt;/a&gt;, //Vert Sapin  
        &lt;a href=&quot;34,30.5,0,6&quot;&gt;34,30.5,0,6&lt;/a&gt;, //Mauve
        &lt;a href=&quot;11.5,8.5,0,0&quot;&gt;11.5,8.5,0,0&lt;/a&gt;, //Lavande
        &lt;a href=&quot;69,65,0,30.5&quot;&gt;69,65,0,30.5&lt;/a&gt;, //Nuit        
        &lt;a href=&quot;0, 15, 30.5, 6&quot;&gt;0, 15, 30.5, 6&lt;/a&gt;, //Chene
        &lt;a href=&quot;0, 24, 76, 30.5&quot;&gt;0, 24, 76, 30.5&lt;/a&gt;, //Beige
        &lt;a href=&quot;0, 51, 100, 76&quot;&gt;0, 51, 100, 76&lt;/a&gt;, //Chocolat
        &lt;a href=&quot;0,15,94,0&quot;&gt;0,15,94,0&lt;/a&gt;,//Jaune d'or
        &lt;a href=&quot;0,5,43,0&quot;&gt;0,5,43,0&lt;/a&gt;, //Jaune pale
        &lt;a href=&quot;0,18.5,100,56&quot;&gt;0,18.5,100,56&lt;/a&gt;, //Caca d'oie
        &lt;a href=&quot;0, 100, 91, 0&quot;&gt;0, 100, 91, 0&lt;/a&gt;,  //Rouge Camion
        &lt;a href=&quot;0, 15, 6, 0&quot;&gt;0, 15, 6, 0&lt;/a&gt;, //Rose pale
        &lt;a href=&quot;0, 76, 76, 60&quot;&gt;0, 76, 76, 60&lt;/a&gt;,//Bordeaux
        &lt;a href=&quot;0, 0, 0, 10&quot;&gt;0, 0, 0, 10&lt;/a&gt;, //Gris10
        &lt;a href=&quot;0, 0, 0, 20&quot;&gt;0, 0, 0, 20&lt;/a&gt;, //Gris20
        &lt;a href=&quot;0, 0, 0, 30&quot;&gt;0, 0, 0, 30&lt;/a&gt;, //Gris30
        &lt;a href=&quot;0, 0, 0, 40&quot;&gt;0, 0, 0, 40&lt;/a&gt;, //Gris40
        &lt;a href=&quot;0, 0, 0, 50&quot;&gt;0, 0, 0, 50&lt;/a&gt;, //Gris50
        &lt;a href=&quot;0, 0, 0, 60&quot;&gt;0, 0, 0, 60&lt;/a&gt;, //Gris60
        &lt;a href=&quot;0, 0, 0, 70&quot;&gt;0, 0, 0, 70&lt;/a&gt;, //Gris70
        &lt;a href=&quot;0, 0, 0, 80&quot;&gt;0, 0, 0, 80&lt;/a&gt;, //Gris80
        &lt;a href=&quot;0, 0, 0, 90&quot;&gt;0, 0, 0, 90&lt;/a&gt;, //Gris90
        &lt;a href=&quot;0, 0, 0, 100&quot;&gt;0, 0, 0, 100&lt;/a&gt;, //Noir
        ];
        
defaultColor=&lt;a href=&quot;0,100,100,0&quot;&gt;0,100,100,0&lt;/a&gt;;
log='';        
if (len == 0) {
	alert(&quot;Please select one or more objects. Grouped objects will not be affected.&quot;);
} else if(app.activeDocument.documentColorSpace == &quot;DocumentColorSpace.RGB&quot;) {
  alert(&quot;Document is in RGB Mode ! Switch it to CMYK.&quot;);
} else {
	ob = app.activeDocument.selection;
	
       
	for (j=0; j&amp;lt;len; j++) { 

                changeObjectPalette(ob&lt;a href=&quot;j&quot;&gt;j&lt;/a&gt;);

        
        
	} 
if (log =='') log='Done !'
alert (log);
}
function changeObjectPalette(obj){
//uncomment to debug
                //alert(obj.typename);
                
//only owrks on vectorized text                
                
if (obj.typename=='CMYKColor'){

//a cmyk color, find the best replacement
  swapColorToNearest(obj);
}

if (obj.typename=='GroupItem'){
//a group, recursive call on all page items
for (l=0; l &amp;lt;obj.pageItems.length; l++ ) {
  changeObjectPalette(obj.pageItems&lt;a href=&quot;l&quot;&gt;l&lt;/a&gt;);
}
}
if (obj.typename=='TextFrame') {
//Mmmh ,some text
//recurse on the text Range
  //changeObjectPalette(obj.textRange);
changeObjectPalette(obj.textPath);
  //alert(introspect(obj));
}
if (obj.typename=='TextPath') {
  changeObjectPalette(obj.fillColor);
}
if (obj.typename=='TextRange') {
//A text range. Get all the inner character style (style pere char)and the  paragraph styles
for (m=0; m &amp;lt;obj.characterStyles.length; m++ ) {
  changeObjectPalette(obj.characterStyles&lt;a href=&quot;m&quot;&gt;m&lt;/a&gt;);
}
for (m=0; m &amp;lt;obj.paragraphStyles.length; m++ ) {
  changeObjectPalette(obj.paragraphStyles&lt;a href=&quot;m&quot;&gt;m&lt;/a&gt;);
}

}
if (obj.typename=='CharacterStyle') {
//recurse on character attributes
  changeObjectPalette(obj.characterAttributes);
}
if (obj.typename=='ParagraphStyle') {
//recurse on character attributes 
  changeObjectPalette(obj.characterAttributes);
}
if (obj.typename=='CharacterAttributes') {
//get colors

  changeObjectPalette(obj.fillColor);
  changeObjectPalette(obj.strokeColor);
}


if (obj.typename=='GradientColor') {
changeObjectPalette(obj.gradient);       
          }
if (obj.typename=='Gradient') {   
nbStops= obj.gradientStops.length;
            for (k=0; k&amp;lt;nbStops; k++) {
          changeObjectPalette(obj.gradientStops&lt;a href=&quot;k&quot;&gt;k&lt;/a&gt;);
        } 
}
if (obj.typename=='GradientStop') {
changeObjectPalette(obj.color);       
}
          
if (obj.filled == true) {
changeObjectPalette(obj.fillColor);
}
if (obj.stroked == true) {
        changeObjectPalette(obj.strokeColor);
}

if (obj.typename=='CompoundPathItem') {
for (m=0; m &amp;lt;obj.pathItems.length; m++ ) {
  changeObjectPalette(obj.pathItems&lt;a href=&quot;m&quot;&gt;m&lt;/a&gt;);
}
}

}

function introspect(obj){
property_list='';
for (prop in obj) 
  property_list += prop +&quot;\n&quot;;
return property_list;
}

function swapColorToNearest(c){
  swap = findNearColor(c);
  c.cyan = swap&lt;a href=&quot;0&quot;&gt;0&lt;/a&gt;;
  c.magenta = swap&lt;a href=&quot;1&quot;&gt;1&lt;/a&gt;;
  c.yellow = swap&lt;a href=&quot;2&quot;&gt;2&lt;/a&gt;;
  c.black = swap&lt;a href=&quot;3&quot;&gt;3&lt;/a&gt;;

}

function findNearColor(c){

for (i=0; i &amp;lt; palette.length ; i++) {
 if 
   (nearColor(c.cyan,c.magenta,c.yellow,c.black,palette&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;0&quot;&gt;0&lt;/a&gt;, palette&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;1&quot;&gt;1&lt;/a&gt;, palette&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;2&quot;&gt;2&lt;/a&gt;, palette&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;3&quot;&gt;3&lt;/a&gt;)
   ||
   nearColor(c.cyan,c.magenta,c.yellow,c.black,swapTo&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;0&quot;&gt;0&lt;/a&gt;, swapTo&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;1&quot;&gt;1&lt;/a&gt;, swapTo&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;2&quot;&gt;2&lt;/a&gt;, swapTo&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;&lt;a href=&quot;3&quot;&gt;3&lt;/a&gt;)
 )
 {
 return swapTo&lt;a href=&quot;i&quot;&gt;i&lt;/a&gt;;
 }    
}
log+='No match for C '+c.cyan+' M '+c.magenta+' Y '+c.yellow+' K '+c.black+&quot;\n&quot;;
   
     return defaultColor;
}

function e(s,r){
return (s &amp;gt;= (r-epsilon)) &amp;amp;&amp;amp; (s &amp;lt;= (r+epsilon));
}

function nearColor(cs, ms, ys, ks, cr, mr, yr, kr){
  return e(cs, cr) &amp;amp;&amp;amp; e(ms, mr) &amp;amp;&amp;amp; e(ys, yr) &amp;amp;&amp;amp; e (ks, kr);

}&lt;/pre&gt;


&lt;p&gt;To install it, drop it in the &lt;code&gt;C:\Program Files\Adobe\Illustrator CS\Paramètres prédéfinis\Scripts&lt;/code&gt; directory, it is available from the &lt;code&gt;File-&amp;gt;Scripts&lt;/code&gt; menu.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: modified the funtion &lt;code&gt;findNearColor&lt;/code&gt; to make the colors already in the destination palette not beeing swapped.&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>How is an adsense made ? How can I affect their display ?</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/05/11/73-how-is-an-adsense-made-how-can-i-affect-their-display" />
  <issued>2006-05-11T00:05:39+00:00</issued>
  <modified>2006-05-11T00:05:39+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/05/11/73-how-is-an-adsense-made-how-can-i-affect-their-display</id>
  <author><name>obi</name></author>
  <dc:subject>TreeGarden</dc:subject>
  <summary>Let's observe the beast. The usefull tools are Firefox; equiped with the webdev toolbar.
Adding addsenses in a page is inserting a call to the http://pagead2.googlesyndication.com/pagead/show_ads.js...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;Let's observe the beast. The usefull tools are Firefox; equiped with the webdev toolbar.
Adding addsenses in a page is inserting a call to the &lt;a href=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;http://pagead2.googlesyndication.com/pagead/show_ads.js&lt;/a&gt; script. This script is obfuscted, so normal humans have difficulites to understand its behaviour.
What we can see is the result of this script, executed upon the loading of the page. Select the Adsense without clicking it, right click-&amp;gt;view selected source. You should see something like that:&lt;/p&gt;



&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;&amp;lt;!--
google_ad_client = &quot;pub-8315147201128023&quot;;
...
google_color_url = &quot;54724A&quot;;
google_color_text = &quot;2F2005&quot;;
//--&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;


&lt;p&gt;This javascript snipet prepositions variables used by the show_ads.js script&lt;/p&gt;



&lt;pre&gt;&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;


&lt;p&gt;This is the call to the script acting onload.
You actually pasted these few lines in your HTML code, so it is normal to see those here.&lt;/p&gt;


&lt;pre&gt;&amp;lt;iframe name=&quot;google_ads_frame&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-8315147201128023&amp;amp;amp;dt=1147...&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; vspace=&quot;0&quot; hspace=&quot;0&quot; allowtransparency=&quot;true&quot; frameborder=&quot;0&quot; height=&quot;125&quot; scrolling=&quot;no&quot; width=&quot;125&quot;&amp;gt;&amp;lt;/iframe&amp;gt;&lt;/pre&gt;


&lt;p&gt;This iframe was inserted by the javascript and sources a page on the googlesyndication.com server. The long list of parameters are used by the server to display a targeted add.&lt;/p&gt;


&lt;p&gt;The content of an iframe does not uses the CSS from the source page. But it isaccessible via the &lt;acronym title=&quot;Document Object Model&quot;&gt;DOM&lt;/acronym&gt;: details are on  &lt;a href=&quot;http://www.quirksmode.org/js/iframe.html&quot;&gt;QuirksMode&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;The first way we can try to modify the way its displayed is playing with the iframe itself, provided you do not have other iframes on your page; e.g. to have a fixed add in the top right left add the following statements in your CSS file:&lt;/p&gt;


&lt;p&gt;iframe {
position:fixed;
top:0;
right:0;
}&lt;/p&gt;


&lt;p&gt;If you have several adds on the same page, they'll pile up, and that's bad.&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Adsenses ? Why ?</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/05/05/72-adsenses-why" />
  <issued>2006-05-05T09:40:37+00:00</issued>
  <modified>2006-05-05T09:40:37+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/05/05/72-adsenses-why</id>
  <author><name>obi</name></author>
  <dc:subject>TreeGarden</dc:subject>
  <summary>I just added adsenses to this blog. Not that I am willing to make money from it, with 6K visits a month, I highly doubt I will hit the 100$ required to receive the first check.


The reason is...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;I just added adsenses to this blog. Not that I am willing to make money from it, with 6K visits a month, I highly doubt I will hit the 100$ required to receive the first check.&lt;/p&gt;


&lt;p&gt;The reason is twofold:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In my professional life, I am an anouncer, using Adwords to reach visitors searching about DO-178B and IEC 61508 code generators. I just wanted to know how the other side of the system was working. My first impression is: &lt;q&gt;wow, how easy it is !&lt;/q&gt;&lt;/li&gt;
&lt;li&gt;I want ot experiment of what it is possible to do with Adsenses and CSS, and maybe a bit of javascript.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As a user, I am a bit disapointed, having always thought Ads are bad, I find myself clicking on adds, not for earning money (I'm sure google has the means to remove my clicks), but because the adds actually interest me. Their algorythm to find targetted Ads seems pretty good, so lets play a bit and see the results.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;NB:&lt;/strong&gt; should I ever receive a check from google, the first one will be for &lt;a href=&quot;http://regne.net&quot; hreflang=&quot;en&quot;&gt;regne.net&lt;/a&gt; which hosts me freely.&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>Cyrillic enters the DéjaVu Fonts</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/05/04/71-cyrillic-enters-the-dejavu-fonts" />
  <issued>2006-05-04T11:08:10+00:00</issued>
  <modified>2006-05-04T11:08:10+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/05/04/71-cyrillic-enters-the-dejavu-fonts</id>
  <author><name>obi</name></author>
  <dc:subject>ArtWork</dc:subject>
  <summary>...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;&lt;img src=&quot;/dotclear/images/screenies/dejaVu-cyrillic.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;</content>
</entry>
<entry xml:lang="en">
  <title>From inkscape to illustrator</title>
  <link rel="alternate" type="text/html" href="http://un.regne.net/dotclear/index.php/2006/01/25/70-from-inkscape-to-illustrator" />
  <issued>2006-01-25T14:41:51+00:00</issued>
  <modified>2006-01-25T14:41:51+00:00</modified>
  <id>http://un.regne.net/dotclear/index.php/2006/01/25/70-from-inkscape-to-illustrator</id>
  <author><name>obi</name></author>
  <dc:subject>TreeGarden</dc:subject>
  <summary>What should you avoid in inkscape to have neat illustrator imports of the svg:

Text using transparency. Use path-&gt;Object To Path on such text if really needed.
Gradients using transparency. If it...</summary>
  <content type="text/html" mode="escaped"> &lt;p&gt;What should you avoid in inkscape to have neat illustrator imports of the svg:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Text using transparency. Use &lt;code&gt;path-&amp;gt;Object To Path&lt;/code&gt; on such text if really needed.&lt;/li&gt;
&lt;li&gt;Gradients using transparency. If it is applied ont top of an uniform surface, its easy to flatten, compute the right colors with the &lt;em&gt;pick color&lt;/em&gt; tool.&lt;/li&gt;
&lt;li&gt;Images in inkscape are translated in two objects in illustrator: the image itself, which appears scaled down, and an invisble rectangle with the correct size. Resize the image to fit the invisible rectangle.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I am sure i'll find more and will udate this list to track possible solutions ...&lt;/p&gt;</content>
</entry>
</feed>