Author Archive

Exemplo: Vários botões para copiar textarea em uma única página (HTML e JavaScript)

Teste #1

Teste #2:

Exemplo de Código






  



  
    

Teste #1

Teste #2:

Fonte


Apt-get com proxy no Linux Mint, Ubuntu e Debian

Se você estiver tentando atualizar ou instalar aplicativos utilizando o apt e receber erros como esses:

Ign:55 http://archive.ubuntu.com/ubuntu xenial/universe i386 Packages
Err:123 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
407 Proxy Authentication Required

Provavelmente o problema é causado porque você está por trás de um proxy de rede e não está autenticado nele.

Para conseguir executar o comando desejado, basta incluir a opção “Acquire” no comando, como no exemplo abaixo:

sudo apt-get -o Acquire::http::Proxy=”http://usuario:senha@proxy:porta” update

Fonte: https://forums.linuxmint.com/viewtopic.php?t=137533


O Paypal lhe dá R$10 por cada amigo que você indicar

É isso mesmo.

Para cada amigo que você indicar no PayPal, você ganha R$10 (dez reais).

Se inscreva no link abaixo e comece a indicar seus amigos!

Se inscreva aqui!


R$20 de desconto na primeira corrida com 99Taxis

O 99 Taxis tá dando R$20 de desconto para a primeira corrida.

Pegue seu cupom aqui no Link: http://ssqt.co/msc4d3D

 


Assédio sexual e machismo na Uber

Susan J. Fowler, que era engenheira de software na Uber, fez um relato bem detalhado das situações de machismo e assédio sexual que aconteceram com ela e outras mulheres que trabalham na sede da Uber. E tudo começou de uma forma que seria impossível ser mais explícito.

“Depois de algumas semanas de treinamento, escolhi entrar no time da minha área de especialidade, e foi aí que as coisas começaram a ficar estranhas. No primeiro dia, meu novo gerente me mandou algumas mensagens no chat da empresa. Ele tinha um relacionamento aberto e sua namorada tinha facilidade em encontrar parceiro, mas ele não. Ele estava tentando ficar longe de problemas no trabalho, mas não podia evitar, porque estava procurando mulheres para ter relações sexuais. Era óbvio que ele estava tentando fazer com que eu fizesse sexo com ele, mas eu cortei a conversa  imediatamente e mandei ‘prints’ para o departamento de Recursos Humanos (RH).”

Susan J. Fowler

Susan J. Fowler

Susan esperava que a Uber, sendo uma empresa de porte razoável, fosse resolver a situação. Mas o que aconteceu foi que eles disseram que como era a primeira denúncia contra ele, eles não se sentiam confortáveis em fazer nada além de dar uma advertência e ter uma conversa ‘sincera’ com ele.

Foram dadas duas opções a ela: ou procurar outro setor e nunca mais precisar interagir com seu antigo chefe, ou continuar no setor, mas se ele desse uma avaliação negativa dela, não seria considerada retaliação porque foram dadas opções a ela. Sair do setor não era exatamente interessante, já que ele estava trabalhando exatamente na sua área de especialidade, mas ela resolveu sair assim mesmo.

Nos meses seguintes ela conheceu várias mulheres na empresa, e ficou surpresa por ouvir várias histórias similares às dela. Inclusive com exatamente o mesmo gerente que ela reportou ao RH! Então a história de que era a primeira denúncia contra ele não era verdade.

Algum tempo depois Susan decidiu pedir transferência para outro setor, e apesar de ter uma avaliação perfeita dos seus superiores, teve sua solicitação recusada. O principal critério de transferência era justamente a avaliação dos superiores diretos.

No dia a dia várias situações machistas aconteciam com muita frequência, e a cereja do bolo foi a história das jaquetas de couro. A empresa iria presentear os funcionários com jaquetas de couro, mas as mulheres receberam uma aviso de que elas não iriam receber o presente, porque como eram poucas mulheres, a empresa não tinha conseguido o mesmo desconto que conseguiu para jaquetas masculinas.

Susan acabou saindo da empresa pouco tempo depois. Quando ela entrou na empresa, 25% dos engenheiros eram mulheres. Quando saiu eram apenas 3%.

Veja a história completa clicando aqui.


Uber migra do PostgreSQL para o MySQL

O Uber, como você deve saber, é uma empresa que trouxe para o mercado uma forma rápida, eficiente, e consideravelmente mais barata que os taxis conencionais para se locomover em várias cidades do planeta.

O que talvez não saiba é sobre a tecnologia por trás do serviço.

Aqui vou falar um pouquinho sobre a migração de bancos de dados realizada pelo Uber recentemente. O artigo original foi publicado em um blog do próprio Uber 20 dias antes de eu escrever esse post.

Minha intenção aqui não é traduzir nem fazer um comentário extenso sobre o texto, mas apenas pontuar as informações que achei mais interessantes. Vamos lá:

O Postgres tem um funcionamento que faz gerar várias linhas (fisicamente, no disco, chamada ctid) para uma mesma linha no banco de dados, ou seja, se você tem uma tabela que armazena os dados de uma pessoa, e você altera o telefone dela, uma nova linha física (ctid) é gerada.

Para a maioria dos sistemas, isso não chega a ser um problema. O Postgres tem um recurso chamado auto-vacuum que faz a limpeza das linhas antigas. A questão é que, de tempos em tempos, pode ser necessário parar o sistema por algumas horas e executar um vacuum full (limpeza geral), e para sistemas que não podem parar, isso pode ser um problema. Se muito tempo passa sem a execução de um vacuum full, o sistema começa a ficar lento.

Mas a grande questão para o Uber é que eles replicam os dados em diferentes data centers (costa leste e costa oeste dos Estados Unidos) para Recuperação de Desastres e, nesse caso, a replicação dessas linhas torna-se muito lenta e cara. Com frequência uma alteração estava sendo realizada e não sendo sincronizada corretamente.

O problema é agravado pelo fato de que no caso deles, muitas tabelas tinham muitos índices, e updates pequenos e frequentes eram executados.

Repare que é uma situação específica: replicação de dados em data centers diferentes, com updates frequentes e muitos índices.

Nem todo serviço funciona dessa forma, e obviamente, isso não quer dizer que o Postgres é um banco de dados ruim. Mas no caso específico do Uber, eles tiveram problemas.

Segundo o artigo, o MySQL (com engine InnoDB) cria uma camada a mais de abstração, o que normalmente é uma desvantagem pois deixa o sistema todo mais lento, mas é uma solução no caso da replicação, pois o MySQL replica o DML (update, insert, delete) propriamente dito, e não o registro físico da informação.

Outra questão é a atualização de versão. Usando a versão 9.2, eles tiveram problemas para atualizar para a 9.3, porque demorava tempo demais e o serviço não poderia ficar parado durante esse tempo. Para agravar a situação, todas as réplicas têm que usar a mesma versão, ou seja, eles não poderiam fazer a atualização primeiro em uma ráplica e depois no master, por exemplo. Acrescentam que isso foi resolvido na versão 9.4 em diante, usando o recurso pglogical, que adicona uma camada lógica para replicação.

No MySQL esse problema não existe. É possível, na maioria das situações operar com versões diferentes (já que o que é replicado é o DML em si).

Outro grande problema do Postgres é relativo ao número de conexões. Mesmo em sistemas com abundância de recursos, é bem difícil abrir mais que algumas centenas de conexões, porque o número de conexões é diretamente ligado ao número de processos (mais conexões, mais processos). No MySQL, o número de conexões é diretamente ligado ao número de threads.

Isso faz com que no MySQL seja possível abrir 10 mil conexões sem grandes problemas.

Veja o artigo original para obter mais informações:

Outro artigo comentando o artigo do Uber:


Minha mini-saga pelo reembolso do Windows

Você sabia que pode solicitar o reembolso do Windows que vem instalado em um notebook que você comprar, caso não deseje utlizá-lo? O Windows é um produto individual (já que pode ser comprado separadamente), e quando ele veio instalado no notebook que você comprou, é considerado venda casada, que é quando você é obrigado a levar um produto ao comprar o que lhe interessa (imagine que toda vez que você fosse na padaria comprar pão, fosse obrigado a levar junto um chocolate "de graça").

Muitos fornecedores dizem que é brinde, mas não é. Você está pagando por isso. Aqui vou fazer um breve relato de como consegui o reembolso, de uma forma um pouco diferente do que li em outros relatos na internet.

Eu uso exclusivamente Linux em casa há uns 6 anos. Meu penúltimo notebook veio com Windows instalado, e eu sequer iniciei ele a primeira vez. Na época sabia que poderia solicitar a devolução, mas acabei deixando pra lá.

No fim do ano passado comprei um notebook novo (Um Dell, no Submarino. O Submarino é da empresa B2W, que também é dona do Shoptime e das Americanas.com) no Black Friday. Não tinha a opção de comprar sem Windows, e no site da Dell, que dá essa opção, era mais caro. Resolvi comprar e tentar o reembolso depois.

O notebook chegou e segui a orientação que vi em vários relatos: não ative o Windows (ou seja, começar a usar pela primeira vez). Você até pode ligar ele, mas quando chegar na hora de clicar no botão para aceitar os termos, você não deve clicar. Se fizer isso, o produto é ativado e a devolução fica impossibilitada.


Você NÃO DEVE clicar no botão ACEITO!

Também foram feitas sugestões de fotografar quando você tiver desembalando o produto, bem como as etiquetas de entrega que estiverem na caixa, e fotografar também as telas dos termos do Windows (como essa acima). Eu fiz isso, mas não foi necessário. Em todo caso, não custa nada fazer, para o caso de solicitarem as imagens.

Depois é hora de ligar para o lojista e solicitar a devolução. Se negarem, informe que você está amparado pelo código de defesa do consumidor, que proíbe venda casada. Provavelmente vão dizer que é brinde, mas insista. Se não tiver êxito, diga que vai entrar no Procon. Lembre de anotar o protocolo da ligação, além da data, hora e nome do atendente. Se a loja não fornecer protocolo, envie a solicitação por e-mail para que fique registrado (e guarde o e-mail, claro!).

Recomendo que ligue também para a Microsoft e o fabricante (no caso, a Dell). Eu não fiz isso, mas se tivesse feito, talvez tivesse encurtado a história (no final você vai saber o motivo).

No meu caso, teve um facilitador. O submarino enviou, na nota fiscal, discriminado o valor do softwares. Então já ficou claro que se tratava de venda casada.

Nota fiscal discriminando o valor da licença do Windows

Nota fiscal discriminando o valor da licença do Windows

Não obtive êxito junto à loja. Mas é importantíssimo que você reclame com a loja antes de seguir adiante. E isso deve ser feito o quanto antes. De preferência, dentro de 7 dias. Depos de reclamar à loja e não conseguir resolver, você te duas opções:

  • Registrar uma reclamação contra a loja e a Microsoft (não esqueça da Microsoft!) no Procon.
  • Ir ao juduciário (juizado especial). Se não souber onde fica, ligue para o Tribunal de Justiça do seu estado (normalmente no rodapé do site tem o telefone).

As duas opções são gratuitas e não é necessário advogado. Sugiro ir ao Procon primeiro, pois tende a ser mais simples pra resolver. Se não resolver, e você for ao judiciário, o juiz provavelmente irá ver com bons olhos o fato e você ter tentado todas as opções antes de judicializar.

Fui ao Procon, e o acordo que me foi oferecido pela B2W (Submarino) foi a devolução do notebook, e obviamente eu não aceitei, já que comprei numa promoção e não conseguiria comprar novamente pelo mesmo preço. A Microsoft não compareceu.

Decidi ir ao juizado especial, porém demorei algumas semanas pra fazer isso. Mas antes que eu desse entrada, meu telefone tocou:

– Alô, Tiago? Aqui é Fulana, advogada da Microsoft do Brasil. Estou ligando para oferecer uma acordo para que seja retirada a queixa no Procon.

– Certo… qual o acordo?

– R$350 (trezentos e cinquenta reais). Você aceita?

– Precisa de quê?

– Só do nome do seu banco, agência e conta corrente. O dinheiro cai em 15 dias.

– Tá bom… aceito

Dois dias depois cai o dinheiro na minha conta.

Se quiser saber mais sobre o Windows, procure por "Reembolso Windows" no Google. Tem vários e vários relatos explicando como fazer 😉

 


Habilitando e desabilitando o Touchpad no Linux

Existe um comando para habilitar e desabilitar o Touchpad no Linux.

Abra o Terminal (CTRL + T).

Para habilitar:

synclient TouchpadOff=0

Para desabilitar:

synclient TouchpadOff=1

Se você preferir, crie scripts para facilitar a chamada a esses comandos.

Fonte: http://ubuntuforum-pt.org/index.php?topic=48778.0


Como criar script Linux

Esse é mais um daqueles artigos ultra diretos. É bem feijão com arroz. Só pra criar um script rapidinho para que você possa chamar uma lista de comandos a partir de qualquer lugar pela linha de comando.

Primeiro abra o Terminal (No Linux Mint, Ubuntu e Debian: CTRL + ALT + T).

Pegue as permissões de root:

sudo su

Crie o arquivo do script com o nano:

nano /usr/bin/meuscript

O comando acima vai criar o arquivo meuscript na pasta /usr/bin/. Essa é uma das pastas que você pode armazenar seu script para que ele seja chamado de qualquer lugar. Por exemplo: vocé só precisaria digitar meuscript e ele seria executado.

Comece seu script com a seguinte linha:

#!/bin/sh

A linha acima irá dizer qual interpretador será utilizado, evitando alguns problemas.

No exemplo, vou executar um script que salva a data atual em um arquivo de texto. Então seria algo assim:

#!/bin/sh

#Salva a data atual no arquivo /tmp/testemeuscript.txt
date > /tmp/testemeuscript.txt

Com exceção da primeira linha, tudo que começa com # é comentário, ou seja, não será executado. Quando você usa o símbolo de maior que (>), será enviada a saída desse comando ao arquivo definido. Nesse caso, a saída de date para /tmp/testemeuscript.txt.

Se você usar apenas um "maior que" (>), ele limpará o arquivo antes de salvar os dados. Se colocar dois "maior que" (>>).

Digite CTRL + O e em seguida Enter para salvar o arquivo, e em seguida CTRL + X para sair do nano e voltar ao terminal.

Por último, você precisa dar permissão de execução ao script:

chmod +x /usr/bin/meuscript

E agora você pode executá-lo:

meuscript

Aparentemente nada aconteceu, mas acredite: aconteceu! 😛

Vamos ver a data salva no arquivo de texto:

cat /tmp/testemeuscript.txt

Se deu tudo certo, a data apareceu pra você! Lembre-se que o diretório /tmp/ é apagado quando o sistema inicia, ou seja, é só pra coisas temporárias :P. O comando cat lê o arquivo e exibe na tela. Se precisar imprimir algo na tela, use o echo, como no exemplo:

echo date

É isso! Dùvidas? Pergunte nos comentários!


Testando a conexão do seu desktop ou servidor Linux por linha de comando com o Speedtest-cli

O Speedtest.net é uma ferramenta bem conhecida e confiável para realização de testes de velocidade. Ele tem diversos servidores de teste espalhandos pelo mundo, e vai escolher o mais próximo ao lugar onde você está, para um teste mais confiável.

Há alguns anos fiz esse artigo sobre teste de velocidade de internet, mas hoje em dia o que eu faço é criar um script que testa periodicamente a velocidade (coloco de hora em hora) e salva os resultados em um log.

Vou mostrar como fazer. Abra o Terminal (CTRL+ALT+T).

Primeiro você deve verificar a versão do python que você tem instalada. Deve ser superior à 2.4:

python -V

Os três comandos abaixo vão baixar, dar permissão de execução e mover para /usr/bin, assim ele poderá ser chamado a partir de qualquer lugar.

sudo wget https://raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
sudo chmod a+rx speedtest_cli.py
sudo mv speedtest_cli.py /usr/bin/speedtest-cli

Agora você pode rodar o comando abaixo:

speedtest-cli

E terá um resultado como esse:

Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Global Village Telecom (177.158.236.209)...
Selecting best server based on latency...
Hosted by UAUBR (Simao Dias) [76.36 km]: 9.644 ms
Testing download speed........................................
Download: 14.33 Mbit/s
Testing upload speed..................................................
Upload: 5.22 Mbit/s
Share results: http://www.speedtest.net/result/5269792489.png

E assim será possível constatar que estou sendo roubado pela operadora, já que contratei 50 Mega e estou recebendo menos de 15 😛

Uma coisa bem interessante é o "Share results" onde ele disponibiliza um link para a imagem de resumo do teste realizado, assim dá pra deixar registrado e compartilhar com outras pessoas, da mesma forma que é feito pelo site do Speedtest.net.

Também podemos criar um script que testa periodicamente e guarda o dados em um log.

Digite sudo nano /usr/bin/speedtest.sh (ou outro nome que desejar) e coloque o conteúdo abaixo:

#!/bin/bash

#Script que testa velocidade da internet utilizando o Speedtest.net
#Autor: Tiago Passos
#Fonte: http://blog.tiagopassos.com/2016/04/22/testando-a-conexao-do-seu-desktop-ou-servidor-linux-por-linha-de-comando-speedtest-cli/

echo "###" >> ~/speedtest.log
date >> ~/speedtest.log
speedtest-cli --share >> ~/speedtest.log
date >> ~/speedtest.log
echo "###" >> ~/speedtest.log
echo "" >> ~/speedtest.log

Não esqueça de dar permissão de execução:

sudo chmod +x /usr/bin/speedtest.sh

Nesse caso eu salvei o log na raiz do usuário logado (~/speedtest.log), mas você pode escolher outro lugar. Adicionei a data (date) porque o teste não, mostra na saída de texto, nenhuma data.

Pra completar, podemos colocar o teste no cron. Para executar de hora em hora. Digite:

crontab -e

E acrescente a linha:

0 * * * * speedtest.sh

Pronto! Deu certo? Deu errado? Teve que fazer diferente? Comente!

Fonte:


  • Publicidade

  • Redes Sociais

    Facebook  Twitter
  • Estatísticas

    Page Views (desde março de 2010):

    Estatísticas detalhadas
  • Novidades por e-mail!

    Digite seu e-mail:


    Fique tranquilo. Seu e-mail não será usado para outros fins, e você poderá se descadastrar quando quizer.

    Eu!

    Tiago Passos
    Todo o conteúdo desse site esta licenciado sob a licença Creative Commons 3.0 (CC BY 3.0). Você pode copiar e modificar o conteúdo desde que cite o autor.
    iDream theme by Templates Next | Powered by WordPress