<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8803670686315312037</id><updated>2011-11-27T21:09:46.803-03:00</updated><category term='algebra de boole'/><category term='impressora'/><category term='xvid'/><category term='bytes'/><category term='3g vivo linux mf100 mf636 zte modem internet'/><category term='von neumann'/><category term='rmvb'/><category term='bits'/><category term='avi'/><category term='monitor'/><category term='mkv'/><category term='linux scim debian opensuse xim japonês'/><category term='pepinos'/><category term='assembly'/><category term='portas lógicas'/><category term='x264'/><title type='text'>Blog da computação - Informática para leigos</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-2253512158292445313</id><published>2009-09-13T13:13:00.011-03:00</published><updated>2009-09-13T15:31:03.033-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='3g vivo linux mf100 mf636 zte modem internet'/><title type='text'>Internet 3G Vivo com modem MF100 no Opensuse Linux</title><content type='html'>Depois de Meses sem colocar nada nesse blog, aproveito pra escrever algo que é de extrema utilidade, que com certeza ajuda bastante gente, e que é algo que faz muito perderem algumas horas de labuta até que se consiga fazer funcionar. Eu mesmo perdí bastante tempo, consultei vários posts de vários forums, consultei o &lt;a href="http://www.guiadohardware.net/tutoriais/3g-linux/"&gt;guiadohardware&lt;/a&gt; e, enfim, eles foram úteis, mas a maioria deles so falava de alguns modems específicos em algumas distribuições específicas. Ou melhor, quase que na totalidade, falavam sobre ubuntu 9.x.x e modem MF626, que é do mesmo fabricante do aqui tratado MF100, mas que não é exatamente o mesmo. O MF100 é este exibido na foto que se segue&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_8ygtbgj6ZvY/Sq0di0BVtWI/AAAAAAAAA4Q/OZ2ANj_xm4c/s1600-h/modem_vivo_mf100.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 275px;" src="http://4.bp.blogspot.com/_8ygtbgj6ZvY/Sq0di0BVtWI/AAAAAAAAA4Q/OZ2ANj_xm4c/s400/modem_vivo_mf100.jpg" alt="" id="BLOGGER_PHOTO_ID_5380989613694629218" border="0" /&gt;&lt;/a&gt;E que os leitores, é claro, me perdoarão pela edição medíocre.&lt;br /&gt;Devo dizer que este tutorial foi feito baseado em meus procedimentos numa distro opensuse 11.1 de 64 bits, o que no entanto não quer dizer que não funcione em outras variantes mais antigas desta distro, ou em sistemas de 32 bits, já que não se necessita de drivers - ou melhor, o único necessário já está embutido no sistema - e o esqueleto geral dos arquivos e dispositivos do opensuse mudou muito pouco (se mudou) desde que se começou a usar o udev lá pela versão 10.&lt;br /&gt;&lt;br /&gt;A princípio, quando meteres o dito modem na usb, ele o reconhecerá como um cdrom usb, igualzinho como ocorre no windows. Daí ele monta e lá tem um softwarezinho que é pra ser igualzinho a aquele que tem pro windows mesmo, de conexão, que cria um ícone na sua área de trabalho e talz.. Meu conselho é que se ignore este, por que eu mesmo não o ví em sequer um instante funcionar. Primeiro tens que instalar uma biblioteca do qt3 pra ele mostrar a cara e depois ele não vai funcionar mesmo! Fica lá a vida toda tentando conectar e nunca conecta.&lt;br /&gt;&lt;br /&gt;Então, o que primeiro vais precisar, é, lógico, daqueles pacotes básicos de conexão, tais quais o pppd e wvdial. Eles já vem como default na maioria das instalações, e se não vieram, não se preocupe, pois eles estão disponíveis nos repositórios padrões. Precisarás também de um pequeno software chamado &lt;a href="http://www.draisberghof.de/usb_modeswitch/"&gt;usb_modeswitch&lt;/a&gt; que foi feito independentemente por um cara aí, e que serve pra fazer teu sistema parar de enxergar o modem como um cd, e passar a enxergar como um modem mesmo. Como indica o nome. Ele está disponível nos repositórios padrões do opensuse, bastando, como root, executar num terminal qualquer:&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;#&gt;zypper in usb_modeswitch&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E obviamente, confirmar a instalação. Ou se preferires, vai pelo Yast mesmo e instala isso aí.&lt;br /&gt;O usb_modeswitch tem um arquivo de configuração, a saber&lt;span style="font-family:courier new;"&gt; &lt;span style="font-size:85%;"&gt;/etc/usb_modeswitch.conf&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Neste, haverá linhas comentadas (com '#' ou ';') e linhas descomentadas. Isto é, este arquivo deve estar coerente com o tipo de modem que tu tens, já que esse usb_modeswitch serve pra vários e vários modems. Minha experiência mostra que o MF100 é similar a um outro modelo, o MF628+, que por sua vez é similar ao MF628 e portanto, comentando tudo neste arquivo e deixando a sessão do MF628+ descomentada, teu modem irá funcionar. O arquivo ficaria assim:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8ygtbgj6ZvY/Sq0uuzloWEI/AAAAAAAAA4Y/QlNqeIOfD4M/s1600-h/usbmdswth.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 161px;" src="http://3.bp.blogspot.com/_8ygtbgj6ZvY/Sq0uuzloWEI/AAAAAAAAA4Y/QlNqeIOfD4M/s400/usbmdswth.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381008511434512450" border="0" /&gt;&lt;/a&gt; Depois, tens que instalar uma regra para o udev rodar o usb_modeswitch automaticamente a cada vez que tu plugares o modem. Lí em muitos lugares, configurações milaborantes, mas pra mim bastou (e funfou) criar o arquivo &lt;span style="font-family: courier new;font-size:85%;" &gt;/etc/udev/rules.d/95-ZTE-MF100.rules&lt;/span&gt; com o seguinte conteúdo:&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="2000", SYSFS{idVendor}=="19d2", RUN+="/usr/sbin/usb_modeswitch"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Rodas um &lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;/etc/init.d/haldaemon restar&lt;/span&gt;&lt;/span&gt;t para que ele carregue essas configurações. Ou reinicia mesmo (to na duvida se isso é realmente necessário).&lt;br /&gt;Daí agora, o sistema deve entener que se plugou um modem usb no sistema, e deverá carregar seu driver(usbserial) automaticamente. Se isto não ocorrer, poderá usar ao invés da linha citada acima, esta:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;SUBSYSTEM=="usb", SYSFS{idProduct}=="2000", SYSFS{idVendor}=="19d2", &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;font-size:85%;"  &gt;RUN+="/usr/sbin/usb_modeswitch",&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt; RUN+="/sbin/modprobe usbserial vendor=0x19d2 product=0x2000"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Só a título de curiosidade, esses parâmetros '2000' e '19d2' são conseguidos através do comando lsusb. Se teu modem for diferente, quem sabe analisando a identificação no lsusb e modificando o arquivo citado de acordo, funcione...&lt;br /&gt;Serão criados os devices &lt;span style="font-family: courier new;font-family:courier new;font-size:85%;"  &gt;/dev/ttyUSB0&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family: courier new;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: courier new;font-family:courier new;font-size:85%;"  &gt;/dev/ttyUSB1 &lt;span style="font-size:100%;"&gt;&lt;span style="font-family: georgia;"&gt;e&lt;/span&gt;&lt;/span&gt; /dev/ttyUSB0&lt;/span&gt;.  Se deres um ls em /dev e aparecer esses três aí, tá tudo Ok e agora podes finalmente configurar seu discador predileto para acessar a internet. Aqueles mesmo que você usava nos tempos de internet discada. Os discadores devem ser configurados para usar o modem em &lt;span style="font-family:courier new;font-size:85%;"&gt;/dev/ttyUSB2&lt;/span&gt;. Abaixo, uma configuração para o wvdial,(/etc/wvdial.conf) funcionou assim:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;[Dialer Defaults]&lt;/span&gt;  &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Modem = /dev/ttyUSB2&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Baud = 921600&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;DialCommand = ATDT&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Check Def Route = on&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;FlowControl = Hardware(CRTSCTS)&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Username = vivo&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Password = vivo&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Phone = *99#&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Stupid mode = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Auto Reconnect = on&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Auto DNS = on&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Init1 = ATZ&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Init2 = ATQ0 V1 E1 S0=0 &amp;amp;C1 &amp;amp;D2&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Init3 = AT+CGDCONT=1,"IP","zap.vivo.com.br"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ISDN = 0&lt;/span&gt; &lt;span style="font-family:courier new;"&gt;&lt;br /&gt;Modem Type = Analog Modem&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A terceira linha do init (Init3) não me foi estritamente necessária, mas há quem diga que é. Eu particularmente não gosto muito do wvdial porque tem que ser rodado num terminal e como root (posso estar enganado novamente). Usei o kppp, mas antes de poder usá-lo, o sistema diz que o executável &lt;span style="font-family:courier new;font-size:85%;"&gt;/usr/sbin/pppd&lt;/span&gt; deve ter o bit setuid setado, o que pode ser feito com:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;font-size:85%;"&gt;&gt;#chmod u+s /usr/sbin/pppd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Daí agora, jaz! Toda a configuração que eu fiz para o kppp foi baseada neste arquivo do wvdial e pode ser resumida pelos dois screenshots que se seguem.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_8ygtbgj6ZvY/Sq04BaD_pKI/AAAAAAAAA4g/tJSQv_YPGpg/s1600-h/screen3.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 310px; height: 400px;" src="http://4.bp.blogspot.com/_8ygtbgj6ZvY/Sq04BaD_pKI/AAAAAAAAA4g/tJSQv_YPGpg/s400/screen3.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381018726604711074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_8ygtbgj6ZvY/Sq04M6CGL6I/AAAAAAAAA4o/IffMf4OGlEY/s1600-h/screen4.jpeg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 380px;" src="http://1.bp.blogspot.com/_8ygtbgj6ZvY/Sq04M6CGL6I/AAAAAAAAA4o/IffMf4OGlEY/s400/screen4.jpeg" alt="" id="BLOGGER_PHOTO_ID_5381018924165246882" border="0" /&gt;&lt;/a&gt; Se depois disso,quiseres ainda experimentar usar o discador da vivo (que tem a vantagem de permitir o envio de sms), faz antes um backup do wvdial.conf, porque o programinha da vivo sobrescreve ele.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-2253512158292445313?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/2253512158292445313/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=2253512158292445313' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/2253512158292445313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/2253512158292445313'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2009/09/internet-3g-vivo-com-modem-mf100-no.html' title='Internet 3G Vivo com modem MF100 no Opensuse Linux'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_8ygtbgj6ZvY/Sq0di0BVtWI/AAAAAAAAA4Q/OZ2ANj_xm4c/s72-c/modem_vivo_mf100.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-33544917837615686</id><published>2009-01-16T14:56:00.006-03:00</published><updated>2009-01-16T21:02:01.165-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux scim debian opensuse xim japonês'/><title type='text'>Como escrever em japonês no linux</title><content type='html'>&lt;span style="font-family:arial;"&gt; Assim como muitos, (na verdade, acho que são poucos) eu ando aprendendo japonês devagarinho através da Internet, catando um material aqui, outro acolá e tal. Conse&lt;/span&gt;&lt;span style="font-family:arial;"&gt;guir digital japonês no computador é uma coisa que ajuda bastante. No Windows Xp, acho que boa parte do pessoal consegue. Mas eu sempre tive uma dorzinha de cabeça em fazer isso funcionar no Linux, porque, como sabemos, no linux as coisas são um pouco mais complicadas por conta de que não temos um sistema com tudo unificado como é no Windows. Cada coisa no sistema é um programa e não ta tudo exatamente interligado. Daí tem que se caçar direitinho como se funcionam as coisas, mas com um pouco de fé tudo se resolve.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Pra se digitar japonês em linux, precisa-se de:&lt;/span&gt;&lt;ul  style="font-family:arial;"&gt;&lt;li&gt;Um &lt;span style="font-style: italic;"&gt;X Input Method, &lt;/span&gt;ou &lt;span style="font-style: italic;"&gt;xim&lt;/span&gt; para os íntimos. Como sabemos, o X é o servidor gráfico dos unixes, ou seja, o programa responsável por fazer com que o ambiente gráfico exista. O &lt;span style="font-style: italic;"&gt;input method&lt;/span&gt;, é um programa responsável por fazer a "injeção" de caracteres dentro do servidor X, assim como temos o IME pra Windows.&lt;/li&gt;&lt;li&gt;Uma engine (um backend) de conversão para o xim. Pode-se instalar alguns ao invés de um, e trocar entre um e outro durante a digitação.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Tabelas de conversão de caracteres para o(s)  backends de conversão.&lt;/li&gt;&lt;li&gt;Um  "switch engine"  pra trocar entre os backends.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:arial;"&gt; Em geral, usando-se os gerenciadores de pacotes de sua distro preferida, isto implica em escolher uns três ou quatro pacotes e o resto vem sozinho como dependencias. Existem uma meia dúzia de &lt;/span&gt;&lt;span style="font-style: italic;font-family:arial;" &gt;xim's  &lt;/span&gt;&lt;span style="font-family:arial;"&gt;disponíveis por aí, tais quais: Nicolatter, kinput2, xcin, scim. Utilizarei aqui o &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Scim&lt;/span&gt;&lt;span style="font-family:arial;"&gt;. Ele tem a vantagem de suportar vários backends e/ou vários idiomas de entrada. O kinput2 por exemplo só serve pra japonês. Com o Scim, pode-se escrever em japones, coreano, chines e mais outros tantos idiomas. O melhor backend de conversão pra japonês que eu achei foi o &lt;/span&gt;&lt;span style="font-weight: bold;font-family:arial;" &gt;Anthy&lt;/span&gt;&lt;span style="font-family:arial;"&gt;. Muito embora eu tenha instalado aqui o Anthy e mais o Canna e SKK e você pode conviver harmoniosamente com todos eles. Instalei ainda as tabelas que tem o nome de &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;scim-tables-ja. Existem ainda outras tabelas pra outros idiomas. Em resumo, pra conseguir uma instalação funcional pra Kde e Gnome, é suficiente instalar:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt; scim&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;scim-anthy&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;anthy&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;scim-tables-ja&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;im-switch&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:courier new;"&gt;skim&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt; &lt;span style="font-family:arial;"&gt;O scim instala por padrão um frontend para gnome afim de realizar suas configurações. Ele fica como um icone no tray do sistema.O skim, é o frontend para Kde equivalente.  Taí o iconezinho do gnome&lt;/span&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_8ygtbgj6ZvY/SXDVhUi6GPI/AAAAAAAAA2Y/zF2rGSlvZcY/s1600-h/1.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 150px; height: 112px;" src="http://2.bp.blogspot.com/_8ygtbgj6ZvY/SXDVhUi6GPI/AAAAAAAAA2Y/zF2rGSlvZcY/s400/1.jpg" alt="" id="BLOGGER_PHOTO_ID_5291964330587855090" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Ele muda para o icone do backend asssim que vc ativar a escrita pelo scim, coisa que normalmente é feita pelo atalho ctrl+space. Mas isso será exposto depois, porque agora vem a parte chata.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Para que funcione a contento, é necessário dizer ao X que ele deve usar um xim. Isto é feito normalmente adicionando-se algumas linhas a algum arquivo de configuração de inicialização do X. Eu tive a oportunidade de fazê-lo em duas distribuições. Usando opensuse 11.1 (acho que a partir da versão 9 em diante já é assim) bastou-me editar o arquivo &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;~/.profile e adicionar a seguinte linha&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  export INPUT_METHOD=scim&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;já no debian e outros, esse arquivo de configuração muda e em geral devem ser adicionadas mais linhas. &lt;/span&gt;&lt;a style="font-family: arial;" href="https://wiki.edubuntu.org/InputMethods/SCIM/Setup"&gt;Aqui&lt;/a&gt;&lt;span style="font-family:arial;"&gt; por exemplo diz como se faz a configuração no ubuntu. &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.h4.dion.ne.jp/%7Eapricots/scim-anthy/howto.html#jp2"&gt;Este outro link&lt;/a&gt;&lt;span style="font-family:arial;"&gt; dá instruções para o mandriva. Mas a página em si é bastante interessante pra qualquer um por indicar o processo de forma meio genérica, em especial nesta parte de "environmental variables" que tem as variáveis de ambiente que a maioria das distros usa. Pra fazer o sistema funcionar no debian, devo dizer que não pude muito me c&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;onfiar no google. Foi difícil saber como é que era e foi mais por fuçação e experimentação. Mas descobri que no debian existia já as linhas que eu queria em determinado arquivo que fica em &lt;span style="font-size:85%;"&gt;&lt;span style="font-family:courier new;"&gt;/etc/X11/xinit/xinput.d/ja_JP.&lt;/span&gt;&lt;/span&gt; O problema é que o debian não lia isso porque ele sempre lê um arquiv&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;o deste mesmo diretório, só que chamado "default". Então, o mais prático neste caso é renomear o arquivo &lt;span style=";font-family:courier new;font-size:85%;"  &gt;default&lt;/span&gt; pra um outro nome qualquer, e depois copiar o arquivo ja_JP pra default. Isso se resume a essas poucas linhas no terminal&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&gt;# cd /etc/X11/xinit/xinput.d/&lt;br /&gt;&gt;#mv default default.bak&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&gt;#cp ja_JP default&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Obviamente, deves estar como root pra fazer isso. Depois disso, basta reiniciar o X e se tudo deu certo, o incone que postei ai em cima deve aparecer em seu icon tray. Daí agora, podes experimentar abrir um gedit ou kwrite e pressionar ctrl+espaço e digitar seus primeiros hiraganas. Clicando com o botao esquerdo do mouse sobre o ícone do scim, pode-se escolher entre os vários idiomas de entrada ou backends de conversão. Clicando-se com o botão direito, pode-se configurar dentre outras coisas, os atalhos de teclado&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt; &lt;span style="font-family:arial;"&gt;para as funções do scim. Pode-se por exemplo mudar as teclas de ativação (em trigger) e o que faz mudar de engine (Next input Method).&lt;/span&gt;&lt;/span&gt;&lt;a style="font-family: arial;" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_8ygtbgj6ZvY/SXDdFrmi2tI/AAAAAAAAA2g/1HRf4OcsdZ4/s1600-h/2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 264px;" src="http://3.bp.blogspot.com/_8ygtbgj6ZvY/SXDdFrmi2tI/AAAAAAAAA2g/1HRf4OcsdZ4/s400/2.jpg" alt="" id="BLOGGER_PHOTO_ID_5291972651833809618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="font-family:arial;"&gt;Usando-se o anthy, pode-se ainda criar atalhos para trocar de katakana pra hiragana e vice-versa (indo naquela aba alí do anthy). E como no windows, digitando qualquer coisa e pressionando a barra de espaço, ele faz a conversão dos caracteres em kanjis, com direito a escolha de candidatos. A entrada default  e em hiragana, mas pressionando-se F7 muda-se o que ta escrito pra katakana.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Bem, é isso aí! Espero que tenha sido de alguma valia. Para maiores detalhes:&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;ul style="font-family: arial;"&gt;&lt;li&gt;http://www.h4.dion.ne.jp/~apricots/scim-anthy/howto.html&lt;/li&gt;&lt;li&gt;http://www.scim-im.org/&lt;/li&gt;&lt;li&gt;www.google.com.br&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-33544917837615686?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/33544917837615686/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=33544917837615686' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/33544917837615686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/33544917837615686'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2009/01/como-escrever-em-japons-no-linux.html' title='Como escrever em japonês no linux'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_8ygtbgj6ZvY/SXDVhUi6GPI/AAAAAAAAA2Y/zF2rGSlvZcY/s72-c/1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-103746639410278090</id><published>2008-10-11T12:26:00.004-03:00</published><updated>2008-10-11T12:59:15.126-03:00</updated><title type='text'>Redes de comunicação mundiais</title><content type='html'>Pouca gente sabe, mas existem fibras opticas submarinas (isso mesmo, embaixo dos oceanos). A maioria pensa que as comunicações entre países e continentes são feitos somente por satélite. Mas se isso fosse verdade, hoje teríamos uma precariedade muito grande nas comunicações, por que os satelites introduzem uma latencia relativamente grande, e relativa pouca largura de banda, se comparada com outros meios. Uma única fibra optica, na tecnologia atual permite o tráfego de terabits/s, sem qualquer latência (já que o tráfego é na velocidade da luz) e sem interferencias (já que se usa luz ao invés de pulsos elétricos).  No vídeo que se segue, é explicado como são colocadas as fibras opticas submarinas. O vídeo está em ingles. Eu entendo pouco de ingles, mas deu pra escutar algumas coisas, por exemplo:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;São cerca de 4.000 km de fibra ligando a França aos EUA&lt;/li&gt;&lt;li&gt;As fibras, são da espessura de um fio de cabelo. Várias delas (centenas) são trançadas juntas naquele cabo branco, juntamente com aço e condutores&lt;/li&gt;&lt;li&gt;O navio anda a menos de 1km/h&lt;/li&gt;&lt;li&gt;8% das comunicações do mundo, trafegam nessas fibras&lt;/li&gt;&lt;li&gt;Demora-se 3 semanas para encher o navio com aquele cabo&lt;br /&gt;&lt;/li&gt;&lt;li&gt;A cada mais ou menos 50km, vai um troço branco daquele, que é um repetidor, porque o sinal se degrada com a distancia, e precisa de reforço pra continuar. Cada repetidor pesa meia tonelada&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Esse ultimo ítem, me faz pensar que o sistema eletrico que alimenta esses cabos deve ser algo gigantesco, pois a potencia também vai se perdendo com a distancia.&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v1JEuzBkOD8&amp;amp;hl=pt-br&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/v1JEuzBkOD8&amp;amp;hl=pt-br&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-103746639410278090?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/103746639410278090/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=103746639410278090' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/103746639410278090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/103746639410278090'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2008/10/redes-de-comunicao-mundiais.html' title='Redes de comunicação mundiais'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-2572336033054838902</id><published>2008-05-04T20:54:00.003-03:00</published><updated>2008-05-04T21:46:04.609-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='monitor'/><category scheme='http://www.blogger.com/atom/ns#' term='pepinos'/><title type='text'>Taxa de Atualização do Monitor</title><content type='html'>Os monitores de computador, assim como as televisões, "piscam" determinada quantidade de vezes por segundo. Na verdade, eles mostram uma sequência de imagens estáticas a uma determinada quantidade de vezes por segundo. Na televisão convencional, essa taxa é de 60 quadros por segundo (por quadro, entenda-se, uma imagem estática). Já nos monitores de computador, essa taxa é configirável.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Porque Alterar a quantidade de quadros por segundo?"&lt;br /&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;Porque seus olhos podem agradecer. A cintilância (o efeito das sucessivas piscadas da tela) causa incômodo e cansaço visual.  Então, aumentando a taxa de quadros por segundo de sua tela, seus olhos percebem menos a troca de imagens, e por consequência, o incômodo visual é menor.  O único problema é que os monitores tem limites, ou seja, cada monitor suporta até tantos quadros por segundo.  E ainda, esse tanto de quadros por segundo depende da resolução que se está usando. Para resoluções menores, pode-se configurar uma taxa de quadros maior. Para monitores de 15 polegadas por exemplo, em 800x600 consegue-se até 80 a 85 quadros por segundo, e para 1024x768 consegue-se tipicamente 60 a 72 quadros por segundo.&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt; &lt;/span&gt;&lt;span&gt;Para monitores de 17 polegadas, tipicamente os monitores suportam até 85 quadros por segundo para uma resolução de 1024x768.  Seja lá qual for seu caso, configure para o maior número possível.  Segue o processo para configurá-lo no windows xp:&lt;br /&gt;&lt;a href="http://img369.imageshack.us/my.php?image=novo9aq9.jpg" target="_blank"&gt;&lt;img src="http://img369.imageshack.us/img369/4889/novo9aq9.th.jpg" border="0" alt="Free Image Hosting at www.ImageShack.us" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img604.imageshack.us/content.php?page=blogpost&amp;files=img369/4889/novo9aq9.jpg" title="QuickPost"&gt;&lt;img src="http://imageshack.us/img/butansn.png" alt="QuickPost" border="0"&gt;&lt;/a&gt; &lt;br&gt;&lt;br /&gt; Lembrando que hertz, é justamente a quantidade de quadros por segundo. Os bits de cor representam a quantidade de cores diferentes que serão exibidos. Quanto mais bitz, melhor a qualidade.&lt;br /&gt; Muitas vezes, especialmente quando se troca de monitor, após a inicialização, a tela fica preta. Muitos imaginam ser defeito da placa de vídeo e coisa e tal, mas pode ser simplemente a taxa de atualização que está alta demais para aquele monitor. Para resolver este problema, basta ir pressionando F8 na inicialização do windows (nas barrinhas brancas) e escolher "modo vga". Depois, seguir os passos indicados acima para acertar a taxa de quadros por segundo e reinciar o windows normalmente.&lt;br /&gt;&lt;br /&gt; Para linux, também pode-se ajustar a taxa de quadros por segundo. A maneira mais fácil de se fazer isso é através de um apliativo gráfico chamado &lt;a href="http://en.wikipedia.org/wiki/XRandR"&gt;Xrandr&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-2572336033054838902?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/2572336033054838902/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=2572336033054838902' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/2572336033054838902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/2572336033054838902'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2008/05/taxa-de-atualizao-do-monitor.html' title='Taxa de Atualização do Monitor'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-4900070963436377161</id><published>2008-04-22T20:45:00.006-03:00</published><updated>2008-05-04T21:50:15.837-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bits'/><category scheme='http://www.blogger.com/atom/ns#' term='von neumann'/><category scheme='http://www.blogger.com/atom/ns#' term='assembly'/><title type='text'>Computador de Von Neumann (o seu)</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Se por acaso tiver complicado entender, leia &lt;/span&gt;&lt;a style="font-style: italic;" href="http://blogdacomputacao.blogspot.com/2008/04/porque-os-computadores-funcionam.html"&gt;este&lt;/a&gt;&lt;span style="font-style: italic;"&gt; post antes&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Nos primórdios da computação, lá pela década de 30,  Jon Von Neumman definiu um computador como algo que tivesse uma memória, uma unidade de controle, e uma unidade de lógica e aritmética. A esta espécie de conjunto deu-se o nome de arquitetura de Von Neumann. Até hoje, os computadores são feitos seguindo este princípio.(praticamente sem exceções).&lt;br /&gt;A unidade de controle, a memória e a unidade de logica e aritmética comunicam-se entre si. A memória é algo dividido em bytes. Quero dizer, ela é endereçável, ou seja, ela tem vários e vários bytes de capacidade, mas ela é lida (ou escrita) indicando-se qual byte se &lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8ygtbgj6ZvY/SA6A4C3JmnI/AAAAAAAAADQ/k7TSuA6wtXs/s1600-h/figura2.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://bp1.blogger.com/_8ygtbgj6ZvY/SA6A4C3JmnI/AAAAAAAAADQ/k7TSuA6wtXs/s400/figura2.jpg" alt="" id="BLOGGER_PHOTO_ID_5192229120733977202" border="0" /&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt;quer lêr naquele &lt;/span&gt;&lt;span style="font-family:arial;"&gt;momento.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Abaixo, a figura de um arranjo de memória de 12 bytes.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;A memória guarda instruções, do tipo "leia o byte que está na posição 2 da memória,  some com aquele que está na posição 3 e&lt;/span&gt;&lt;span style="font-family:arial;"&gt; guarde na posição 4".&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"E onde é que se faz essa soma?"&lt;br /&gt;&lt;/span&gt;É feita na unidade de lógica e aritmética. E quem comanda esse processo de transferir dados entre a memória e unidade de lógica e aritmética é a unidade de controle. Em resumo, a unidade de controle tem um ciclo infinito de buscar a instrução na memória, vê o que tem nessa instrução, fazer o que a instrução manda e colocar o resultado de volta em algum outro lugar da memória. Obviamente, tem lugares da memória onde se tem instruções, e lugares onde se tem dados.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;"Então é só isso um computador?"&lt;br /&gt;&lt;/span&gt;Claro que não né? Mas a base é essa aí. Ainda tem a se incluir aí algumas coisas, como por exemplo as placas de vídeo, som, rede, o teclado, o mouse... No fim das contas, é algo mais ou menos assim:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://img167.imageshack.us/img167/2381/figura3vg3.jpg" border="0" /&gt;&lt;br /&gt;Perceba que atualmente se incorpora a unidade de controle(UC) e a unidade lógica e aritmética(ula) dentro do processador (dentre outras coisas que há dentro de um processador). Pode-se perceber também que há um controlador de memória entre o processador e a memória, e que o controlador de memória está ligado a outro controlador, o de dispositivos. Neste último, estão ligados  os controladores de teclado e mouse, vídeo e som e o que mais couber nele. De fato, para o programador, os dispositivos agem como parte da memória. Os primeiros endereços da memória (as primeiras posições) são dos dispositivos. Lêr qualquer dado de um dispositivo usb é como ler da memória. É função do controlador de memória "separar" os acessos da memória dos acessos a dispositivos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;Um pouco mais sobre o processador ...&lt;/span&gt;&lt;span&gt;&lt;br /&gt;O processador têm dentro de sí, além de Uc e Ula (como na imagem acima) um conjunto de pequenas porçoes de memória, denominadas de &lt;span style="font-style: italic;"&gt;registradores. &lt;/span&gt;Mas não são como a memória principal. Os registradores guardam dados auxiliares ao funcionamento do corrente programa em execução. Por exemplo, há um registrador que guarda o endereço de memória onde se inicia aquele programa, e há outro que guarda o endereço de onde se iniciam os dados daquele programa. Há um outro chamado &lt;span style="font-style: italic;"&gt;contador de programa &lt;/span&gt;que guarda o endereço da proxima istrução que será executada. Em geral ele é incrementado de um em um a cada nova instrução que se executa, no entanto, existem instruções que permitem que se salte para posições específicas para trás ou para frente na memória. Certamente um computador não teria a menor utilidade se não houvessem estas. E há ainda os registradores de uso geral, que são usados ao gosto do programador. Dados são movidos da memória para os registradores auxiliares antes de se fazer qualquer operação, porque dentre outras coisas, a memória é bem mais lenta do que os registradores. Não se faz operações diretamente na memória. A figura abaixo ilustra um processador com as estruturas de registradores de uso geral, e uma memória com seus endereços, e um respectivo programa que calcula o fatorial de 5. Ao final, esse resultado estará armazenado no registrador A.&lt;br /&gt;&lt;img src="http://img501.imageshack.us/img501/9376/figura4ld0.jpg" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;Só faltou falar que por "mova" deve-se entender "copiar dados daqui palí". No primeiro uso dele, coloca-se valores 5 no registrador A e 0 no B. Decrementar C quer dizer "diminuir C em 1". Usamos uma instrução de salto na 7ª e 8ª instruções. Elas fazem o fluxo do programa saltar para o endereço de memória o qual indicam.&lt;br /&gt;&lt;br /&gt;Enfim, isto é um pouco de &lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;programação de baixo nível &lt;/span&gt;&lt;span&gt;para computadores. Espera-se que tenha dado pra se entender. Se uma hora eu estiver com mais disposição, pego essa figura daí de cima e faço um gif animado pra mostrar o funcionamento passo a passo do negócio.&lt;br /&gt;&lt;/span&gt; A propósito, à essa linguagem de programação de baixo nível, chama-se &lt;span style="font-style: italic;"&gt;assembly&lt;/span&gt;. Existem também as linguagens de programação de alto nível, que servem pra fazer coisas com menor trabalho. Outra hora explicaremos isso.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-4900070963436377161?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/4900070963436377161/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=4900070963436377161' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/4900070963436377161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/4900070963436377161'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2008/04/computador-de-von-neumann-o-seu.html' title='Computador de Von Neumann (o seu)'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_8ygtbgj6ZvY/SA6A4C3JmnI/AAAAAAAAADQ/k7TSuA6wtXs/s72-c/figura2.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-9023884446358418829</id><published>2008-04-21T14:29:00.004-03:00</published><updated>2008-04-24T00:50:46.063-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='impressora'/><category scheme='http://www.blogger.com/atom/ns#' term='pepinos'/><title type='text'>Guia Rápido - Pepinos da hora da impressão</title><content type='html'>&lt;span style="font-family:arial;"&gt;Todos nós, alguma hora já passamos por situações onde queremos a todo custo cancelar uma impressão que está acontecendo, e por nada nesse mundo a impressão pára. E vai gastanto seu papel (naquela hora que você está com as folhas contadas) e sua tinta e seu tempo e sua paciência.&lt;br /&gt;Fiz um guia em formato de tirinha pra ajudar esse pessoal. Taqui. Clique na imagem pra vê-la em tamanho grande.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://img501.imageshack.us/my.php?image=impressoramz4.jpg" target="_blank"&gt;&lt;img src="http://img501.imageshack.us/img501/6974/impressoramz4.th.jpg" alt="Free Image Hosting at www.ImageShack.us" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://img604.imageshack.us/content.php?page=blogpost&amp;amp;files=img501/6974/impressoramz4.jpg" title="QuickPost"&gt;&lt;img src="http://imageshack.us/img/butansn.png" alt="QuickPost" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;O citado acima reinicia o sistema de impressão do windows sem precisar reiniciar a máquina. No mundo unix, se acaso isso fosse necessário:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#&gt; /etc/rc.d/init.d/cupsd restart&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt; E morreu muderno!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;ps.: Como bem lembrado por &lt;a href="http://www.blogger.com/Dalton"&gt;Dalton&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Devo lembrar apenas que o exato comando mostrado no artigo tem variações de acordo com a distribuição. No Debian e derivados, como o Ubuntu, seria:&lt;br /&gt;&lt;br /&gt;sudo /etc/init.d/cupsys restart&lt;br /&gt;&lt;br /&gt;Na distribuição Foresight, por exemplo, já seria sudo service cups restart&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-9023884446358418829?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/9023884446358418829/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=9023884446358418829' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/9023884446358418829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/9023884446358418829'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2008/04/guia-rpido-pepinos-da-hora-da-impresso.html' title='Guia Rápido - Pepinos da hora da impressão'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-5006515797300577205</id><published>2008-04-20T13:11:00.009-03:00</published><updated>2008-04-20T18:14:54.153-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mkv'/><category scheme='http://www.blogger.com/atom/ns#' term='xvid'/><category scheme='http://www.blogger.com/atom/ns#' term='rmvb'/><category scheme='http://www.blogger.com/atom/ns#' term='x264'/><category scheme='http://www.blogger.com/atom/ns#' term='avi'/><title type='text'>Codecs e Formatos de Video</title><content type='html'>&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;font-size:85%;" &gt;&lt;span style="font-family:arial;"&gt;Aprenda a escolher os tipos de vídeo&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt; Aí pela net afora temos vários vídeos (gratuitos, pagos e pirateados) que estão nos mais diversos formatos: .avi, .ogm, .mkv, .rmvb... E ainda, quando se baixa um deles, de repente não conseguimos rodar porque falta um determinado codec.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Peraê! Que diabos são codecs? Qual a diferença entre codecs e formatos? Não são a mesma coisa?"&lt;/span&gt;&lt;br /&gt;Não senhor! Um codec é uma ténica utilizada pra comprimir um arquivo de audio ou de vídeo. Um formato, é algo chamado também de container. É um envelope onde se coloca aqueles arquivos de audio e vídeo que você compactou usando um codec qualquer que você tenha escolhido.&lt;br /&gt;&lt;br /&gt;Codecs são utilizados porque arquivos de vídeo ou de audio puro, sem qualquer compactação, são bastante grandes pra ser armazenados ou transmitidos. Se por acaso já tiveste a oportunidade de comparar um tamanho de um arquivo .bmp com o mesmo arquivo em .jpg, deves ter notado uma diferença bastante grande de tamanho entre um e outro, mais ou menos da ordem de 20:1 ou maior. Se você ainda não teve a oportunidade de reparar isso, crie um desenho tosco no paint do windows e depois peça pra salvar nos dos formatos e compare. Pois é, um arquivo de bitmap, é um arquivo &lt;span style="font-style: italic;"&gt;sem compactação&lt;/span&gt;. Num .bmp, cada pixel, é representado por um número de 3 bytes (um byte pra cada cor primária). Numa imagem de 640x480 pixels por exemplo, temos 307200 pixels total, multiplicados por 3 bytes, dá 900 e poucos kbytes. Se for salva em .jpg, dá pra cair pra algo proximo de 40kbytes. Impressionante, não? Quem sabe numa próxima, possamos explicar por alto como se consegue compactar desta maneira. Mas enfim, não é que se use a força pra expremer um arquivo até ele ficar pequeno. Procura-se representar a mesma coisa com menos bytes, só isso. Nem que pra isso, seja necessário diminuir a qualidade da fotografia.&lt;br /&gt;Para se conseguir fazer um vídeo, coloca-se várias imagens estáticas em sequência, numa velocidade de mais ou menos 25 a 30 imagens por segundo (os famosos frames por segundo, ou fps). Isso é o suficiente para a visão do homem pensar que está vendo algo em movimento contínuo.  Isso acontece porque uma imagem demora alguns milisegundos antes de vir outra. Graças a deus, porque se seu olho fosse mais esperto, os requerimentos tecnológicos pra assistir televisão seriam muito maiores =). Agora imagine que fôssemos assistir pela net um vídeo de 30 quadros por segundo e cada quadro fosse de 900Kbytes, como no exemplo acima? Precisaríamos de uma conexão de 27 megabytes , ou 27*8 = 216 megabits por segundo pra conseguir assistir isso .Do mesmo modo, não seria legal um filme em seu pc desta maneira consumiria 1,6 gigabytes para cada minuto de vídeo.  Ah sim! E isto é so para o vídeo!&lt;br /&gt;Voltando aos codecs e formatos...&lt;br /&gt;Deve-se entender que um filme é formado por uma trilha de vídeo, uma trilha de audio, ou, várias trilhas de vídeo e várias trilhas de audio e de legendas e o que mais o &lt;span style="font-weight: bold; font-style: italic;"&gt;formato &lt;/span&gt;permitir. Estas trilhas dentro do formato, é que podem ser comprimidas por um determinado codec. Por exemplo, pode-se ter um filme com uma trilha de vídeo compactada com o codec &lt;span style="font-style: italic;"&gt;xvid &lt;/span&gt;e a trilha de som em &lt;span style="font-style: italic;"&gt;mp3&lt;/span&gt; dentro de um container &lt;span style="font-style: italic;"&gt;avi. &lt;/span&gt;Assim como, este mesmo avi poderia ter a trilha sonora em codec &lt;span style="font-style: italic;"&gt;ogg vorbis &lt;/span&gt;o vídeo em codec &lt;span style="font-style: italic;"&gt;dvix.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;"&lt;span style="font-style: italic;"&gt;Não to entendendo nada!".&lt;/span&gt;&lt;br /&gt;Olhe a figura:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt;&lt;img src="http://img175.imageshack.us/img175/6219/figura1pl0.jpg" /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;font-size:85%;"&gt;  Um container faz o que se chama de &lt;span style="font-style: italic;"&gt;mux &lt;/span&gt;, ou seja, ele junta as várias trilhas em um só arquivo (ou fluxo para transmissão).  Geralmente isso é feito intercalando-se quadros de video e quadros de audio no referido arquivo. Existe uma diversidade imensa de codecs. Dê uma olhada em &lt;a href="http://www.free-codecs.net"&gt;www.free-codecs.net&lt;/a&gt; que você acha um monte. Em geral, eles vem em pacotes. Recomendo o &lt;span style="font-style: italic;"&gt;ffdshow&lt;/span&gt; se você for usar somente com o intuito de assitir filmes, e o &lt;span style="font-style: italic;"&gt;Ace Mega Codecs Pack&lt;/span&gt; pra quem vai converter e editar. Os codecs ficam guardados nas pastas de sistema do windows e podem ser usados por uma série de programas compatíveis, como o &lt;a href="http://www.videohelp.com/tools/Virtualdub-MPEG2"&gt;virtualdub&lt;/a&gt; ou o Nero vision.&lt;br /&gt; No entanto, existem programas que usam codecs "embutidos" neles mesmos, como o &lt;a href="http://www.videolan.org/"&gt;vlc&lt;/a&gt; (que não só toca tudo como serve pra converter também), e para pessoas corajosas que gostam de usar a linha de comando (exemplo: eu) tem o &lt;a href="http://www.videohelp.com/tools/ffmpeg"&gt;ffmpeg&lt;/a&gt;. Ainda sim, fizeram frontends para o ffmpeg como o &lt;a href="http://www.videohelp.com/tools/ffmpegGUI"&gt;ffmpegGUI&lt;/a&gt; para facilitar a vida das pessoas. &lt;br /&gt;Como deu pra perceber, o codec é algo separado do formato. No entanto, alguns formatos são amarrados a determinados codecs.  É o caso do wmv da microsoft. Aliás, wmv é tanto o nome de um codec de vídeo como de um formato. Usa-se alguma versão do codec windows media video com algum do windows media audio. O mesmo serve para o .mpg, no qual se usa mp2v (mpeg 2 video) para o video e mpga (mpeg audio) para  o som. Devo lembrar que volta e meia um arquivo tem um formato e somente uma trilha dentro. O mp4 por exemplo foi feito pra carregar som e vídeo (nos celulares, por exemplo), mas frquentemente é usado só com musicas. O mp4 está atrelado ao aac e a uns 3 ou 4 codecs diferentes de vídeo. Também se encontra avi's que só tenham vídeo, assim como se encontra trilhas solitárias .m2v, .mp3, .aac, .m4a , sem necessariamente estarem dentro de um container.&lt;br /&gt; &lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Sim, mas qual codec/formato eu escolho?"&lt;/span&gt;&lt;br /&gt;Se a preocupação for compatibilidade, use o avi com divx e mp3.  Tem até dvdplayers domesticos que rodam isso aí. O avi não está amarrado a codecs, e portanto você pode escolher entre uma  gama enorme deles. O divx codifica rapido, o sigma rmp4 vai no mesmo nível de velocidade do divx porém um pouco melhor em qualidade. O rmvb não é aceito por todos os players, muito menos por todos os programas codificadores.  Tem alguns poucos que fazem  isso, como o Easy RMP. Para linux, não há nenhum programa, e até pra assistir é chatinho.Também, nos programas que o fazem, demora-se o dobro de tempo para codificar do que se fosse avi+divx. No entanto, o rmvb é adorado pelo pessoal que baixa seriados e animes em geral porque consegue o mesmo que o aví+divx só que com a metade do tamanho dele. &lt;span style="font-weight: bold;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;br /&gt; &lt;span style="font-family: arial;"&gt;Mas o &lt;/span&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;filé mesmo &lt;/span&gt;&lt;span style="font-family: arial;"&gt;é usar o formato &lt;/span&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;matroska &lt;/span&gt;&lt;span style="font-family: arial;"&gt;(.mkv) com codec x264 no vídeo e aac para o som. O mkv é o melhor container (na minha opnião, e na de muita gente) pois não se amarra a codecs,  tem mais recursos, e gera menos &lt;/span&gt;&lt;span style="font-style: italic; font-family: arial;"&gt;overhead &lt;/span&gt;&lt;span style="font-family: arial;"&gt;de processamento do que o avi. Ah sim! E é livre de patentes! O mkv aceita legendas por exemplo! Coisa que no avi tu tem que fazer colocando um .txt, .sub ou .srt junto ao arquivo. Também aceita divisão do filme em capítulos. Existe uma série de programas &lt;/span&gt;&lt;a style="font-family: arial;" href="http://www.matroska.org/downloads/windows.html"&gt;nesta página&lt;/a&gt;&lt;span style="font-family: arial;"&gt; para se trabalhar com arquivos .mkv. Alguns deles, permitem se trabalhar com .mkv e .avi como o avimux-gui. Inclusive neste, pode-se inserir uma série de tipos de legendas diferentes (.sub, .ssa, .srt), colocar várias triilhas diferntes de som/video/audio , colocar/retirar atraso entre elas e etc. Pena que o pessoal da insudtria dos eletrônicos ainda não fez player domestico que rode .mkv. O aac é um codec de audio que consegue superioridade em relação ao mp3,  quando usado o mesmo bitrate.  Ele pode ser usado também em .avi's. O x264 (ou h264) é um codec de vídeo que consegue superioridade em qualidade, em relação ao rmvb e com o mesmo tamanho que ele. Pode ser usado em avi ou mkv, ou ainda, em mp4. A codificação de um video com x264 é demorada como a do rmvb. Transmissões digitais de tv tem sido feitas usando x264+aac no brasil. Tem sido usado também em ripagem de blu-rays. O x264 também é livre de patentes.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: arial;"&gt; Um ultimo detalhe, é que na hora da codificação pode-se definir o bitrate tanto pra video quanto pra audio, e que o tamanho do arquivo final depende desta relação. Obviamente, quanto menor o bitrate, menor o arquivo de saida.  Pode-se escolher um bitrate menor quando a resolução do vídeo for baixa. Por hoje é só! Sugiro a quem queira brincar com isso, que baixe o virtualdub-mpeg2 e/ou o avimux-gui. Links aí em cima.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-5006515797300577205?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/5006515797300577205/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=5006515797300577205' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/5006515797300577205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/5006515797300577205'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2008/04/codecs-e-formatos-de-video.html' title='Codecs e Formatos de Video'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8803670686315312037.post-6771600252778212346</id><published>2008-04-18T21:18:00.001-03:00</published><updated>2008-04-20T18:20:41.319-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bits'/><category scheme='http://www.blogger.com/atom/ns#' term='algebra de boole'/><category scheme='http://www.blogger.com/atom/ns#' term='portas lógicas'/><category scheme='http://www.blogger.com/atom/ns#' term='bytes'/><title type='text'>Porque os computadores funcionam ??</title><content type='html'>&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;A mágica que faz os computadores funcionarem&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;Como raios um compuador funciona? Como pode um equipamento eletrônico "ser inteligente", a ponto de fazer contas, dentre otras coisas? Se alguma vez perguntate es&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;sas coisas a si próprio e não achaste resposta, aqui vai a explicação, para vossa felicidade.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-style: italic;"&gt;Resposta curta: &lt;/span&gt;computadores funcionam porque inventaram transistores.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Certo. Mas o que raios são transistores?"&lt;/span&gt;&lt;br /&gt;É esse carinha da foto aqui embaixo&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_8ygtbgj6ZvY/SAk9aRbbnqI/AAAAAAAAAAU/VMemq9jyvM8/s1600-h/transistor.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 155px; height: 173px;" src="http://bp3.blogger.com/_8ygtbgj6ZvY/SAk9aRbbnqI/AAAAAAAAAAU/VMemq9jyvM8/s320/transistor.jpg" alt="" id="BLOGGER_PHOTO_ID_5190747567085559458" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;Se fostes um bom estudante de física, saberás que alí em cima tem um resistor, e que antes dele tem um &lt;span style="font-style: italic;"&gt;Vcc+&lt;/span&gt; que representa um polo positivo e cá embaixo tem três tracinhos que represen&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;tam um polo negativo.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;"Sim, e daí?"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;E daí que os transistores funcionam de certa forma como chaves. Como um interruptor de luz. Basta que tu olhes na figura acima onde tem um &lt;span style="font-style: italic;"&gt;V&lt;sub&gt;in&lt;/sub&gt; &lt;/span&gt;&lt;span&gt;e saber que quando se aplica um&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;a tensão nele, o circuito passa a conduzir energia entre os outros dois terminais que existem ali, o coletor e o emissor. No caso dessa figura por exemplo, se aplicada uma tensão em &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span style="font-style: italic;"&gt;V&lt;sub&gt;in &lt;/sub&gt;o &lt;/span&gt;&lt;span&gt;circuito ia passar a conduzir entre o V&lt;sub&gt;out&lt;/sub&gt; e o terra. Aí alguém resolveu pegar isso aí e começar a fazer portas lógicas. Antes de aprender portas lógicas, aprenda um tiquin de binária.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt; Em eletrônica digital, lida-se com valores 0 e 1. Por isso, chamado de binária - tem &lt;span style="font-weight: bold;"&gt;dois&lt;/span&gt; valores. Um '1' representa uma tensão alta, e o '0' uma tensão baixa. Em geral, uma tensão alta quer dizer 5 volts, e uma tensão baixa quer dizer zero volts. Por sinal, é justamente isto que é um bit: um valor de tensão 0 ou 1. É a menor unidade de informação que temos. Não confundir com byte. Um byte é um conjunto de &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;oito bits. A figura abaixo tentar ilustrar que num sistema &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;digital, os pulsos de onda são (mais ou menos) quadrados. Ao lado esquerdo dos pulsos quadrados, há um pulso de onda senoidal, só pra efeito de comparação.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8ygtbgj6ZvY/SAlSVxbbnuI/AAAAAAAAAA0/FiwJ-FFJFOw/s1600-h/ac_dc.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_8ygtbgj6ZvY/SAlSVxbbnuI/AAAAAAAAAA0/FiwJ-FFJFOw/s320/ac_dc.jpg" alt="" id="BLOGGER_PHOTO_ID_5190770579520331490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;Uma série de bits um atrás do outro&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;, como por exemplo uma sequência 1001 pode representar alguma coisa útil. Representa-se por exeplo, números. Esse daí por exemplo representa um cinco.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;"Como assim?"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;Assim ó! Usando a matematica cuja base é dois. Geralmente as pessoas entendem melhor olhando uma figura como esta do que lendo qualquer tamanho de texto. Aqui está representado o número 45 em base decimal e base binária.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8ygtbgj6ZvY/SAlPmxbbnsI/AAAAAAAAAAk/VLnT1v4rU38/s1600-h/dec_bin.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_8ygtbgj6ZvY/SAlPmxbbnsI/AAAAAAAAAAk/VLnT1v4rU38/s320/dec_bin.jpg" alt="" id="BLOGGER_PHOTO_ID_5190767573043224258" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;Entendeu? Agora, suponha apenas números de 1 bit apenas, e finalmente, vamos às portas lógicas. Elas são construídas a partir de transistores.Uma porta lógica ordinária tem duas&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt; entradas,  onde se coloca cada uma um bit, e uma saída, que dá como resultado a operação da porta lógica. Existe uma meia dúzia ou pouco mais que isso de portas lógicas diferentes. Todas elas derivam de tipos mais básicos acrescentados de mais alguma coisinha. Finalmente estamos chegando na parte interessante. Vou expl&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;icar só as portas AND, NOT , OR e XOR. Traduzindo, porta e, não, ou, e ou exclusivo. &lt;span style="font-style: italic;"&gt;"que é que elas fazem?".&lt;/span&gt; Fazem a operação indicada por seus nomes. Se tiveres por exemplo uma porta AND, a saída dela vai dar 1 se uma&lt;span style="font-style: italic; font-weight: bold;"&gt; &lt;/span&gt;entrada tiver em 1 &lt;span style="font-style: italic; font-weight: bold;"&gt;E &lt;/span&gt;a outra também estiver. Se uma das duas ou as duas estiverem em 0, a saída é&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt; 0. Uma porta OR vai dar 1 em sua saida se uma entrada &lt;span style="font-weight: bold; font-style: italic;"&gt;OU&lt;/span&gt; a outra  estiverem em 1. É zero na saída somente se as duas estiverem em 0. Ja a XOR, só da 1 na saída quando somente uma das duas estiver em 1. Ou seja, ou uma ou outra, não as duas. Para as duas em 0 ou as duas em 1, a saida da porta XOR é 0. A porta NOT, ao contrário das outras, recebe só uma &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;entrada, e dá o seu valor inverso em sua saída. Se entra um 0, ela dá um 1 e vice-versa. Abaixo, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;esta um exemplo de como se fazer portas AND (à esquerda) e OR (à direita). Todas as outras, são feitas &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;de forma parecida com essas duas. Entenda que V1 e V2 são as entradas, e Vout é a saída, e que as tensões fluem do terra ao vcc.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_8ygtbgj6ZvY/SAlX9RbbnvI/AAAAAAAAAA8/IN18_vyhHEs/s1600-h/and_or.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_8ygtbgj6ZvY/SAlX9RbbnvI/AAAAAAAAAA8/IN18_vyhHEs/s320/and_or.jpg" alt="" id="BLOGGER_PHOTO_ID_5190776755683303154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt; Pra efeitos de simplificar nossa vida, representa-se as portas lógicas através de símbolos nos quais se omite os transistores, o Vcc e o terra. Só são mostradas as entradas e saídas das portas. Aqui a representação das mais famosas:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_8ygtbgj6ZvY/SAlfMxbbnwI/AAAAAAAAABE/XqVtmntNIjA/s1600-h/portas.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 475px; height: 53px;" src="http://bp1.blogger.com/_8ygtbgj6ZvY/SAlfMxbbnwI/AAAAAAAAABE/XqVtmntNIjA/s320/portas.jpg" alt="" id="BLOGGER_PHOTO_ID_5190784718552669954" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A propósito, um N na frente do nome das portas representa um NOT concatenado com essa porta. Uma bolinha branca em qualquer entrada ou saída dessas portas representa que alí tem um inversor nela.  Bem, a partir daí, pode-se começar a construir circuitos concatenando umas e outras portas dessas. Quer um exemplo? Uma porta XOR funciona perfeitamente como uma somadora pra dois bits. Aliás, em binária:&lt;br /&gt;0 + 0 =0     0 + 1 = 1    1 + 1 = 0 e vai um (&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;assim como na base decimal você pode pegar o 45 e somar com 5. 5 + 5 = 10 e vai 1 pro quatro). Pra finalizar, abaixo um exemplo de um mei&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;o som&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;ador e de um somador completo. Um meio somador soma dois bits e tem uma saída de 'vai 1' que é comumente chamada de &lt;span style="font-style: italic;"&gt;carry out. &lt;/span&gt;O somador completo não só soma dois bits e gera o "vai um" como também tem uma entrada pra somar com um vai um que veio de outro somador ou meio somador. Assim, através do uso de somadores completos, pode-se somar numeros de mais de um bit (um somador pra cada).&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_8ygtbgj6ZvY/SAli4RbbnxI/AAAAAAAAABM/PDp2y9S0I64/s1600-h/meiosomador.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_8ygtbgj6ZvY/SAli4RbbnxI/AAAAAAAAABM/PDp2y9S0I64/s320/meiosomador.gif" alt="" id="BLOGGER_PHOTO_ID_5190788764411862802" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_8ygtbgj6ZvY/SAli4RbbnyI/AAAAAAAAABU/FukO4twU7dI/s1600-h/somadorfull.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://bp3.blogger.com/_8ygtbgj6ZvY/SAli4RbbnyI/AAAAAAAAABU/FukO4twU7dI/s320/somadorfull.gif" alt="" id="BLOGGER_PHOTO_ID_5190788764411862818" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:arial;"&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;São só dois circuitos simples pra servir de exemplo (os quais eu imagino, sejam fáceis de entender). Juntando uma porção de coisas como multiplicadores, subtratores, tudo isso feito com portas lógicas, consegue-se fazer um computador direitinho. Ou ao menos uma calculadora. Mas enfim, nosso intuito não é dar uma aula completa de como isso tudo funciona. Era só pra dar uma noção por alto de como funciona a eletrônica que faz um computador funcionar. Aceito comentários!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8803670686315312037-6771600252778212346?l=blogdacomputacao.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdacomputacao.blogspot.com/feeds/6771600252778212346/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8803670686315312037&amp;postID=6771600252778212346' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/6771600252778212346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8803670686315312037/posts/default/6771600252778212346'/><link rel='alternate' type='text/html' href='http://blogdacomputacao.blogspot.com/2008/04/porque-os-computadores-funcionam.html' title='Porque os computadores funcionam ??'/><author><name>Eder Carneiro</name><uri>http://www.blogger.com/profile/01567162103658593684</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_8ygtbgj6ZvY/SAk9aRbbnqI/AAAAAAAAAAU/VMemq9jyvM8/s72-c/transistor.jpg' height='72' width='72'/><thr:total>1</thr:total></entry></feed>
