Rodrigo Strauss :: Blog
|
|
|
Talvez você ache interessante ver a lista com todos os posts ou minha lista com os melhores posts.
Sexto Encontro de Programadores C++
O grupo C&C++ Brasil (ccppbrasil) tem o imenso orgulhar em anunciar (agora oficialmente) o nosso sexto encontro. Detalhes:
- Sexto Encontro de Programadores C & C++
- em São Paulo, SP, na Avenida Paulista núemro 1439, 6º andar
- 5 palestras. Já temos propostas suficientes, falta a confirmação dos palestrantes e a ordem das palestras
- As inscrição já estão abertas
A página oficial está em http://ccppbrasil.org/wiki/Grupo:Encontro_VI.
Em 24/01/2010 11:25 - Comentários (0)
Vou fazer uma palestra sobre Python na Campus Party
- Título: Seja dinâmico com Python
- Descrição: Vou falar sobre quase todas as gambiarras e coisas maravilhosas que um programador pode fazer com os recursos "dinâmicos" do Python. Criar membros e métodos em runtime, usar o reflection mais simples do planeta, responder por métodos que não existem na hora em que são chamados. Métodos __MAGICOS__ e seus correlatos. Como transformar um registro de um banco de dados em um objeto (quase um ORM) com duas linhas de código (ou três). E as piadas quase-engraçadas de sempre
- Data e hora: 26 de janeiro (terça-feira), 09:00hs da matina. Para quem vai acampar lá é uma boa maneira de começar a semana :-)
- Links: Campus Party, agenda do evento, meu twitter
Além disso, devo ficar lá o dia inteiro. Essa palestra está sendo organizada pelo GruPy-SP, o Grupo de Usuários Python do Estado de São Paulo.
Em 22/01/2010 15:59 - Comentários (1)
Lendo e medindo o tempo em C e C++: função time()
Bom, chega de teoria e encheção de lingüiça e vamos para o código de uma vez por todas. A função mais conhecida para pegar a data e hora é a função time() da C runtime, que retorna quantidade de segundos desde o "Unix Epoch", que é meia noite (00:00:00) de 1 de Janeiro de 1970.
Características da função time():
- Retorna a quantidade de segundos desde 1 de Janeiro de 1970. Ou seja, a sua precisão máxima é de um segundo. Ou seja, não serve para medir performance. (ou seja, vou explicar mais sobre isso depois)
- O horário retornado é GMT, para pegar o horário local é necessário fazer manualmente o cálculo para ajuste de fuso horário. Para usar o horário local é necessário usar a função get_timezone (ou _tzset no Visual C++) para ler a diferença do fuso que você usará para fazer o cálculo depois
- Como o retorno da função é um número inteiro, é muito fácil fazer contas com ele. Para avançar a data em dois dias, por exemplo, é só somar [60 * 60 * 24 * 2].
- Durante o inicio dos tempos do unix o retorno era do tipo int de 32 bits. Fazendo uma conta simples com os limites de um inteiro, vemos que o limite de medição é algum dia no ano de 2038, criando uma nova e repaginada versão do bug do milênio. Nas versões mais atuais dessa função o retorno é um int64, o que empurra o limite para uma data bem longínqua, quando provavelmente não haverá mais programadores vivos no universo.
- Por ser uma função da C runtime, está disponível em qualquer compilador C e C++ (qualquer == qualquer compilador não-exótico para plataformas não-exóticas). É provavelmente a função mais multiplataforma de todas que eu vou mostrar
Como um trecho de código vale mais do que 0xFFFFFFFFFFFFFFFF palavras, here we go:
#include <stdio.h> #include <tchar.h> #include <time.h> #include <iostream> #include <iomanip> #include <string> using namespace std; void print_time(time_t t) { tm* formatted_time; // // essa função "quebra" essa quantidade de segundos e dia, mês, ano, etc // formatted_time = gmtime(&t); // // isso vai mostrar algo como "2009/12/07 14:42:57" // note que é necessário somar 1900 na data para pegar o ano corrente // cout << setfill('0') << setw(4) << formatted_time->tm_year+1900 << "/" << setw(2) << formatted_time->tm_mon+1 << "/" << setw(2) << formatted_time->tm_mday << " " << setw(2) << formatted_time->tm_hour << ":" << setw(2) << formatted_time->tm_min << ":" << setw(2) << formatted_time->tm_sec << endl; } int main() { time_t t; // // pega o número de segundos desde 1970 // t = time(NULL); // // mostra na tela, formatado // print_time(t); // // pega o fuso horário da máquina para pegar o horário local // ao invés de GMT. // long timezone; _tzset(); // carrega as configurações de fuso _get_timezone(&timezone); // lê a diferença do fuso cout << timezone << endl; // // ajusta o horário pelo fuso // t -= timezone; print_time(t); // // avança da data em 2 dias // t += 48 * 60 * 60; // // mostra novamente // print_time(t); return 0; }
Esse código foi feito no Visual C++ (Windows). Existem pequenas diferenças nos nomes das funções no Linux, mas o conceito é o mesmo. Consulte sua documentação preferida para detalhes específicos.
Em 16/12/2009 16:09 - Comentários (1)
Liga dos Programadores Independentes: primeira reunião
Como temos quorum suficiente, está confirmada a primeira reunião para dia 2 de dezembro, quarta-feira, no O'Malleys, a partir das 19 horas. Com não sei exatamente quantas pessoas irão aparecer, vou reservar mesas para 10 pessoas. Como eu já tinha dito, lá as comandas são individuais e cada um paga sua própria conta. Chegando pergunte onde ficam as mesas e tenha certeza que um monte de programadores reunidos é algo bem fácil de achar.
Só para esclarecer o debate do post anterior: você faz parte do público alvo do encontro se você é programador e tem uma idéia (implementada ou não) para fazer um software (produto ou serviço) para vender e ganhar dinheiro, não importa o motivo. Você pode estar puto com seu chefe e odiar trabalhar das 9 às 6 ou simplesmente ter vontade de abrir sua própria empresa. O encontro é para que programadores solitários e independentes tenham pessoas para discutir a viabilidade das suas idéias, e para discutir também métodos para colocá-las em prática. Para discutir métodos de desenvolvimento para transformar suas idéias em produtos e serviços e viver disso.
Você não faz parte do público alvo se você tem a idéia para um software mas não consegue escrever o software sozinho. Esse encontro especificamente não é um bom lugar para encontrar um programador para implementar a sua idéia. Para isso tente a apinfo. Talvez isso mude se o grupo crescer e se organizar, seria ótimo um encontro para juntar pessoas com boas idéias com pessoas com conhecimento técnico para executá-las. Não é (preconceito|elitismo|frescura|complexo de superioridade), é só questão de foco e redução de pauta para tentar fazer desse encontro o primeiro de muitos.
Em 30/11/2009 16:32 - Comentários (8)
A Liga dos Programadores Independentes
Eu tenho certeza que não sou o único programador com ideias mirabolantes para dominar o mundo. Seja um projeto de software para ficar bilionário ou um simples serviço online para ajudar o ego (com Google Adwords para ajudar mais ainda o ego), já ouvi várias boas ideias de várias pessoas com quem trabalhei e convivi. O grande problema é que ninguém tem a organização e foco necessários para tocar um projeto desses. Eu também não, mas estou tentando chegar lá. E depois de aproximadamente 17 candidatos a sócio (sócio-programador, não o financeiro), eu desisti de tentar apoio nas minhas empreitadas. Sou agora um programador independente.
Lendo o Twitter do Rafael Beckel vi que ele também estava com ideias para dominar o mundo, então liguei pra ele para marcarmos um chopp e conversar. Nenhum chopp depois (acabamos indo para o McDonalds) pensamos em montar um grupo de programadores malucos com ideias malucas, para termos com quem discutir nossas maluquices. Não é algo para discutir como montar um plano de negócio ou como conseguir dinheiro para financiar uma empresa. É para conversar sobre software. E sobre como manter o foco em um projeto quando você trabalha nele sozinho. E, claro, para ter pessoas para discutir suas ideias. O Rafael também escreveu sobre a conversa que tivemos.
Como eu já disse, o foco é software. Pode ser indelicadeza da minha parte (sendo "indelicadeza" um puta de um eufemismo), mas pessoas que não sabem programar e não são da área de software não seriam bem vindas nesse suposto grupo (não queremos montar um sebrae). O foco é software, o publico alvo são pessoas que sabem fazer software. Com as próprias mãos. Pessoas que querem discutir organização e método para terminar seu software, já que não adianta ter um plano de negócio ou zilhares de pesquisas de sei-lá-o-que se você não tem software para o usuário interagir.
Minha idéia é um primeiro encontro de buteco para discutirmos o formato do grupo. Dia 2 de dezembro, quarta-feira, no O'Malleys que fica perto da Paulista. Além de ser um lugar onde é possível conversar, a comanda é individual e não tem 10%. Quem não quiser me acompanhar me acompanhar no pint de Guinness pode tomar um refrigerante e não dividir a conta com os malditos programadores bêbados. Comentem sobre a data e hora e farei um outro post semana que vem confirmando o horário e local.
Em 25/11/2009 07:22 - Comentários (23)
Posts anteriores >>





