Categorias
Controle de versão Desenvolvimento Linux/Unix/*nix Segurança

GitHub com SSH

Sejamos francos: ao trabalhar com repositórios Git, especialmente no GitHub, depois de algum tempo começamos a achar que perder tempo digitando o usuário e a senha a cada push é inaceitável. Principalmente se trabalhamos com commits freqüentes: Se, ao realizar um push, você precisa digitar usuário/senha como na ilustração acima, verifique a configuração de seu […]

Categorias
Controle de versão Desenvolvimento

gitignore.io

Uma das primeiras tarefas ao criar um repositório Git é definir quais arquivos serão ignorados e não estarão sob o controle de versão. Isso é feito através de um arquivo especial, o .gitignore. Quem utiliza o GitHub pode contar com uma pequena ajuda, no momento da criação de um repositório, pois o GitHub permite adicionar […]

Categorias
Infra Linux/Unix/*nix

crontab.guru

O crontab.guru é um site muito útil, nos ajuda a configurar corretamente a sintaxe de um agendamento crontab, por mais complicado que ele seja: https://crontab.guru/ Ve você precisa configurar agendamentos para cron jobs, essa ferramenta é uma mão na roda!

Categorias
Backup/Restore Infra Linux/Unix/*nix

Remoção de backups antigos usando “find” e “cron”

Usuários Linux experientes sabem que o comando find é um dos mais úteis e importantes no dia-a-dia. Basicamente ele é utilizado para encontrar arquivos com base em um conjunto de parâmetros e opções, mas não se engane: esse é o uso mais básico (e talvez o menos freqüênte) mas você pode utilizá-lo para encontrar arquivos […]

Categorias
Linguagem de Programação Lisp

Lisp: sintaxe e semântica

NOTA 1: este texto traduz meu entendimento do “Chapter 4: Syntax and Semantics” do livro de Peter Seibel: “Practical Common Lisp”, e serve como um resumo desse capítulo para meu próprio consumo futuro. NOTA 2: eu não posso ser considerado o autor deste texto pois praticamente tudo aqui foi retirado do Practical Common Lisp. Minha […]

Categorias
Controle de versão Linux/Unix/*nix

Configuração do Git no Linux

Lembrete rápido para minhas configurações básicas do Git, no Linux, para usar a linha de comando com eficiência: git config –global user.name “Abrantes Araújo Silva Filho” git config –global user.email “abrantesasf@gmail.com” git config –global core.editor “emacs26 -nw” git config –global push.default “simple” Os dois primeiros comandos apenas ajustam meu nome e e-mail. O terceiro comando […]

Categorias
C/C++ Compiladores Desenvolvimento Linguagem de Programação

Atualizar GCC no Ubuntu 16

Meu notebook Ubuntu 16, atualmente, roda a versão 5.5 do GCC: gcc –version gcc (Ubuntu 5.5.0-12ubuntu1~16.04) 5.5.0 20171010 Copyright (C) 2015 Free Software Foundation, Inc. De acordo com o site oficial do GCC, the GNU Compiler Collection, as versões mais novas (e com as útlimas features do compilador) são a 9.2 e a 8.3. Infelizmente […]

Categorias
Educação presencial Educação/Ensino

Fim do 4º período!

E chega ao fim mais um semestre da graduação em Ciência da Computação, na FAESA Centro Universitário. Como sempre, outro semestre produtivo de muito estudo e aprendizado para alcançar boas notas: Agora começa o período de estudos independentes de verão… muita matemática e algoritmos para começar o 5º período com o pé direito!

Categorias
Educação/Ensino Publicação

Instalação do TeX Live 2019

A versão 2019 do TeX Live foi lançada no final de abril de 2019. Segue aqui um guia rápido visual para a instalação em sistemas operacionais Linux. A primeira coisa a fazer é download do ISO do TeX Live no site do Grupo de Usuários TeX, em www.tug.org. Depois, como usuário root, monte a ISO […]

Categorias
Ciência da Computação Matemática

Concrete Mathematics: a foundation for Computer Science

Qualquer estudante de ciência da computação que não passe mais do que 2 horas por dia em redes sociais já ouviu falar de Donald E. Knuth e sua magistral obra The Art of Computer Program (TAOCP). E qualquer estudante que não tenha uma vida já tentou, de fato, ler e entender o TAOCP. O problema […]

Categorias
Linguagem de Programação Lisp

37.95, and worth every penny!

Apesar de já possuir a edição mais nova (a 2ª edição) eu consegui comprar, usada, de um estudante que se formou no MIT há alguns anos atrás, a 1ª edição do livro Structure and Interpretation of Computer Programs (SICP), de Harold Abelson, Gerald Jay Sussman e Julie Sussman. Esse livro, lançado em 1985 para ser […]

Categorias
Linguagem de Programação Lisp

Sobre Lisp e seus parênteses

Qualquer código em Lisp terá muitos, muitos parênteses, e eu nunca tinha lido uma explicação convincente sobre o porquê ou a vantagem disso. Até então eu aceitava que as coisas simplesmente são assim: Há alguns dias atrás finalmente eu li uma explicação que fez tudo ficar mais claro para mim: Ron Garret, em seu artigo […]

Categorias
Linguagem de Programação Lisp

Por que Lisp?

Como estou apenas iniciando meus estudos em Lisp seria muita pretensão de minha parte dar uma resposta pessoal autência à pergunta “Por que Lisp?” Para piorar a situação, hoje (2019-11-01), eu não estou 100% confiante de que todo o esforço que investirei será recompensado ou utilizado de forma prática em curto prazo (ou em prazo […]

Categorias
Ciência da Computação Matemática

Mathematical Writing (CS 209)

A biblioteca da Stanford University disponibiliza em seu site um PDF com as notas de aula e todos os vídeos do curso Mathematical Writing (CS 209), ministrado por Donald E. Knuth em 1987. Da ementa (e notas de aula) do curso: The course focused on issues of technical writing and the effective presentation of mathematics […]

Categorias
Educação presencial Educação/Ensino

Mérito acadêmico (3)

Pela terceira vez tive a honra de ser um dos agraciados com o Certificado de Mérito Acadêmico por minhas atividades discentes no primeiro semestre de 2019, no curso de Ciência da Computação. Muito obrigado aos professores e à FAESA! Cada aluno agraciado com o mérito acadêmico também tem a oportunidade (e o privilégio!) de indicar […]

Categorias
Ciência da Computação

The manuscripts of Edsger W. Dijkstra

A Universidade do Texas mantém um excelente arquivo com os manuscritos de Edsger Dijkstra. Nesse arquivo várias “pérolas” são encontradas como, por exemplo, o “Why numbering should start at zero“. Vale a visita!

Categorias
Ciência da Computação Linguagem de Programação Python

Livros de Allen Downey para downlaod

Diversos livros de Allen Downey estão disponíveis para donwload gratuito, inclusive com o código fonte em LaTeX, no site Green Tea Press. Alguns títulos interessantes: Think Python 2e: How To Think Like a Computer Scientist – Think Stats, 2nd Edition Think Bayes: Bayesian Statistics in Python Think Complexity 2e: Exploring Complexity Science with Python Python […]

Categorias
Epidemiologia Saúde/Medicina

Curso de Epidemiologia Clínica e Metodologia Científica

Começa agora o curso de Epidemiologia Clínica e Metodologia Científica que vou ministrar aos médicos do Programa de Residência Médica da UVV!

Categorias
Educação presencial Educação/Ensino

Fim do 3º período!

Mais um semestre de muito estudo e boas notas em minha segunda graduação (Ciência da Computação, na FAESA Centro Universitário): Minha atividade como monitor da discilpina de Álgebra Linear também foi muito interessante! Que venha o próximo semestre!

Categorias
Algoritmos C/C++ Ciência da Computação

Reeordene loops e ganhe performance!

Para quem ainda tem alguma dúvida sobre o curso “LAFF-On Programming for High Performance“, da Universidade do Texas na edX, o gráfico abaixo mostra o desempenho da CPU de meu notebook ao realizar uma operação de multiplicação de matrizes (C := AB + C), apenas alterando-se a ordem de execução de loops (discussão inicial da […]