Category: Code

Caloni Palestrando Sobre Bitcoins Antes De Virar (Muito) Modinha

Feb 20, 2018 1 min.

Naquela época o bitcoin estava oscilando entre 3000 e 5000 reais. Dá pra acreditar? Faz muito tempo. Cerca de um ano. E hoje tem pessoas dizendo que o mundo vai acabar porque bitcoin caiu para a mínima de 20k. Aham. Porém, existe uma imensidão de questões no meio desses valores que é: o que, afinal de contas, é uma moeda digital? Essa minha palestra foi ministrada no Native Floripa 2017, no comecinho daquele ano acho.

Variáveis static local Nunca São Inicializadas Se Você Não Chama Sua Função

Feb 20, 2018 4 min.

Uma dúvida muito comum dos programadores iniciantes em C/C++ diz respeito às variáveis static que são declaradas dentro de um escopo, como uma função. Sabemos que se ela fosse declarada global, fora de qualquer escopo, ela seria inicializada antes do main ser chamado, como diz este trecho de alguém que pesquisou a respeito: “C++ Primer says. Each local static variable is initialized before the first time execution passes through the object’s definition.

Toggl: como criar um cavalo com programação

Jan 31, 2018 2 min.

Cansado do transporte moderno? Um monte de feno rolando por aí? Parece que você poderia estar melhor no mercado de cavalos. Mas talvez não um construído com uma linguagem de programação. Por que não? Bom, você verá… Esse quadrinho foi desenvolvido pelo Toggl Goon Squad. O quadrinho original está no blogue deles. Bônus: textos dos quadrinhos Segue os textos usados nos quadrinhos, caso queira melhorar a arte ou sei lá fazer o q com ela.

Como Parsear Argc Argv para um map STL

Jan 26, 2018 2 min.

Os clássicos argv/argc são úteis quando os parâmetros de um programa são conhecidos e geralmente obrigatórios (até a ordem pode ser obrigatória). Isso funciona muito bem para C. Porém, há a possibilidade de STLzar esses argumentos de forma simples, usando a lógica *nix de fazer as coisas e transformando tudo em um map de string para string. E tudo isso cabe em uma função pequena que você pode copiar e levar com você em seu cinto de utilidades:

Como Achar Erros no Printf via Dump

Jan 25, 2018 2 min.

Às vezes, e apenas às vezes, é útil ter um dump do processo que acabou de capotar e ter um singelo backup do pdb (arquivo de símbolos) dos binários envolvidos nessa tragédia. Com alguns cliques pontuais e uma análise simples da stack, da variável e do código envolvido é possível chegar em um veredito sem muitas controversas se foi isso mesmo que gerou o crash. No caso peguei hoje um caso assim.

Como Apagar o Prompt do seu Programa Windows

Jan 23, 2018 1 min.

Geralmente se cria um projeto console/prompt quando há a necessidade de interfacear com o usuário com o uso da tela preta, saída padrão, etc. E no caso do Windows também há a possibilidade de criar um programa Win32 onde não há prompt, pois a função do programa ou é ser invisível ou criar, sabe como é, janelas. Mas nenhum dos dois possibilita ambos ao mesmo tempo. Este snippet permite que você faça isso.

Cmd e o encoding fake

Dec 26, 2017 3 min.

Qualquer um que já tenha mexido no prompt de comandos do Windows sabe que ele permite você escolher qual code page utilizar para enviar e receber comandos. O Windows é todo em UTF-16, mas as saídas podem vir de qualquer programa com qualquer encoding. A missão do cmd.exe é usar o encoding escolhido pelo usuário para exibir os caracteres na tela. Vamos supor que nós criemos uma pasta com acentos no nome (pelo Explorer para não ter erro):

Se você não precisa de classe você não precisa de classe

Dec 17, 2017 2 min.

Nos últimos dias me deparei com o seguinte (pseudo-)código: int main(int argc, const char **argv) { MyClass obj; HRESULT hr = obj.init(); if ( SUCCEEDED(hr) ) { if ( args have "cmd1" ) { hr = obj.cmd1(); } else if ( args have "cmd2" ) { hr = obj.cmd2(); } ... // você entendeu a ideia } } Dentro de MyClass a seguinte estrutura: class MyClass { public: HRESULT m_result = S_OK; HRESULT init(); HRESULT cmd1(); HRESULT cmd2(); // você pegou a ideia }; Então eu me pergunto: qual a função da classe em um código desses?

CCPPBRSP 14 Postergado

Nov 21, 2017 1 min.

Pois é. Não vai rolar dessa vez. Por falta de quórum, o 14o. Encontro CCPPBR está postergado. Não cancelado. Mas não acontecerá essa semana. Se você já se inscreveu não se preocupe. Iremos realizar o estorno das compras do PagSeguro. Basicamente é isso.

Palestras do CCPPBR14

Nov 20, 2017 1 min.

Esse sábado, dia 25/11/2017, teremos em São Paulo nosso 14o. encontro de programadores e aficionados C/C++. Teremos palestras do pessoal das antigas e de um pessoal novato. Ou seja, terá palestras para todos os gostos. As palestras foram selecionadas pela própria comunidade CCPP através de votação, e houve excesso de palestrantes. C++ está bombando! A programação já está disponível no saite do Grupo CCPP já faz mais de um mês, mas estou publicando para a visibilidade de que está perto!