Inércia Sensorial

24 de November de 2006

Desfazer remove do svn

Filed under: Programação — inerte @ 16:47

Removeu por engano um arquivo de sua cópia de trabalho local pelo svn? Para voltar essa remoção, basta dar update no arquivo ou no diretório que o contém. A última versão do arquivo no repositório será trazida. Entretanto, as modificações locais terão sido perdidas…

22 de November de 2006

Django on SliceHost Virtual Private Server

Filed under: Perils of Software Development — inerte @ 09:47

I’ve recently moved my Django websites from Dreamhost due to poor FastCGI performance to the 256 plan option from SliceHost. If you sign-up with them, please use “[email protected]” as your referral. I have no idea how much they pay for referrals, but any money is good money 😉

Here’s my guide:

Sign-up to SliceHost

Painless registration gave me the root password in 2 minutes. Write down your IP address and your root password somewhere so you won’t forget it.

Setup the packages

SSH (I’ve used Putty) to your server, authenticate, and execute the commands below. I’ve decided to install PHP because I have domains using it. Also, it’s necessary for phpMyAdmin.

$ apt-get install apache2
$ apt-get install libapache2-mod-python2.4
$ apt-get install mysql-server
$ apt-get install python2.4-mysqldb
$ apt-get install php5
$ apt-get install php5-mysql
$ apache2ctl restart
$ /etc/init.d/apache2 reload

Setup Mysql

$ mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD ('your_root_mysql_password') WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
mysql> quit

Optional: Install phpMyAdmin

It’s just easier. I’ve decided not to install a FTP server to upload my files. Instead, I’ve used WinSFTP, a sftp client for Microsoft Windows. Download and install it. Open, paste your Slice IP address and browse to the /var/www/ directory, upload phpMyAdmin and follow its install instructions.

Setup Django

$ cd /usr/lib/python2.4/site-packages/
$ svn co http://code.djangoproject.com/svn/django/trunk/ django

Setup your Django project

Open WinSFTP again, browse to the /usr/lib/python2.4/site-packages/ directory and upload your Django project.

Edit its settings.py file.

vi /usr/lib/python2.4/site-packages/your_django_project/settings.py

I’ll show only what you have to change, besides whatever is needed for your project to work (like INSTALLED_APPS):

DATABASE_ENGINE = 'mysql'
DATABASE_NAME = 'your_db_name'
DATABASE_USER = 'your_db_user'
DATABASE_PASSWORD = 'your_db_password'

I use a directory for media files called “web” on most of my projects:

MEDIA_ROOT = '/var/www/your_domain.com/web/'
MEDIA_URL = '/web/'

You’ll also have to change the TEMPLATE_DIRS tuple. Just put whatever you use. Here’s mine for reference:

TEMPLATE_DIRS = (
# Put strings here, like “/home/html/django_templates”.
# Always use forward slashes, even on Windows.
‘/usr/lib/python2.4/site-packages/my_django_project/templates/my_django_project/’,
)

Setup the domain

$ mkdir /var/www/your_domain.com
$ mkdir /var/log/apache2/your_domain.com
$ vi /etc/apache2/sites-available/your_domain.com

Paste this text inside the file:

<VirtualHost *>
ServerName www.your_domain.com
ServerAlias your_domain.com
# The three lines below remove the www from the domain name. I don’t like wwws.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.your_domain\.com [NC]
RewriteRule (.*) http://your_domain.com$1 [R=301,L]

DocumentRoot /var/www/your_domain.com

CustomLog /var/log/apache2/your_domain.com/access.log combined
ErrorLog /var/log/apache2/your_domain.com/error.log

SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE your_django_project.settings
PythonDebug Off
PythonPath “[‘/usr/lib/python2.4/site-packages/django’] + sys.path”

# My own media directory (as mentioned in the previous section)
<Location “/web/”>
SetHandler None
</Location>
# Necessary for Django’s admin media files
<Location “/media/”>
SetHandler None
</Location>
</VirtualHost>

Symlink your new domain configuration file to the correct directory:

ln -s /etc/apache2/sites-available/your_domain.com /etc/apache2/sites-enabled/your_domain.com

Symlink Django’s admin media files to your domain:

ln -s /usr/lib/python2.4/site-packages/django/django/contrib/admin/media/ /var/www/your_domain.com/media

Edit Apache’s configuration file to tell it your IP address:

vi /etc/apache2/apache2.conf

Paste this before the # Include the virtual host configurations: line (it’s one before the last):

ServerName your.slice.ip.address

Edit Apache’s log rotation to include your new domain:

vi /etc/logrotate.d/apache2

Paste this at the end:

/var/log/apache2/your_domain.com/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 root adm
        sharedscripts
        postrotate
                if [ -f /var/run/apache2.pid ]; then
                        /etc/init.d/apache2 restart > /dev/null
                fi
        endscript
}

DNS Server

I’ve tried to install a DNS Server but not only I thought it’s hard, having a single point of failure is bad. So I’ve signed up with DNS Made Easy and I let them manage this for me. It’s super simple, after joining, add your domain to DNS Made Easy and write down the DNS server addresses. Wait until the domain name is “created” (to me, it varied from 30 minutes to 2 hours), and change the dns servers from your domain name registrar.

Last action

Restart Apache one more time:

$ apache2ctl restart
$ /etc/init.d/apache2 reload

And we’re done! With one caveat: We’ve checked out Django “trunk” directory into your Python’s directory. That means the real django lives a directory below:

/usr/lib/python2.4/site-packages/django/django/

Which means that if you ever want to use Django outside Apache’s mod_python, you’ll have to add the /usr/lib/python2.4/site-packages/django directory to your sys.path. Or, you could checkout Django to somewhere else, and move the “real” django directory to site-packages/ (and change the /etc/apache2/sites-available/your_domain.com) accordingly.

If you’re having problems, write something at the comments here and I will try to help you.

08 de November de 2006

Sigilo de fonte é ignorado pela PF

Filed under: Política — inerte @ 22:19

Não costumo escrever sobre política, mas depois de uma, pode vir outra.

Durante as investigações das ligações recebidas por e para Gedimar Passos, a PF aparentemente resolveu quebrar o sigilo telefônico a torto e a direito de qualquer número, incluindo de 3 entidades da imprensa. Com exceção de duas delas, do jornal O Globo e do Estado de São Paulo.

Se você ainda não entendeu, apenas um jornal teve seu sigilo telefônico quebrado. No caso, a Folha de São Paulo. E não apenas em um telefone, mas dois, um fixo da sucursal de Brasília e o celular de uma repórter. No relatório encaminhado pela PF à CPI dos Sanguessugas, os números da Folha ainda por cima são citados oito vezes.

A desculpa do delegado encarregado para tantas coincidências é que ele não sabia que o telefone era do jornal. Como se vê, profissional da mais alta competência. Sabe que fez burrada e dá uma desculpa fraca, que só fez piorar a situação.

Não sei se existe algum tipo de procedimento, antes de pedir a quebra do sigilo, de verificação do dono da linha. Deveria, afinal, esse tipo de situação não pode ocorrer. Sigilo de fonte e imprensa livre são direitos básicos de uma boa sociedade. Não é a primeira birra do governo Lula contra a imprensa. Nosso presidente odeia dar satisfações à sociedade, e ignora esse canal.

O delegado pediu até amanhã para arranjar uma desculpa melhor. Vamos esperar então 24 horas para a próxima baboseira.

07 de November de 2006

A assessoria do Suplicy não tem noção

Filed under: Política — inerte @ 15:37

Entrei em contato, pelo site, com o senador Eduardo Suplicy para mostrar minha indignação com a proposta de identificação no acesso à internet. Primeiro segue meu email, em seguida a resposta deles.

De: [email protected] [mailto:[email protected]]
Enviada em: segunda-feira, 6 de novembro de 2006 16:19
Para: Sen. Eduardo Suplicy
Assunto: HP – Identificação

Olá Senador,

Infelizmente não conheço sua posição nesse assunto, abordado em matéria da Folha (http://www1.folha.uol.com.br/folha/informatica/ult124u20908.shtml), sobre identificação obrigatória de acesso à internet.

Gostaria que você, em quem votei nas duas últimas eleições, considerasse se opor a esse projeto, e pudesse conversar com seus colegas, fazendo-os desistir dele.

Eu entendo que a constituição brasileira não permita o anonimato, conforme quarto parágrafo do quinto artigo. Mas o Estado não pode presumir que somos todos culpados. Não posso ser considerado um suspeito apenas por estar num meio que exista uma minoria criminosa. Há certas comunicações minhas que não desejo acesso à ninguém. A resposta usual a esse tipo de colocação é a pergunta, “Se você não fez nada de errado, o quê você tem a esconder?”

Bem, talvez eu tenha feito algo de errado. Hoje de manhã eu naveguei pela internet e achei uma página com todas as fotos das capas da revista Playboy. E vi elas. Se minha namorada souber disso, ela vai brigar comigo. Esse exemplo é banal? Não em outros países. Em alguns lugares do mundo eu poderia ser apedrejado em praça pública pelo que fiz.

Não quero dizer que as leis do Brasil podem mudar e passarem a considerar minhas ações ilegais. Sei muito bem a diferença entre o certo e o errado. Não vou nem mencionar que hoje em dia já é possível identificar quem faz o quê na internet atráves do número IP, dado à toda conexão. Ou roubo de identidade, computador compartilhado… tudo isso é irrelevante.

Há uma questão mais profunda nisso, de relação do governo com a sociedade. O governo deve “temer” a sociedade, pois somos nós que o criamos, controlamos e fiscalizamos. O inverso não pode ser verdadeiro para cidadãos, como eu, que respeitam as leis. O controle da manifestação da expressão inibe a capacidade do povo de controlar o governo. Não deixe isso acontecer, por favor.

Obrigado Suplicy.

A resposta da assessoria do senador chegou no mesmo dia, algumas horas após a minha mensagem. Ao menos isso…

Toda correspondência que chega aqui ao gabinete, por via virtual ou não, antes de ser encaminhada ao senador Eduardo Suplicy para resposta e/ou providências, tem seu remetente cadastrado em nosso banco de dados. Para o cadastro, são necessários o nome e endereço completos, incluindo o CEP, e telefones para contato, com DDD, que serão para uso apenas interno, do gabinete. Essas informações não são divulgadas nem usadas indevidamente.

Contamos com sua compreensão, enquanto aguardamos.

Atenciosamente,

Assessoria do senador Eduardo Suplicy

Normalmente eu não me negaria em fornecer nenhum desses dados, mas achei a situação boa demais para não dar essa resposta:

Vocês leram minha mensagem, por acaso?

A ironia…

Um a zero, para mim? 🙂

Na verdade, acho que exigir identificação ao nos correspondermos com político é maluquice. O cara pode ser “autoridade”, mas também é funcionário público, e servil à sociedade. Porquê preciso dar nome, cep e telefone para ser cidadão?

Powered by WordPress