tag:blogger.com,1999:blog-7027977607827441232024-03-14T03:51:51.945+09:00Code TraceAnonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.comBlogger44125tag:blogger.com,1999:blog-702797760782744123.post-68483812407532390132010-08-21T16:36:00.000+09:002010-08-21T16:36:56.966+09:00Z-Index problem with IEI spent couple of hours to find the solution of this bug, so I just post it here hope it can help somebody else.<br />
<br />
The problem is introduced here <a href="http://www.quirksmode.org/bugreports/archives/2006/01/Explorer_z_index_bug.html">http://www.quirksmode.org/bugreports/archives/2006/01/Explorer_z_index_bug.html</a><br />
<br />
and here<br />
<a href="http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html">http://therealcrisp.xs4all.nl/meuk/IE-zindexbug.html</a><br />
<br />
Some of the solutions proposed are here:<br />
<a href="http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/">http://brenelz.com/blog/squish-the-internet-explorer-z-index-bug/</a><br />
<a href="http://systembash.com/content/css-z-index-internet-explorer/">http://systembash.com/content/css-z-index-internet-explorer/</a><br />
<br />
What really worked for me was the combination of two solution above, set position:relative to the containing divs and give each containing div higher value of z-index of the contained one.<br />
<br />
Case example :<br />
<code><br />
<div style="z-index:5; position:relative"><br /><br />
    <div style="z-index:4"><br /><br />
        <div style="z-index:3"><br /><br />
        </div><br /><br />
    </div><br /><br />
</div><br /><br />
<div style="z-index:2; position:relative"><br /><br />
    <div style="z-index:1"><br /><br />
    </div><br /><br />
</div><br />
</code><br />
<br />
For the code above, we should be able to see the div with z-index 3 on top of the divs positioned after it (z-index 2 and 1).Teguh Eko Budiartohttp://www.blogger.com/profile/09829868099199714342noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-68025330066353066012010-08-16T19:04:00.001+09:002010-08-16T19:08:23.495+09:00MySQL (No data - zero rows fetched, selected, or processed)Trying execute a sp in unit test, the tester stop because a one warning (No data - zero rows fetched, selected, or processed), the sp is rigth, but when try run return a error that we will see below.<br /><br />Ex:<br /><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">DELIMITER $$</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">DROP PROCEDURE IF EXISTS `sp_test` $$</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">CREATE PROCEDURE `sp_test`()</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">BEGIN</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> DECLARE v_employee_id INT;</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> SELECT id INTO v_employee_id</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> FROM employee</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> WHERE name = 'Ozahata';</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> SELECT CONCAT('The id is ', v_employee_id);</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">END $$</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">DELIMITER ;</span><br /><br />execute this and calling (call sp_test();) will return:<br /><span style="font-family:courier new;font-size:85%;">+-------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">| CONCAT('The id is ', v_employee_id) |</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+-------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">| NULL |</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+-------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">1 row in set (0.00 sec)</span><span style="font-size:85%;"><br /><br /></span><span style="font-family:courier new;font-size:85%;">Query OK, 0 rows affected, 1 warning (0.00 sec)</span><br /><br />See the warning: (show warnings;)<br /><span style="font-family:courier new;font-size:85%;">+---------+------+-----------------------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">| Level | Code | Message |</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+---------+------+-----------------------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">| Warning | 1329 | No data - zero rows fetched, selected, or processed |</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+---------+------+-----------------------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">1 row in set (0.00 sec)</span><br /><br />This happend because not found a information in the select and try put into a variable.<br /><br />To fix you need execute like the sp below.<br /><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">DELIMITER $$</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">DROP PROCEDURE IF EXISTS `sp_test` $$</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">CREATE PROCEDURE `sp_test`()</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">BEGIN</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> DECLARE v_employee_id INT;</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_employee_id=0;</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> SELECT id INTO v_employee_id</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> FROM employee</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> WHERE name = 'Ozahata';</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;"> SELECT CONCAT('The id is ', v_employee_id);</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">END $$</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">DELIMITER ;</span><span style="font-size:85%;"><br /></span><br />will have the result:<br /><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+-------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">| CONCAT('The id is ', v_employee_id) |</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+-------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">| The id is 0 |</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">+-------------------------------------+</span><span style="font-size:85%;"><br /></span><span style="font-family:courier new;font-size:85%;">1 row in set (0.00 sec)</span><span style="font-size:85%;"><br /><br /></span><span style="font-family:courier new;font-size:85%;">Query OK, 0 rows affected (0.00 sec)</span><br /><br />Back to work. ;)Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-1489500613260477202010-05-11T11:52:00.006+09:002010-05-11T12:03:17.818+09:00Convert query result to dictionary like json in PythonIf you wish get a result of a query but like to return each row like a dictionary {Field name: value, ...} inside a array, you can make in a single line:<br /><pre class="prettyprint lang-py">query_result = [ dict(line) for line in [ zip([ column[0] for column in cursor.description ], row) for row in cursor.fetchall() ] ]<br /></pre><br />I will try explain the line.<br /><br />The cursor.fetchall() will return the row, but we don't know the name of field, so to get this information we need request to a cursor.description to give me the fields.<br />The cursor.description have more then a name of field, so we use a column[0] to get the name of field.<br />To give a list of columns we use a for to give a sequence to me :<br /><pre class="prettyprint lang-py">[ column[0] for column in cursor.description ]<br /></pre><br />Now we need give the name for each field and a value returned in a row, for this we use a function zip, but we can't forget that each row need be in a sequence resulted a this command : <br /><pre class="prettyprint lang-py">[ zip([ column[0] for column in cursor.description ], row) for row in cursor.fetchall() ]<br /></pre><br />This will result a sequence line:<br /><pre class="prettyprint lang-py">[ [(Field, value), (Field, value), ...], [(Field, value), (Field, value), ...], ]<br /></pre><br />Finally we convert this lines to a dictionary using the function dict(). resulting the line above.<br /><br />this is a example (In this case I use the mysql connection):<br /><br /><pre class="prettyprint lang-py">try:<br /> # Load the connection<br /> connection = MySQLdb.Connection(host='host_name', user='user_name', passwd='password', db='db')<br /> cursor = connection.cursor()<br /> cursor.execute(query)<br /> query_result = [ dict(line) for line in [zip([ column[0] for column in cursor.description], row) for row in cursor.fetchall()] ]<br /> print query_result<br />except Exception, e:<br /> print "Error [%r]" % (e)<br /> sys.exit(1)<br />finally:<br /> if cursor:<br /> cursor.close()<br /></pre><br /><br /><span style="font-weight:bold;">NOTE: </span>This will not result a JSON result is only a sequence of dictionary that will be like JSON if you use a simple result (date will return like: datetime.datetime(2010, 4, 23, 14, 44, 6))Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com2tag:blogger.com,1999:blog-702797760782744123.post-34137346230068674802010-01-12T13:35:00.002+09:002010-01-12T13:40:02.706+09:00Erlang YAWS now supports WebSocketshttp://yaws.hyber.org/websockets.yaws<br />http://armstrongonsoftware.blogspot.com/2009/12/comet-is-dead-long-live-websockets.htmltakeshihttp://www.blogger.com/profile/10343074192847898126noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-18743272564071002772009-11-27T22:05:00.000+09:002009-11-27T22:05:51.776+09:00Code highlighting in BloggerI just posted an article which demonstrate code highlighting in blogger. I get the highlighting feature from here: <a href="http://code.google.com/p/google-code-prettify/">http://code.google.com/p/google-code-prettify/</a><br />
<br />
Additional Reference : <a href="http://lukabloga.blogspot.com/2008/10/to-test-new-highlighting.html">http://lukabloga.blogspot.com/2008/10/to-test-new-highlighting.html</a><br />
<br />
Hope you enjoy it.Teguh Eko Budiartohttp://www.blogger.com/profile/09829868099199714342noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-42387822623112281332009-11-27T22:02:00.000+09:002009-11-27T22:02:14.896+09:00SVN::Notify::HTML::ColorDiff modificationWe are using SVN to save our works and hooking a post-commit script which one of the function is to send e-mail regarding the changes that had just made. We are using the wonderful <a href="http://search.cpan.org/dist/SVN-Notify/">SVN::Notify</a>, a perl application to do the job. It already have the functionality to produce a beautifully diff colored HTML email using the SVN::Notify::HTML::ColorDiff module as the handler.<br />
<br />
However, since we are using web based Google Apps Gmail interface as our email client, the HTML was not rendered nicely because the CSS is not applied inside the interface. We need to change the CSS to the inline style. And then I found a patch done <a href="http://www.jaim.at/2008/09/06/jack-moffitt-power-up-your-commit-e-mails/">here</a>. Because it is a direct hack, I want it to be more generic that the user can choose the inline style or not, then I modified a little bit more. I added optional parameter --css-inline to generate CSS style directly inline with the HTML tags. I had submitted the changes to the original author hoping he will include this option in the next revision. Just in case, I also put it here. <br />
<br />
Snippets to add the additional parameter:<br />
<pre class="prettyprint lang-pm">package SVN::Notify::HTML;
# $Id: HTML.pm 4617 2009-03-19 17:04:53Z david $
use strict;
use HTML::Entities;
use SVN::Notify ();
$SVN::Notify::HTML::VERSION = '2.79';
@SVN::Notify::HTML::ISA = qw(SVN::Notify);
__PACKAGE__->register_attributes(
linkize => 'linkize',
css_url => 'css-url=s',
wrap_log => 'wrap-log',
css_inline => 'css-inline',
);
</pre><br />
You may download the full source below:<br />
<ul><li><a href="http://sites.google.com/site/teguheko/home/files-place-holder/HTML.pm?attredirects=0&d=1">HTML.pm</a> </li>
<li><a href="http://sites.google.com/site/teguheko/home/files-place-holder/ColorDiff.pm?attredirects=0&d=1">ColorDiff.pm</a><br />
</li>
</ul>Teguh Eko Budiartohttp://www.blogger.com/profile/09829868099199714342noreply@blogger.com1tag:blogger.com,1999:blog-702797760782744123.post-23592260687338399582009-11-13T10:06:00.001+09:002009-11-13T10:07:52.280+09:00[Linux] Extract files from command-lineElixir for the lazy...<br /><br /><a href="http://lightlinux.blogspot.com/2009/11/uncompress-files-from-cli.html">http://lightlinux.blogspot.com/2009/11/uncompress-files-from-cli.html<br /></a>Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-6432598110207111392009-10-17T11:01:00.004+09:002009-10-17T11:06:57.000+09:00Screen and Vim (and Skype) for Remote Pair ProgrammingI don't know if everybody follows VoiceTechnology Google Group:<br /><br />http://www.linux.com/archive/feature/56443<br /><br /><br />Original Post:<br /><br />2009/10/17 Fabrício <span dir="ltr"><ffc.fabricio@gmail.com></span><br /><div style="margin: 0px 2px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"> </div> <div style="margin: 0px 1px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"> </div> <div style="padding: 4px; background-color: rgb(195, 217, 255);"><h3 style="margin: 0px 3px; font-family: sans-serif;">Sent to you by Fabrício via Google Reader:</h3></div> <div style="margin: 0px 1px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"> </div> <div style="margin: 0px 2px; padding-top: 1px; background-color: rgb(195, 217, 255); font-size: 1px ! important; line-height: 0px ! important;"> </div> <div style="margin: 0px 10px; overflow: auto; font-family: sans-serif; width: 100%;"><h2 style="margin: 0.25em 0pt 0pt;"><div><a href="http://gustavodutra.com/post/276/usando-screen-e-vim-para-pair-programming-remoto/" target="_blank">Usando Screen e Vim para Pair Programming remoto</a></div></h2> <div style="margin-bottom: 0.5em;">via <a href="http://gustavodutra.com/" target="_blank">Gustavo Dutra</a> by Gustavo Dutra on 10/10/09</div><br /><p>Bem, é notável o crescimento das <b>metodologias ágeis de desenvolvimento de software</b>. Uma das práticas que me agrada muito, é a programação em pares (<i>pair programming</i>). É bem perceptível, a um longo prazo, a diferença que faz essa prática. Navegando pela internet, como um marujo sem rumo, encontrei um post falando sobre <i>Remote Pair Programming</i>. Parece meio estranho, porque o XP (<a rel="nofollow" href="http://www.extremeprogramming.org/" target="_blank">eXtreme Programming</a>) faz alusão a uma dupla programar em um único computador, com um único teclado e um único mouse.<br /><span></span><br />Então, vamos tentar simular este ambiente utilizando 4 ferramentas simples:</p> <ul><li>screen</li><li>ssh</li><li>vim</li><li>skype</li></ul> <p>Destas, só o <i>skype</i> não é <i>open-source</i>. Mas é interessante manter uma conversa verbal, pois conversas escritas podem desviar o foco da programação, que é bem mais rápida e precisa do que a escrita, que pode deixar brechas para má interpretações. A conversa verbal consegue interromper o programador ao mesmo tempo em que escreve, corrigindo-o ou questionando-o.</p> <p>Conectados no skype, basta decidir em qual máquina será o desenvolvimento. Esta, por sua vez, terá que ter um servidor <b>ssh</b>. Ela será o <i>host</i> da programação. Será necessário, também, nesta máquina, ter instalado o <i>screen</i>, que é um programa que possibilita criar ’sessões’ no terminal.</p> <h2>Host</h2> <div><div><pre style="font-family: monospace;"><span style="color: rgb(194, 12, 185); font-weight: bold;">screen</span> <span style="color: rgb(102, 0, 51);">-S</span> PairProgramming</pre></div></div> <p>Parece que nada mudou, mas você está numa sessão do <b>screen</b> chamada <i>PairProgramming</i>.</p> <p>Precione CTRL+a e digite:</p> <div><div><pre style="font-family: monospace;">:multiuser on</pre></div></div> <p>Pressione CTRL+a novamente e digite:</p> <div><div><pre style="font-family: monospace;">:acladd usuarioclient</pre></div></div> <p>Tudo que você ver nesta sessão, será visto pelo outro usuário (<i>usuarioclient</i>) que se conectará nela.</p> <p>Então, abra o <b>vim</b>, pois será necessário um edito de textos de verdade <img src="http://mail.google.com/mail/?ui=2&view=bsp&ver=1qygpcgurkovy" alt=":D" /> , e se divirta:</p> <div><div><pre style="font-family: monospace;"><span style="color: rgb(194, 12, 185); font-weight: bold;">vim</span> <span style="color: rgb(0, 0, 0); font-weight: bold;">/</span>caminho<span style="color: rgb(0, 0, 0); font-weight: bold;">/</span>arquivo</pre></div></div> <h2>Client</h2> <div><div><pre style="font-family: monospace;"><span style="color: rgb(194, 12, 185); font-weight: bold;">ssh</span> usuarioclient<span style="color: rgb(0, 0, 0); font-weight: bold;">@</span>host<br /><span style="color: rgb(194, 12, 185); font-weight: bold;">screen</span> <span style="color: rgb(102, 0, 51);">-x</span> usuariohost<span style="color: rgb(0, 0, 0); font-weight: bold;">/</span>PairProgramming</pre></div></div> <p>Pronto! Agora você está acessando a mesma seção! Tudo que o <i>usuáriohost</i> fizer, o <i>usuárioclient</i> enxergará e <b>vice-versa</b>.</p> <p>Agora, basta descutir a tarefa via Skype e programar. As atualizações são em tempo real, ou seja, aparecem ao mesmo tempo que são escritos, digo… depende da conexão, mas não é um grande problema.</p> <p>Caso seja necessário que o usuarioclient não possa modificar o código, apenas assitir e dar pitacos, o usuáriohost deve pressionar CTRL+A e digitar:</p> <pre>:aclchg usuarioclient -w #</pre> <p>Eu ainda vou programar assim, depois digo a experiência.</p> <h2>Referências</h2> <ul><li><a rel="nofollow" href="http://www.linux.com/archive/feature/56443" target="_blank">Linux.com</a></li><li><a rel="nofollow" href="http://haruska.com/2009/09/29/remote-pair-programming/" target="_blank">Jason Haruska</a></li></ul></div>takeshihttp://www.blogger.com/profile/10343074192847898126noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-59446662477562990992009-09-24T16:14:00.003+09:002009-09-24T16:18:19.630+09:00Six smart and cost-effective ways to train employeesI received this article, and found interesting, not only for management, but for any employee in general. The ideas of discussion forums, blogging, and volunteering (among others) seem nice way to improve yourself, in many ways.<br /><br />Worth reading: <a href="http://www.itbusiness.ca/it/client/en/home/News.asp?id=54139"><span style="font-size:100%;">Six smart and cost-effective ways to train employees</span></a><br /><br />(sent to me by Lin)Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-52704181854165756752009-09-02T18:14:00.002+09:002009-09-02T19:21:29.310+09:00Using google chat translator bots in groupWell, this is not related to programming but our fellow Bruno told me to put here and I can finally be out of the list of persons that never put something here!<br /><br />In google chat, there are "bots" that you can invite, like below:<br /><br /><div><a href="mailto:en2ja@bot.talk.google.com" target="_blank">en2ja@bot.talk.google.com</a> : english to japanese<br /></div><div><a href="mailto:ja2en@bot.talk.google.com" target="_blank">ja2en@bot.talk.google.com</a> :<br /></div> <div><a href="mailto:en2pt@bot.talk.google.com" target="_blank">en2pt@bot.talk.google.com</a> : english to portuguese<br /></div><div><a href="mailto:pt2en@bot.talk.google.com" target="_blank">pt2en@bot.talk.google.com</a> :<br /></div><br />The interesting trick is that you can invite them in a group chat, and<br />making them work as a real time translators.<br /><br />This is very useful for example when 2 persons of different native languages<br />need to chat using english.<br />If a japanese and a brazilian need to chat, you can call en2ja@ and ja2en@ and<br />form a group chat of 4. The japanese guy can write in japanese and the brazilian guy can<br />write in english. <br />Of course, the translation is not perfect, but it helps.Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-702797760782744123.post-65179469267914323722009-08-31T16:29:00.002+09:002009-08-31T16:31:51.313+09:00Windows x Mac x LinuxI am recently watching all episodes of South Park, an attempt to get why people like it so much (and why it is always among the top 10 most viewed TV series)... and I found this while youtubing some linux stuff... enjoy!<br /><br /><object height="344" width="425"><param name="movie" value="http://www.youtube.com/v/0-22EpQOm8c&hl=en&fs=1&"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/0-22EpQOm8c&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="344" width="425"></embed></object>Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-61775093457064861032009-08-19T20:14:00.004+09:002009-08-19T20:18:53.559+09:00TDD -> BDDFor those familiar with TDD (Test Driven Development), I was reading an article on Ruby on Rails, and found the BDD for the first time (Behaviour Driven Development). For people interested on development management, a must...<br /><br />References:<br /><ul><li>TDD:<br /></li><li><a href="http://www.testdriven.com">http://www.testdriven.com</a></li><li><a href="http://en.wikipedia.org/wiki/Test-driven_development">http://en.wikipedia.org/wiki/Test-driven_development</a></li></ul><ul><li>BDD</li><li><a href="http://behaviour-driven.org/">http://behaviour-driven.org/</a></li><li><a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development">http://en.wikipedia.org/wiki/Behavior_Driven_Development</a><br /></li></ul>Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-15388219231037947692009-08-10T22:19:00.003+09:002009-08-10T22:54:04.216+09:00vbashAlthough not very spread (try Googling it), it holds the very principle of the virus algorithm technique. The most simple virus code I have ever seen...<br /><br />(BASH scripting language)<br /><br /><span style="font-style: italic;">Appender</span><br /><br /><span style="font-family:monospace;"><span style="color: rgb(165, 42, 42);"><b> for </b></span>i <span style="color: rgb(165, 42, 42);"><b>in</b></span> *.sh; <span style="color: rgb(165, 42, 42);"><b>do</b></span> <span style="color: rgb(0, 0, 255);"></span><br /> <span style="color: rgb(165, 42, 42);"><b>if </b></span><span style="color: rgb(165, 42, 42);"><b>test</b></span> ”./<span style="color: rgb(160, 32, 240);">$i</span>” <span style="color: rgb(165, 42, 42);"><b>!=</b></span> ”<span style="color: rgb(160, 32, 240);">$0</span>”<span style="color: rgb(165, 42, 42);"><b>;</b></span> <span style="color: rgb(165, 42, 42);"><b>then</b></span><br /> tail <span style="color: rgb(165, 42, 42);"><b>-n</b></span> <span style="color: rgb(255, 0, 255);">5</span> <span style="color: rgb(160, 32, 240);">$0</span> <span style="color: rgb(165, 42, 42);"><b>|</b></span> cat <span style="color: rgb(165, 42, 42);"><b>>></b></span> <span style="color: rgb(160, 32, 240);">$i</span> <span style="color: rgb(165, 42, 42);"><b>;</b></span><br /> <span style="color: rgb(165, 42, 42);"><b>fi</b></span><br /> <span style="color: rgb(165, 42, 42);"><b>done</b></span><br /></span><br /><br /><span style="font-style: italic;">Overwritter</span><br /><br /><span style="font-family:monospace;"><span style="color:#a52a2a;"><b>for </b></span>file <span style="color:#a52a2a;"><b>in</b></span> *; <span style="color:#a52a2a;"><b>do</b></span><br /> cp <span style="color:#a020f0;">$0</span> <span style="color:#a020f0;">$file</span><br /><span style="color:#a52a2a;"><b>done</b></span></span><br /><br />Pretty cool!Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-26770039638895692722009-08-07T10:50:00.002+09:002009-08-07T11:25:34.347+09:00<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ynshmyK2CPI/SnuKawmgG4I/AAAAAAAANf0/M0uIz9Nyxrc/s1600-h/legowars.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 128px;" src="http://1.bp.blogspot.com/_ynshmyK2CPI/SnuKawmgG4I/AAAAAAAANf0/M0uIz9Nyxrc/s200/legowars.JPG" alt="" id="BLOGGER_PHOTO_ID_5367035573269699458" border="0" /></a>As we are talking about future, how about look into the new technologies appearing for UI?<br /><br />This blog posted a very interesting list of futuristics interfaces:<br /><br /><a href="http://www.technologyreview.com/blog/editors/23940/">http://www.technologyreview.com/blog/editors/23940/</a><br /><br />More some years, and the Jetsons will be completely outdated, hehehe!Kajahttp://www.blogger.com/profile/06939483926380757813noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-21360175182831795262009-08-07T09:36:00.003+09:002009-08-07T09:47:07.650+09:00Microsoft Office Labs Vision 2019<div><span class="Apple-style-span" style="font-family: arial; font-size: 13px; ">A great video from Microsoft about a probable future in 10 years.</span></div><div><br /></div><div><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/RvtxupQmRSA&rel=0&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&feature=player_embedded&fs=1"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/RvtxupQmRSA&rel=0&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"></embed></object></div><div><span class="Apple-style-span" style="font-family:arial;font-size:100%;"><span class="Apple-style-span" style="font-size: 13px;"><br /></span></span></div><div><span class="Apple-style-span" style="font-family: arial; font-size: 13px; ">From: <a href="http://www.ovelho.com/content/microsoft-e-o-futuro">O Velho</a>, <a href="http://www.officelabs.com/projects/futurevisionmontage/Pages/default.aspx">OfficeLabs</a>.</span></div><div> </div>Cristian Yamashitahttp://www.blogger.com/profile/05307113128921817946noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-5889374147777457452009-08-05T15:14:00.002+09:002009-08-05T15:32:46.000+09:00Parkinson's LawI have come across the <a href="http://en.wikipedia.org/wiki/Parkinson%27s_Law">Parkinson's Law</a> before, which was a complex mathematical expression used in economical and financial sciences, to express the expansion of bureaucracy over time (got this from Wikipedia, of course I did not remember it, lol).<br /><br />In simple terms (again, from Wikipedia), the law says that:<br /><i><br /><blockquote>Work expands so as to fill the time available for its completion</blockquote></i><br />Reading a book later, called <a href="http://www.fourhourworkweek.com/">The 4-hour Work Week</a>, I found a very cool explanation about it by the author, that matches perfectly with my work philosophy, trying always to push myself to motivate and speed up productivity.<br /><br /><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 48px; height: 48px;" src="http://3.bp.blogspot.com/_A7V9t45pMLU/SfRfyCUoTVI/AAAAAAAARoM/2dGdQyaIlNQ/s320/quote-left.jpg" border="0" /><br /><br /><span style="font-style: italic;">Parkinson's Law dictates that a task will swell in (perceived) importance and complexity in relation to the time allotted for its completion. It is the magic of the <span style="font-weight: bold;">imminent deadline</span>. If I give you 24 hours to complete a project, the time pressure forces you to focus on execution, and you have no choice but to do only the bare essentials. If I give you a week to complete the same task, it's six days of making a mountain out of a molehill...</span><br /><br /><img style="margin: 0pt 10px 10px 0pt; float: right; cursor: pointer; width: 48px; height: 48px;" src="http://4.bp.blogspot.com/_A7V9t45pMLU/SfRgEkZzD7I/AAAAAAAARoY/x7cE4iHqndY/s1600/quote-right.jpg" border="0" />Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-2844458456001735252009-07-13T19:27:00.002+09:002009-07-13T19:42:29.803+09:00LG Launching App Store In South KoreaI think now we will have a good fight with the apple store, because to create a apple app, the programmer need the apple machine too. And the LG run with Java.<br />Maybe the Java can run a little more slow then Apple, but of course we will have more developers finding the best way to use all the features of the cellphone.<br /><br />Check more in <a href="http://www.akihabaranews.com/en/news_details.php?id=18476">Akirabaranews</a>.Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-46625758237906428452009-07-13T18:19:00.006+09:002009-07-13T18:44:29.588+09:00Compare the languages.<div><div>Which is the best programing language?</div><div>Why not compare that?</div><div><br /></div><div>This is the <a href="http://99-bottles-of-beer.net/" target="_blank">http://99-bottles-of-beer.net/</a><wbr> idea. There are the same program in more then 1200 programing languages, a simple program that repeat phrases increasing a number to compose the music "<a href="http://99-bottles-of-beer.net/lyrics.html">99 Bottles of Beer</a>".</div><br /></div>Cristian Yamashitahttp://www.blogger.com/profile/05307113128921817946noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-8535939841618017862009-07-06T11:35:00.003+09:002009-07-06T12:04:09.872+09:00Gaikai - Streaming WorldsSome time ago, I talk about a <a href="http://www.engadget.com/2009/03/25/video-onlive-streaming-game-demonstrated/">"OnLive gaming demostrated live"</a>, now another company enter to compete, called: <a href="http://www.gaikai.com/streaming-worlds/">Gaikai</a><br /><br /><center><object height="300" width="500"><param name="allowfullscreen" value="true"><param name="allowscriptaccess" value="always"><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5404358&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1"><embed src="http://vimeo.com/moogaloop.swf?clip_id=5404358&server=vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=&fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" height="300" width="500"></embed></object></center><p></p><br /><br />And I still talking: imagine in a future you don't need computer (or a powerful computer) in home or work and make easy create a war room.Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com1tag:blogger.com,1999:blog-702797760782744123.post-33862725839921115542009-06-22T09:42:00.004+09:002009-07-03T11:34:18.048+09:00Open source versus commercial software<div>How do you avoid paying for a Final Cut or Visio license and support the open source community all at once? Find a free open source alternative to expensive commercial software at <a href="http://www.osalt.com/">Osalt.com</a>.</div><div><br /></div><div><a href="http://www.osalt.com/">Osalt.com</a> is a guide to open source software. Hundreds of open source products are systematically listed in categories ranging from business to development, education and databases. Each product description contains pros and cons compared to similar commercial software as well as user ratings.</div><div><br /></div><div>From: <a href="http://lifehacker.com/262828/find-free-alternatives-to-commercial-software-at-osaltcom">Lifehacker</a></div>Cristian Yamashitahttp://www.blogger.com/profile/05307113128921817946noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-31712652316719414682009-06-18T22:00:00.005+09:002009-06-18T22:06:08.130+09:00How technology changed us<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__FL0BulonVg/Sjo7bw8GXtI/AAAAAAAAA_A/cVLCDkW3dOE/s1600-h/imagestechnology-20changed-20us.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 222px;" src="http://2.bp.blogspot.com/__FL0BulonVg/Sjo7bw8GXtI/AAAAAAAAA_A/cVLCDkW3dOE/s400/imagestechnology-20changed-20us.jpg" alt="" id="BLOGGER_PHOTO_ID_5348652855635369682" border="0" /></a><br />From: <a href="http://bitsandpieces.us/2009/06/09/how-technology-changed-us/">Bits & Pieces</a>Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-82572908565298336532009-06-18T09:36:00.002+09:002009-06-18T09:40:15.348+09:00How not to use the PowerPointYou try make a presentation to a boring meeting, you need follow the advice below. hehehe<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/cagxPlVqrtM&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&feature=player_embedded&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/cagxPlVqrtM&color1=0xb1b1b1&color2=0xcfcfcf&hl=en&feature=player_embedded&fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="344"></embed></object>Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-30888006105862870072009-06-04T10:14:00.003+09:002009-06-04T10:21:52.453+09:00Google Spreadsheets getting closer every day...Some of the killer features for <a href="http://office.microsoft.com/excel">Microsoft Excel</a>, no doubt, is the capability of more complex scripting (VB), querying and pivoting (there are the ones who say this is the Microsoft's masterpiece). <a href="http://docs.google.com">Google Docs</a> is trying to get closer to this, by launching the Scripts service, which allows you to integrate your own functions into Spreadsheets, for instance.<br /><br />Interesting...<br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/7ux-IexZFec&hl=en&fs=1&"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/7ux-IexZFec&hl=en&fs=1&" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Anonymoushttp://www.blogger.com/profile/13127775982897639612noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-78567131495477999782009-05-26T18:10:00.004+09:002009-05-26T18:18:53.600+09:00Agressive advertising!!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_ynshmyK2CPI/ShuzD5_UYDI/AAAAAAAAKfI/8Cyssbr0buc/s1600-h/balmer.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 169px;" src="http://1.bp.blogspot.com/_ynshmyK2CPI/ShuzD5_UYDI/AAAAAAAAKfI/8Cyssbr0buc/s200/balmer.JPG" alt="" id="BLOGGER_PHOTO_ID_5340058662865231922" border="0" /></a><br />I was reading a blog, and someone post this video about a CM advertising windows 1.0. Is this real? I couldn't believe when I saw it.<br />Only $99!! LOL!! It looks like TV shopping!!<br />Check it with your very own eyes:<br /><br /><br /><br /><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/tGvHNNOLnCk&hl=ja&fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed src="http://www.youtube.com/v/tGvHNNOLnCk&hl=ja&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>Kajahttp://www.blogger.com/profile/06939483926380757813noreply@blogger.com0tag:blogger.com,1999:blog-702797760782744123.post-34775066964547046342009-05-08T17:46:00.018+09:002009-05-08T21:56:08.612+09:00Double Windows, Same User Path<div style="text-align: justify;">I usually install demos games on my computer for testing, I studied to a day may enter in the programming game area, while this day don't come, I still working with a basic programming.<br /></div><div style="text-align: justify;" id="result_box" dir="ltr"><div style="text-align: justify;"><br />When you install a lot of stuff in the windows this became a little slow (Really SLOW) and what is the better think to do? Format and install from zero.<br /><br />BUT the windows have limitations on the activation key (Like I buy a car and when I need change some pieces, I need get permission of authorized to do something with already is ours), I had a lot of disappointment about windows, but i need to see the new games enter in the market and programming, for this reason (activation key) I found another way to stay with a original windows: Make a image.<br /></div><br />Here i have a problem. When I recover the image, all my settings is lost.<br /><br />So I decide make one partition to games and other to programming, but have other problem. I have program who like to use in both parts, so more one partition to put my stuff.<br /><br />With the release of Windows 7 RC I decided check and make this tutorial for the people who like continue working with your computer while having time to leisure.<br /><br />The first step is create a partition. You can user the <a href="http://www.symantec.com/norton/partitionmagic">Partition Magic</a> or other freeware. You can check <a href="http://www.thefreecountry.com/utilities/partitioneditors.shtml">The Free Country</a>. I not teach this part because I already have have a two partition and just resize one of. My HD is 320GB divided in order (70GB, 180GB, 70GB) all primary, formatted with NTFS. This is important when you will change the active partition.<br /><br />Make sure you set the 3th partition to install the windows. After install the windows when you insert a name of user, put anyone, because after we will discard (Don't install any program. Is this part we start the settings).<br /><br />To change the register I use the freeware program, is very fast to make the changes, so if you like you can download the <a href="http://www.resplendence.com/registrar.htm">Registrar Registry Manager</a>. After all make a backup of register with this program (File->Backup and Restore) if you make some mistake, you can restore the original file.<br /><br />Make a look if the windows make this settings in the HD:<br />- Administrative Tools->Computer Management<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__FL0BulonVg/SgQUG7uu8CI/AAAAAAAAA70/uPj6kVe1518/s1600-h/Partition.JPG"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px; height: 73px;" src="http://4.bp.blogspot.com/__FL0BulonVg/SgQUG7uu8CI/AAAAAAAAA70/uPj6kVe1518/s400/Partition.JPG" alt="" id="BLOGGER_PHOTO_ID_5333409968058986530" border="0" /></a><br /></div><br /><br /><br /><br />Is very important the common data stay in the middle and the drive name with E:. If is not, in the same program you can change: click with right button in the drive and select "Change drive letter and paths ...".<br /><span style="font-weight: bold;"><br />Starting<br /></span><span><br /></span><span>I d</span><span>ecide create the users path in the </span>E:\Data\Users\ because all the information in the "Data" directory is used to put document, settings, etc.<br /><br />In the <span style="font-style: italic;">Windows Explorer:</span><br /><br />Make a copy of "Default" and "Public" directory in "C:\Users\" to "E:\Data\Users\"<br /><br />In the <span style="font-style: italic;">Registrar Registry Manager</span>:<br /><br />Click in Search->Search registry (Ctrl+F). In "What to look for" Leave only "Data" checked<br />Search to a "\Public" text and the result will come the following information below:<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__FL0BulonVg/SgQaRrJYN8I/AAAAAAAAA8U/uXJOrOxPY2c/s1600-h/SearchPublicFolder.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 550px; height: 226px;" src="http://1.bp.blogspot.com/__FL0BulonVg/SgQaRrJYN8I/AAAAAAAAA8U/uXJOrOxPY2c/s400/SearchPublicFolder.JPG" alt="" id="BLOGGER_PHOTO_ID_5333416749655668674" border="0" /></a><span style="font-size:85%;">Search screen</span><br /></div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__FL0BulonVg/SgQXo4E1rkI/AAAAAAAAA78/uKTmNL_6u1A/s1600-h/PublicBefore.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 185px; height: 279px;" src="http://3.bp.blogspot.com/__FL0BulonVg/SgQXo4E1rkI/AAAAAAAAA78/uKTmNL_6u1A/s400/PublicBefore.JPG" alt="" id="BLOGGER_PHOTO_ID_5333413849728396866" border="0" /></a><span style="font-size:85%;">Settings</span><br /></div><br /><div style="text-align: justify;"><publicbefore></publicbefore><publicbefore> Change the "%SystemDrive%\Users\Public" value to the </publicbefore>"E:\Data\Users\Public"<publicbefore> (Select the line, Right Button->Replace).</publicbefore><br /><publicbefore><br />Make a new seach with "C:\Users\Public", select all (Ctrl+A), Right Button->Replace.</publicbefore><br /><publicbefore>The result will be as shown below</publicbefore><br /><publicbefore></publicbefore></div><publicbefore><br /></publicbefore><div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__FL0BulonVg/SgQX9a90_7I/AAAAAAAAA8E/jpxq9FXpdAk/s1600-h/PublicAfter.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 224px; height: 287px;" src="http://4.bp.blogspot.com/__FL0BulonVg/SgQX9a90_7I/AAAAAAAAA8E/jpxq9FXpdAk/s400/PublicAfter.JPG" alt="" id="BLOGGER_PHOTO_ID_5333414202691616690" border="0" /></a><publicbefore><publicafter>The default comes with more information that we need, then do a search with "C:\Users\Default" then "%SystemDrive%\Users\Default" and make the replacement.</publicafter></publicbefore><br /><publicbefore><publicafter>The end result will be something like:</publicafter></publicbefore><br /><publicbefore><publicafter></publicafter></publicbefore></div><publicbefore><publicafter><defaultandpublicreplace><br /></defaultandpublicreplace></publicafter></publicbefore><div style="text-align: justify;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__FL0BulonVg/SgQYV_kXgRI/AAAAAAAAA8M/r4dfZ9gUOm4/s1600-h/DefaultAndPublicReplace.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 231px; height: 350px;" src="http://1.bp.blogspot.com/__FL0BulonVg/SgQYV_kXgRI/AAAAAAAAA8M/r4dfZ9gUOm4/s400/DefaultAndPublicReplace.JPG" alt="" id="BLOGGER_PHOTO_ID_5333414624833798418" border="0" /></a><publicbefore><publicafter><defaultandpublicreplace>In this part you must be careful to not replace the current User Information (we will do this later, because we're using it at the moment)</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />Change to the new directory:</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace>- "%SystemDrive%\Users"</defaultandpublicreplace></publicafter></publicbefore> to "E:\Data\Users\"<br /><publicbefore><publicafter><defaultandpublicreplace>- "C:\Users\*\" to "E:\Data\Users\*\"</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace>- "C:\Users" and "C:\Users\" (With nothing after)</defaultandpublicreplace></publicafter></publicbefore> to "E:\Data\Users" and "E:\Data\Users\"<br /><publicbefore><publicafter><defaultandpublicreplace><br />Now we can create a new account with administrator that will use to login in the new directory.</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />Restart the windows and select the new account (Don't use logoff).</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />Wait the windows create a new profile and check the directory if the user already created in the new directory.</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />Now you can copy the old user to the new directory</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />Enter again in the "<span style="font-style: italic;">Registrar Registry Manager</span>" and change the others "C:\Users\" directory to </defaultandpublicreplace></publicafter></publicbefore>"E:\Data\Users\"<publicbefore><publicafter><defaultandpublicreplace>.</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />Restart again the windows and enter the older user.</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />This time you can change all the "C:\Users" to a new directory</defaultandpublicreplace></publicafter></publicbefore>.<br /><publicbefore><publicafter><defaultandpublicreplace><br />Restart again the windows and select any user you like.</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace><br />I advice delete the old User, because as you made a copy of the original with the new user, the new user become owner of the file, so if you want to keep the old User, you need make this changes. (Hint: when the file was copied, the read-only attribute was also copied with the new user as a owner, so when you try use some features like download, will can't save).</defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace></defaultandpublicreplace></publicafter></publicbefore><br /><publicbefore><publicafter><defaultandpublicreplace></defaultandpublicreplace></publicafter></publicbefore>Now we can install all the programs we wanted use in the two partitions and like still with the same information (Firefox "will see the same settings and bookmark", Adobe Reader, Flash, etc.). Don't forget make the windows update. ;)<br /><br />With all basic installation, now we create the image (I will use the <a href="http://www.symantec.com/norton/ghost">Norton Ghost</a> or a interesting program called <a href="http://www.hiren.info/pages/bootcd">Hiren's</a>, which contains a excellent programs for the computer configuration).<br /><br />My first experience with Norton I lost all my data because I didn't know how to make the image, for this reason I took photos step by step to follow.<br /><br /><div style="text-align: left; font-weight: bold;" id="result_box" dir="ltr">Creating the image</div><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__FL0BulonVg/SgQhU1A2WfI/AAAAAAAAA8c/TPt0oagYU4E/s1600-h/DSCN1298.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 300px; height: 145px;" src="http://4.bp.blogspot.com/__FL0BulonVg/SgQhU1A2WfI/AAAAAAAAA8c/TPt0oagYU4E/s400/DSCN1298.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424500425251314" border="0" /></a>In the norton: Local->Partition->To Image<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__FL0BulonVg/SgQhVAmQUYI/AAAAAAAAA8k/B74ZKscLawo/s1600-h/DSCN1299.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 71px;" src="http://3.bp.blogspot.com/__FL0BulonVg/SgQhVAmQUYI/AAAAAAAAA8k/B74ZKscLawo/s400/DSCN1299.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424503534932354" border="0" /></a>Select the HD (I used a external HD to boot, for this reason show two equals HD's)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__FL0BulonVg/SgQjzhuK30I/AAAAAAAAA98/ULtV2hQ-Kuw/s1600-h/DSCN1300.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 92px;" src="http://3.bp.blogspot.com/__FL0BulonVg/SgQjzhuK30I/AAAAAAAAA98/ULtV2hQ-Kuw/s400/DSCN1300.JPG" alt="" id="BLOGGER_PHOTO_ID_5333427226845830978" border="0" /></a>Select the 3th partition (Assuming you installed the windows and set in the third partition).<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__FL0BulonVg/SgQhVT1YSYI/AAAAAAAAA80/Xc8L17CxNPM/s1600-h/DSCN1301.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 381px; height: 285px;" src="http://4.bp.blogspot.com/__FL0BulonVg/SgQhVT1YSYI/AAAAAAAAA80/Xc8L17CxNPM/s400/DSCN1301.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424508698642818" border="0" /></a>Select where you put the image (I choice the 2.2 is means drive 2, partition 2 - because the drive 1 is my boot HD and the partition 2 is my data storage)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__FL0BulonVg/SgQhVuLQ2-I/AAAAAAAAA88/bT83VVZVKgg/s1600-h/DSCN1302.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 356px; height: 113px;" src="http://1.bp.blogspot.com/__FL0BulonVg/SgQhVuLQ2-I/AAAAAAAAA88/bT83VVZVKgg/s400/DSCN1302.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424515769752546" border="0" /></a>Choose the compression (For me is Fast)<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__FL0BulonVg/SgQhe7bhcqI/AAAAAAAAA9E/ryZdOFXjUP8/s1600-h/DSCN1303.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 321px; height: 184px;" src="http://3.bp.blogspot.com/__FL0BulonVg/SgQhe7bhcqI/AAAAAAAAA9E/ryZdOFXjUP8/s400/DSCN1303.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424673946432162" border="0" /></a>Check the information below the message and you are sure that this right, click in <span style="font-style: italic;">Yes</span>.<br /><br /><div style="text-align: left;">When finish, we can put the same image to the other drive:<br /></div><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/__FL0BulonVg/SgQhfMtvnuI/AAAAAAAAA9M/5yAjnZ99NwQ/s1600-h/DSCN1305.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 297px; height: 131px;" src="http://2.bp.blogspot.com/__FL0BulonVg/SgQhfMtvnuI/AAAAAAAAA9M/5yAjnZ99NwQ/s400/DSCN1305.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424678586261218" border="0" /></a>In the norton: Local->Partition->From Image<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__FL0BulonVg/SgQhfATwIII/AAAAAAAAA9U/o7ZsBF46e1g/s1600-h/DSCN1306.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 381px; height: 250px;" src="http://3.bp.blogspot.com/__FL0BulonVg/SgQhfATwIII/AAAAAAAAA9U/o7ZsBF46e1g/s400/DSCN1306.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424675256017026" border="0" /></a>Find the image<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__FL0BulonVg/SgQhfVCF9VI/AAAAAAAAA9c/W4fZE0BObRw/s1600-h/DSCN1307.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 113px;" src="http://1.bp.blogspot.com/__FL0BulonVg/SgQhfVCF9VI/AAAAAAAAA9c/W4fZE0BObRw/s400/DSCN1307.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424680819094866" border="0" /></a>After you select the file will show this message, because in the same file can have many partitions, but we created only one. So select this one and press <span style="font-style: italic;">OK</span>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/__FL0BulonVg/SgQhfc1djQI/AAAAAAAAA9k/g3XlP4OGQOM/s1600-h/DSCN1308.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 107px;" src="http://1.bp.blogspot.com/__FL0BulonVg/SgQhfc1djQI/AAAAAAAAA9k/g3XlP4OGQOM/s400/DSCN1308.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424682913598722" border="0" /></a>Again, my HD boot, so I'm selected the drive 2.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/__FL0BulonVg/SgQhj0ABr_I/AAAAAAAAA9s/Yg6esG3Y7fc/s1600-h/DSCN1309.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 88px;" src="http://3.bp.blogspot.com/__FL0BulonVg/SgQhj0ABr_I/AAAAAAAAA9s/Yg6esG3Y7fc/s400/DSCN1309.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424757851402226" border="0" /></a>I created the image from the part 3, now i will insert the image in the part 1.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/__FL0BulonVg/SgQhkAZpOdI/AAAAAAAAA90/qQdb7S0g3U0/s1600-h/DSCN1310.JPG"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 200px;" src="http://4.bp.blogspot.com/__FL0BulonVg/SgQhkAZpOdI/AAAAAAAAA90/qQdb7S0g3U0/s400/DSCN1310.JPG" alt="" id="BLOGGER_PHOTO_ID_5333424761180076498" border="0" /></a>Check the information below the message and you are sure that this right, click in <span style="font-style: italic;">Yes</span>.<br /><br /></div><publicbefore><publicafter><defaultandpublicreplace></defaultandpublicreplace></publicafter></publicbefore></div><publicbefore><publicafter><defaultandpublicreplace>It's Done.<br /><br /></defaultandpublicreplace></publicafter></publicbefore><div style="text-align: left;" id="result_box" dir="ltr">Now you can make a mess in one partition that not affect the work partition.</div><br /><span style="font-size:130%;"><span style="font-weight: bold;">NOTES:</span></span><br /><ol><li>I am not responsible for ANY DAMAGE incurred from the misuse of this material or instructions contained here. Make at your own risk.</li><li>Don't have a boot menu choice because we install the equal image an the MBR make crazy (If you see in the partition magic the information came Error #110). To change the partition you need use the Computer Management (Administrative Tools->Computer Management), select the drive you like change and in the right click select "Make partition as Active). The good part is that you just change to another partition if you want.</li></ol><span style="font-size:130%;">Hints</span><br /><br />When you like recover again the image, first update the windows and all the softwares you installed and create a new image again.<br /><br /><br />Have fun!<br /></div>Fabiano Ozahatahttp://www.blogger.com/profile/06684936300765134028noreply@blogger.com0