sexta-feira, abril 13, 2007
Tempo vale mais do que dinheiro
Tempo vale mais do que dinheiro
Não importa se você é rico ou pobre, ou mesmo miserável, o seu tempo vale mais do que dinheiro.
Se você é um pobre trabalhador, a riqueza gerada por seu trabalho nas horas que você recebe para ficar à disposição da empresa é sempre maior do que você recebe. Afinal, uma parte do valor que você gera fica com o cliente e a outra com o patrão. Quanto mais tempo você economizar para o seu patrão ou o cliente, mais dinheiro o seu tempo vale.
Se você é patrão, o seu tempo vale tanto que é melhor pagar outras pessoas para fazerem um monte de coisas do que você mesmo fazer. O seu tempo é tão valioso que é melhor pagar alguém para varrer a loja, fazer a contabilidade, ir ao banco ou mesmo ser gerente em uma de suas lojas ou da sua empresa. Não gaste o seu tempo fazendo o que você pode pagar outra pessoa para fazer. O seu tempo precisa ser gasto em coisas mais importantes.
Para o cliente, o tempo economizado por um produto ou serviço vale mais do que o dinheiro. Compramos passagens áereas para não gastar tanto tempo com ônibus, compramos coisas pela internet porque não temos tempo de ir à loja. É melhor pagar um advogado caro do que passar um tempo na cadeia, assim como é melhor perder um objeto ou o carro do que o resto do tempo da sua vida em um assalto.
O tempo é um recurso finito, para cada um de nós. O dinheiro não. O tempo perdido na juventude não pode ser comprado na velhice. Os espertos compram o tempo dos outros poderem usar melhor o próprio tempo. Assim é que ficam ricos. As pessoas em geral valorizam muito pouco o próprio tempo. Eu me surpreendo quando ouço alguém dizer que está fazendo algo "para passar o tempo", como se ele fosse algo que fosse para jogar fora!!
O recurso mais importante em qualquer empresa não é o capital, ou a tecnologia. Esses são abundantes e podem ser obtidos por pessoas que sabem usar o tempo. A preocupação principal de qualquer gerente deve ser gerenciar o tempo das pessoas, porque isso é que faz a diferença entre uma empresa vencedora e uma outra qualquer.
Embora haja muitos aspectos para um gerente acompanhar em uma empresa, o essencial é um só: organizar e distribuir o tempo das pessoas. Quando o gerente dá uma ordem ou distribui uma tarefa, ele está decididindo sobre o uso do tempo daquela pessoa. Qualquer economista sabe que a riqueza de um povo ou empresa está diretamente vinculada à produtividade, isto é, ao quanto de valor um trabalhador produz em um ano.
Então, pare de desperdiçar o seu tempo, e pior ainda, o tempo da sua equipe! Você está jogando uma riqueza imensa fora!.
Só determine tarefas absolutamente necessárias.
Desenvolva a sua equipe para que ela seja o mais eficiente possível e ao mesmo tempo faça aquilo que realmente tenha valor para o cliente.
Lembre-se que economizar o tempo do cliente é o que realmente cria valor. Quanto vale um atendimento adequado, informações claras e produtos que realmente cumprem a promessa do vendedor? O cliente percebe que não perde tempo procurando sua empresa. Isso vale a satisfação do cliente, seguida da fidelidade, que permite o lucro, que por sua vez permite pagar melhores salários para sua equipe.
Portanto, se você é gerente, aprenda a gerenciar o tempo, o seu e o da sua equipe. E fique rico!
--
=========================
Alexandre Miguel de Andrade Souza
sábado, março 17, 2007
Aprenda a programar em dez anos (ou qualquer outra coisa decente também)
http://pihisall.wordpress.com/2007/03/15/aprenda-a-programar-em-dez-anos/
--
=========================
Alexandre Miguel de Andrade Souza
sexta-feira, março 16, 2007
qemufácil
http://www.vivaolinux.com.br/scripts/verFonte.php?codigo=2570&arquivo=QFacil.py
----------------------------------------------------------------------------------------------------------------------------
#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Minha primeira experiencia em pygtk, uma interface simples para o qemu
# Apenas para aprender como se faz.
# Ele pega as opcoes definida na interface e de acordo com elas
# preprara os parametros a serem enviados e finalemente chama o qemu
#
# O Qemu deve estar instalado corretamente para que o script funcione
# E tambem o kqemu, caso queira usar essa opcao
#
# Muita coisa aqui nao foi feita da melhor forma possivel por ser meu primeiro script
# Qualquer dica, conselho, reclamacao etc é bem vindo
#
# Por diogosouza.eu (at) gmail.com
# Em 25-Fev-2007
#
import pygtk
pygtk.require('2.0')
import gtk
# Importado para passar instrucoes ao sistema operacional
import os
# classe principal
class teste:
# construtor da janela
def __init__(self):
#inicia variaveis que vou usar depois
self.audio = ""
self.tela = ""
self.hora = ""
self.cdx = ""
self.hdx = ""
self.floppyx = ""
self.parametros ="qemu "
self.booton = "--> cdrom ON"
# Aqui e onde a janela e criada
self.win = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.win.connect('delete-event',gtk.main_quit)
self.win.set_border_width(8)
self.win.set_title('Qemu Facil')
# Dividi a janela em quatro conteiners. O vbox e onde organizo tudo
# no grid ficam as opcoes gerais, nos hbox os que sobraram
self.vbox = gtk.VBox(False, 8)
self.grid = gtk.Table(5,4)
self.hbox = gtk.HBox(False, 8)
self.hbox2 = gtk.HBox(False, 8)
# Abaixo a construcao geral da janela
self.grid.set_col_spacings(10)
self.intro = gtk.Label("Qemu Facil - uma simples interface")
self.label = gtk.Label('Usar')
self.usar_cdrom = gtk.CheckButton("-->")
self.usar_hd = gtk.CheckButton("-->")
self.usar_floppy = gtk.CheckButton("-->")
# Esses chamam as funcoes para definir as variaveis de acordo com as escolhas
self.usar_cdrom.connect('toggled', self.activar_cdrom, "-->")
self.usar_hd.connect('toggled', self.activar_hd, "-->")
self.usar_floppy.connect('toggled', self.activar_floppy, "-->")
self.label2 = gtk.Label('Boot')
# Aqui eu ja tive de anexar logo a tabela e definir a função por serem radio
# e eu nao sei trata-los de outra forma...
self.boots = gtk.RadioButton(None, "")
self.grid.attach(self.boots, 4 , 5, 1, 2)
self.boots.connect('toggled', self.boot_cdrom, "-->")
self.boots= gtk.RadioButton(self.boots, "")
self.grid.attach(self.boots, 4, 5, 2, 3)
self.boots.connect('toggled', self.boot_hd, "-->")
self.boots = gtk.RadioButton(self.boots, "")
self.grid.attach(self.boots, 4, 5, 3, 4)
self.boots.connect('toggled', self.boot_floppy, "-->")
self.label3 = gtk.Label('CDROM')
self.label4 = gtk.Label('HardDisk')
self.label5 = gtk.Label('Floppy')
# Esses são quem guarda o endereço das imagens a serem usadas
self.cdrom = gtk.Entry()
self.hd = gtk.Entry()
self.floppy = gtk.Entry()
# Por default ficam os drivers físicos
self.cdrom.set_text("/dev/cdrom")
self.floppy.set_text("/dev/fd0")
self.cdrom_busca = gtk.Button('Buscar')
self.hd_busca = gtk.Button('Buscar')
self.floppy_busca = gtk.Button('Buscar')
self.cdrom_busca.connect("clicked", self.busca_cdrom)
self.hd_busca.connect("clicked", self.busca_hd)
self.floppy_busca.connect("clicked", self.busca_floppy)
# Agora eu monto tudo no grid
self.grid.attach(self.label, 0, 1, 0, 1)
self.grid.attach(self.label2, 4, 5, 0, 1)
self.grid.attach(self.usar_cdrom, 0, 1, 1, 2)
self.grid.attach(self.label3, 1, 2, 1, 2)
self.grid.attach(self.cdrom, 2, 3, 1, 2)
self.grid.attach(self.cdrom_busca, 3, 4, 1, 2)
self.grid.attach(self.usar_hd, 0, 1, 2, 3)
self.grid.attach(self.label4, 1, 2, 2, 3)
self.grid.attach(self.hd, 2, 3, 2, 3)
self.grid.attach(self.hd_busca, 3, 4, 2, 3)
self.grid.attach(self.usar_floppy, 0, 1, 3, 4)
self.grid.attach(self.label5, 1, 2, 3, 4)
self.grid.attach(self.floppy, 2, 3, 3, 4)
self.grid.attach(self.floppy_busca, 3, 4, 3, 4)
# Agora e o que entra no hbox, Memoria Ram e Kqemu
self.label6 = gtk.Label('Ram(MB):')
self.ram = gtk.combo_box_new_text()
self.ram.append_text("64")
self.ram.append_text("128")
self.ram.append_text("256")
self.ram.append_text("512")
self.label7 = gtk.Label('Kqemu')
self.kqemu = gtk.combo_box_new_text()
self.kqemu.append_text("Sim - com kernel")
self.kqemu.append_text("Sim - simples")
self.kqemu.append_text("Nao usar")
self.hbox.pack_start(self.label6)
self.hbox.pack_start(self.ram)
self.hbox.pack_start(self.label7)
self.hbox.pack_start(self.kqemu)
# Segundo hbox, Localtime, Audio e Fullscreen
self.localtime_c = gtk.CheckButton("Hora Local")
self.audio_c = gtk.CheckButton("Audio")
self.fullscreen_c = gtk.CheckButton("Tela Cheia")
self.localtime_c.connect('toggled', self.activar_hora, "-->")
self.audio_c.connect('toggled', self.activar_audio, "-->")
self.fullscreen_c.connect('toggled', self.activar_tela, "-->")
self.hbox2.pack_start(self.localtime_c)
self.hbox2.pack_start(self.audio_c)
self.hbox2.pack_start(self.fullscreen_c)
# Caso o usuario queira algo mais...
self.label8 = gtk.Label("Parametros adcionais")
self.extra = gtk.Entry()
# Botão para chamar o qemu
self.entrar = gtk.Button("Entrar")
self.entrar.connect("clicked", self.emular)
# Agora tudo entra no vbox na ordem certa
self.vbox.pack_start(self.intro)
self.vbox.pack_start(self.grid)
self.vbox.pack_start(self.hbox)
self.vbox.pack_start(self.hbox2)
self.vbox.pack_start(self.label8)
self.vbox.pack_start(self.extra)
self.vbox.pack_start(self.entrar)
self.win.add(self.vbox)
self.win.show_all()
# As funcoes a seguir sao do botao de busca das imagens
# Ele abre uma caixa de selecao de arquivos e passa o arquivo
# selecionado para a entrada devida, os gtk.Entry, que sao lidos mais tarde
def file_ok_cdrom(self, w):
self.fc = " %s " % self.filec.get_filename()
self.cdrom.set_text(self.fc)
self.filec.hide()
def file_ok_hd(self, w):
self.fh = " %s " % self.fileh.get_filename()
self.hd.set_text(self.fh)
self.fileh.hide()
def file_ok_floppy(self, w):
self.ff = " %s " % self.filef.get_filename()
self.floppy.set_text(self.ff)
self.filef.hide()
def destroy(self, widget):
self.filec.hide()
self.fileh.hide()
self.filef.hide()
def busca_cdrom(self, widget, data=None):
self.filec = gtk.FileSelection("File selection")
self.filec.connect("destroy", self.destroy)
self.filec.ok_button.connect("clicked", self.file_ok_cdrom)
self.filec.cancel_button.connect("clicked",lambda w: self.filec.destroy())
self.filec.show()
def busca_hd(self, widget, data=None):
self.fileh = gtk.FileSelection("File selection")
self.fileh.connect("destroy", self.destroy)
self.fileh.ok_button.connect("clicked", self.file_ok_hd)
self.fileh.cancel_button.connect("clicked",lambda w: self.fileh.destroy())
self.fileh.show()
def busca_floppy(self, widget, data=None):
self.filef = gtk.FileSelection("File selection")
self.filef.connect("destroy", self.destroy)
self.filef.ok_button.connect("clicked", self.file_ok_floppy)
self.filef.cancel_button.connect("clicked",lambda w: self.filef.destroy())
self.filef.show()
# As funcoes abaixo apenas servem para definir as variaveis que depois serao lidas
# para passa-las ao qemu. Se ve quais Discos usar e em qual esta o Boot
def activar_cdrom(self, widget, data=None):
self.cdx = "%s cdrom %s" % (data, ("OFF", "ON")[widget.get_active()])
def activar_hd(self, widget, data=None):
self.hdx = "%s hd %s" % (data, ("OFF", "ON")[widget.get_active()])
def activar_floppy(self, widget, data=None):
self.floppyx = "%s floppy %s" % (data, ("OFF", "ON")[widget.get_active()])
def boot_cdrom(self, widget, data=None):
self.booton = "%s cdrom %s" % (data, ("OFF", "ON")[widget.get_active()])
def boot_hd(self, widget, data=None):
self.booton = "%s hd %s" % (data, ("OFF", "ON")[widget.get_active()])
def boot_floppy(self, widget, data=None):
self.booton = "%s floppy %s" % (data, ("OFF", "ON")[widget.get_active()])
# Essa verifica as ultimas instruções passadas, Audio, Hora e TelaCheia
def activar_audio(self, widget, data=None):
self.audio = "%s audio %s" % (data, ("OFF", "ON")[widget.get_active()])
def activar_hora(self, widget, data=None):
self.hora = "%s hora %s" % (data, ("OFF", "ON")[widget.get_active()])
def activar_tela(self, widget, data=None):
self.tela = "%s tela %s" % (data, ("OFF", "ON")[widget.get_active()])
def emular(self, button):
# Essa funcao e que chama o qemu com os devidos parametros
# Ele primeiro verifica quais itens usar.
self.parametros = "qemu "
self.imagem = 0
self.boot = 0
self.mram = 0
self.active = self.ram.get_active()
self.activek = self.kqemu.get_active()
# Primeiro ve quais discos carregar e em qual boot
# mas so deixa boot em disco carregado e so ativa disco com imagem selecionada
if self.cdx == "--> cdrom ON" and self.cdrom.get_text() != "" :
self.parametros = self.parametros +" -cdrom "+ self.cdrom.get_text()
self.imagem = 1
if self.booton == "--> cdrom ON":
self.parametros = self.parametros +" -boot d"
self.boot = 1
if self.hdx == "--> hd ON" and self.hd.get_text() != "" :
self.parametros = self.parametros +" -hda "+ self.hd.get_text()
self.imagem = 1
if self.booton == "--> hd ON":
self.parametros = self.parametros +" -boot c"
self.boot = 1
if self.floppyx == "--> floppy ON" and self.floppy.get_text() != "":
self.parametros = self.parametros +" -fda "+ self.floppy.get_text()
self.imagem = 1
if self.booton == "--> floppy ON":
self.parametros = self.parametros +" -boot a"
self.boot = 1
# Depois define a RAM a ser usada
if self.active == 0 :
self.mram = "64"
elif self.active == 1 :
self.mram = "128"
elif self.active == 2 :
self.mram = "256"
elif self.active == 3 :
self.mram = "512"
else:
self.mram = "128"
self.parametros = self.parametros +" -m "+ self.mram
# Verifica se e ou nao para usar kqemu
if self.activek == 0 :
self.parametros = self.parametros +" -kernel-kqemu "
elif self.activek == 2:
self.parametros = self.parametros +" -no-kqemu "
# E as opcoes extras
if self.audio == "--> audio ON" :
self.parametros = self.parametros +" -soundhw all "
if self.tela == "--> tela ON" :
self.parametros = self.parametros +" -full-screen "
if self.hora == "--> hora ON" :
self.parametros = self.parametros +" -localtime "
# E por fim adciona os parametros extras
self.parametros = self.parametros + " " + self.extra.get_text()
# Agora verifica se o minimo foi configurado
if self.boot == 1 and self.imagem == 1 :
# Essa função envia a string ja definida para o sistema
# e retorna o output para lugar nenhum(/dev/null)
os.system(self.parametros)
else:
# Caso falte algum item ele exibe essa mensagem de erro.
self.alert = gtk.MessageDialog(None, gtk.DIALOG_MODAL, buttons = gtk.BUTTONS_CLOSE, message_format = "Sistema nao esta pronto para iniciar, verifique suas opcoes")
self.resp = self.alert.run()
self.alert.show()
if self.resp == gtk.RESPONSE_CLOSE:
self.alert.destroy()
# Abaixo o programa e iniciado
def main(self):
gtk.main()
teste = teste()
teste.main()
--------------------------------------------------------------------------------------------------------------------------------
--
=========================
Alexandre Miguel de Andrade Souza
quinta-feira, março 15, 2007
quarta-feira, março 14, 2007
Configurando tunel ssh no linux (
Uma das opções do SSH é criar um tunel encriptado entre o local host e o
host remoto, e estabelecer a conexão de outro serviço entre os dois hosts em
cima deste tunel encriptado.
Isto pode ser usado para acessos usando serviços como: telnet, ftp, POP3,
Xwindows, Imap e outros.
O exemplo abaixo será com o proxy, neste exemplo usaremos os dados:
O primeiro passo é criar o telnet encriptado, inicialmente escolheremos a
porta local 3128 para o forward da conexão do proxy A senha do host remoto
será solicitada como se estivessemos em uma conexão ssh comum.
##para configurar um proxy (o squid deve estar instalado no servidor remoto
$ ssh -L 3128:127.0.0.1:3128 user@remotehost.com
O segundo passo é configurar o browser para usar a porta local como proxy (3128).
localhost:3128
Feito isso a transmissão de dados será encriptada, isto pode ser observado
com sniffers. Este método pode ser usado para outros serviços ditos inseguros,
bastando apenas apontar a conexão para este serviço.
--
=========================
Alexandre Miguel de Andrade Souza
quinta-feira, fevereiro 08, 2007
pensar python - Como Pensar como um Cientista de Computação em Python
http://pensarpython.incubadora.fapesp.br/portal/
que é uma tentativa de tradução de
http://www.ibiblio.org/obp/thinkCSpy/
Em tempo, já defini que vou usar mesmo o modpython do apache para me adaptar ao mundo python. Já entendi o básico, falta aprimorar.
--
=========================
Alexandre Miguel de Andrade Souza
terça-feira, janeiro 30, 2007
Instalação do debian a partir do (r)windows
O site http://goodbye-microsoft.com/ permite a instalação do debian a partir do windows mesmo.
Para ver os screenshots acesse http://people.debian.org/~rmh/goodbye-microsoft/screenshots/
--
=========================
Alexandre Miguel de Andrade Souza
Karrigell - Finalmente um framework que agrada
o poder da linguagem python
a facilidade de gerar páginas do php
O endereço da promessa é
http://www.karrigell.com/
Do site deles:
In short :
- you can use ordinary Python scripts
- Karrigell services are Python scripts where each function matches a different URL :
foo.ks/barmatches the functionbar()in the scriptfoo.ks(if no function is specified, the functionindex()is used) - HTML inside Python is another form of Python script, where lines beginning by a string are sent to the browser as if there were a
printstatement - Python Inside HTML is very much like PHP or JSP, HTML pages with Python code inserted between the tags <% and %>
- You can use plain CGI scripts : see the documentation for the cgi module in the standard documentation
PS: depois de avaliar, não gostei tanto assim, pois usa extensões fora do padrão (.py). Por enquanto, vou usando o mod_python mesmo.
--
=========================
Alexandre Miguel de Andrade Souza
quinta-feira, junho 01, 2006
Política e software livre, equação complicada.
http://www.noticiaslinux.com.br/nl1149037927.html
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
domingo, maio 28, 2006
Criando e montando arquivo .iso no linux
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4768#
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
quarta-feira, abril 05, 2006
The Perfect Xen 3.0 Setup For Debian
http://www.howtoforge.com/perfect_setup_xen3_debian
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
sexta-feira, março 24, 2006
Ajaxwriter e ajaxlauncher.com
o ajaxwriter foi lançado no ajaxlauncher.com, que promete lançar toda semana um aplicativo novo em ajax. É ver para crer.
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
sábado, março 18, 2006
converter avi para mpeg (svcd) com um comando usando avidemux
avidemux --load arquivo de origem.extensao --process-audio --audio-codec MP2 --audio-resample 44100 --process-video --svcd-res --video-codec SVCD --output-format PS --save arquivofinal.mpg -mplex
podem ocorrer pequenos problemas com frames, taxa de frequencia de audio, nesse caso, retirar o -mplex e o --save nome_arquivo.mpg e usar a interface gráfica.
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
quinta-feira, fevereiro 23, 2006
Configuração da Pixelview Playtv Mpeg2 no Debian
primeiro instalei o módulo modconf
apt-get modconf
depois, como root (ou sudo), removi o módulo bt878
modprobe -r bt878 bttv
depois no modconf, entre no menu
kernel/drivers/media/video (Tv Video Cards)
e configure o módulo
bttv com as opções
card=72 tuner=43 radio=1
lembrar de colocar o cabo de saida da placa de captura
na entrada de microfone da placa de som, bem como
habilitar o microfone como entrada de som
Agora, só falta habilitar o rádio (que ainda não sei)
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
terça-feira, fevereiro 21, 2006
usando mod_python e py_meld
configure o apache
<VirtualHost 127.0.0.1:80>
SetHandler mod_python
PythonPath "sys.path+['/var/www/mysite']"
PythonHandler myapp
PythonDebug On
DocumentRoot /var/www/mysite
<Location "/media">
SetHandler default-handler
</Location>
</VirtualHost>
baixe o py_meld e coloque- o no diretório da sua aplicação
um arquivo de teste do funcionamento
-------------------------------------------[
from mod_python import apache
from pymeld import Meld #a kind of template engine
import re
xhtml = '''<html><body>
<textarea id="message" rows="2" wrap="off">Type your message.</textarea>
</body></html>'''
page = Meld(xhtml)
def handler(req):
req.content_type = "text/html"
path = req.uri
if path == "/":
return apache.HTTP_UNAUTHORIZED
elif re.compile("/[a-z]+/[a-z]+").match(path):
req.write(path +"\n* matched alpha sequence after second delimiter")
elif re.compile("/[a-z]+/[0-9]+").match(path):
req.write("\n* matched numeric sequence after second delimiter")
return apache.OK
--------------------------------------------------------------------------
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
quarta-feira, janeiro 25, 2006
Configuração do sudo para acesso sem senha
username ALL = (ALL) NOPASSWD: ALL
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
quarta-feira, janeiro 11, 2006
Reflexões sobre tempo, espaço, vida e trabalho
Segundo a Wikipedia, o tempo,
"Por influência de idéias desenvolvidas por Einstein (teoria da relatividade), tempo vem sendo considerado como uma quarta dimensão do continuum de espaço-tempo do Universo, que possui três dimensões espaciais e uma temporal.
Pode dizer-se que um acontecimento ocorre depois de outro acontecimento. Além disso, pode-se medir o quanto um acontecimento ocorre depois de outro. Esta resposta relativa ao quanto é a quantidade de tempo entre estes dois acontecimentos. A separação dos dois acontecimentos é um intervalo; a quantidade desse intervalo é a duração.
Uma forma de definir depois baseia-se na assumpção de causalidade. O trabalho realizado pela humanidade para aumentar o conhecimento da natureza e das medições do tempo, através de trabalho destinado ao aperfeiçoamento de calendários e relógios, foi um importante motor das descobertas científicas."
Podemos inferir da definição acima que tempo está relacionado aos acontecimentos da sua vida. Seu tempo começou no seu nascimento, e irá terminar na sua morte. O seu dia começa, na verdade, quando você acorda, e você terá mais ou menos tempo para fazer determinadas coisas dependendo do momento em que acorda.
A noção de tempo está associada, na teoria de Einsten, à noção de espaço, e a relação espaço-tempo é chamada de velocidade. Substituindo (como em uma fórmula matemática), o espaço por acontecimentos (a noção de acontecimento envolve algo externo ao observador) ou melhor ainda, por ações (algo que o observador faz), tem mais tempo e, portanto, mais vida (conjunto de ações realizadas entre o nascimento e a morte) quem faz determinadas coisas mais rápido.
Vamos analisar um pouco mais esse conceito de vida. Comparemos duas áreas de igual tamanho, em contextos distintos: um pedaço de deserto e uma área de igual tamanho na floresta amazônica: dizemos que há mais vida na floresta amazônica, não porque essencialmente há mais matéria, mas porque há mais seres vivos, e consequentemente, mais ações (associamos vida a movimento, ação). A areia do deserto não executa ações (com a execeção de se mover ao sabor do vento). Imagine um objeto comumente inanimado (um copo, ou uma cadeira) se movendo sozinho. Uma expressão comum seria: Isto está vivo!
Embora qualquer atividade possa ser considerada uma forma de trabalho, geralmente associamos a idéia de trabalho apenas às atividades relacionadas à obtenção de recursos, que podem ser guardados/investidos ou gastos em outras atividades.
O trabalho é algo que idealmente associamos ao período de vida adulta, e que não desejamos nem para as crianças (porque ainda não estão prontas) e nem para os idosos (já cumpriram a sua parte).
Também muitas vezes dissociamos trabalho de "vida": "Fulano não tem vida, só trabalha". Viver seria, neste caso, realizar atividades relacionadas ao lazer, estar com a família, amigos, etc. Também dizemos que uma pessoa é vivida quando conheceu muitas pessoas e lugares. Uma associação de lazer e espaço. (viagens são uma forma de "ampliar" seu espaço).
Algumas conclusões que podemos tirar desse conjunto de conceitos são:
Você vive mais quando faz mais atividades de trabalho em menos tempo, o que lhe permite tempo para atividades que lhe dão mais prazer.
Você "vive" mais se adiciona prazer ao seu trabalho, ou de outra forma, se realiza um trabalho que lhe dá prazer.
Você vive mais se faz coisas diferentes em lugares diferentes e conhece ou se relaciona com pessoas diferentes.
.
O seu tempo é sua vida: use-o sabiamente.
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
quinta-feira, janeiro 05, 2006
O Jogo de RPG "vida"
No jogo Vida, diferentemente de outros RPGs, o local onde você inicia o jogo e os recursos disponíveis no início do jogo são completamente aleatórios, porque você inicia o jogo como um bebê, e não pode escolher seus pais, a profissão deles ou quanto dinheiro eles têm.
No jogo vida, a infância é muito importante, mas muitos dos eventos a que o jogador está submetido não podem ser escolhidos por ele. Não se pode escolher a escola, se vai morar com o pai ou com a mãe, ou com ambos, ou mesmo com os avós ou em um orfanato.
Nessa fase, o que o jogador pode fazer é entender o mundo como lhe é explicado, e começar a formar uma idéia de qual será seu objetivo no jogo. Pois é, no jogo Vida, os objetivos nunca são claros e as opiniões sobre quais são os objetivos do jogo variam de jogador para jogador.
Há quem acredite que o objetivo principal seja ganhar dinheiro, e passarão o restante do jogo buscando acumular fortuna.
Outros acham que é ser poderoso, esses então tem uma certa dificuldade. Tem que definir para si mesmos qual é o tipo de poder que querem e quanto querem. Desde que poder pode ser definido como influenciar os outros a seguirem a sua vontade, eles também tem que decidir sobre qual aspecto deverão influenciar os outros, e o quanta influência devem exercer. O mais interessante é que esses passam o jogo inteiro preocupados com o que os outros estão fazendo, para saber se realmente tem poder. Não é engraçado?
Outros acham que o objetivo do jogo é ter prazer. Buscam o prazer sob qualquer forma, desde que, éhhh, humm, cause prazer.
Outros buscam uma tal de felicidade, mas nunca conseguem explicar o que é. Eu é que vou saber?
Outros pensam que o objetivo do jogo é na verdade, conseguir acesso a outros jogos. Dependendo de como ele jogar o jogo Vida, ele ganhará um jogo chamado Céu, ou um jogo chamado Inferno, e outros mesmo acreditam que podem jogar varias outras vezes o jogo Vida e serão bonificados positiva ou negativamente no início do próximo jogo dependendo do seu comportamento no jogo anterior. Eles costumam chamar isso, estranhamente, de espiritualidade.
Mas observando o comportamento dos jogadores nos testes que fizemos, constatamos que:
O fato de não poder escolher os pais não limita diretamente os objetivos dos jogadores, mas percebe-se uma grande influencia dos pais na definição dos objetivos dos filhos, especialmente quando os pais já possuem muito dinheiro e poder.
A maioria dos jogadores acredita que o desenrolar do jogo lhe permitirá o acesso a outros jogos, como o Céu, Inferno (este todos querem evitar), ou nas próximas vezes que jogar o jogo.
Embora poucos jogadores definam como objetivo a reprodução da espécie, a esmagadora maioria por vontade ou em decorrencia de acontecimentos não desejados no desenrolar do jogo, procria, e gosta da atividade de criar os filhos. Recentemente, o número de filhos por jogador tenha reduzido bastante, é um aspecto relevante no desenrolar do jogo.
O fato do jogador definir seus objetivos no jogo geralmente aumenta a satisfação com o jogo, embora os jogadores frequentemente mudem de objetivos ao perceberem que não alcançarão os objetivos iniciais. Isso é perfeitamente possível no jogo.
A satisfação do jogador não é proporcional a um índice quantitativo do seu objetivo no jogo. Isso quer dizer que dois jogadores que definiram como objetivo ganhar dinheiro, e que um tenha o dobro de dinheiro do outro, não é necessariamente nem o dobro mais feliz do que o primeiro, e nem sequer mais feliz. Tudo depende do ponto inicial (quanto do objetivo inicial ele possuía no início do jogo, ou mesmo a partir de um determinado momento do jogo) e também de outros aspectos que ele não definiu como objetivos. Isso quer dizer que um jogador que tenha definido dinheiro ou poder como seu objetivo principal pode ter sua satisfação com o jogo reduzida se aspectos como prazer, reprodução, espiritualidade ou outros não são desenvolvidos no desenrolar do jogo.
Embora tenhamos desenvolvido o jogo lembramos que:
Não sabemos se é possível jogar o jogo mais de uma vez. Portanto, tanto o aprender a joga-lo como nível de satisfação alcançado deve ser buscado durante o próprio jogo, independentemente do ponto de partida ou do desenrolar dos acontecimentos.
Não prestamos suporte técnico, embora outros jogadores possam querer influenciá-lo com sua própria opinião.
O jogo foi desenvolvido única e exclusivamente para dar a você a oportunidade de jogar. Lamentamos dizer que se não gostou, não podemos fazer nada. O que você vai fazer no desenrolar do jogo nos interessa exclusivamente como espectadores, eventualmente.
A nossa idéia inicial foi a seguinte: criamos uma estrutura lógica e de hardware com tendência à complexidade, ou evolução.
Esse jogo foi lançado à bilhôes de anos e era extremamente simples: Alguns tipos de elementos químicos com propriedades físicas que poderiam ser alteradas e recombinadas, em uma quantidade não revelada. Dizem alguns jogadores de nível avançado que a quantidade de matéria não pode ser alterada, mas isso é o que eles falam. Não garantimos que não haja a possibilidade.
Com o passar do tempo, esses elementos quimicos foram, como planejado, se recombinando e alterando suas propriedades, aumentando sua variação e complexidade. produzindo jogadores da próxima geração com níveis variados de informação e adaptabilidade. Alguns deles conseguem passar informação para a próxima geração, mas de qualquer forma todos os jogadores influenciam o desenrolar não só do seu próprio jogo, mas como o dos outros jogadores. E influenciam também o ponto inicial e a jogabilidade de jogadores que participarão do jogo no futuro. Esquecemos de dizer que o jogo é completamente interativo.
Estranhamente, um jogador pode ser uma combinação de outros jogadores, geralmente sem ter consciência disso. Assim, um animal é composto por vários vários elementos químicos, e uma manada é um conjunto de animais. No caso de jogadores humanos, uma família, um time, ou uma empresa é um jogador que é composto por vários seres humanos.
O desempenho desses jogadores complexos depende essencialmente de alguns fatores: Quem passa as informações essenciais (DNA ou empreendedor, como exemplos), como ocorre a troca de informações entre os elementos constituintes do jogador e da troca de informações e recursos com o ambiente.
Em geral, você participa de vários jogadores complexos, mas você não precisa se submeter aos objetivos determinados pelos outros elementos constituintes. Muitas vezes você não poderá mudar seu pertencimento, mas pode decidir sua participação, como por exemplo, você não pode deixar de pertencer à família dos seus pais, mas você poderá decidir abandoná-la, participar dela, ou ser indiferente.
Um último aviso: Embora o jogador em geral não decida quando o jogo termina, alguns aspectos do desenvolvimento do jogo podem determinar uma redução ou aumento no tempo de jogo.
Lembramos que é perfeitamente possível acreditar que de uma forma ou de outra, embora o jogador tenha terminado seu tempo de jogo, sua influência no jogo permanece, através das informações que passou a outros jogadores, e da sua reprodução direta. Portanto, sugerimos que você ao jogar, pense não só no desenrolar do seu jogo, mas também na influência que vai permanecer quando seu tempo de jogo acabar.
PS: Não se preocupe onde encontrá-lo, você já está nele.
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
sábado, dezembro 24, 2005
Copiar dvds facilmente no linux com o k9copy
http://k9copy.free.fr/index.php
Extremamente simples de usar, e permite salvar o resultado como .iso, ou gravar diretamente para um DVD.
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins
sexta-feira, dezembro 23, 2005
Instalar driver ati no debian
Configure um dos repositórios abaixo no seu /etc/apt/sources.list
You can download these packages with apt by adding one of the following lines to your /etc/apt/sources.list file:
deb http://xoomer.virgilio.it/flavio.stanchina/debian-fglrx-modules/ /configure também o testing e o unstable para contrib e non-free
deb http://stanchina.sesse.net/debian-fglrx-modules/ / #thanks to Steinar
Altere o seu arquivo de configuração do X (serve para xorg.conf também)
Configure X
fglrxconfig. Just don't use it, OK? fglrxconfig is useful if you want a dual-head setup, but before you try that please make sure that a single-head setup works by editing your X server configuration file as outlined below. Also note that fglrxconfig will overwrite your existing X server configuration file! Edit your /etc/X11/XF86Config-4:
Section "Module"
...
# These modules are required for 3D acceleration
Load "GLcore"
Load "glx"
Load "dri"
...
# Load "extmod" but omit DGA extension
# (the DGA extension is broken in the fglrx driver)
SubSection "extmod"
Option "omit xfree86-dga"
EndSubSection
...
EndSection
Section "Device"
Identifier "ATI"
Driver "fglrx" # this is the important bit
# If X refuses to use the screen resolution you asked for,
# uncomment this; see "Bugs and Workarounds" for details.
#Option "NoDDC"
# === Video Overlay for the Xv extension ===
Option "VideoOverlay" "on"
# === OpenGL Overlay ===
# Note: When OpenGL Overlay is enabled, Video Overlay
# will be disabled automatically
Option "OpenGLOverlay" "off"
# === Use internal AGP GART support? ===
# If OpenGL acceleration doesn't work, try using "yes" here
# and disable the kernel agpgart driver.
Option "UseInternalAGPGART" "no"
EndSection
Section "Screen"
Identifier "your screen"
Device "ATI"
Monitor "your monitor"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x960" # this is only an example,
# use your preferred resolution here
EndSubSection
EndSection
Section "DRI"
Mode 0666
EndSection
Altere o /etc/fstab adicionando essa linha antes do /dev/proc
/dev/shm /dev/shm tmpfs defaults 0 0
--
=========================
Alexandre Miguel de Andrade Souza
Visite meu blog http://alexandremas.blogspot.com/
Sobre php, linux e afins