Sim, é isso, abra seu terminal e digite: traceroute 216.81.59.173
Sem mais:
via: bernabauer
Pra quem não conhece, StarGate é tipo o DragonBall Z das séries de Sci-Fi, é muito raro encontrar alguém que não tenha assistido e muito menos não goste. Foram 10 temporadas, que geraram 2 Spin-Offs, inclusive durante 2 anos tivemos 2 séries passando na TV ao mesmo tempo, épico !
Finalmente foi anunciado um jogo sobre a série, por enquanto é só pra IOS, segue o teaser:
A história do jogo provavelmente vai ser baseada na série, temos alguns personagens da série presentes, bacana.
O mercado cresceu, as Clouds se espalharam e o termo ficou tão genérico que quando usado sozinho não tem muito significado. Hoje existem termos que se adequam melhor ao que a Cloud Computing oferecem, são eles: SaaS, PaaS e IaaS.
Vamos simplificar:
Ou pra facilitar:
via: everythingsysadmin
Não é legal colocar no github suas senhas ou configurações especificas da sua máquina de desenvolvimento, e no Django padrão ele praticamente te induz ao erro.
Mas não se preocupe, é bem simples adaptar seu projeto de tal forma que suas configurações locais não se misturem com o código que vai ser publicado. basta adicionar as seguintes linhas no fim do seu arquivo settings.py:
try: from local_settings import * except ImportError, e: pass
Agora vc pode editar o local_settings.py de tal forma a ‘re-escrever’ variaveis, listas, tuplas do settings.py do seu projeto. Só não esqueça de manter o local_settings.py fora do seu repositório !
Quando se usa o git em diferentes sistemas operacionais, com diferentes sistemas de arquivo é bastante comum ao fazer git pull receber uma série de mudanças de permissões, principalmente entre máquinas Windows e Unix. Para fazer o git ignorar essas mudanças em um repositório use:
git config core.filemode false
Para ignorar em todos os seus projetos:
git config --global core.filemode false
Hoje pela manhã o Mail do OSX parou de enviar emails, minha primeira suspeita foi de problemas na minha VPS, mas não era, dei um nmap e descobri isso:
22/tcp open ssh 25/tcp filtered smtp 53/tcp open domain 80/tcp open http 143/tcp open imap 443/tcp open https 587/tcp open submission 993/tcp open imaps 2000/tcp open cisco-sccp 3306/tcp open mysql 5222/tcp open xmpp-client 5269/tcp open xmpp-server 5280/tcp open xmpp-bosh 7777/tcp open cbt
Porta 25 filtrada, ou seja, um firewall está bloqueando pacotes, o Vivo Speedy não deixa mais pacotes trafegarem pela porta 25, oficialmente é para bloquear SPAM.
Meu primeiro impulso foi correr no postfix e alterar a porta, de 25 para 587, com isso consegui enviar emails dos meus clientes de email, mas não recebiam… Obviamente, já que os servidores de email conversam via porta 25, então eu não poderia simplesmente trocar a porta, já que o resto do mundo tenta conversar pela porta 25. Como resolver ?
Eu resolvi adicionando uma segunda porta de SMTP, com a 25 e a 587, dessa forma os servidores de email conseguem me entregar as mensagens e meu cliente consegue acessar o SMTP.
Basta colocar uma nova entrada em /etc/postfix/master.cf parecida com:
25 inet n - - - - smtpd 587 inet n - - - - smtpd
Não sei exatamente se essa é a melhor solução para o problema, mas as soluções melhores usam mais de um servidore de email, achei overkill.
Após uma olhada nos logs do meu servidor de email encontrei varias entradas como essa:
postfix/smtp: certificate verification failed for gmail
Pra resolver basta adicionar a seguinte linha no /etc/postfix/main.cf :
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Então basta reiniciar o postfix.
Configurar um serviço de boot remoto é um skill dos sysadmins da era paleozóica, a idéia é usar um servidor dedicado à persistência de dados, servindo todos os dados, incluindo o sistema operacional via rede. A vantagem desse modelo é o custo de administração, como os sistemas são centralizados em uma máquina, instalar, remover ou configurar todo o parque é muito mais rápido, e é possível administrar o SO de uma máquina mesmo com ela desligada.
Essa técnica, é a base primordial da cloud computing, à partir dessa infra é possível configurar e servir VPS, e migrar de um node pra outro de forma transparente, e com a dose de redundancia certa, o sistema se torna muito confiável, já que uma falha de hardware é minimizada, já que a persistência é feita em outra máquina.
A topologia é simples:
O processo de boot remoto é relativamente simples:
As ferramentas usadas para a tarefa são:
O primeiro passo é instalar os pacotes:
apt-get install dhcp3-server tftpd-hpa nfs-kernel-server initramfs-tools
Uma boa configuração do DHCP server (/etc/dhcp/dhcpd.conf ) tem mais ou menos o seguinte aspecto:
ddns-update-style none;
option domain-name "exemplo.com";
option domain-name-servers 8.8.8.8;
default-lease-time 86400;
max-lease-time 604800;
option time-offset -18000;
authoritative;
log-facility local7;
allow booting;
allow bootp;
subnet 192.168.0.0 netmask 255.255.255.0 {
get-lease-hostnames on;
use-host-decl-names on;
range 192.168.0.200 192.168.0.210;
option routers 192.168.0.10;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
filename "pxelinux.0";
next-server 192.168.0.10;
}
Lembrando que o IP 192.168.0.10 é o IP do servidor DHCP/Storage/Gateway
Atente ao Range de IPs na no parametro “range”, preste atenção nele isso é importante, volto nesse ponto já já.
A configuração do TFTPD é simples e auto explicativo:
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/lib/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure"
A configuração do serviço de compartilhamento NFS é simples, por exemplo:
/srv/client_root_fs 192.168.0.*(rw,no_root_squash,async) /srv/node01 192.168.0.*(rw,no_root_squash,async) /srv/node02 192.168.0.*(rw,no_root_squash,async) /srv/node03 192.168.0.*(rw,no_root_squash,async) /srv/node04 192.168.0.*(rw,no_root_squash,async) /data 192.168.0.*(rw,no_root_squash,async)
O PXE tem uma configuração, /var/lib/tftpboot/pxelinux.cfg/default, ela tem mais ou menos o aspecto abaixo:
DEFAULT linux LABEL linux kernel vmlinuz append root=/dev/nfs initrd=initrd.img nfsroot=192.168.0.10:/srv/client_root_fs ip=dhcp rw
Todas as requisições que chegarem, receberão essa configuração, com esses parâmetros, isso é bacana, mas teremos problemas se todos os nodes usarem a mesma imagem de disco. É relativamente simples separar os diretórios /var e /tmp dos nodes usando links. Mas é possivel individualizar toda a imagem de root, inclusive personalizando os pacotes e serviços instalados.
Criando por exemplo 10 clones da imagem principal, denominados de node01, node02 …. node10. É possivel ter 10 máquinas completamente individualizadas, podendo inclusive servir distros diferentes.
Pra essa mágica funcionar, devemos criar uma configuração PXE para cada IP do range de ips que definimos na configuração do dhcpd. Por padrão o PXE procura pelas configurações em um arquivo com o mac address da placa que fez a requisição, por exemplo:
pxelinux.cfg/01-00-14-22-a1-53-85
Depois ele tenta pegar o arquivo à partir do IP que o node recebeu, mas antes o IP deve ser convertido para Hexadecimal, por exemplo:
pxelinux.cfg/C0A800C9
O ip 192.168.0.201 convertido para Hex é : C0A800C9, uma forma simples de converter esses ips esta no site: http://www.kloth.net/services/iplocate.php
Por último o PXE tenta ler o arquivo default, ou seja, todas as máquinas que você não declarar vão subir com a configuração do arquivo default.
pxelinux.cfg/default
Segue um exemplo de configuração PXE para um IP declarado (pxelinux.cfg/C0A800C9
) , por exemplo :
DEFAULT linux LABEL linux kernel vmlinuz append root=/dev/nfs initrd=initrd.img nfsroot=192.168.0.10:/srv/node01 ip=dhcp rw
Feito isso, toda máquina que pegar um IP pelo DHCP, vai subir o sistema à partir de uma das cópias de imagem de sistema, se o IP estiver no range, ele pega um diretório especifico, se não estiver pega o default.
Deu pra sacar a mágica envolvida ? Não importa qual máquina boota, a partição de root não tá atrelado ao hardware, se o hardware pifa ? É só espetar outro que ele funciona ! Sem precisar configurar nada, é só mandar subir o PXE. Precisa aumentar o número de nodes ? Sem problema ! É só clonar as imagens, as configurações do PXE e aumentar o range no DHCP, simples assim.
Depois quase 3 anos sem usar mac como sistema principal, comprei um imac
Me arrependo de não ter comprado antes.
Já falei em outros posts, gosto do hacrdware da apple, ele é bem equilibrado, bonito, funcional e na minha mão, dura muito… Tenho 2 imacs de 98, funcionando, rodando debian… só não uso no dia a dia pq preciso da WEB e seus ajaxes e js usam memória e processador demais pra um G3 233Mhz com 192Mb de RAM. Tenho um ibook, funcionando, com um safari safado, mas funcionando e por ai vai. Meu único produto apple que morreu foi um macbook pro Rev A, que foi o primeiro mac com processador intel a ser vendido…. Por ser um Rev A, era esperado… as vezes ele liga, mas não é confiável.
A apple perdeu um pouco do esmero, lembro de um imac aluminio que tirei da caixa em 2008, ele veio até com flanelinha pra limpar a tela, esse meu, só veio com mouse, teclado, o mac e o cabo…. nada de DVD, controle remoto ou flanelinha.
O que me motivou a comprar um iMac principalmente foram os problemas de hardware dos meus dois computadores domésticos. Meu desktop, de 2008 mas com tecnologia de 2007 que foi por 2 anos um hackintosh de respeito, mas que tinha um problema de limitação de memória (apenas 2gb sem possibilidade de expansão). Com o tempo ele ficou muito lerdo pra rodar o Leopard, troquei por um linux, mas como uso muitas maquinas virtuais ficou inviavel.
A outra máquina é um dell studio, máquina que me arrependo de ter comprado, apesar do processador potente o resto não acompanha, teclado mole, tela com cores ruins, som péssimo, HD lerdo e bateria que arriou com menos de 2 anos… nas ultimas semanas a rede tanto por wifi quanto por cabo se tornaram intermitentes… não importa o SO, um fiasco. A gota ficou pela atualização do driver proprietário da AMD/ATI, ela abandonou o suporte a minha placa, e o driver livre não presta… Já passei por isso antes, daqui a alguns releases do kernel o driver velho não vai compilar mais, e eu vou ficar na mão … Acho que usar um windows 7 com cygwin é um final mais digno pro notebook.
Enfim, não desisti do linux, onde ele funciona sem me encher o saco ele continuará sendo usado, como no meu netbook, mas o imac me traz uma estabilidade, tenho garantia pelos próximos 3 anos, e pelo menos mais 5 anos de suporte ao sistema operacional pela apple, e após esse período ele será uma workstation bacana rodando um linux leve pra máquinas antigas.
Minha fase de sair recomendando macs a torto e a direito passou, mas me traz uma satisfação enorme dizer que daquela época pra cá, temos 3 sistemas operacionais decentes tanto pra users avançados quanto iniciantes, tá de saco cheio de um vai pro outro, sem frescura, simples assim.
Recebemos no hacklab o desafio de desenvolver a parte técnica de uma cabine de cinema, nessa cabine você escolhe uma cena clássica do cinema e assiste dentro, sentado em uma confortável poltrona de cinema.
Para selecionar o filme é usada uma tela touchscreen, o modelo escolhido foi o ST2220T da Dell, principalmente por possuir um touch sensível (lembra muito o do ipad), e ter uma tela maravilhosa fullHD. O lado ruim é que apesar de ter vários meses de estrada a Dell nunca liberou nenhum driver para o monitor, deixando a cargo da comunidade.
Ao ligar o monitor no PC o touchscreen ele pode até funcionar, mas é necessário usar os dois dedos para movimentar o cursor. Isso acontece pois o a tela é dual-touch, ou seja, reconhece até dois toques simultâneos.
O driver que corrige esse problema foi recentemente incluído no kernel 3.4 do linux, mas boa parte das distros ainda usam a versão 3.0, então segue um breve tutorial de como instalar os drivers no Ubuntu 12.04 (Funciona no Debian testing!).
Existem três formas de se obter os drivers, uma é aplicando este patch no fonte do kernel, compilando e instalando apropriadamente.
Outra forma, bem simples é baixando e instalando um kernel com o patch citado acima pré-aplicado, ou seja, pronto para usar. Nesse caso, basta baixar o kernel desse site:
http://people.canonical.com/~bradf/lp791833/
Instale com o comando:
dpkg -i linux-image-3.2.0-20-generic_3.2.0-20.33~lp791833_i386.deb update-grub2
Após o reboot, o touch funcionará normalmente.
Uma outra forma mais genérica, é compilar o driver para o kernel que você já possui instatalado, para isso, faça:
apt-get install build-essential git clone git://git.lii-enac.fr/linux-input/ubuntu-multitouch cd ubuntu-multitouch
Use o comando git branch -a
, para listar os branchs disponíveis, escolha um e digite:
git checkout hid-multitouch-ubuntu-12.04 make sudo make install sudo depmode -a
Após esses passos, basta rebootar.
Para melhor funcionamento da tela, vale a pena instalar alguns pacotes com:
apt-get install xinput evtest xserver-xorg-input-evtouch
Existem vários outros detalhes técnicos dessa cabine que quero mostrar em breve