quinta-feira, maio 27, 2010
8 técnicas para gerar gráficos apenas com css
Boa leitura!
--
Atenciosamente
--
=========================
Alexandre Andrade
Hipercenter.com
domingo, maio 23, 2010
Ciclo de relase do OpenBSD
O vídeo completo pode ser visto aqui:
http://www.youtube.com/watch?v=i7pkyDUX5uM&feature=player_embedded
Mas basicamente, o segredo do BSD para as versões saírem sempre na data programada é:
- no início do período, se definem as correções e pequenas melhorias em relação à versão anterior, os novos recursos e as grandes mudanças são incluídas no ínicio.
- Gerar snapshots completos todo dia, dessa forma sempre se pode testar o estágio atual de desenvolvimento, e os problemas vão sendo corrigidos e a versão evolui.
- no final do período, estabelece-se um período de lock-in, a partir do qual são apenas alguns ajustes finos.
- todas as datas de lock e unlock são surpresas, porque pessoas avisadas são mais preguiçosas. Se não avisadas, as pessoas buscam terminar a tarefa e os testes o quanto antes.
- desenvolvedores com baixo nível de testes são punidos.
--
Atenciosamente
--
=========================
Alexandre Andrade
Hipercenter.com
quinta-feira, maio 20, 2010
Script to generate web2py schema (models) from mysql
# -*- coding: utf-8 -*-
#script to generate schemas from dbs
#by Alexandre Andrade alexandremasbr@gmail.com
#www.hipercenter.com
#place your config here
passwd="mypass"
user="myuser"
host="localhost"
db = 'mydb'
port='3306'
import MySQLdb
bd=MySQLdb.connect(host=host,user=user,passwd=passwd,db = db, use_unicode=True)
def query(bd,sql):
bd.query(sql)
r = bd.store_result()
rows = r.fetch_row(maxrows=0,how=1)
return rows
def get_tables():
rows = query(bd,'show tables')
tables=[]
for row in rows:
tables.append(row['Tables_in_'+db])
return tables
#tables()
def get_fields(table):
print table
rows = query(bd,'show fields from '+ table)
fields=[]
for row in rows:
#print row
fields.append(row)
return fields
def field_type(field):
if field['Type'][0:7]=='varchar':
tipo = ",'string'"
elif field['Type'][:8]=='longtext':
tipo = ",'text'"
elif field['Type'][:3]=='int':
tipo = ",'integer'"
elif field['Type'][:4]=='date':
tipo = ",'date'"
elif field['Type'][:7]=='tinyint':
tipo = ",'int'"
elif field['Type'][:11]=='mediumtext':
tipo = ",'text'"
elif field['Type'][:4]=='char':
tipo = ",'text'"
else:
print field['Type'][0:10]
return tipo
def primarykey(field):
if field['Extra']=='auto_increment':
pk = True
else:
pk = False
return pk
def define_table(table):
fields = get_fields(table)
result = []
head = 'db = DAL("mysql://'+ user+ ':'+passwd+'@'+host+':'+port+'/'+db+'", pool_size=10)\r\r'
line = "db.define_table('"+table+"'"
result.append(line)
for field in fields:
if primarykey(field) == True:
pk =field['Field']
#print pk
tipo = field_type(field)
line = " Field('"+field['Field']+"'"+tipo+")"
result.append(line)
line
try:
line = " primarykey=['"+pk+"']"
result.append(line)
except:
pass
out = ',\r'.join(result)
output = head + out + '\r)'
print output
return output
def define_db():
tables = get_tables()
r = []
for table in tables:
r.append(define_table(table))
result = '\r \r'.join(r)
return result
r = define_db()
f = open('db_'+db+'.py', 'w')
f.write(r)
f.close()
--
Atenciosamente
--
=========================
Alexandre Andrade
Hipercenter.com
--
Atenciosamente
--
=========================
Alexandre Andrade
Hipercenter.com
sábado, maio 15, 2010
terça-feira, maio 04, 2010
Dica: VLC permite ver dvds em .iso ou .nrg sem montar
No Linux o problema era maior, porque os players do linux acessam diretamente os dispositivos, e não diretório montado.
Com o VLC, isso ficou mais simples: basta ir em abrir, e abrir o arquivo .iso ou .nrg.
Mais fácil, impossível.
--
Atenciosamente
--
=========================
Alexandre Andrade
Hipercenter.com
segunda-feira, maio 03, 2010
Gestão Pública do Esporte
Estou trabalhando há dois meses com a área de Esportes no Setor Público.
Onde trabalho se faz uma divisão em três tipos de esportes para políticas públicas:
Esporte educacional – Políticas desenvolvidas em conjunto com a área educacional, focam essencialmente o ensino básico e médio
Esporte de participação – Políticas desenvolvidas com o objetivo da prática esportiva para lazer e saúde, basicamente.
Esporte de rendimento – Políticas para o esporte de competição amador.
Não percebi um esforço estruturado para profissionalizar o esporte, embora o esporte profissional seja o grande chamariz para a prática esportiva.
Também pouco se fez para estimular o Esporte como um setor da economia, como o Turismo ou até mesmo a Cultura.
É fato que trabalhar com esporte envolve atender a diversos públicos, com objetivos distintos, e normalmente com recursos muito escassos.
Quem for trabalhar nessa área, tem que ter um papel de articulação muito grande, pois há grande possibilidades de parcerias, mas pouco aproveitadas.
Também é muito pouco aproveitado o potencial de cooperação regional entre os municípios. A cooperação entre eles é essencial para vitalizar o esporte, especialmente o de rendimento e eventualmente o profissional.
Se alguém tiver algum material sobre gestão pública do Esporte e quiser me encaminhar, pode enviar para o e-mail alexandremasbr (arroba) gmail.com
--
Atenciosamente
--
=========================
Alexandre Andrade