Posts
Ignite Elixir
Ontem terminei o bootcamp do Elixir. Eu adorei a stack de Elixir/Phoenix e realmente quero conseguir um emprego que a use.
Hoje vou trabalhar no minirt.
Posts
Avaliações do Basecamp
Ontem fiz um discord bot com Javascript:
https://github.com/librity/shiffman_discord_bot Acordei cedo hoje e avaliei 4 projetos de rush do basecamp em andamento na 42 São Paulo. Esse rush não é nada fácil e quase todos os grupos falham.
Não foi tão divertido quanto a correção da semana passada já que a maioria dos projetos estavam vazios ou incompletos. Estou realmente fora do meu elemento quando não há muito código para revisar e refatorar.
Posts
Ressaca
Ontem li alguns capítulos de Elixir in Action. O livro tem vários exercícios divertidos, como implementar um servidor genérico do zero.
Fiz um servidor com ressaca utilizando GenServer:
https://github.com/librity/elixir_in_action/blob/main/chapter_6/key_value_sleepy.exs Ele tem tanta dificuldade em acordar que tive que escrever uma função especial, e volta para dormir no meio das requisições. Ele é super preguiçoso e odeia trabalhar.
Hoje vou continuar lendo Elixir in Action e trabalhar no meu ray tracer.
Posts
Scheduler
Ontem aprendi como funcionam os processos na máquina BEAM. Reimplementei pilhas e filas sem GenServer. Não é tão complicado, você apenas gera um loop recursivo que aguarda instruções da caixa de mensagem do processo e muda o estado.
https://github.com/librity/elixir_in_action/blob/main/chapter_5/stack.exs https://github.com/librity/elixir_in_action/blob/main/chapter_5/queue.exs Hoje vou continuar lendo Elixir in Action (estou na metade), vou fazer alguns desafios do NodeJS e vou trabalhar no meu ray tracer.
Posts
Notação de índice
Ontem aprendi sobre as vantagens das representações de índice sobre as matrizes.
Hoje vou estudar física novamente.
Posts
GenServer
Hoje terminei o módulo Elixir desta semana. Eu aprendi sobre GenServer, um dos recursos mais úteis na caixa de ferramentas Elixir. Ele nos permite criar um processo genérico e persistente de estado. Com este recurso implementei pilhas e filas em elixir.
Hoje vou estudar física.
Posts
Guardian
Ontem assisti a algumas aulas do bootcamp Elixir que estou fazendo.
Aprendi sobre autenticação JWT com Guardian, uma lib do elixir.
Hoje vou tentar terminar os desafios.
Posts
ReactJS
Ontem fiz alguns desafios do ReactJS no meu bootcamp.
Hoje acordei cedo e corrigi 4 projetos rush do acampamento base em andamento na 42 São Paulo. Foi ótimo conhecer todos os campistas e revisar seus projetos. Sempre tento refatorar seu código e ensinar-lhes tantos truques quanto posso.
Estou fazendo o novo módulo Elixir.
Posts
Minkowski e utteranc.es
Ontem eu li e pesquisei muito sobre diversos assuntos:
Aprendi muito sobre como lidar com luzes e cores em um Ray tracer. Uma vez que seu raio atinge o objeto e você determina a cor de seu material, você lança raios da superfície para cada fonte de luz.
Se nada ficar no caminho da fonte, você pega o produto Hadamard da cor do material e da luz. Se você quiser sombras suaves, você multiplica produto escalar do raio e a normal do material, o ângulo normalizado entre os vetores.
Posts
The Ray Tracer Challenge
Ontem terminei o livro Weekend Ray Tracer. Eu adicionei materiais dielétricos e effeito de profundidade de campo ao meu Ray Tracer:
Eu me diverti muito com este projeto, e dara para reutilizar a maior parte do código no minirt. Se você está interessado em matemática eu explico a maioria das equações usadas no README do projeto:
https://github.com/librity/weekendrt Hoje provavelmente vou começar o livro The Ray Tracer Challenge , que eles recomendam para o minirt.
Posts
Dielétricos e Refrações
Ontem implementei vários materiais no meu Ray Tracer, e também adicionei metais:
A segunda imagem demorou cerca de 2 horas para ser renderizada. Hoje vou adicionar materiais dielétricos, como água, vidro e diamantes.