tag:blogger.com,1999:blog-66793087056817025132009-07-10T16:13:39.482-07:00LKVeniaLKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.comBlogger11125tag:blogger.com,1999:blog-6679308705681702513.post-3514502289707132522009-04-22T17:28:00.000-07:002009-04-26T18:20:14.110-07:00Using OS X Terminal keys on a Macbook ProThe default key settings on the Mac OS X (10.5) Terminal are pretty weird, especially on a Macbook Pro, and took me a while to figure them out and setup as I wanted.<br /><br />This is how it works:<br /><br />«fn» + left/right arrows is equivalent to home and end<br />«fn» + up/down is equivalent to page up/down<br /><br />Problem is, by default, these keys don't send escape sequences, and don't work as expected. This is how I setup my terminal keys:<br /><br />On the Terminal preferences, go to the Settings item, and choose the Keyboard tab.<br />Find these keys and edit them (note that the \033 you can get by pressing the <b>esc</b> key):<br /><br />End - send string to shell: \033[4~<br />Home - send string to shell: \033[1~<br />Page down - send string to shell: \033[6~<br />Page up - send string to shell: \033[5~<br />Shift page down - scroll to next page in buffer<br />Shift page up - scroll to previous page in buffer<br /><br />These bindings should get you close to what you'd expect from a sane terminal. There are a few more settings I use to setup Bash (and other programs that use readline), which are located on the .inputrc file on your home dir.<br /><br />Edit <u>~/.inputrc</u> and add this:<br /><pre name="code" class="python"><br /># Be 8 bit clean.<br />set input-meta on<br />set output-meta on<br />set convert-meta off<br /><br /># Auto completion options<br />set show-all-if-ambiguous on<br />set completion-ignore-case on<br /><br /># Keybindings<br />"\e[1~": beginning-of-line # Home key<br />"\e[4~": end-of-line # End key<br />"\e[5~": history-search-backward # Page Up<br />"\e[6~": history-search-forward # Page Down<br />"\e[3~": delete-char # Delete key<br />"\e[5C": forward-word # Ctrl+right<br />"\e[5D": backward-word # Ctrl+left<br /></pre><br />With these settings, «shift» + «fn» + up/down scrolls the buffer, and «fn» + up/down searches your history based on what you typed on the line.<br /><br /><u>References:</u><ul><li><a href="http://tech.inhelsinki.nl/gnu_developement_under_mac_os_x/">GNU development under Mac OS X</a></li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-351450228970713252?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com0tag:blogger.com,1999:blog-6679308705681702513.post-54966266870947587722008-11-10T10:32:00.000-08:002008-11-10T11:21:02.391-08:00Code::Blocks Oblivion<a href="http://www.codeblocks.org/">Code::Blocks</a> is a cross-platform programming editor/IDE written using <a href="http://wxwidgets.org/">wxWidgets</a>. I use it to program in C++ with wxWidgets in Linux and <a href="http://wiki.codeblocks.org/index.php?title=Code::Blocks_and_Cross_Compilers">cross-compiling</a> with <a href="http://www.mingw.org/">MinGW</a> to <a href="http://www.winehq.org/">win32</a>.<br /><br />By default it comes with a white theme, while I prefer darker colors for programming. So I put together a color scheme that suits me better, following the Oblivion Tango color theme available in Gedit by default, with a few changes. Here's what it looks like:<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lkraider.eipper.com.br/blog/uploaded_images/codeblocks_oblivion-782033.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 343px;" src="http://lkraider.eipper.com.br/blog/uploaded_images/codeblocks_oblivion-782028.png" border="0" alt="" /></a><br /><br />If you want to try it, get the file <a href="http://lkraider.eipper.com.br/blog/codeblocks_oblivion.conf">codeblocks_oblivion.conf</a> and use the command <span style="font-weight:bold;">cb_share_config</span> to merge it into your ~/.codeblocks/default.conf .<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-5496626687094758772?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com1tag:blogger.com,1999:blog-6679308705681702513.post-13226405167009073862008-11-06T20:52:00.000-08:002008-11-06T20:57:25.572-08:00Selfish PythonNo post «<a href="http://diaspar.blogspot.com/2008/11/o-porqu-do-self-explcito-ser-que-agora.html">O porquê do self explícito... será que agora vai?</a>» Pedro Werneck demonstra, passo a passo, uma implementação do funcionamento das classes em Python utilizando apenas dicionários e funções.<br /><br />Fica claro o modo como Python resolveu implementar o suporte à orientação à objeto, de maneira bem simples e prática, sem mágicas obscuras para tentar fornecer algum suporte sintático questionável, como seria se fosse sem explicitar o self.<br /><br />Pessoalmente, já estava confortável com a utilização do self explícito (a ponto de sentir falta disso em C++ :) e esse post só veio para ajudar a entender melhor o funcionamento "por detrás dos panos", que é muito interessante.<br /><br />Pontos extras por ter mostrado o funcionamento das metaclasses, e como as classes em Python não são nada especiais em termos de implementação.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-1322640516700907386?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com0tag:blogger.com,1999:blog-6679308705681702513.post-10497701917297537222008-09-04T18:49:00.000-07:002008-09-04T19:39:40.099-07:00Pidgin e Google Talk group chatO GTalk tem função de group chat, porém se você usa o Pidgin irá apenas receber um link para acessar pelo navegador, usando um cliente em Flash.<br /><br />Investigando um pouco, descobri que é possível entrar no group chat usando o próprio Pidgin, ou até mesmo criar uma sala:<br /><ol><li>ao receber um convite, siga o link e quando aparecer o botão para iniciar o cliente Flash, selecione para ver o código fonte da página.</li><li>Procure pela string de conexão, algo parecido com: <span style="font-style: italic;">private-chat-12345678-dead-beef-feed-fedcba987654@groupchat.google.com</span></li><li><span>No menu "<span style="font-weight: bold;">Amigos</span>" do Pidgin, selecione "<span style="font-weight: bold;">Adicionar bate-papo...</span>"</span><span> e preencha o campo de sala com a parte antes do <span style="font-style: italic;">@</span> da string anterior e o servidor com </span><span><span style="font-style: italic;">groupchat.google.com</span> e clique em Adicionar.</span></li><li><span>Pronto, você já tem a sala na sua lista e já pode conversar</span></li></ol>O mesmo vale para criar novas salas, é só criar uma string para o nome da sala que seja compatível e conectar. Se ela não estiver sendo usada uma nova sala será criada e você pode convidar pessoas para entrar (menu "<span style="font-weight: bold;">Conversa</span>" -> "<span style="font-weight: bold;">Convidar...</span>").<br /><br />Se você tem uma conta Jabber, pode criar salas no servidor <span style="font-style: italic;">conference.jabber.org</span> da mesma forma, ou mesmo ver as salas já existentes pelo menu "<span style="font-weight: bold;">Ferramentas</span>" -> "<span style="font-weight: bold;">Lista de salas</span>", selecione sua conta Jabber, clique em "Obter lista" e preencha com o endereço do servidor.<br /><br /><span style="text-decoration: underline;">Fontes:</span><ul><li><a href="http://mkokotovich.blogspot.com/2007/12/google-talk-groupchat.html">Error 404: Google Talk Groupchat</a></li><li><a href="http://www.nata2.org/2007/07/06/google-talk-group-chat-integration-with-jabber-chat/">Harper Reed: Google Talk group chat integration with Jabber Chat</a></li></ul><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-1049770191729753722?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com1tag:blogger.com,1999:blog-6679308705681702513.post-39579532090547643492008-07-17T21:05:00.000-07:002008-07-17T21:21:46.206-07:00Promoção para ajudar a Wikipédia e outros projetosO <a href="http://br-linux.org">BR-Linux.org</a> e <a href="http://www.efetividade.net/">Efetividade.net</a> estão novamente promovendo campanha para fazer doação para a Wikipédia e outros projetos importantes relacionados à livre difusão de conhecimento (software ou não).<br /><br />Segue o texto de chamada da campanha:<br /><br /><blockquote><b>Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!</b><br />…e também a pen drives, card drives, camisetas geeks, livros e mais! O <a href=http://br-linux.org/>BR-Linux</a> e o <a href=http://efetividade.net/>Efetividade</a> lançaram uma <a href=http://br-linux.org/2008/campanha-wikipedia/>campanha</a> para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e <a href=http://br-linux.org/2008/campanha-wikipedia/>participe</a> - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes!</blockquote><br /><br />Quem tiver um blog, não deixe de participar também.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-3957953209054764349?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com0tag:blogger.com,1999:blog-6679308705681702513.post-44933740884737058222008-06-09T21:12:00.000-07:002008-06-10T21:05:26.135-07:00Cálculo da variância em PythonEste post segue uma seqüência iniciada no blog <a href="http://kodumaro.blogspot.com/2008/06/variancia-com-linguagem-funcional.html">Kodumaro</a>, comparando a implementação de alguns cálculos de estatística usando linguagens como Lisp, C e depois seguido de Ruby no blog <a href="http://programandosemcafeina.blogspot.com/2008/06/clculo-da-varincia-com-ruby.html">Programando sem cafeína</a>, e <a href="http://kodumaro.blogspot.com/2008/06/variancia-em-smalltalk.html">Smalltalk</a>.<br /><br />Como estou vendo um pouco de estatística na faculdade agora, me animei para tentar uma implementação em Python também.<br /><pre name="code" class="python"><br />import math<br /><br />def arithmetic_mean(dataset):<br /> """<br /> Simple arithmetic mean (average)<br /> <br /> Example:<br /> >>> arithmetic_mean([10,100,1000])<br /> 370<br /> """<br /> return sum(dataset) / len(dataset)<br /><br /><br />def root_mean_square(dataset):<br /> """<br /> RMS (quadratic mean)<br /><br /> Example:<br /> >>> root_mean_square([10,100,1000])<br /> 580.25856305616037<br /> """<br /> return math.sqrt(sum(x**2 for x in dataset) / len(dataset))<br /><br /><br />def var_num(dataset, mean_function=arithmetic_mean):<br /> """<br /> Divisor for variance calculation<br /> """<br /> mean = mean_function(dataset)<br /> return sum((x - mean)**2 for x in dataset)<br /><br /><br />def populational_variance(dataset):<br /> """<br /> Population variance<br /> <br /> Example:<br /> >>> populational_variance([10,100,1000])<br /> 199800<br /> """<br /> return var_num(dataset) / len(dataset)<br /><br /><br />def sample_variance(dataset):<br /> """<br /> Sample variance<br /> <br /> Example:<br /> >>> sample_variance([10,100,1000])<br /> 299700<br /> """<br /> return var_num(dataset) / (len(dataset) - 1)<br /></pre><br />Preferi implementar como funções simples pois assim é fácil de aplicar sobre qualquer conjunto de dados iterável como listas, tuplas, dicionários ou sets.<br /><br />Na função de numerador da variância, um dos parâmetros é a função de média que se deseja utilizar para o cálculo, com o padrão sendo a média aritmética (pois como nota o blog Kodumaro, o uso da função depende de quem pediu o cálculo ;).<br /><br />Vale notar também o uso de <a href="http://www.python.org/dev/peps/pep-0289/">generator expressions</a> para os somatórios, que substituem as mais tradicionais <a href="http://www.python.org/dev/peps/pep-0202/">list comprehensions</a> nesse caso por questão de performance, principalmente para grandes conjuntos de dados.<br /><br />Apliquei ainda doctests simples para validar os resultados das funções.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-4493374088473705822?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com7tag:blogger.com,1999:blog-6679308705681702513.post-54985876131985558422008-04-25T18:35:00.000-07:002008-04-28T21:18:54.336-07:00Dist-upgrade HardyJust dist-upgraded my Gutsy laptop to Hardy and a few issues have come up.<br /><br /><span style="font-weight: bold;">Gateway 5570Z </span> <span style="font-style: italic;">(model 5570-2607)</span><br /><br /><a id="sound" name="sound"></a><span style="border-bottom: 1px solid grey; font-weight: bold;">Sound</span><br /><br /><span style=";font-family:monospace,courier new;font-size:85%;" >00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02) [8086:27d8 (rev 02)]</span><br /><br />After the upgrade there was no more sound, whereas it was working fine in Gutsy. Needs further investigation.<br /><br /><u>PARTIALLY SOLVED</u>: Seems the bug is on the headphone output detection. I had external speakers connected to the headphone out and no sound was playing, either on the internal or external speakers. If I unplug the external speakers, sound comes out from the internal ones. If I plug the external, no sound is heard again, only if I manually check the Headphone key on the volume control app. Definitely a bug.<br /><a href="https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/126157">https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/126157</a><br /><br /><br /><a id="wifi" name="wifi"></a><span style="border-bottom: 1px solid grey; font-weight: bold;">WiFi</span><br /><br /><span style=";font-family:monospace,courier new;font-size:85%;" >03:00.0 Network controller: Broadcom Corporation BCM94311MCG wlan mini-PCI (rev 01)</span><br /><br />I was using a manually compiled ndiswrapper on Gutsy, and on the upgrade it was probably replaced. Tried using the new b43 driver, which installed fine and even activated the device, but it isn't detecting my wireless network, so I'm going back to ndiswrapper. Seems ndiwrapper doesn't like loading in Hardy tho... hmm.<br /><br /><u>SOLVED</u>: the ndiswrapper module doesn't like to be loaded after the ssb module, so you must remove b44 and ssb, load ndiswrapper and then load ssb and b44 back again. Fun.<br /><a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/188621">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/188621</a><br /><a href="https://bugs.launchpad.net/ubuntu/+bug/214917">https://bugs.launchpad.net/ubuntu/+bug/214917</a><br /><br /><br /><a id="keyboard" name="keyboard"></a><span style="border-bottom: 1px solid grey; font-weight: bold;">USB Keyboard</span><br /><br />I use an external usb keyboard when at home, and Hardy is having issues in detecting the numeric keypad... any key I press there is completely ignored. Needs further investigation.<br /><br /><u>SOLVED</u>: completely stupid bug, it is fixed by going in System->Preferences->Keyboard and disabling <b>Allow to control the pointer using the keyboard </b>on the Mouse Keys tab.<br />Thanks to this blog post: <a href="http://nancib.wordpress.com/2008/03/17/fixing-the-borked-numeric-keypad-in-ubuntu-hardy/">Fixing the borked numeric keypad in Ubuntu Hardy</a><br /><br /><br /><a id="touchpad" name="touchpad"></a><span style="border-bottom: 1px solid grey; font-weight: bold;">Touchpad</span><br /><br />Just doesn't works (completely disabled). A major regression from Gusty, where it was perfectly detected and functioning. No solution yet, just a workaround:<br /><br /><span style=";font-family:monospace,courier new;font-size:85%;" >sudo rmmod psmouse && sudo modprobe psmouse</span><br /><br />this makes it work, kind of, since no advanced synaptic driver functions are enabled (like the scroll button, tap gestures, touch scrolling, etc).<br /><a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/191024">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/191024</a><br /><br /><br /><a id="firefox" name="firefox"></a><span style="border-bottom: 1px solid grey; font-weight: bold;">Firefox 3</span><br /><br />Firefox 3 is great, but I was having speed issues with it, in that accessing a Flickr picture (for instance) would make it use 100% cpu and lockup. Since it was using my old FF2 profile, I created a new one (Alt+F2 -> firefox -ProfileManager) and tried the same pages, and sure enough it worked fine. So I just imported the old bookmarks to this new profile, installed a few extensions and all was good.<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-5498587613198555842?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com0tag:blogger.com,1999:blog-6679308705681702513.post-81228191951027522982008-03-18T19:34:00.000-07:002008-03-18T19:59:33.057-07:00Votação Open Source Initiative<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Opensource.svg/180px-Opensource.svg.png"><img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 180px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/42/Opensource.svg/180px-Opensource.svg.png" alt="" border="0" /></a>Votações serão abertas logo para o Executive Board na <a href="http://opensource.org/">Open Source Initiative</a> (OSI), principal entidade que promove o movimento.<br /><br />Quem está se candidatando é <a href="http://en.wikipedia.org/wiki/Bruce_Perens">Bruce Perens</a>, um dos fundadores originais da organização, lá nos tempos do Netscape, e ele precisa de votos da comunidade para poder entrar como Board Member agora.<br /><br />A preocupação atual dele é com a proliferação de licenças open source que são OSI-certified, especialmente porque a organização atualmente conta com diversos membros que estão mais ligados ao mundo corporativo do que à comunidade open source em si. Ele defende a redução desse número de licenças para 4, retirando a redundância atual (muitas licenças são parecidas ou iguais na prática) e facilitando a troca de código entre elas.<br /><br />Bruce Perens era do Debian, e criou a idéia de Open Source enquanto foi líder de projeto no Debian, defende a idéia de Software Livre e da GPLv3, além de estar ligado a diversos projetos importantes, como o <a href="http://www.linuxbase.org/">Linux Standard Base</a> (LSB), entre outras organizações voltadas ao suporte de projetos e difusão do Open Source e do Software Livre.<br /><br />Para votar, acesse <a href="http://techp.org/p/7">http://techp.org/p/7</a>, leia a mensagem e vote. <hints id="hah_hints"></hints><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-8122819195102752298?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com0tag:blogger.com,1999:blog-6679308705681702513.post-13424894823139243572008-03-06T21:07:00.000-08:002008-03-06T21:39:21.042-08:00Aprovar ODF como norma ABNTVote a favor da aprovação do ODF como norma brasileira (ABNT) para padronização de documentos de escritório.<br /><br />Entre no <a href="http://www.abntnet.com.br/consultanacional/projetodet.aspx?ProjetoID=1994">site de votação</a>, faça o cadastro e vote.<br /><br /><br />Aproveite para fazer campanha contra a aprovação do formato MS OpenXML como padrão ISO. Pode usar esse banner que montei no Inkscape, baseado no banner da <a href="http://www.openxml.info/">openxml.info</a>:<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lkraider.eipper.com.br/img/ooxml_nao_apto.svg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 399px; height: 82px;" src="http://lkraider.eipper.com.br/img/ooxml_nao_apto.png" alt="" border="0" /></a><div style="font-size: 78%; margin-top: -0.5em;">Clique na imagem para baixar a versão em SVG.</div><br /><div style="text-align: left;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://creativecommons.org/licenses/by-sa/3.0/"><img style="margin: 0pt 0pt 10px 10px; float: left; cursor: pointer; width: 80px; height: 15px;" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png" alt="" border="0" /></a><br /></div></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-1342489482313924357?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com1tag:blogger.com,1999:blog-6679308705681702513.post-19667945741052888952007-10-11T22:40:00.001-07:002007-10-11T23:13:28.877-07:00CowBuilder + CCache<div xmlns='http://www.w3.org/1999/xhtml'>I'm a <a href='http://www.getdeb.net'>GetDeb</a> contributor, building <a href='http://www.ubuntu.com/getubuntu'>Ubuntu</a> packages of new applications. The build system I use is CowBuilder (pbuilder/cowdancer) plus CCache to speedup the process.<br/><br/>Following is a simple guide to setup such an environment on an Ubuntu system.<br/><br/><ol><li>Install packages: <blockquote style='font-family: courier new;'><font color='#666666'><em>sudo apt-get install cowdancer ccache</em></font></blockquote></li><li>Edit <span style='font-style: italic;'>~/.pbuilderrc</span> : <blockquote style='font-family: courier new; font-size: 0.9em;'><font color='#009900'>## Overrides /etc/pbuilderrc</font><br/><br/><font color='#009900'># Default distribution</font><br/>DISTRIBUTION=feisty<br/>COMPONENTS=<font color='#ff6600'>"main restricted universe multiverse"</font><br/><br/><font color='#009900'># Repositories</font><br/>MIRRORSITE=http://br.archive.ubuntu.com/ubuntu<br/><br/><font color='#009900'># Bash prompt inside pbuilder</font><br/>export debian_chroot=<font color='#ff6600'>"pbuild$$"</font><br/><br/><font color='#009900'># Faster dependency resolution</font><br/>PBUILDERSATISFYDEPENDSCMD=<font color='#ff6600'>"/usr/lib/pbuilder/pbuilder-satisfydepends-gdebi"</font><br/><br/><font color='#009900'># CCache setup</font><br/>export CCACHE_DIR=<font color='#ff6600'>"/var/cache/pbuilder/ccache"</font><br/>export PATH=<font color='#ff6600'>"/usr/lib/ccache:${PATH}"</font><br/><br/>EXTRAPACKAGES=ccache<br/>BINDMOUNTS=<font color='#ff6600'>"${CCACHE_DIR}"</font></blockquote></li><li>Create CCache directory (user 1234 is default inside cowbuilder): <blockquote style='font-family: courier new;'><font color='#666666'><em>sudo mkdir /var/cache/pbuilder/ccache<br/>sudo chown <font color='#333399'>1234</font> /var/cache/pbuilder/ccache</em></font></blockquote></li><li>Create the build environment: <blockquote style='font-family: courier new;'><font color='#666666'><em>sudo cowbuilder --create --distribution feisty</em></font></blockquote></li></ol>After the (rather long) download and install procedure you can start compiling your own packages like this:<br/><blockquote style='font-family: courier new;'><font color='#666666'><em>sudo cowbuilder --build flv2mpeg4_0+svn3-1~getdeb1.dsc</em></font></blockquote><br/>The resulting package can be found in <em style='font-family: courier new;'>/var/cache/pbuilder/result/</em><i/></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-1966794574105288895?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com1tag:blogger.com,1999:blog-6679308705681702513.post-87785895219036523552007-10-04T21:10:00.000-07:002007-10-11T16:20:45.387-07:00Software Patents<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lkraider.eipper.com.br/blog/uploaded_images/patent-virtualdesktop-page2-791075.png"><img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://lkraider.eipper.com.br/blog/uploaded_images/patent-virtualdesktop-page2-791072.png" alt="" border="0" /></a><br />Guess who patented that?<br /><br />...<br /><br />Look closely at the icons.<br /><br /><br /><a href="http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&Sect2=HITOFF&d=PG01&p=1&u=%2Fnetahtml%2FPTO%2Fsrchnum.html&r=1&f=G&l=50&s1=%2220030189597%22.PGNR.&OS=DN/20030189597&RS=DN/20030189597">Guess again.</a><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6679308705681702513-8778589521903652355?l=lkraider.eipper.com.br%2Fblog'/></div>LKRaiderhttp://www.blogger.com/profile/15376943686783326713noreply@blogger.com1