logo
Contato | Sobre...        
rebarba rebarba

Rodrigo Strauss :: Blog

Add to Google Subscribe with Bloglines

Talvez você ache interessante ver a lista com todos os posts ou minha lista com os melhores posts.

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)

WebCast sobre DLR no .NET Framework 4.0

Amanhã 12:00hs estarei apresentando o "MSDN Webcast: Trabalhando com o DLR no .NET Framework 4. Falarei da versão nova da DLR (Dynamic Language Runtime) que fará parte do .NET 4.0, de IronPython e sobre como integrar scripts Python no C#.

Parece que ainda consta o nome do Alfred Myers como apresentador, mas eles devem arrumar isso logo

Em 18/11/2009 17:04 - Comentários (1)

Meu Twitter

Também é sobre programação e afins (com poucos avisos úteis tipo "acabou a luz aqui, catso, perdi meus fontes #apagão"). Não espere saber se eu acordei de bom humor ou se o filme xpto é bom ou não.

http://www.twitter.com/rodrigostrauss

Em 18/11/2009 09:55 - Comentários (0)

Lendo e medindo o tempo em C e C++

Existem vários motivos para um programa consultar o "horário da máquina". Os mais comuns são registrar a data e hora de um acontecimento ou ação do usuário (data de acesso à um arquivo, por exemplo) ou medir o intervalo entre dois momentos para saber o tempo que algo levou.

Em C e C++ existem diversas maneiras de ler uma representação numérica de um determinado instante no tempo, e cada uma tem seu uso e característica. Essa salada de funções e APIs existem porque usando C e/ou C++ você tem acesso à todas as camadas de abstração (ou não-abstração), desde o relógio da placa mãe, passando pela BIOS, pelas APIs do sistema operacional até as funções da runtime do C ou do boost::datetime. Nessa série de posts vamos ver as características de cada forma de ler o "horário da máquina".

Toda representação numérica de um instante no tempo é dada pela diferença entre o instante da medição e um instante tido como referência. Quando usamos uma data e hora no nosso calendário gregoriano, tomamos como referência a "data tradicional da encarnação de Jesus Cristo". Isso é uma referência. 26 de maio de 1980 é tradução de (instance referência) + (1980 anos) + (5 meses) + (26 dias). Passando essa data para qualquer pessoa/programa que use a mesma refererência, ela consigirá saber de que instante no tempo você está falando. É importante saber esse conceito porque em programação a referência muitas vezes é diferente da referência do calendário gregoriano (por motivos técnicos e não religiosos. Sem teorias da conspiracão, pelamordedeus).

Quando usamos uma data e hora "normal" (ou seja, do calendário), ainda temos outra variável na verificação do horário: o fuso e o horário de verão. O horário de Brasília (fuso de São Paulo, onde eu moro) é de -3 horas em relação ao horário GMT, que é tido como a referência mundial para os fusos (GMT é Greenwich Mean Time, horário de Greenwich na Inglaterra). O horário de verão não muda o fuso do país, mas adianta o horário em uma hora. Na prática, é como se São Paulo virasse GMT-2. O fuso é uma informação controlada pelo SO, e mudar o fuso pode causar mais problemas ainda. Os SOs tratam o horário de verão explicitamente. Quem cuida de sistemas de produção onde a data e hora é algo importante sabe o inferno que é quando começa ou quando termina o horário de verão.

Saindo da história e voltando para a programação, existem alguns fatores importantes para escolher qual sistema de medição usar. Um fator importante é se o instante referência é fixo ou não (calendário gregoriano x quantidade de segundos desde que a máquina foi ligada). O outro é a precisão da medição, geralmente em segundos ou menos. Se você precisa medir o tempo que leva para concatenar uma string, medir em segundos não vai adiantar nada (isso geralmente leva nanosegundos).

Resumindo o que precisamos saber para escolher que função ou API de tempo usar:

  • Referência: se é uma referência fixa (início do calendário gregoriano) ou uma referência relativa (hora de início da máquina ou de inicialização do sistema operacional)
  • Precisão do retorno. Não adiantar usar uma função que retorna a hora com precisão de segundos se vou fazer um cálculo de período que leva microsegundos.
  • Precisão de leitura. Existem funções que retornam em milisegundos, mas a precisão é menor que isso. A função GetTickCount da API Win32 retorna a quantidade de millisegundos desde o início do sistema, mas sempre em intervalos maiores do que 15ms. Ou seja, ele não consegue medir algo que leva menos do que 15ms
  • Performance. Algumas funções de leitura de hora são mais rápidas que outras. Se vocês faz isso dentro de um loop, isso faz diferença

Por exemplo, uma função com precisão baixa pode ser usada para medir o tempo de abandono do meu blog, já que faz muuuito tempo que eu não atualizo isso aqui :-)

O próximo post terá código. Não se preocupem, estou mais ansioso por isso do que vocês.

Em 17/11/2009 17:32 - Comentários (4)


Posts anteriores >>
rebarba rebarba
  ::::