Repensando a Programação Orientada a Eventos: Um Padrão de Observador Bidirecional em PHP

2025-09-01
Repensando a Programação Orientada a Eventos: Um Padrão de Observador Bidirecional em PHP

Padrões de observador tradicionais são centrados no observador: eventos acionam reações passivas. Este pacote PHP Observer muda a perspectiva para o emissor. Os emissores despacham sinais (eventos, planos, consultas, comandos), e os observadores podem retornar contra-sinais, criando um diálogo bidirecional. Isso permite o tratamento dinâmico de fluxos de trabalho complexos, como cancelar pedidos com base no inventário ou configurar bibliotecas dinamicamente. O pacote oferece sete tipos de sinais, tratamento de erros robusto e recursos de observabilidade, tornando-o ideal para criar aplicativos orientados a emissores responsivos.

Leia mais

Pesadelos de vinculação estática: O lamento de um fornecedor de SDK

2025-07-22
Pesadelos de vinculação estática: O lamento de um fornecedor de SDK

Como fornecedor de SDK, esperamos oferecer opções de vinculação dinâmica e estática. Arquivos estáticos (.a) parecem simples, mas estão repletos de perigos. O comportamento padrão do vinculador atomiza o arquivo, escolhendo arquivos de objeto, potencialmente levando a binários inchados e falhas em tempo de execução devido a problemas de ordem de construtores/destrutores. Embora -Wl,--whole-archive ajude, ele força a inclusão de todos os arquivos de biblioteca, independentemente da necessidade. Conflito de nomes dentro de arquivos estáticos também representam problemas significativos. Para superar esses desafios, o autor propõe um novo formato de arquivo "Static Bundle Object" (.sbo). Isso ofereceria as garantias de visibilidade de símbolo de um objeto compartilhado, evitando muitos problemas de vinculação, mesmo que isso signifique sacrificar alguma otimização de tamanho de binário potencial. O autor argumenta que um ecossistema de vinculação estável vale a pena.

Leia mais
Desenvolvimento vinculação estática

Ele Reescreveu Tudo em Rust — Então Fomos Demitidos

2025-07-22
Ele Reescreveu Tudo em Rust — Então Fomos Demitidos

Uma equipe de seis pessoas, usando Node.js, Redis, AWS Lambdas e MongoDB para microsserviços, estava constantemente combatendo incêndios devido a gargalos de desempenho. Kabir, o membro mais quieto, propôs reescrever o pipeline de imagens em Rust. Apesar do ceticismo, ele completou a reescrita sozinho. Após o lançamento, os gráficos de desempenho dispararam, mas um mês depois, toda a equipe foi demitida. Essa história destaca que mesmo melhorias técnicas significativas não garantem segurança no emprego; as decisões da empresa muitas vezes transcendem o mérito técnico.

Leia mais
Desenvolvimento

Microtângulos: O verdadeiro vilão do desempenho de renderização, não a contagem de polígonos

2025-07-19
Microtângulos: O verdadeiro vilão do desempenho de renderização, não a contagem de polígonos

A velha ideia de que a contagem de polígonos determina o desempenho de renderização está ultrapassada. A renderização moderna é significativamente impactada por microtriângulos. Este artigo argumenta que triângulos minúsculos (menores que 10x10 pixels) tornam-se exponencialmente mais caros de renderizar porque as GPUs calculam um bloco inteiro de 2x2 pixels, mesmo que o triângulo cubra apenas um pixel. O autor sugere focar na "densidade da visualização wireframe", alternando para LODs mais baixos quando a visualização se aproxima de sólida, ou usando um único LOD com impostores para objetos distantes. A tecnologia Nanite da Epic aborda isso usando shaders de computação e shaders de espaço de tela para minimizar o custo de renderização de microtriângulos.

Leia mais
Desenvolvimento otimização de LOD

A Jornada do Pesquisador Kimi para um Design Anti-Insípido: Iteração, Colaboração e o Triângulo Impossível

2025-07-19
A Jornada do Pesquisador Kimi para um Design Anti-Insípido: Iteração, Colaboração e o Triângulo Impossível

A jornada da equipe de pesquisadores Kimi no design da interface do usuário para seus relatórios de pesquisa de IA não foi um processo direto. Sua interface de usuário inicial elegante foi considerada 'insípida', levando-os a definir padrões de design 'anti-insípidos'. Por meio de estudos de caso, colaboração em equipe e inúmeras iterações, eles enfrentaram o 'triângulo impossível' de estética, interatividade e fidelidade de dados. Eles empregaram elementos como layouts Bento, itálico italiano emparelhado com tipografia em negrito e animações JS sutis para aprimorar a experiência do usuário. A equipe enfatiza a importância da colaboração e da iteração contínua para alcançar um design que seja esteticamente agradável e funcionalmente eficaz.

Leia mais
Design

Imersão em Proxy Reverso: Desafios e Evolução do Gerenciamento de Conexões

2025-07-12
Imersão em Proxy Reverso: Desafios e Evolução do Gerenciamento de Conexões

Este artigo mergulha no funcionamento interno de um proxy reverso e nas complexidades do gerenciamento de conexões. De arquiteturas de thread único a multi-thread, multi-processo e orientadas a eventos com particionamento de sockets, os proxies reversos evoluíram significativamente para lidar com alta concorrência. O artigo detalha as vantagens e desvantagens de várias técnicas, como a eficiência do epoll no multiplexamento de E/S e os desafios dos modelos multi-thread com processadores multi-core, e aponta complexidades adicionais no suporte a TLS e diversidade de protocolos.

Leia mais
Desenvolvimento gerenciamento de conexões

Tududi: Gerenciamento de Tarefas Simplificado

2025-07-10
Tududi: Gerenciamento de Tarefas Simplificado

A maioria dos aplicativos de tarefas são como painéis de controle com infinitos controles e micro-opções. Criar uma nova tarefa geralmente envolve navegar por um labirinto de seletores de cores, níveis de prioridade e configurações de repetição. O Tududi oferece uma abordagem diferente: fluxo de trabalho simplificado. Ele prioriza a escrita da tarefa, focando no fluxo em vez de recursos. Em vez de apresentar um conjunto de ferramentas, o Tududi oferece eficiência.

Leia mais
Desenvolvimento

LLMs têm dificuldades com código da direita para a esquerda: o caso de q/kdb+

2025-07-09
LLMs têm dificuldades com código da direita para a esquerda: o caso de q/kdb+

Modelos de linguagem grandes (LLMs) enfrentam desafios ao escrever código em q/kdb+, uma linguagem com uma ordem de avaliação da direita para a esquerda e sem precedência de operadores. O autor demonstra que os LLMs têm dificuldades para gerar código correto seguindo essas regras, muitas vezes misturando a sintaxe do Python e do q. O artigo explora por que os LLMs acham a codificação da direita para a esquerda difícil e propõe o Qython como solução. O Qython é uma linguagem semelhante ao Python que compila para q, aproveitando a experiência dos LLMs em Python para contornar as dificuldades da sintaxe única do q. Um exemplo prático mostra a eficácia do Qython.

Leia mais
Desenvolvimento

A árdua tarefa de convencer uma equipe Kubernetes a adotar serverless

2025-07-05

O autor relata suas tentativas frustradas de persuadir sua equipe Kubernetes a adotar uma arquitetura serverless da AWS. Os engenheiros Kubernetes levantaram preocupações sobre custos descontrolados, travamento de fornecedores e dependência de tecnologias proprietárias. O autor detalha os argumentos em torno de custo, escalabilidade e compartilhamento de responsabilidades, admitindo finalmente que ambas as tecnologias têm pontos fortes e podem coexistir. O tom humorístico destaca o choque de perspectivas dentro de uma equipe de tecnologia, refletindo os desafios da adoção de tecnologias nativas de nuvem em empresas.

Leia mais
Desenvolvimento

Resolvendo um Problema de Cálculo de 7 Dias em um Fim de Semana

2025-06-24
Resolvendo um Problema de Cálculo de 7 Dias em um Fim de Semana

Um seletor de preços em um aplicativo SaaS causava atrasos de 15 segundos do modelo de ML. A pré-computação completa levaria quase 7 dias. O autor usou inteligentemente a distribuição gaussiana para amostrar estrategicamente pontos de preço, priorizando a faixa do meio com maior precisão e reduzindo a precisão em direção às extremidades. A pré-computação foi concluída no fim de semana, evitando com sucesso uma falha na demonstração.

Leia mais

Fugindo da AWS: Como uma empresa dinamarquesa reduziu os custos em nuvem em 90% mantendo a certificação ISO 27001

2025-06-21
Fugindo da AWS: Como uma empresa dinamarquesa reduziu os custos em nuvem em 90% mantendo a certificação ISO 27001

Uma empresa dinamarquesa de gestão de força de trabalho migrou com sucesso para fora da AWS, reduzindo seus custos em nuvem em 90%. Enfrentando preocupações de conformidade e altos custos com provedores de nuvem dos EUA, eles mudaram para provedores europeus como Hetzner e OVHcloud. Ao usar infraestrutura como código com Ansible, Prometheus/Grafana/Loki para monitoramento e uma abordagem de segurança por design, eles não apenas reduziram custos, mas também melhoraram a soberania de dados e a conformidade de segurança. Eles também usaram sua hospedagem europeia como uma ferramenta de vendas, fortalecendo a confiança da marca.

Leia mais
Tecnologia

Estimando a ocupação de tanques de armazenamento de petróleo usando imagens de satélite: um guia para iniciantes

2025-06-17
Estimando a ocupação de tanques de armazenamento de petróleo usando imagens de satélite: um guia para iniciantes

O TankerTrackers.com usa imagens de satélite e dados de rastreamento de petroleiros para esclarecer a natureza opaca do mercado global de petróleo. Este artigo detalha como medir o diâmetro e a altura de tanques de armazenamento de petróleo usando imagens de satélite e estimar a ocupação com base nas variações de sombra. Comparando imagens de datas diferentes, as mudanças no volume de petróleo podem ser rastreadas, ajudando a analisar as tendências do mercado. Este método utiliza de forma inteligente informações publicamente disponíveis e análise de imagens para fornecer uma nova perspectiva sobre a análise do mercado de petróleo.

Leia mais

Quantos testes de Renda Básica Universal (RBU) ainda precisamos?

2025-06-17
Quantos testes de Renda Básica Universal (RBU) ainda precisamos?

A ideia da Renda Básica Universal (RBU), pagamentos regulares e incondicionais de dinheiro do governo, permanece controversa. Há temores de que isso mataria a ética de trabalho e prejudicaria a sociedade. No entanto, evidências crescentes, incluindo um recente teste em larga escala na Alemanha, sugerem que esses temores podem ser infundados. Os resultados indicam que a RBU não causou preguiça generalizada, mostrando até mesmo alguns impactos positivos. Isso levanta a questão: quantos testes de RBU ainda precisamos até que sua viabilidade seja amplamente aceita?

Leia mais
Diversos

Os Três Templos do Treinamento de LLMs: Pré-treinamento, Fine-tuning e RLHF

2025-06-10
Os Três Templos do Treinamento de LLMs: Pré-treinamento, Fine-tuning e RLHF

No santuário de montanha escondido de Lexiconia, escribas antigos passam por treinamento em um templo de três partes: O Salão das Origens, A Câmara das Instruções e A Arena de Reforço. O Salão das Origens envolve pré-treinamento, onde os escribas lêem grandes quantidades de texto para aprender padrões de linguagem. A Câmara das Instruções é onde ocorre o fine-tuning, usando textos selecionados para guiar os escribas para melhores resultados. A Arena de Reforço utiliza Aprendizado por Reforço com Feedback Humano (RLHF), com juízes humanos classificando as respostas dos escribas, recompensando as boas e punindo as ruins. Escribas de elite também podem ser sutilmente modificados por meio de pergaminhos LoRA e adaptadores, ajustando as respostas sem treinar novamente todo o modelo. Este templo de três asas representa o processo completo de treinamento de modelos de linguagem grandes.

Leia mais

Renda Básica Universal: Não é dinheiro grátis, mas uma vida mais livre

2025-06-09

Um estudo alemão mostra que a Renda Básica Universal (RBU) não causou preguiça, mas melhorou a saúde mental, a autonomia e a generosidade. Mesmo com um pagamento mensal de € 1200, as taxas de emprego permaneceram inalteradas; em vez disso, incentivou as pessoas a procurar um trabalho mais gratificante. A RBU também aumentou as economias, as doações e o compartilhamento, aumentando a autonomia das mulheres. Com a IA causando demissões em massa de programadores, a RBU é um conceito que os EUA devem considerar, como evidenciado pelo programa de distribuição de receita de petróleo do Alasca.

Leia mais
Tecnologia

Consistência de Banco de Dados: Além do Básico

2025-06-02
Consistência de Banco de Dados: Além do Básico

Este artigo mergulha nos desafios de manter a consistência transacional do banco de dados em ambientes de alta concorrência. Usando um exemplo do Spring Boot, o autor demonstra como a paginação padrão e as verificações de idempotência podem levar a inconsistências de dados (linhas ausentes ou atualizações duplicadas) ao processar um grande volume de dados de vendas. O artigo explica detalhadamente os níveis de isolamento do banco de dados (READ UNCOMMITED, READ COMMITED, REPEATABLE READ, SERIALIZABLE) e as estratégias de bloqueio otimista/pessimista. Por fim, empregando o nível de isolamento REPEATABLE READ e o bloqueio otimista, o autor resolve eficazmente as inconsistências de dados e melhora significativamente o desempenho.

Leia mais

Instalação de Sistema Solar Residencial Faça Você Mesmo: Do Telhado à Rede

2025-05-21
Instalação de Sistema Solar Residencial Faça Você Mesmo: Do Telhado à Rede

Este relato detalhado narra a jornada de um proprietário em instalar um sistema de energia solar residencial por conta própria. O processo incluiu a instalação de um novo telhado (~US$ 20.000), manuseio de baterias de 300 libras (enfatizando a segurança e seguindo as instruções), conexão do inversor e dos painéis solares (usando montagem Ironridge e otimizadores Tigo) e, finalmente, a interconexão com a rede (resolvendo problemas de tensão e obtendo a aprovação para operação). O autor encontrou e documentou vários desafios, incluindo erros de materiais e falhas na fiação, fornecendo soluções e lições valiosas aprendidas. O sistema finalmente entrou em operação, atingindo consumo de energia líquido zero, com excesso de energia exportado para a rede, reduzindo significativamente as contas de eletricidade.

Leia mais
Hardware

Supercarregue seus projetos Java com Rust: Um guia prático de integração JNI

2025-05-18
Supercarregue seus projetos Java com Rust: Um guia prático de integração JNI

Este artigo explora a integração de código Rust em projetos Java para aumentar o desempenho e a eficiência. Ele detalha o uso de JNI (Java Native Interface), o tratamento de gerenciamento de memória, registro e chamadas assíncronas. O projeto open-source rust-java-demo mostra como empacotar bibliotecas Rust específicas da plataforma em um único JAR, unificando logs e mapeando erros Rust para exceções Java. Ele também explica como usar CompletableFuture para lidar com chamadas de funções Rust assíncronas, evitando o bloqueio de threads Java.

Leia mais
Desenvolvimento

Missão Impossível: Gerenciando Agentes de IA no Mundo Real

2025-04-30
Missão Impossível: Gerenciando Agentes de IA no Mundo Real

Este artigo aborda os desafios e estratégias para controlar eficazmente agentes de IA em vários campos, especialmente o desenvolvimento de software. O autor compartilha lições aprendidas com dificuldade, enfatizando o planejamento meticuloso e a restrição do contexto do que os agentes de IA podem fazer. Ele se aprofunda na escolha de ferramentas, no planejamento de tarefas, na criação e revisão de planos, nos testes desses planos e na identificação de problemas arquitetônicos maiores. Aspectos-chave como regras, retorno de desempenho, seleção de modelos e controle de custos também são abordados. O autor detalha sua experiência usando ferramentas como Cursor para criar planos reutilizáveis, refinando-os e testando-os iterativamente para melhorar a confiabilidade, levando em última análise a um desenvolvimento de software eficiente.

Leia mais
Desenvolvimento gestão de planos

Criador de Logos Funcional a Partir de um Único Prompt: Potencial e Limitações de LLMs

2025-04-25
Criador de Logos Funcional a Partir de um Único Prompt: Potencial e Limitações de LLMs

O autor gerou um criador de logos totalmente funcional, incluindo opções de exportação, a partir de um único prompt no Aider. Trechos de código demonstram a capacidade do LLM de gerar links de fontes, dependências e estilos CSS embutidos, incluindo até mesmo o hash SHA mais recente de uma biblioteca CDN vinculada. No entanto, ao expandir o código usando o Sonnet 3.7, a complexidade do projeto aumentou significativamente, resultando em código não compilável. O autor explora as diferenças nas capacidades de geração e expansão de código entre diferentes LLMs (como Claude e GPT-4o), e o impacto do tamanho da janela de contexto, limites de saída e outros fatores nos aplicativos LLM. As limitações das janelas de contexto e dos limites de saída em LLMs são destacadas como desafios importantes.

Leia mais

Inferência LLM Local: Grande Potencial, Mas Ferramentas Precisam Amadurecer

2025-04-21
Inferência LLM Local: Grande Potencial, Mas Ferramentas Precisam Amadurecer

Este artigo avalia o desempenho de frameworks de inferência LLM local, como llama.cpp, Ollama e WebLLM. Os resultados mostram que llama.cpp e Ollama são extremamente rápidos, mas ainda mais lentos que o gpt-4.0-mini do OpenAI. Um desafio maior reside na seleção e implantação de modelos: a grande quantidade de versões de modelos é esmagadora, e mesmo um modelo de 7B quantizado ocupa mais de 5 GB, levando a downloads e carregamentos lentos, impactando a experiência do usuário. O autor argumenta que a inferência LLM local futura precisa de ferramentas mais fáceis para treinamento e implantação de modelos, e integração estreita com LLMs em nuvem, para se tornar realmente prática.

Leia mais

A Sintaxe Esquecida de Sal e Ouro: Como os Mercadores da Ifríquia Codificaram o Comércio Antes do Silício

2025-04-19
A Sintaxe Esquecida de Sal e Ouro: Como os Mercadores da Ifríquia Codificaram o Comércio Antes do Silício

Este artigo revela a história da Sifraniyah, uma guilda de mercadores na Ifríquia (sul da Tunísia moderna), que usou uma linguagem comercial única, Al-Khatt al-Tujjari (A Linha Comercial), séculos antes da era do silício. Semelhante a uma linguagem de programação antiga, este sistema críptico empregava instruções condicionais, gestão de inventário em loop e mecanismos de verificação de erros, executados por meio de rolos lacrados com cera, scripts anudados e cantos rítmicos. Seu sistema semelhante a um protocolo autônomo descentralizado operava em vários nós comerciais. No entanto, com o surgimento de impérios e métodos de contabilidade mais modernos, Al-Khatt al-Tujjari foi eventualmente esquecido, deixando para trás fragmentos que nos lembram que a lógica não nasce apenas do silício, mas também pode crescer a partir de areia, sal e histórias.

Leia mais
Diversos comércio

Computação em grade bate recorde mundial para verificação da conjectura de Goldbach

2025-04-19
Computação em grade bate recorde mundial para verificação da conjectura de Goldbach

O engenheiro japonês @jay_gridbach quebrou o recorde mundial de verificação da conjectura de Goldbach usando seu sistema de computação distribuída Gridbach. Ele estendeu a verificação para 4×10¹⁸ + 7×10¹³, superando o recorde anterior de um pesquisador português. O Gridbach é um sistema baseado em nuvem que utiliza WebAssembly, não requer login e é acessível em PCs e smartphones. O projeto visa avançar na verificação da conjectura de Goldbach e promover o interesse em matemática e TI por meio de recursos computacionais abertos.

Leia mais

Um Programa Rust Que Executa 10↑↑15 Passos

2025-04-16
Um Programa Rust Que Executa 10↑↑15 Passos

Este artigo explora a criação de um programa Rust que roda por um tempo excepcionalmente longo. Começando com a operação fundamental de adição (increment), o autor meticulosamente constrói até a multiplicação (multiply), exponenciação (exponentiate) e finalmente tetração, culminando em um programa que calcula o número gigantesco 10↑↑15. A ênfase está em operações in-place, evitando cópias de memória e variáveis temporárias para garantir que o programa seja executado pelo número de passos projetado. O artigo explica claramente os detalhes da implementação com exemplos de código concisos, tornando-o valioso para aprender design de algoritmos e programação Rust.

Leia mais

Testes não são custos afundados: como eles aceleram sua equipe

2025-04-05
Testes não são custos afundados: como eles aceleram sua equipe

Este artigo explora por que engenheiros de software geralmente resistem a escrever testes e destaca a importância dos testes para melhorar a qualidade do código e a eficiência da equipe. O autor usa experiências pessoais para ilustrar que abandonar os testes, mesmo em ambientes de startups de alta pressão, é um erro. O artigo destaca que os testes não se resumem apenas às distinções entre testes unitários, testes de integração etc., mas sim à verificação de blocos de código que validam a funcionalidade central. Os testes devem ser sob demanda, rapidamente repetíveis, replicáveis em outros lugares e automatizáveis. O autor também observa que escrever testes força os desenvolvedores a escrever código mais amigável a testes, levando a uma melhor qualidade do código, maior modularidade e, finalmente, maior eficiência da equipe. O autor conclui instando os engenheiros a priorizar os testes, vendo-os como a chave para aumentar a produtividade e reduzir bugs, e aproveitando a IA para auxiliar nos testes, mas sem depender totalmente dela.

Leia mais
Desenvolvimento

A Estrutura de Valor ao Longo da Vida de Anúncios do Airbnb: Um Mergulho Profundo

2025-04-04
A Estrutura de Valor ao Longo da Vida de Anúncios do Airbnb: Um Mergulho Profundo

O Airbnb desenvolveu uma estrutura para estimar o valor ao longo da vida (LTV) dos anúncios a fim de melhorar a experiência do usuário. A estrutura calcula três tipos de LTV: LTV de base, LTV incremental e LTV incremental induzido por marketing. O LTV de base prevê o número total de reservas que um anúncio receberá nos próximos 365 dias usando aprendizado de máquina e dados de anúncios. O LTV incremental leva em consideração a canibalização de reservas entre os anúncios. O LTV incremental induzido por marketing mede o valor adicional gerado pelas iniciativas de marketing internas. O artigo discute os desafios, como medir com precisão o LTV de base, lidar com a incrementalidade e lidar com incertezas (por exemplo, a pandemia de COVID-19). O Airbnb usa o LTV para identificar anúncios de alto valor, melhorar as recomendações para anfitriões e avaliar a eficácia das campanhas de marketing.

Leia mais
Desenvolvimento Valor ao Longo da Vida

O Ponto Cego da IA: Espelhos na Geração de Imagens e Vídeos

2025-04-03
O Ponto Cego da IA: Espelhos na Geração de Imagens e Vídeos

Avanços recentes na geração de imagens e vídeos por IA produziram resultados impressionantes e fotorrealistas, mas um obstáculo significativo permanece: renderizar com precisão os reflexos em espelhos. Os pesquisadores testaram vários modelos líderes, encontrando dificuldades consistentes na geração de reflexos corretos. Os modelos frequentemente produziram imagens distorcidas, inconsistentes ou completamente imprecisas. Por exemplo, o Gemini falhou com reflexos de gatos e cadeiras, enquanto o Ideogram lutou com reflexos humanos em fotos de grupo. Isso destaca uma limitação importante: embora a geração de imagens de IA esteja avançando rapidamente, alcançar precisão física — como reflexos de espelhos realistas — continua sendo um desafio significativo.

Leia mais
IA

Aproximando Elipses com Arcos Circulares: Uma Técnica de Desenho Prática

2025-04-01
Aproximando Elipses com Arcos Circulares: Uma Técnica de Desenho Prática

Métodos tradicionais de desenho de elipses têm limitações em aplicações práticas. Este artigo apresenta uma técnica para aproximar elipses usando vários arcos circulares com raios fixos. O método envolve desenhar uma elipse em um software CAD, dividi-la em segmentos de ângulos iguais e, em seguida, mapear as cordas e os raios desses segmentos na elipse. Isso resulta em uma série de arcos circulares que formam uma elipse aproximada. Essa abordagem é particularmente útil em campos como design arquitetônico, permitindo flexibilidade na ajuste do número e dos ângulos dos arcos para alcançar formas e estéticas desejadas.

Leia mais

Redescobrindo o Truque de Perspectiva de Piranesi: Uma Técnica Artística Esquecida

2025-03-27
Redescobrindo o Truque de Perspectiva de Piranesi: Uma Técnica Artística Esquecida

Este artigo mergulha na técnica de perspectiva única empregada pelo artista do século XVIII Giovanni Battista Piranesi. Ao contrário da perspectiva tradicional, o truque de Piranesi usa uma proporção de perto-grande, longe-pequeno ao representar uma série de objetos semelhantes, em vez da verdadeira convergência de perspectiva. Essa técnica, embora viole as regras da perspectiva, aumenta a legibilidade e a compreensão da imagem. O artigo analisa os princípios matemáticos dessa técnica e, por meio da comparação com a perspectiva tradicional, demonstra suas aplicações potenciais no processamento de imagens e na cartografia. O autor até desenvolveu um algoritmo para aplicar essa técnica a softwares de edição de imagens, oferecendo uma nova perspectiva para a manipulação de imagens.

Leia mais
Design

Bolo Inteligente Interativo: Uma Câmera Disfarçada de Sobremesa

2025-03-22
Bolo Inteligente Interativo: Uma Câmera Disfarçada de Sobremesa

Este artigo detalha a criação de um bolo inteligente interativo, uma colaboração entre o autor e uma roboticista de confeitaria. O bolo, projetado para se parecer com uma câmera, incorpora uma câmera, LEDs, uma impressora térmica e outros componentes interativos. Ele detecta rostos, tira fotos e imprime recibos personalizados. O artigo fornece um guia detalhado do hardware, software, código e processo de montagem, culminando em um bolo delicioso e capaz de tirar fotos!

Leia mais
← Previous 1 3