tag:blogger.com,1999:blog-45234002516973866872024-03-05T01:22:45.140-03:00Felicio.COM.BRUm site pessoal, com o objetivo de armazenar o conhecimento por mim adquirido para fácil acesso. Isso inclui material proprio ou retirado da Internet, que vão de: Novidades, Artigos, Tutoriais, Ferramentas, Livros e como ninguem é de ferro, um pouco de Humor Geek!André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.comBlogger45125tag:blogger.com,1999:blog-4523400251697386687.post-85961771753942572242024-01-12T14:03:00.006-03:002024-02-06T14:31:56.000-03:00Descobrir DHCP server na rede Como descobrir se tem um servidor DHCP na rede?<br />Rápido e caceteiro (com nmap):<div><br /><span style="font-family: courier;">nmap --script broadcast-dhcp-discover -e <interface de rede></span></div><div><br /></div><div><br />Ref.:<br />https://www.redhat.com/sysadmin/troubleshoot-network-dhcp-configuration</div>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-67602697244435775762023-11-24T15:47:00.019-03:002024-01-11T17:36:26.758-03:00Definir na JVM locale e timezone<p>Mais uma da série rápido e caceteiro</p><p>Após dev reclamar que o timezone e locale tavam batendo errados na apresentação da aplicação, fui dar uma olhada.</p><p>Em resumo. Dev não definiu na app seu timezone/locale e ficou 100% dependente do SO. No caso era pod rodando na "nuvem".<br /></p><span><a name='more'></a></span><p><br /></p><p>"Resolução" via infra:</p><p>Para chamada na hora de subir a JVM - definir atributos da jvm na execução<br /><br /><i>-Duser.language=pt -Duser.country=BR -Duser.timezone=America/Recife</i></p><p>Só substitua para seu timezone <br /><br /><br /></p><p>Resolução "certa" via devs:</p><p>Agora a parte divertida é fazer a aplicação definir valores padrão<br /></p><p><i>Locale.setDefault(new Locale("pt", "BR")); </i></p><p><i>TimeZone.setDefault(TimeZone.getTimeZone("America/Recife")); // pre java8</i><br />ou<br /><i>ZoneId.setDefault(ZoneId.of("America/Recife")); // java8+</i><br /></p><p><br /></p><p>Dúvidas? Lança aqui nos comentário do post <br /><br />Ah... após questionamentos tenho mais uma:<br /></p><p><i>-Dfile.encoding=UTF-8</i></p><p><i>System.setProperty("file.encoding", "UTF-8");<br /><br /></i></p><p><i><br /></i></p><p>Pacotão para os preguiçosos:<i><br />-Duser.language=pt -Duser.country=BR -Duser.timezone=America/Recife -Dfile.encoding=UTF-8<br /></i></p><p>Se pegar uma imagem s2i java (redhat/openshift) só definir<br /><i>JAVA_OPTS=-Duser.language=pt -Duser.country=BR -Duser.timezone=America/Recife -Dfile.encoding=UTF-8</i></p>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-550629912309786502023-09-27T12:46:00.009-03:002024-01-08T12:20:22.888-03:00Separação de variáveis por linha nos /proc/[pid]/environ<p>O quão frustrante é querer ver as variáveis de ambiente de um processo e termos um caminhão de coisas sem separação por linha. Algo +/- assim:</p><p><span style="font-family: courier;"># cat /proc/818/environ </span></p><p><span style="font-family: courier;">MAIL=/var/mail/tomcatLANGUAGE=pt_BR:pt:enUSER=tomcatXDG_SESSION_TYPE=unspecifiedSHLVL=0LD_LIBRARY_PATH=/usr/local/jdk1.6.0_45/jre/lib/amd64/server:/usr/local/jdk1.6.0_45/jre/lib/amd64:/usr/local/jdk1.6.0_45/jre/../lib/amd64::/usr/local/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnuHOME=/home/tomcatLOGNAME=tomcatJOURNAL_STREAM=9:24781_=/usr/local/tomcat/bin/startup.shXDG_SESSION_CLASS=backgroundXDG_SESSION_ID=c1PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/binRODA_PRIORIDADE=falseJAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xmx12g -XX:MaxPermSize=2g -javaagent:/usr/local/tomcat/glowroot/glowroot.jar -Dglowroot.collector.address=10.10.10.10:8181LANG=pt_BR.UTF-8SHELL=/bin/bashJAVA_HOME=/usr/local/javaPWD=/RODA_CRONOLOGICO=true</span></p><span><a name='more'></a></span><p>Conforme man (man 5 proc) a separação existe e é o byte com null (\0). Agora é só transformar usando tr de \0 para \n.</p><p>Abaixo exemplo mesmo processo acima</p><p><span style="font-family: courier;"># cat /proc/818/environ | </span><b style="font-family: courier;">tr '\0' '\n'</b></p><p><span style="font-family: courier;">MAIL=/var/mail/tomcat</span></p><p><span style="font-family: courier;">LANGUAGE=pt_BR:pt:en</span></p><p><span style="font-family: courier;">USER=tomcat</span></p><p><span style="font-family: courier;">XDG_SESSION_TYPE=unspecified</span></p><p><span style="font-family: courier;">SHLVL=0</span></p><p><span style="font-family: courier;">LD_LIBRARY_PATH=/usr/local/jdk1.6.0_45/jre/lib/amd64/server:/usr/local/jdk1.6.0_45/jre/lib/amd64:/usr/local/jdk1.6.0_45/jre/../lib/amd64::/usr/local/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu</span></p><p><span style="font-family: courier;">HOME=/home/tomcat</span></p><p><span style="font-family: courier;">LOGNAME=tomcat</span></p><p><span style="font-family: courier;">JOURNAL_STREAM=9:24781</span></p><p><span style="font-family: courier;">_=/usr/local/tomcat/bin/startup.sh</span></p><p><span style="font-family: courier;">XDG_SESSION_CLASS=background</span></p><p><span style="font-family: courier;">XDG_SESSION_ID=c1</span></p><p><span style="font-family: courier;">PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin</span></p><p><span style="font-family: courier;">INVOCATION_ID=0b4cbc9232ed45f3a184861925814cc7</span></p><p><span style="font-family: courier;">XDG_RUNTIME_DIR=/run/user/1005</span></p><p><span style="font-family: courier;">RODA_PRIORIDADE=false</span></p><p><span style="font-family: courier;">JAVA_OPTS=-Dfile.encoding=UTF-8 -server -Xmx12g -XX:MaxPermSize=2g -javaagent:/usr/local/tomcat/glowroot/glowroot.jar -Dglowroot.collector.address=10.100.7.130:8181</span></p><p><span style="font-family: courier;">LANG=pt_BR.UTF-8</span></p><p><span style="font-family: courier;">SHELL=/bin/bash</span></p><p><span style="font-family: courier;">JAVA_HOME=/usr/local/java</span></p><p><span style="font-family: courier;">PWD=/</span></p><p><span style="font-family: courier;">RODA_CRONOLOGICO=true</span></p><p><br /></p><p>E temos saída mais legível. ;)</p><p>Como em linux há diversas formas de fazer a mesma coisa. Também pode ser com xargs (<span color="var(--highlight-color)" style="font-family: inherit; font-size: var(--_pr-code-fs); font-style: inherit; font-variant-caps: inherit; font-variant-ligatures: inherit; font-weight: inherit; white-space: inherit;">xargs -0 -L1 -a /proc/818/environ)</span></p>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-42797424395307723902023-05-10T11:45:00.005-03:002023-11-16T21:47:46.119-03:00O que é jitter e como ele influencia na sua conexão?<p>A performance da internet e a velocidade da conexão são importantíssimas nos dias de hoje, para que os usuários possam navegar com a maior qualidade possível. Entre os principais indicadores de desempenho estão a velocidade de download, upload, ping e jitter.<span></span></p><a name='more'></a><p></p><h3 style="text-align: left;">O que é jitter?</h3><p>Você provavelmente já escutou por aí que a rede está “congestionada” ou “atrasada”, certo? Pois esse tipo de comentário está ligado diretamente ao jitter. Ao utilizarmos essa expressão estamos falando da variação com atraso na entrega de dados em uma rede.</p><p>Isso significa que que há uma interrupção na sequência normal na troca de pacotes de dados, considerando o envio e o recebimento durante a conexão. Isso ocasiona em uma flutuação, que faz com que a experiência na internet seja impactada.</p><p>O jitter é medido a partir dos testes de pings, considerando a largura da rede e o tempo entre a troca de dados.</p><h3 style="text-align: left;">Qual é a diferença entre ping e jitter?</h3><p>Quem não se aprofunda muito no desempenho da internet mal faz distinção entre ping e jitter, já que os números elevados de ambos mostram que a qualidade não está muito boa. No entanto, eles não são sinônimos.</p><p>Como falado anteriormente, o jitter é a variação constante nos testes de Ping. Já o Ping é a latência da rede. Ou seja, quanto tempo um pacote de dados demora para ir do seu computador até o servidor e voltar.</p><p>Qualquer dado de Ping que esteja acima de 100ms indica que a conexão está muito lenta e que há problemas na troca de informação na rede.</p><p>Se isso acontecer ocasionalmente não irá interferir tanto no jitter, que traz indicadores das várias diferenças encontradas ao testar o ping. Mas, se os valores do ping estão constantemente elevados, consequentemente o jitter também estará, apresentando o atraso na rede.</p><h3 style="text-align: left;">Como o jitter impacta na sua conexão?</h3><p>Caso os índices elevados do jitter sejam esporádicos, o atraso ocasionado só será sentido pelo usuário em determinados serviços. Isso porque em algumas trocas de dados, ele tem impacto mais significativo.</p><p>É o caso, por exemplo, nas chamadas de voz e vídeo. O atraso é mais prejudicial porque para essas funções os pacotes são divididos. Há um pacote de transferência para dados Volp, de voz, e outro para imagens.</p><p>A tentativa de envio e recebimento de imagem e voz ao mesmo tempo vai exigir mais da conexão e pode haver diferentes pings para cada uma das transmissões. Quando há jitter, você percebe que a fala está atrasada. A imagem mostra que a pessoa já falou o áudio que você recebeu com alguns milissegundos de atraso.</p><p>Há outras situações em que o jitter pode impactar. É o caso, por exemplo, de grande tráfego de usuários em um mesmo site.</p><p>Se o servidor não estiver preparado para receber grande fluxo de acesso, isso pode ocasionar em falha no carregamento e até fazer com que a página saia do ar. Nesses casos, o problema não está na sua internet e sim na outra ponta da comunicação.</p><h3 style="text-align: left;">Meta de jitter da Anatel</h3><p>O jitter é tão importante como indicador do desempenho da internet que em 2011, e novamente em 2014, a Agência Nacional de Telecomunicações (Anatel) o colocou entre as <a href="https://www.anatel.gov.br/Portal/verificaDocumentos/documento.asp?numeroPublicacao=333392&assuntoPublicacao=null&caminhoRel=null&filtro=1&documentoPath=333392.pdf" target="_blank">metas a serem alcançadas</a> pelas operadoras que oferecem internet banda larga. O intuito é que cada vez mais seja oferecida uma boa conexão para os clientes.</p><p>Para que se tenha uma qualidade mínima, a instituição colocou o indicador de jitter em até 50ms em no mínimo de 95% das medições. Mas, isso levando em consideração que ainda há planos com baixa velocidade em operação no país.</p><p>Esse não é o índice ideal do jitter para uma navegação perfeita, mas essa meta já contribui para que as operadoras invistam em tecnologias e infraestrutura para melhorar os serviços de internet oferecidos no Brasil.</p><h3 style="text-align: left;">Qual é o jitter ideal?</h3><p>Em uma rede com funcionamento perfeito, o que se espera do jitter é que seja zerado, ou seja, sem nenhuma variação de atraso na troca de dados na internet.</p><p>No entanto, há diversos fatores que interferem na sua conexão. Desde o plano de internet banda larga contratado, o tipo de conteúdo que você está acessando, a quantidade de pessoas na página e até mesmo o navegador de internet.</p><p>Diante disso, para o melhor desempenho da sua conexão, o ideal é que o jitter esteja abaixo de 20ms. Com essa medida, qualquer atraso não é sentido pelo usuário e a experiência de navegação será boa.</p><p>Caso o jitter exceda 30ms, o impacto será perceptível pelo usuário, principalmente no caso de videoconferências e chamadas por Volp.</p><p>Para usuários que fazem muito uso desse tipo de serviço é importante investir em uma boa internet banda larga. Pacotes que contam com alta velocidade costumam ter menos jitter e uma melhor experiência para o cliente. Com a popularização do serviço, é possível contratar um bom plano sem estourar o orçamento!</p><h3 style="text-align: left;">Faça um teste de velocidade</h3><p>É verdade que quando a conexão está lenta você percebe instantaneamente. As páginas demoram a carregar, um arquivo demora para ser anexado no e-mail, o streaming trava toda hora e você não consegue ver as fotos no Instagram.</p><p>Mas, para acompanhar o desempenho da sua internet é fundamental fazer testes periódicos. Assim você descobre a velocidade que está recebendo da sua operadora, tanto de download quanto de upload.</p><p>Embora o teste não informe qual o valor do jitter da sua conexão, você é capaz de conferir qual o seu ping. Se o valor do ping for superior a 100ms sua internet não está com boa velocidade e há atraso na conexão.</p>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-38472793124591270422023-01-17T11:06:00.012-03:002023-06-15T14:32:06.994-03:00Resetar as permissões e proprietários dos pacotes instalados com RPM<p>Para resetar as permissões e os proprietários dos pacotes instalados com o gerenciador de pacotes RPM, você pode usar o comando "rpm" com as opções "--setperms" e "--setugids" seguido pelo nome do pacote. Por exemplo:</p><p><i>rpm --setperms --setugids nome_do_pacote</i></p><p>Isso redefinirá as permissões (<i>setperms</i>) e os proprietários (<i>setugids</i>) dos arquivos do pacote para as configurações padrão especificadas pelo pacote durante a instalação.</p><p><span></span></p><a name='more'></a>Se você deseja redefinir as permissões e os proprietários de todos os pacotes instalados no sistema, pode usar o seguinte comando:<p></p><p><i>rpm --setperms --setugids -a</i></p><p>Esse comando redefinirá as permissões (<i>--</i><i>setperms</i>) e os proprietários (<i>--</i><i>setugids</i>) de todos os pacotes (<i>-a</i>) instalados no sistema.</p><p>Tenha em mente que essas operações podem causar problemas com configurações personalizadas e/ou arquivos modificados pelo usuário, portanto é recomendável fazer backup antes de realizar essas operações.</p><p><br /></p><div style="text-align: left;">Mais inf.:<br /><a href="https://man7.org/linux/man-pages/man8/rpm.8.html">https://man7.org/linux/man-pages/man8/rpm.8.html</a></div>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-91222123320664357072023-01-10T12:41:00.004-03:002023-01-17T12:19:05.748-03:00Redirecionar todo tráfego de http para https no Apache (redhat like)<p>Rápido e caceteiro.</p><p>Crie o arquivo /etc/httpd/conf.d/default.conf com o conteúdo abaixo:</p><div style="text-align: left;"><i><VirtualHost _default_:80><br /><span style="white-space: pre;"> </span>RewriteEngine On<br /><span style="white-space: pre;"> </span>RewriteCond %{HTTPS} !=on<br /><span style="white-space: pre;"> </span>RewriteCond %{HTTP_HOST} !^(localhost|127.0.0.1)<br /><span style="white-space: pre;"> </span>RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R=301,L]<br /></VirtualHost></i></div><div style="text-align: left;"><span><a name='more'></a></span><i><br /></i></div><div>Isso ativará o módulo de reescrita do Apache e redirecionará todas as solicitações de http para https. Lembre-se de reiniciar o Apache depois de fazer essa alteração para que ela entre em vigor.</div><div><br /></div><br />Mais inf.:<br /><a href="https://httpd.apache.org/docs/2.4/rewrite/remapping.html">https://httpd.apache.org/docs/2.4/rewrite/remapping.html</a><br /><a href="https://httpd.apache.org/docs/2.4/rewrite/flags.html">https://httpd.apache.org/docs/2.4/rewrite/flags.html</a><p style="text-align: left;"><br /></p>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-50853013836209894742023-01-08T14:53:00.006-03:002023-01-17T12:19:58.003-03:00Rastrear todos os arquivos acessados por um processo<p>Existem várias maneiras de rastrear todos os arquivos acessados por um processo em Linux. Uma das formas é usando o comando "strace".</p><p>Para usar o strace, você precisará descobrir o ID do processo (PID) que deseja rastrear. Isso pode ser feito usando o comando "ps aux | grep [nome do processo]".</p><p>Uma vez que você tenha o PID, você pode usar o strace com o seguinte comando:</p><p><i>strace -e trace=file -f -p [PID]</i></p><p>Essa opção irá rastrear todas as chamadas do sistema de arquivos do processo específico.</p><p><span></span></p><a name='more'></a>Outra opção é usar o comando lsof, ele mostra todos os arquivos abertos pelos processos em execução.<p></p><p><i>lsof -p [PID]</i></p><p>Você pode usar esses comandos para rastrear os arquivos acessados por um processo específico.</p>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-16127878114924162022022-02-03T13:59:00.001-03:002022-02-03T14:02:01.856-03:00Confirmação de leitura VS Confirmação de entrega<div>Ao utilizar um cliente de email normalmente temos 2 opção de confirmação:</div><div><ul style="text-align: left;"><li>Solicitar uma confirmação de leitura;</li><li>Solicitar uma confirmação de entrega.</li></ul></div><div>Se marcar no cliente "<b>solicitar confirmação de leitura</b>" é adicionado ao email o cabeçalho <b>Disposition-Notification-To</b>. Exemplo:</div><div><br /></div><div><span style="font-family: courier;">Disposition-Notification-To: "André Felício" <eu@felicio.com.br></span></div><div><br /></div><div><br /></div><div>Na confirmação de entrega (<b>Return-Receipt-To</b>) é feita uma solicitação para que o servidor de destino envie um DSN (delivery status notification) assim que receber o email.</div><div><br /></div><div>Na confirmação de leitura (<b>Disposition-Notification-To</b>) é feita uma solicitação ao cliente de email do destinatário para que envie um DSN assim que a pessoa abrir o email.</div>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-20479279636616040172021-09-13T14:10:00.002-03:002021-09-13T14:10:30.612-03:00Teste simples de conexão/login IMAP em Pythonimport getpass, imaplib<br /><br />M = imaplib.IMAP4(input("Servidor: "))<br />M.login(input("Nome de usuário: "), getpass.getpass("Senha: "))<br />M.noop()<br />M.logout()André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-16541343743416838102021-07-19T12:20:00.002-03:002022-06-21T08:11:26.651-03:00Hello World (WSGI - Py3)Simples "Hello World!" para testar o mod_wsgi.<div><div><br /></div><div><span style="font-family: courier;"><span style="background-color: white;">def application(environ, start_response):</span></span></div><div><span style="font-family: courier;"> body = b'Hello world!\n'
<br /> status = '200 OK'
<br /> headers = [('Content-type', 'text/plain')]
<br /> start_response(status, headers)
<br /> return [body]</span><br /><span style="font-family: monospace;">
<br /></span><span><a name='more'></a></span></div></div><div>Mais inf. sobre como fazer deploy de uma aplicação python em apache</div><div><a href="https://steviesblog.de/blog/en/2020/09/23/deploy-dash-with-apache2/">https://steviesblog.de/blog/en/2020/09/23/deploy-dash-with-apache2/</a></div>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-89013804657256353152021-05-13T14:19:00.008-03:002021-05-14T15:12:37.559-03:00Diretrizes da matriz enviada aos funcionários da filial brasileira<p>It has been brought to our attention by several officials visiting our corporate headquarters that offensive language is commonly used by our Portuguese-speaking staff, and to be precise, by YOU. </p><p>Such behavior, in addition to violating our policy, is highly unprofessional and offensive to both visitors and colleagues.<span></span></p><a name='more'></a><p></p><p>Staff will IMMEDIATELY adhere to the following rules:</p><p>1) Words like caralho, cacete, porra or puta que o pariu and other such expressions will not be used for emphasis, no matter how heated the discussion.</p><p>2) You will not say cagada when someone makes a mistake, or está fazendo cagada if you see somebody either being reprimanded or making a mistake, or que cagada when a major mistake has been made. All forms derivated from the verb cagar are inappropiate in our environment.</p><p>3) No project manager, section head or administrator, under any circumstances, will be referred to as filho da puta, pentelho, or grande come merda or vaca gorda puta que a pariu.</p><p>4) A person with outstanding qualities will not be referred to as o pica master das galáxias.</p><p>5) Lack of determination will not be referred to as falta de culhão or coisa de boiola and neither will persons who lack initiative be referred to as puto, corno, cagão or viado.</p><p>6) Unusual or creative ideas from your superiors are not to be referred to as punhetas mentais.</p><p>7) Do not say como enche o puto do saco este pentelho do caralho if a person is persistent. When a task is heavy to accomplish remember that you must not say é foda. In a similar way, do not use esse cara está fudido if a colleague is going through a difficult situation. Furthermore, you must not say que foda when matters become complicated.</p><p>8) When asking someone to leave you alone, you must not say vai à merda.</p><p>9) Do not ever substitute 'May I help you?' with que porra você quer ?</p><p>10) When things get tough, an acceptable expression such as 'We are going through a difficult time' should be used, rather than isto está fudido or isto aquí é foda, or puta que o pariu!!!.</p><p>11) No salary increase shall be ever referred to as aumentinho de merda or que merreca.</p><p>12) Under no circumstances should you call our elderly corporate partners velhos pentelhos or velhos babacas.</p><p>13) Last, but not least, after reading this memo please do not say vou limpar o cu com isto. Just keep it clean and dispose of it properly. </p><p>We hope you will keep these directions in mind.</p><p>Thank you. </p>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-24971825498380607512021-01-21T09:13:00.001-03:002021-01-21T09:13:56.756-03:00Medalha, medalha, medalha!!!<div class="separator" style="clear: both;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXwqqOrpDA_ll5O0592h6drX85x4jHP7sVv00eYgxwzsaZjJxlzCUs4kv0mdtDVvVqZSzlt3hwsI9BygjY72wTO0UyEPdUJebR1nsjHO3WFd8QoToPRAcV-IiAgkVtpI_4qF3E37Vj6crC/s800/medalha.jpg" style="display: block; padding: 1em 0; text-align: center; "><img alt="" border="0" height="600" data-original-height="800" data-original-width="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXwqqOrpDA_ll5O0592h6drX85x4jHP7sVv00eYgxwzsaZjJxlzCUs4kv0mdtDVvVqZSzlt3hwsI9BygjY72wTO0UyEPdUJebR1nsjHO3WFd8QoToPRAcV-IiAgkVtpI_4qF3E37Vj6crC/s600/medalha.jpg"/></a></div>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com2tag:blogger.com,1999:blog-4523400251697386687.post-74462237808061322602020-04-26T19:07:00.003-03:002020-04-30T15:07:53.110-03:00Linux no Positivo Duo Q432A<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9qyZp3t3KHr_moSJKY466CEXidYrztGLXeoxtQEztAlwL3mBRB-zlZbY8QPO4l_9fC8qEcDn9vJa2XRCGMUUVme79lI2hMrqMDDjn80wjvBXnOHATVS7Sx7AaqPmJFKxfmAfkaV5JMxw7/s1600/notebook-2-em-1-positivo-quad-core-4gb-32gb-ssd-tela-11-6-windows-10-duo-q432a-11819190.webp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="1000" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9qyZp3t3KHr_moSJKY466CEXidYrztGLXeoxtQEztAlwL3mBRB-zlZbY8QPO4l_9fC8qEcDn9vJa2XRCGMUUVme79lI2hMrqMDDjn80wjvBXnOHATVS7Sx7AaqPmJFKxfmAfkaV5JMxw7/s320/notebook-2-em-1-positivo-quad-core-4gb-32gb-ssd-tela-11-6-windows-10-duo-q432a-11819190.webp" width="320" /></a></div>
O objetivo deste artigo é apenas informar, não fazer detalhamento técnico. <b>SIM, este laptop funciona, atualmente, muito bem com Linux</b>. Hoje estou usando plenamente com minha distribuição favorita para desktop, <b><a href="https://www.archlinux.org/" target="_blank">Arch Linux</a></b>. Quero apenas ajudar as pessoas que pediram socorro nos pedidos de ajuda/avaliações negativas nos fóruns BR (<a href="https://www.vivaolinux.com.br/topico/UbuntuBR/Touchscreen-de-notebook-POSITIVO-DUO-Q432A-nao-funciona-em-nenhuma-distribuicao-linux" target="_blank">1</a>, <a href="https://plus.diolinux.com.br/t/como-instalar-linux-em-positivo-duo-q432a-a-saga/14581" target="_blank">2</a>, <a href="https://www.vivaolinux.com.br/topico/Iniciantes-no-Linux/Desistindo-1" target="_blank">3</a>, <a href="https://www.clubedohardware.com.br/forums/topic/1380272-instalar-linux-ubuntu-no-notebook-positivo-duo-q432a/" target="_blank">4</a>).<br />
<a name='more'></a><br />
<h2>
Os poréns out-of-the-box</h2>
<div>
<br /></div>
Qual é o hardware? Apenas vá na página da <a href="https://www.meupositivo.com.br/para-voce/notebooks/notebook-positivo-duo-q432a" target="_blank">Positivo</a>. ;)<br />
Qual seu uso? Preciso apenas de um browser e acessos remotos como: ssh, rdp, vnc e me atende bem. Se for pensar em comprar para outra finalidade, talvez não valha a pena.<br />
<br />
<h3>
Linux</h3>
Não vou falar sobre instalação de uma distribuição Linux, existem centenas de milhares de páginas que explicam como instalar.<br />
<br />
O que faltou para uso pleno do hardware:<br />
- Falta de firmware para o touchscreen;<br />
- Wi-Fi sem suporte para 801.11.r (fast roaming)<br />
<br />
Todo o resto 100% funcional.<br />
<br />
<h4>
Wi-Fi</h4>
Para o Wi-Fi peguei algumas dicas na gringa. Basicamente o laptop é um <a href="https://www.intel.com.br/content/www/br/pt/products/boards-kits/compute-stick.html" target="_blank">Intel® Compute Stick</a>.<br />
<br />
Não tente usar em redes com <a href="https://en.wikipedia.org/wiki/IEEE_802.11r-2008">802.11r</a> com habilitado, basicamente há um bug no <a href="https://wiki.archlinux.org/index.php/wpa_supplicant" target="_blank">wpa_supplicant</a> que insiste em usar sem haver suporte por parte do firmware da Realtek. Em teoria será corrigido, em breve, pois já existe patch - em casa tenho <a href="https://www.tp-link.com/br/home-networking/wifi-router/deco-m5/" target="_blank">6 Decos</a> e gastei um bom tempo para descobrir que era o "<i>Fast roaming</i>" que tinha habilitado na solução da TP-Link<br />
<br />
<h4>
Touchscreen</h4>
Já existia o módulo do kernel (Silead) mas falta firmware.<br />
<br />
Para extrair o firmware dos drivers do Windows e calibrar o touch, só usar o que a turma do projeto <a href="https://github.com/onitake/gsl-firmware" target="_blank">gsl-firmware</a> e <a href="https://github.com/reinderien/xcalibrate" target="_blank">xcalibrate</a> criaram. Obrigado turma!!<br />
<br />
<h3>
Resumo</h3>
Quer um laptop barato para uso de perfil sysadmin, excelente. Ah... já tava esquecendo do motivo do artigo :P<br />
<br />
Arch Linux - <i>rolling release</i> seguindo <i>upstream</i> - e o arquivo abaixo com o firmware (+calibração) do touchscreen Silead que acompanha o Positivo.<br />
<br />
<a href="https://drive.google.com/file/d/1KS2uogzo2lkS8-OYgu6Hrlqg91gJIsbl">https://drive.google.com/file/d/1KS2uogzo2lkS8-OYgu6Hrlqg91gJIsbl</a><br />
<br />
Baixe o arquivo acima e extrai na raiz do seu sistema, ele contem firmware + calibração do <i>touchscreen,</i> e, alguns extras para economia de energia, emulação botão do meio do mouse e resolução do X - o laptop é vendido como tendo resolução HD, no Windows, mas assim que inicia o X a resolução vai para Full HD e perde uma boa performance.<br />
<br />
<br />
<br />
<br />
<br />
É isso! Por favor, dúvidas, sugestões ou críticas, lancem nos comentários. ;)André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com4tag:blogger.com,1999:blog-4523400251697386687.post-54727005640847293172020-04-20T23:32:00.001-03:002020-04-30T14:04:48.207-03:00Senhas<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-SIU19rSUE7mbU0DeufoJKLKti_yjV3_R0AW1bjuFdzPnSnWKHNb_0Am8C9elrxJxJJufzHe7Bu2a6nKoKXZFoTLR2mcMpT8l_wVlssVTjabZaquo0S7-fTgisMC8EHCYF-hF6JfZTkIn/s1600/password_strength.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="601" data-original-width="740" height="518" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-SIU19rSUE7mbU0DeufoJKLKti_yjV3_R0AW1bjuFdzPnSnWKHNb_0Am8C9elrxJxJJufzHe7Bu2a6nKoKXZFoTLR2mcMpT8l_wVlssVTjabZaquo0S7-fTgisMC8EHCYF-hF6JfZTkIn/s640/password_strength.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="https://xkcd.com/936/">https://xkcd.com/936/</a></td></tr>
</tbody></table>
<br />
<br />
E com isso gastamos 20 anos treinando as pessoas criarem senhas que são difíceis de memorizar mas que são fáceis de computadores descobrirem. 😈<br />
<a href="https://gizmodo.com/the-guy-who-invented-those-annoying-password-rules-now-1797643987">https://gizmodo.com/the-guy-who-invented-those-annoying-password-rules-now-1797643987</a><br />
<br />
<b>Duvida?</b> Faça um teste em:<br />
<a href="https://www.grc.com/haystack.htm">https://www.grc.com/haystack.htm</a><br />
<br />
<br />André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-29348978295386882452020-04-08T17:42:00.000-03:002020-05-12T17:23:27.043-03:00Uma semana na vida do Operador Bastardo do Inferno<h2>
Segunda</h2>
<h4>
8:05 am</h4>
Usuário chama dizendo que perdeu a password. Eu disse a ele para usar um utilitário de recuperação de senhas chamado FDISK. Ignorante, ele me agradeceu e desligou. Meu Deus! E a gente ainda deixa essas pessoas votarem e dirigirem?<br />
<br />
<h4>
8:12 am</h4>
A Contabilidade chamou para dizer que não conseguiam acessar a base de dados de relatórios de despesas. Eu dei a resposta Padrão dos Administradores de Sistema #112: “Engraçado… comigo funcionou…”. Deixei eles pastarem um pouco enquanto eu desconectava minha cafeteira do No-Break e conectava o servidor deles de volta. Sugeri que eles tentassem novamente. Ah… mais um usuário feliz…<br />
<a name='more'></a><br />
<h4>
8:14 am</h4>
O úsuario das 8:05 chamou dizendo que recebeu a mensagem: erro no acesso ao drive 0. Disse a ele que isso era problema de SO e transferi a ligação para o microsuporte.<br />
<br />
<h4>
11:00 am</h4>
Relativamente calmas as últimas horas. Decidi reconectar o telefone do suporte para ligar pra minha namorada. Ela disse que os pais dela virão pra cidade nesse fim-de-semana. Pus ela “em-espera” e transferi a ligação para o almoxarifado. Que é que ela está pensando? Os torneios de “Doom” e “Myst” são neste fim-de-semana!<br />
<br />
<h4>
12:00 pm</h4>
Almoço.<br />
<br />
<h4>
15:30 pm</h4>
Retorno do almoço.<br />
<br />
<h4>
15:55 pm</h4>
Acordei da soneca. Sonhos ruins me dão tremores. Empurrei os servidores sem razão. Voltei pra soneca.<br />
<br />
<h4>
16:23 pm</h4>
Outro usuário liga. Quer saber como mudar fontes em um formulário. Perguntei que chip eles estão usando. Falei pra eles ligarem novamente quando descobrirem.<br />
<br />
<h4>
16:55 pm</h4>
Resolvi rodar a macro “Criar Salvar/Replicação de Conflitos” para que o turno da noite tivesse algo<br />
pra fazer…<br />
<br />
<h2>
Terça</h2>
<h4>
8:30 am</h4>
Terminei a leitura do log do suporte da noite anterior. Pareceram ocupados. Tempos terríveis com Salvar/Replicação de Conflitos…<br />
<br />
<h4>
9:00 am</h4>
Gerente de suporte chega. Quer discutir minha atitude. Cliquei no Phone Notes Smart Icon. “Adoraria, mas estou ocupado.”, gritei enquanto pegava as linhas de suporte, que (misteriosamente) acenderam.<br />
<br />
<h4>
9:35 pm</h4>
O chefe da equipe de P&D precisa de ID para novos empregados. Disse ele que precisava do formulário J-19R=3D9C9\\DARR\K1. Ele nunca tinha ouvido falar de tal formulário. Disse a ele que estava no banco de dados de FORMULÁRIOS ESPECIAIS. Ele nunca tinha ouvido falar de tal banco de dados. Transferi a ligação para o almoxarifado.<br />
<br />
<h4>
10:00 am</h4>
Ana ligou pedindo um novo ID. Eu disse que precisaria da matricula, nome de depto, nome do gerente e estado marital. Rodei @DbLookup nos bancos de dados de Controle de Doenças e não achei nada. Disse a ela que o novo ID estaria pronto de noite. Relembrando as lições de “Reengenharia para Parceria de Usuários”, ofereci-me para entregar pessoalmente em sua casa.<br />
<br />
<h4>
10:07 am</h4>
O cara do almoxarifado passou por aqui dizendo que estava recebendo ligações estranhas ultimamente. Ofereci a ele um treino em Notes. Começando agora. Deixei ele olhando a console enquanto sai para fumar.<br />
<br />
<h4>
13:00 pm</h4>
Voltei da pausa para o cigarro. O almoxarife disse que os telefones ficavam tocando demais, então ele transferia as ligações pra moça da cafeteria. Começo a gostar desse cara.<br />
<br />
<h4>
13:05 pm</h4>
Grande Comoção! Gerente de suporte cai num buraco aberto onde eu tinha tirado os tacos, na frente da porta do seu escritório. Falei pra ele da importância de não entrar correndo na sala do computador, mesmo que eu grite “Meu Deus — Fogo!!”<br />
<br />
<h4>
14:00 pm</h4>
A secretária jurídica liga e diz que perdeu a password. Pedi a ela que cheque sua bolsa, chão do carro e no banheiro. Disse que provavelmente caiu das costas da máquina. Sugeri que ela ponha durex em todas as entradas de ar que ela ache no PC. Grunhindo, ofereci-me para lhe dar nova ID enquanto ela colava os durex…<br />
<br />
<h4>
14:49 pm</h4>
O almoxarife voltou. Quer mais aulas. Tirei o resto do dia de folga.<br />
<br />
<h2>
Quarta</h2>
<h4>
8:30 am</h4>
Detesto quando os usuários ligam pra dizer que o chipset não tem nada a ver com fontes em um formulário. Disse a eles “claro, vocês deviam estar checando o “bitset” e não “chipset”. Usuário bobo pede desculpa e desliga.<br />
<br />
<h4>
9:10am</h4>
Gerente de suporte, com o pé engessado, volta ao escritório. Agenda um encontro comigo para 10:00am. Usuário liga e quer falar com o gerente de suporte sobre terriveis socorros na mesa de suporte. Disse a eles que o gerente estava indo a uma reunião. As vezes a vida nos dá material…<br />
<br />
<h4>
10:00 am</h4>
Chamei o Luiz do almoxarifado pra ficar no meu lugar enquanto vou no escritório do gerente. Ele disse que não pode me demitir, mas que pode sugerir vários movimentos laterais na minha carreira. A maioria envolvida com implementos agricolas no terceiro mundo. Falando nisso, perguntei se ele já sabia de um novo bug que pega texto indexado dos bancos de dados e distribui aleatoriamente todas as referências. A reunião foi adiada…<br />
<br />
<h4>
10:30 am</h4>
Disse ao Luiz que ele está se saindo muito bem. Ofereci-me para mostra-lo o sistema corporativo de PBX algum dia…<br />
<br />
<h4>
11:00 am</h4>
Almoço.<br />
<br />
<h4>
16:55 pm</h4>
Retorno do almoço.<br />
<br />
<h4>
17:00 pm</h4>
Troca de turno. Vou pra casa.<br />
<br />
<h2>
Quinta</h2>
<h4>
8:00 am</h4>
Um cara novo (Jonas) começou hoje. “Boa sorte”, disse a ele. Mostrei-lhe a sala do servidor, o armário de fios e a biblioteca técnica. Deixei-o com um PC-XT. Falei pra ele parar de choramingar. O Notes rodava igual, tanto em monocromo quanto em cores.<br />
<br />
<h4>
8:45 am</h4>
Finalmente o PC do novato deu boot. Disse a ele que iria criar novo usuário pra ele. Setei o tamanho minimo de password para 64. Sai pra fumar.<br />
<br />
<h4>
9:30 am</h4>
Apresentei o Luiz ao Jonas. “Boa Sorte”, comentou o Luiz. Esse cara não é o máximo?<br />
<br />
<h4>
11:00 am</h4>
Ganhei do Luiz no dominó. Luiz sai. Tirei o resto das peças da manga (“tenha sempre backups”). Usuário liga, diz que servidor de contabilidade está fora do ar. Desconecto o cabo Ethernet da antena do radio (melhor recepção) e ligo de volta no hub. Disse a ele que tentasse novamente. Mais um usuário feliz!<br />
<br />
<h4>
11:55 am</h4>
Expliquei ao Jonas a política corporativa 98.022.01 “Sempre que novos empregados começam em dias que terminam em ‘A’ estão obrigados a prover sustento e repouso ao analista técnico sênior do seu turno “Jonas duvida. Mostrei o banco de dados de “políticas corporativas”. “Lembre-se, a pizza é de pepperoni, sem pimenta!”, gritei enquanto Jonas pisa no taco solto ao sair.<br />
<br />
<h4>
13:00 pm</h4>
Oooooh! Pizza me dá um sono…<br />
<br />
<h4>
16:30 pm</h4>
Acordo de uma soneca refrescante. Peguei o Jonas lendo anúncios de emprego.<br />
<br />
<h4>
17:00 pm</h4>
Troca de turno. Desligo e ligo o servidor varias vezes (teste do botão ON-OFF…). Até amanhã…<br />
<br />
<h2>
Sexta Feira</h2>
<h4>
8:00 am</h4>
Turno da noite continua tendo problemas para trocar a fonte de alimentação do servidor. Disse a eles que estava funcionando direito quando sai.<br />
<br />
<h4>
9:00 am</h4>
Jonas não está aqui ainda. Decidi que deveria começar a responder as chamadas eu mesmo.<br />
<br />
<h4>
9:02 am</h4>
Chamada de usuário. Diz que a base em Sergipe não consegue replicar. Eu e Luiz determinamos que é problema de fuso horário. Mandei eles ligarem para Telecomunicações.<br />
<br />
<h4>
9:30 am</h4>
Meu Deus! Outro usuário! Eles são como formigas, Dizem que estão em Manaus e não conseguem replicar com Sergipe. Falei que era fuso horário, mas com duas-horas de diferença. Sugeri que eles resetassem o time no servidor.<br />
<br />
<h4>
10:17 am</h4>
Usuário do Espírito Santo liga. Diz que não consegue mandar mail pra Manaus. Disse pra eles setarem o servidor para 3 horas adiantado.<br />
<br />
<h4>
11:00 am</h4>
E-mail da corporação diz para todos pararem de resetar o time dos servidores. Troquei o “date stamp” e reenviei para o Acre.<br />
<br />
<h4>
11:20 am</h4>
Terminei a macro @FazerCafe. Recoloquei o telefone no gancho.<br />
<br />
<h4>
11:23 am</h4>
O Acre liga, perguntando que dia é hoje.<br />
<br />
<h4>
11:25 am</h4>
Gerente de suporte passa pra dizer que o Jonas pediu pra sair. “Tão difícil achar boa ajuda…”, respondi. O gerente disse que ele tem um horário com o ortopedista essa tarde e pergunta se eu me importo em substitui-lo na reunião semanal dos administradores. “No problems”, eu respondo.<br />
<br />
<h4>
11:30 am</h4>
Chamo Luis e digo que a oportunidade bate à sua porta e ele é convidado para um encontro essa tarde. “Claro, você pode trazer seu jogo de dominó”, digo a ele.<br />
<br />
<h4>
12:00 am</h4>
Almoço.<br />
<br />
<h4>
13:00 pm</h4>
Começo backups completos no servidor Linux. Redireciono o device para NULL para o backup ser mais rápido.<br />
<br />
<h4>
13:03 pm</h4>
Backup semanal completo. Cara, como eu gosto da tecnologia moderna!<br />
<br />
<h4>
14:30 pm</h4>
Olho o banco de dados de contatos de suporte. Cancelo o compromisso de 2:45pm. Ele deve ficar em casa descansando.<br />
<br />
<h4>
14:39 pm</h4>
Outro usuário ligando. Diz que quer aprender a criar um documento de conexão. Digo a ele para rodar o utilitário de documentos CTRL-ALT-DEL Ele disse que o PC reiniciou. Digo a ele para chamar o microsuporte.<br />
<br />
<h4>
15:00 pm</h4>
Outro usuário (novato) liga. Diz que a macro periódica não funciona. Disse a ele para incluir a macro @DeleteDocument no final da fórmula e prometi a ele mandar-lhe o anexo do manual que indica isso.<br />
<br />
<h4>
16:00 pm</h4>
Acabei de trocar a cor de frente de todos os documentos para branco. Também setei o tamanho da letra para 2 nos bancos de dados de ajuda.<br />
<br />
<h4>
16:30 pm</h4>
Um usuário liga pra dizer que não consegue ver nada em nenhum documento. Digo a ele para ir no menu Edit, opção Select all, e apertar a tecla Delete depois refresh. Prometi mandar-lhe a página do manual que fala sobre isso.<br />
<br />
<h4>
16:45 pm</h4>
Outro usuário liga. Diz que não consegue ver os helps dos documentos. Digo a ele que irei consertar. Mudei a fonte para WingDings.<br />
<br />
<h4>
16:58 pm</h4>
Conectei a cafeteira no hub Ethernet pra ver o que acontece… nada… (muito sério).<br />
<br />
<h4>
17:00 pm</h4>
O turno da noite apareceu. Digo a eles que o hub está agindo estranho. Desejo um bom fim-de-semana.<br />
<br />
<br />
<h3>
FIM</h3>
<br />
<br />
Mais info. e histórias do BOFH em<br />
<a href="https://en.wikipedia.org/wiki/Bastard_Operator_From_Hell">https://en.wikipedia.org/wiki/Bastard_Operator_From_Hell</a><br />
<a href="http://www.bofharchive.com/">http://www.bofharchive.com/</a>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-4156124528183589272020-03-12T20:35:00.000-03:002020-04-08T16:54:55.266-03:00Cast no Chromium (Transmitir...)Para os <a href="https://www.chromium.org/Home" target="_blank">Chromium</a> e não <a href="https://www.google.com/chrome/" target="_blank">Chrome</a>, aqui uma dica legal para quem quer transmitir via Cast e está xingando por não conseguir - não achar dispositivos.<br />
<br />
Ative a opção <b>load-media-router-component-extension</b> que no Chromium o default é desativado.<br />
<br />
<a href="chrome://flags/#load-media-router-component-extension">chrome://flags/#load-media-router-component-extension</a><br />
<br />
Ativou? Agora só ir no menu e vai encontrar os dispositivos Cast - como o Chromecast - de sua rede.<br />
<br />
<br />
<br />
<a href="https://support.google.com/chromecast/answer/7249696">https://support.google.com/chromecast/answer/7249696</a>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-27603058230991404852020-03-12T10:21:00.000-03:002020-03-12T20:43:44.060-03:00Ativar modo Both (ambos, http+https) no Zimbra<h4>
1. Desativar ProxySSLUpstream</h4>
<span style="font-family: "trebuchet ms" , sans-serif;">zmprov ms `zmhostname` zimbraReverseProxySSLToUpstreamEnabled FALSE</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<h4>
2. Reconfigurar Nginx</h4>
<span style="font-family: "trebuchet ms" , sans-serif;">/opt/zimbra/libexec/zmproxyconfig -e -w -o -a 8080:80:8443:443 -x both -H `zmhostname`</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<h4>
3. Configurar Zimbra para rodar no modo Both</h4>
<span style="font-family: "trebuchet ms" , sans-serif;">zmtlsctl both</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;">zmprov ms `zmhostname` zimbraReverseProxyMailMode both</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;">zmprov ms `zmhostname` zimbraMailMode both</span><br />
<span style="font-family: "trebuchet ms" , sans-serif;"><br /></span>
<br />
<h4>
4. Reiniciar o Zimbra</h4>
<span style="font-family: "trebuchet ms" , sans-serif;">zmcontrol restart</span><br />
<br />
<br />
<br />
Simples, rápido e caceteiro 😉<br />
<br />
Ah... se preferir redirect, só trocar no item 3 de both para redirect<br />
<br />
Mais infos. em:<br />
<a href="https://wiki.zimbra.com/wiki/CLI_zmtlsctl_to_set_Web_Server_Mode">https://wiki.zimbra.com/wiki/CLI_zmtlsctl_to_set_Web_Server_Mode</a>André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-51518026820388665552020-01-27T17:02:00.003-03:002020-04-30T15:09:19.367-03:00Devotion to Duty<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXJQB1GK1TDMjUnqNvqm1r68ERtn1tim4QDx_w5cUaIDH2dXieOdKguUHH7DfQvy1R3JG8Z4Mgxa1wf_hMxPKm9lhtm8c7x-2P1BsbEC6PPE66nxHLuK3dSt6Uua307VwS_CU0jeSxHPpy/s1600/devo%25C3%25A7%25C3%25A3o-ao-dever.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="247" data-original-width="638" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXJQB1GK1TDMjUnqNvqm1r68ERtn1tim4QDx_w5cUaIDH2dXieOdKguUHH7DfQvy1R3JG8Z4Mgxa1wf_hMxPKm9lhtm8c7x-2P1BsbEC6PPE66nxHLuK3dSt6Uua307VwS_CU0jeSxHPpy/s1600/devo%25C3%25A7%25C3%25A3o-ao-dever.png" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;"><a href="https://xkcd.com/705/">https://xkcd.com/705/</a></td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Na loja do XKCD fizeram um excelente camisa, confiram!</div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://store.xkcd.com/products/sysadmin">https://store.xkcd.com/products/sysadmin</a></div>
André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-84282505086023352092019-07-04T14:08:00.000-03:002019-07-04T14:08:47.613-03:00Fuck-up Assessment Form<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGMWBj-ARk_AXlTTciJ1t1y-KB5rkpg8FJh4drh2XhyFGq2SBrSrMJsgB7WRisFPU4HVeM6Uw-pSBMuGxrGC5jC6qCZjdM4xTZtj0-7PjlF4RyobuFLDT40Nl6jKHl37gzkBiq6JNVouNL/s1600/1556977063338836856637640671082.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1600" data-original-width="756" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGMWBj-ARk_AXlTTciJ1t1y-KB5rkpg8FJh4drh2XhyFGq2SBrSrMJsgB7WRisFPU4HVeM6Uw-pSBMuGxrGC5jC6qCZjdM4xTZtj0-7PjlF4RyobuFLDT40Nl6jKHl37gzkBiq6JNVouNL/s1600/1556977063338836856637640671082.jpg" /></a></div>
<br />André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-67444579255218397452019-06-04T15:01:00.001-03:002019-06-04T15:01:24.762-03:00How long it takes to complete a task<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxWbcKqSXiO5veXLrMEbp4WWdIsACQNCYV8VtHb_BxQxAYp7wDMv2nLJH1lQRs9jXtOWwoMkjnMS7O2TBS3pHptU9-_-_kht0C2_v3Qk5gU782ZVuu05RnbolCl-voP7vL-zu6V4XeQ7s-/s1600/Kk8BpvX.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="400" data-original-width="640" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxWbcKqSXiO5veXLrMEbp4WWdIsACQNCYV8VtHb_BxQxAYp7wDMv2nLJH1lQRs9jXtOWwoMkjnMS7O2TBS3pHptU9-_-_kht0C2_v3Qk5gU782ZVuu05RnbolCl-voP7vL-zu6V4XeQ7s-/s640/Kk8BpvX.gif" width="640" /></a></div>
André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-24349090530312011692019-03-20T11:24:00.001-03:002019-03-20T11:26:51.111-03:00Dicionário corporativo<h4>
Benchmark</h4>
Sabe quando você pensa: “Alguém em algum lugar deve saber fazer essa merda direito”? Esse alguém é o benchmark.<br />
<br />
<h4>
Board</h4>
Grupo de homens de cabelo branco, arrastados à força (física ou pecuniária) para reuniões sobre assuntos de que nada entendem ou com os quais não se importam.<br />
<div>
<br />
<h4>
Briefing</h4>
Resumo. Tipo aquele fichamento que você nunca fez na escola? Então!<br />
<br />
<h4>
Budget</h4>
Lugar onde suas despesas ou seu orçamento não cabem, mas ninguém vai rever seus KPIs por isso (ver KPI).<br />
<br />
<h4>
Business Plan</h4>
Ente metafísico, a que se atribuem poderes sobrenaturais. Ninguém conhece seu verdadeiro teor.<br />
<br />
<h4>
Case</h4>
Concorrente onde você realmente queria trabalhar.<br />
<br />
<h4>
CEO (Chief Executive Officer)</h4>
Aquele gringo que ainda não entendeu, afinal, o que é que a empresa faz ou do que realmente precisa.</div>
<div>
<br />
<h4>
Chairman</h4>
Membro do Board que dorme (quando não baba e ronca) nas reuniões e ninguém fala nada (ver Board).<br />
<br />
<h4>
Coach</h4>
Sujeito cuja carreira de verdade fracassou e que se disfarça de competente para ganhar uns trocados com palpite na carreira, na vida e nos negócios dos outros.<br />
<br />
<h4>
Consultor</h4>
1. Ex-executivo que continua mamando na empresa (tipo encostado mesmo) ou<br />
2. Sujeito que mama na empresa na esperança de se tornar um executivo dela.<br />
<br />
<h4>
Core business</h4>
O que a empresa sabe fazer bem, até o Board (ver Board) decidir que não é isso e sair investindo em outra coisa (que possivelmente vai dar errado...)<br />
<br />
<h4>
E-learning</h4>
Tecnologia de ponta empregada para comunicação e interação online, de forma a tornar mais eficiente o processo de fingir ensinar e fingir aprender.<br />
<br />
<h4>
Home office</h4>
Local povoado por crianças, faxineiras, jogos da Champions League, toque ininterrupto da campainha e do telefone e onde você pode trabalhar de pijamas.<br />
<br />
<h4>
Insight</h4>
Ideia do chefe. Sempre dele.<br />
<br />
<h4>
Insight brilhante</h4>
Ideia do CEO.<br />
<br />
<h4>
KPI (Key Performance Index)</h4>
Número obtido com Zoroastro, numa sessão de psicografia.<br />
<br />
<h4>
Margem Ebtida (Earnings before interest, taxes, depreciation and amortization)</h4>
Se abaixo de 5%, atualize seu CV.<br />
<br />
<h4>
Networking</h4>
Número total de chatos que você tem que aturar para, quem sabe um dia, subir na carreira ou não ficar desempregado.<br />
<br />
<h4>
Pós-venda</h4>
Ato de suportar as reclamações dos clientes, respondendo-as com declarações vagas, de difícil compreensão e com promessas que sabe ser impossíveis de cumprir.<br />
<br />
<h4>
Feedback</h4>
O ato de responder aquele email inútil do seu chefe, ou aquela proposta ridícula do RH, ou qualquer coisa do gênero.<br />
<br />
<h4>
Stakeholder</h4>
O cara que segura o bife.<br />
<br />
<h4>
Trainee</h4>
Aquele playboyzinho em formação, que acabou de chegar e se acha o CEO. Mande logo ele tirar uns xerox e te trazer um Big Mac prá saber o lugar dele na cadeia alimentar corporativa (ver CEO).</div>
André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-54662871276822710862018-09-14T12:17:00.000-03:002018-09-14T12:17:05.652-03:00What if Operating Systems Were Airlines?<h1>
What if Operating Systems Were Airlines?</h1>
<hr />
<h2>
DOS Airlines</h2>
Everybody pushes the airplane until it glides, then they jump on and let the plane coast until it hits the ground again, then they push again jump on again, and so on.<br />
<h2>
OS/2 Airlines</h2>
The terminal is almost empty, with only a few prospective passengers milling about. The announcer says that their flight has just departed, wishes them a good flight, though there are no planes on the runway. Airline personnel walk around, apologising profusely to customers in hushed voices, pointing from time to time to the sleek, powerful jets outside the terminal on the field. They tell each passenger how good the real flight will be on these new jets and how much safer it will be than Windows Airlines, but that they will have to wait a little longer for the technicians to finish the flight systems.<br />
Once they finally finished you're offered a flight at reduced cost. To board the plane, you have your ticket stamped ten different times by standing in ten different lines. Then you fill our a form showing where you want to sit and whether the plane should look and feel like an ocean liner, a passenger train or a bus. If you succeed in getting on the plane and the plane succeeds in taking off the ground, you have a wonderful trip...except for the time when the rudder and flaps get frozen in position, in which case you will just have time to say your prayers and get in crash position.<br />
<h2>
Windows Air</h2>
The terminal is pretty and colorful, with friendly stewards, easy baggage check and boarding, and a smooth take-off. After about 10 minutes in the air, the plane explodes with no warning whatsoever.<br />
<h2>
Windows NT Air</h2>
Just like Windows Air, but costs more, uses much bigger planes, and takes out all the other aircraft within a 40-mile radius when it explodes.<br />
<h2>
Windows XP Air</h2>
Just like Windows NT Air, but costs more, uses even bigger planes, and the problem with exploding has mostly been solved. Instead, 15 minutes into the flight, the highly-automated flight-control equipment stops responding to commands from the cockpit, followed by an "uncontrolled descent into terrain".<br />
<h2>
Mac Airlines</h2>
All the stewards, stewardesses, captains, baggage handlers, and ticket agents look the same, act the same, and talk the same. Every time you ask questions about details, you are told you don't need to know, don't want to know, and would you please return to your seat and watch the movie.<br />
<h2>
Unix Airlines</h2>
Each passenger brings a piece of the airplane and a box of tools to the airport. They gather on the tarmac, arguing constantly about what kind of plane they want to build and how to put it together. Eventually, they build several different aircraft, but give them all the same name. Some passengers actually reach their destinations. All passengers believe they got there.<br />
<h2>
Wings of OS/400</h2>
The airline has bought ancient DC-3s, arguably the best and safest planes that ever flew, and painted "747" on their tails to make them look as if they are fast. The flight attendants, of course, attend to your every need, though the drinks cost $15 a pop. Stupid questions cost $230 per hour, unless you have SupportLine, which requires a first class ticket and membership in the frequent flyer club. Then they cost $500, but your accounting department can call it overhead.<br />
<h2>
Mach Airlines</h2>
There is no airplane. The passengers gather and shout for an airplane, then wait and wait and wait and wait. A bunch of people come, each carrying one piece of the plane with them. These people all go out on the runway and put the plane together piece by piece, arguing constantly about what kind of plane they're building. The plane finally takes off, leaving the passengers on the ground waiting and waiting and waiting and waiting. After the plane lands, the pilot telephones the passengers at the departing airport to inform them that they have arrived.<br />
<h2>
Newton Airlines</h2>
After buying your ticket 18 months in advance, you finally get to board the plane. Upon boarding the plane you are asked your name. After 6 times, the crew member recognizes your name and then you are allowed to take your seat. As you are getting ready to take your seat, the steward announces that you have to repeat the boarding process because they are out of room and need to recount to make sure they can take more passengers.<br />
<h2>
VMS Airlines</h2>
The passengers all gather in the hanger, watching hundreds of technicians check the flight systems on this immense, luxury aircraft. This plane has at least 10 engines and seats over 1,000 passengers. All the passengers scramble aboard, as do the necessary complement of 200 technicians. The pilot takes his place up in the glass cockpit. He guns the engines, only to realise that the plane is too big to get through the hangar doors.<br />
<h2>
BeOS Air</h2>
You have to pay for the tickets, but they're half the price of Windows Air, and if you are an aircraft mechanic you can probably ride for free. It only takes 15 minutes to get to the airport and you are chauffeurred there in a limosine. BeOS Air only has limited types of planes that only only hold new luggage. All planes are single seaters and the model names all start with an "F" (F-14, F-15, F-16, F-18, etc.). The plane will fly you to your destination on autopilot in half the time of other Airways or you can fly the plane yourself. There are limited destinations, but they are only places you'd want to go to anyway. You tell all your friends how great BeOS Air is and all they say is "What do you mean I can't bring all my old baggage with me?"<br />
<h2>
Linux Airlines</h2>
Disgruntled employees of all the other OS airlines decide to start their own airline. They build the planes, ticket counters, and pave the runways themselves. They charge a small fee to cover the cost of printing the ticket, but you can also download and print the ticket yourself. When you board the plane, you are given a seat, four bolts, a wrench and a copy of the seat-HOWTO.html. Once settled, the fully adjustable seat is very comfortable, the plane leaves and arrives on time without a single problem, the in-flight meal is wonderful. You try to tell customers of the other airlines about the great trip, but all they can say is, "You had to do <b>what</b> with the seat?"<br />
You can't board a Linux Airlines plane in the US, because all the airport terminal space is taken, 90% by Windows Air and 10% by Mac Airways. However, there are some small, private airports that will permit Linux Airlines planes to land and take off from their runways.André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-37576620907203866972017-05-11T14:22:00.000-03:002017-05-11T14:22:53.077-03:00Roleta Russa por linha de comando<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipT9fTf_WmCwCtpOKCDZuX8eY3fkU4f0dpxCXQwoyDq9tbpsBRSB5V9epJLkmk1X1TKMnZTmqspwYOssiEjkFCHapH4fDYvlMXuS6ucoeCH7JKJc9pEzWmP-nkFAvdEOF1FGVl3mGwNHIs/s1600/Russian-Roulette-Comics.jpg" imageanchor="1"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipT9fTf_WmCwCtpOKCDZuX8eY3fkU4f0dpxCXQwoyDq9tbpsBRSB5V9epJLkmk1X1TKMnZTmqspwYOssiEjkFCHapH4fDYvlMXuS6ucoeCH7JKJc9pEzWmP-nkFAvdEOF1FGVl3mGwNHIs/s1600/Russian-Roulette-Comics.jpg" /></a><br />
Claro, você também pode "melhorar"...<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">[ $[ $RANDOM % 6 ] == 0 ] && rm -rf --no-preserve-root / || echo *Click*</span><br /><br />E alguém tentou contratar alguns desenvolvedores/ops/sysadmin usando o seguinte anúncio:<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBpIHFhpMuKN0wafg09K9gPPqcmSXcsIrNY8RYgspwsC30RUuBk-Lg2nkHtlMDXnpjPhZ81JVac9F3PC_rTuw8CGeQY0r9uDU1Vcju5gGq7rf3gLnHM917Oo5-y6M1LbqZ9JBebkdZroaq/s1600/ChnQG5EUoAEE1oC.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBpIHFhpMuKN0wafg09K9gPPqcmSXcsIrNY8RYgspwsC30RUuBk-Lg2nkHtlMDXnpjPhZ81JVac9F3PC_rTuw8CGeQY0r9uDU1Vcju5gGq7rf3gLnHM917Oo5-y6M1LbqZ9JBebkdZroaq/s1600/ChnQG5EUoAEE1oC.jpg" /></a></div>
<div>
<br /></div>
André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-20454191474873862762017-04-18T14:35:00.000-03:002020-05-06T20:31:44.697-03:00POG - Programação Orientada a Gambiarras<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuN1Ce4D6foni1MjSXFv3wKUpivQjoMse-WoV88B0BWwJnPkRgOQaz5qbvdQH-n5orz9BiMLuMAWN4_vnpxT54Gt4OVmSUYhCMdvEl8_DKsCvkrXQNbJzdn5LkynUhQhY2Khp7jlKdrNlL/s1600/pog1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuN1Ce4D6foni1MjSXFv3wKUpivQjoMse-WoV88B0BWwJnPkRgOQaz5qbvdQH-n5orz9BiMLuMAWN4_vnpxT54Gt4OVmSUYhCMdvEl8_DKsCvkrXQNbJzdn5LkynUhQhY2Khp7jlKdrNlL/s1600/pog1.jpg" /></a></div>
A Programação Orientada a Gambiarras (POG ou WOP – Workaround-oriented programming) é um paradigma de programação de sistemas de software que integra-se perfeitamente a qualquer grande Paradigma de Programação atual.Por definição, Gambiarra é aquilo que é de difícil concepção, de inesperada execução para tornar fácil o uso de algo que sequer deveria existir.<br />
<br />
A Programação Orientada a Gambiarras foi uma evolução natural do uso do Programa Bacalhau, também conhecido como ATND – “Artifício Técnico Não Documentado” ( na Química, também conhecido como MTEDM – “Manutenção Técnica com Elementos Disponíveis no Momento” e na Engenharia Civil como STCT – “Solução Técnica de Cunho Temporário”, nome pouco apropriado, uma vez que, todos sabemos, as soluções se tornam permanentes), dos anos 1960–1980, e vem de uma antiga expressão brasileira: “Para quem é, bacalhau basta” (época em que o peixe seco ainda era barato). Programadores e analistas mais preocupados em usar buzzwords costumam utilizar o termo workaround para impor respeito.<br />
<br />
<a name='more'></a><br /><br />
Princípios da Programação Orientada a Gambiarras:<br />
<ul>
<li><b>Se funciona, então tá certo</b> – Acoplado ou não, txt ou sql, mil funções ou 10, design patterns… Nada disso tem valor para o usuário, que só precisa de um software funcional. O termo “escalável” é falacioso.</li>
<li><b>My Way</b> – Programador esperto, se é esperto mesmo é adepto do My Way. Se você está com dúvidas, faça do seu jeito pois se der merda é você quem vai se foder (e como).</li>
<li><b>Murphy ou Lei de Murphy ou Lady Murphy</b> – Para lidar com Murphy e seu exército só com POG. Murphy é sagaz e ligeiro, tá só esperando você dar mole. Nada mais rápido do que uma gambiarrazinha pra acertar o que Murphy destrói.</li>
<li><b>Deixe o amanhã para amanhã</b> – Muitos programadores atrasam projetos alegando que a demora de uma implementação para seguirem regras de design patterns ou comentários que ajudarão a outros entender melhor o código. Deixe o amanhã para o otário programador seguinte.</li>
<li><b>Comentários/Documentação são para amadores</b> – Um desenvolvedor deve ser treinado para ser fluente na linguagem de programação usada sem precisar de comentários/documentação, independente da consequente ruína de sua vida social. Isso também é conhecido como sétimo sentido.</li>
<li><b>Eficiência primeiro</b> – Evite escrever em várias linhas o que pode ser feito em uma.</li>
<li><b>Fé em Deus</b> – A informática é levianamente definida como ciência exata, quando esta é na verdade uma ciência holística. Vários casos reais de divina Providência foram testemunhados em ambientes fiéis aos princípios ruins, assim o mal foi exorcizado, e a paz instalou-se graças a fé dos gambiarrizadores. Vale dizer que: há mais mistérios entre o teclado e o monitor do que julga a sua vã filosofia.</li>
<li><b>1337 h4x0r5 dud3 lol</b> – Quanto mais ilegível, mais respeitado o código é. Consequentemente menos alterado ele é, e mais estável o sistema fica, garantindo a empregabilidade do gambiarrizador.</li>
<li><b>A ocasião faz o ladrão</b> – Em determinados momentos não conseguimos escapar dela.</li>
<li><b>Capacidade de Abstração</b> – Este conceito se baseia em focar-se no problema e desconsiderar conceitos e dados deios para atingir o objetivo, ou seja, o Programador deve abstrair tudo que lhe faça perder tempo como regras de negócio desnecessárias ou tratamentos de erros.</li>
<li><b>Conclusão Hipotética Universal Técnica Explicativa (aka. C.H.U.T.E)</b> – Quando nenhum dos outros conceitos se aplica, utiliza-se este até funcionar ou desistir.</li>
<li><b>Criatividade acima de tudo</b> – Uma pessoa criativa não é aquela que consegue chegar a diversos lugares, mas sim, aquela que chega no mesmo lugar por diversas maneiras. Portanto, o POGer não é nada mais do que um programador criativo, que faz a mesma coisa que outros, adotando técnicas não convencionais.</li>
<li><b>Simplicidade acima de tudo</b> – Se o programa funciona sem o tratamento de exceções e a verificação de campos preenchidos pelo usuário porque complicá-lo?</li>
</ul>
Gostaria de dar meus parabéns para você que se identificou com pelo menos uma dessas praticas citadas! Saiba que você é um adepto dessa incrível metodologia.André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0tag:blogger.com,1999:blog-4523400251697386687.post-76955718302697583482017-03-23T14:21:00.002-03:002017-03-23T14:21:56.880-03:00How to appropriately use your SysAdmin’s time<b>Advice to employees on the proper use of the System Administrator’s valuable time</b><br />
<br />
(In following examples, we will substitute the name “Ted” as the System Administrator)<br />
<br />
<br />
<ul>
<li>Make sure to save all your MP3 files on your network drive. No sense in wasting valuable space on your local drive! Plus, Ted loves browsing through 100+ GB of music files while he backs up the servers.</li>
<li>Play with all the wires you can find. If you can’t find enough, open something up to expose them. After you have finished, and nothing works anymore, put it all back together and call Ted. Deny that you touched anything and that it was working perfectly only five minutes ago. Ted just loves a good mystery. For added effect you can keep looking over his shoulder and ask what each wire is for.</li>
<li>Never write down error messages. Just click OK, or restart your computer. Ted likes to guess what the error message was.</li>
<li>When talking about your computer, use terms like “Thingy” and “Big Connector.”</li>
<li>If you get an EXE file in an email attachment, open it immediately. Ted likes to make sure the anti-virus software is working properly.</li>
<li>When Ted says he coming right over, log out and go for coffee. It’s no problem for him to remember your password.</li>
<li>When you call Ted to have your computer moved, be sure to leave it buried under a year-old pile of postcards, baby pictures, stuffed animals, dried flowers, unpaid bills, bowling trophies and Popsicle sticks. Ted doesn’t have a life, and he finds it deeply moving to catch a glimpse of yours.</li>
<li>When Ted sends you an email marked as “Highly Important” or “Action Required”, delete it at once. He’s probably just testing some new-fangled email software.</li>
<li>When Ted’s eating lunch at his desk or in the lunchroom, walk right in, grab a few of his fries, then spill your guts and expect him to respond immediately. Ted lives to serve, and he’s always ready to think about fixing computers, especially yours.</li>
<li>When Ted’s at the water cooler or outside taking a breath of fresh air, find him and ask him a computer question. The only reason he takes breaks at all is to ferret out all those employees who don’t have email or a telephone.</li>
<li>Send urgent email ALL IN UPPERCASE. The mail server picks it up and flags it as a rush delivery.</li>
<li>When the photocopier doesn’t work, call Ted. There’s electronics in it, so it should be right up his alley.</li>
<li>When you’re getting a NO DIAL TONE message at your home computer, call Ted. He enjoys fixing telephone problems from remote locations. Especially on weekends.</li>
<li>When something goes wrong with your home PC, dump it on Ted’s chair the next morning with no name, no phone number, and no description of the problem. Ted just loves a good mystery.</li>
<li>When you have Ted on the phone walking you through changing a setting on your PC, read the newspaper. Ted doesn’t actually mean for you to DO anything. He just loves to hear himself talk.</li>
<li>When your company offers training on an upcoming OS upgrade, don’t bother to sign up. Ted will be there to hold your hand when the time comes.</li>
<li>When the printer won’t print, re-send the job 20 times in rapid succession. That should do the trick.</li>
<li>When the printer still won’t print after 20 tries, send the job to all the printers in the office. One of them is bound to work.</li>
<li>Don’t use online help. Online help is for wimps.</li>
<li>Don’t read the operator’s manual. Manuals are for wussies.</li>
<li>If you’re taking night classes in computer science, feel free to demonstrate your fledgling expertise by updating the network drivers for you and all your co-workers. Ted will be grateful for the overtime when he has to stay until 2:30am fixing all of them.</li>
<li>When Ted’s fixing your computer at a quarter past one, eat your Whopper with cheese in his face. He functions better when he’s slightly dizzy from hunger.</li>
<li>When Ted asks you whether you’ve installed any new software on your computer, LIE. It’s no one else’s business what you’ve got on your computer.</li>
<li>If the mouse cable keeps knocking down the framed picture of your dog, lift the monitor and stuff the cable under it. Those skinny Mouse cables were designed to have 55 lbs. of computer monitor crushing them.</li>
<li>If the space bar on your keyboard doesn’t work, blame Ted for not upgrading it sooner. Hell, it’s not your fault there’s a half pound of pizza crust crumbs, nail clippings, and big sticky drops of Mountain Dew under the keys.</li>
<li>When you get the message saying “Are you sure?”, click the “Yes” button as fast as you can. Hell, if you weren’t sure, you wouldn’t be doing it, would you?</li>
<li>Feel perfectly free to say things like “I don’t know nothing about that boneheaded computer crap.” It never bothers Ted to hear his area of professional expertise referred to as boneheaded crap.</li>
<li>Don’t even think of breaking large print jobs down into smaller chunks. God forbid somebody else should sneak a one-page job in between your 500-page Word document.</li>
<li>When you send that 500-page document to the printer, don’t bother to check if the printer has enough paper. That’s Ted’s job.</li>
<li>When Ted calls you 30 minutes later and tells you that the printer printed 24 pages of your 500-page document before it ran out of paper, and there are now nine other jobs in the queue behind yours, ask him why he didn’t bother to add more paper.</li>
<li>When you receive a 130 MB movie file, send it to everyone as a high-priority mail attachment. Ted’s provided plenty of disk space and processor capacity on the new mail server for just those kinds of important things.</li>
<li>When you bump into Ted in the grocery store on a Sunday afternoon, ask him computer questions. He works 24/7, and is always thinking about computers, even when he’s at super-market buying toilet paper and doggie treats.</li>
<li>If your son is a student in computer science, have him come in on the weekends and do his projects on your office computer. Ted will be there for you when your son’s illegal copy of Visual Basic 6.0 makes the Access database keel over and die.</li>
<li>When you bring Ted your own “no-name” brand PC to repair for free at the office, tell him how urgently he needs to fix it so you can get back to playing EverQuest. He’ll get on it right away, because everyone knows he doesn’t do anything all day except surf the Internet.</li>
<li>Don’t ever thank Ted. He loves fixing everything AND getting paid for it!</li>
</ul>
André Felíciohttp://www.blogger.com/profile/15247312005014305488noreply@blogger.com0