Recriando o Photoshop: Um Projeto de Verão de 2006

2025-03-16
Recriando o Photoshop: Um Projeto de Verão de 2006

No verão de 2006, um desenvolvedor, com o objetivo de melhorar sua experiência de leitura de mangá, criou um leitor de mangá chamado Fiew usando C++ e a API do Windows. Movido pela ambição, ele então enfrentou a tarefa formidável de recriar a funcionalidade principal do Photoshop, resultando no editor de imagens, Fedit. O Fedit seguiu os princípios de instalação zero e um único arquivo executável, e replicou meticulosamente a interface e os recursos do Photoshop, incluindo janelas de ferramentas flutuantes, um seletor de cores e gerenciamento de camadas. Meses de desenvolvimento, superando inúmeros obstáculos técnicos, culminaram em uma tese de sucesso, um emprego de engenharia de software e a disponibilização do código e da documentação do Fedit em código aberto.

Leia mais

Vulnerabilidade crítica encontrada no FreeSWITCH: riscos de segurança em software de telecomunicações de código aberto

2025-03-12
Vulnerabilidade crítica encontrada no FreeSWITCH: riscos de segurança em software de telecomunicações de código aberto

Um pesquisador de segurança descobriu uma vulnerabilidade de estouro de buffer no software de telecomunicações de código aberto FreeSWITCH, que pode levar à execução remota de código. Embora a SignalWire (desenvolvedora do FreeSWITCH) tenha corrigido a vulnerabilidade, eles não lançarão uma nova versão com a correção até o verão, deixando potencialmente milhares de sistemas vulneráveis ​​em risco. Isso destaca as deficiências na gestão de segurança de software de telecomunicações de código aberto e como os problemas de segurança são frequentemente negligenciados na ausência de incentivos financeiros.

Leia mais
Tecnologia

De Bevy para Unity: A história da migração de engine de um desenvolvedor de jogos

2025-04-28
De Bevy para Unity: A história da migração de engine de um desenvolvedor de jogos

O autor inicialmente usou Rust e a engine Bevy para desenvolver o jogo "Architect of Ruin". No entanto, devido a desafios de colaboração, níveis de abstração insuficientes, altos custos de migração devido a atualizações frequentes da engine e baixa eficiência de desenvolvimento assistido por IA, eles acabaram mudando para Unity e C# em janeiro de 2025. Após uma migração experimental de três dias, eles descobriram que a Unity oferecia vantagens significativas em colaboração, iteração rápida e aproveitamento de um ecossistema maduro, levando a uma migração completa. Embora o processo de migração tenha sido desafiador, ele acabou melhorando significativamente a eficiência do desenvolvimento e trouxe novo impulso ao desenvolvimento do jogo.

Leia mais

Os Desafios e Soluções de Bibliotecas Fennel em um Único Arquivo

2025-08-13
Os Desafios e Soluções de Bibliotecas Fennel em um Único Arquivo

Este artigo mergulha nos desafios de construir bibliotecas de arquivo único em Fennel, um dialeto Lisp embutido em Lua, especialmente as complexidades de lidar com macros e funções juntas. O autor disseca meticulosamente o sistema de módulos do Lua, incluindo a mecânica de `package.loaded`, `package.preload` e `package.searchers`, explicando como o Fennel os utiliza para compilar e carregar módulos. O cerne do artigo concentra-se em resolver as limitações das macros do Fennel, como a incapacidade de exportar macros diretamente e a interdependência entre macros. Uma solução inteligente é apresentada, utilizando `eval-compiler` e `relative-require` para empacotar macros e funções em um único arquivo, e abordando o carregamento de macros definindo manualmente a tabela `fennel.macro-loaded` durante a compilação. Finalmente, o autor descreve melhorias futuras para o sistema de macros do Fennel, propondo a remoção de módulos de macro, o carregamento direto de módulos inteiros durante a compilação e a adoção da abordagem do Clojure para resolver dependências de macros.

Leia mais
Desenvolvimento

GrapheneOS: Um sistema operacional Android focado em segurança

2025-09-14
GrapheneOS: Um sistema operacional Android focado em segurança

O GrapheneOS (GOS) é um sistema operacional baseado no Android que prioriza a segurança e é compatível apenas com dispositivos Google Pixel. Ele utiliza perfis de usuários múltiplos para garantir privacidade robusta, com criptografia e permissões independentes para cada perfil, criando, na prática, sistemas isolados dentro do seu telefone. Os usuários podem controlar granularmente as permissões de cada perfil, podendo até mesmo interromper completamente a execução em segundo plano. A instalação é simples, as atualizações são fáceis e o gerenciamento de permissões de aplicativos é poderoso. Embora seja um pouco menos amigável que o Android padrão, o GOS oferece um controle sem precedentes para usuários preocupados com segurança e privacidade, tornando-se uma alternativa interessante.

Leia mais
Desenvolvimento

Streaming Roku ultrapassa a TV tradicional nos EUA

2025-09-07
Streaming Roku ultrapassa a TV tradicional nos EUA

Dados da Nielsen mostram que, pelo terceiro mês consecutivo, os espectadores americanos passaram mais tempo assistindo a streaming em dispositivos Roku do que assistindo à televisão tradicional em julho. Dispositivos Roku representaram 21,4% de toda a audiência de TV, superando os 18,4% da TV aberta. Isso sinaliza uma mudança significativa nos hábitos de visualização. O sucesso da Roku não se deve apenas ao seu próprio serviço de streaming, The Roku Channel, mas também ao seu vasto ecossistema de milhares de aplicativos e provedores de TV ao vivo. A Roku visa ser mais do que um provedor de conteúdo; ela aspira a ser o portal para a televisão moderna.

Leia mais
Tecnologia

Revolucionando as SOFCs: Operação a 300°C atingida, prometendo custos mais baixos

2025-08-12
Revolucionando as SOFCs: Operação a 300°C atingida, prometendo custos mais baixos

Pesquisadores da Universidade de Kyushu desenvolveram uma célula de combustível de óxido sólido (SOFC) operando a 300°C, significativamente mais baixo do que os 700-800°C típicos. Essa inovação envolve um eletrólito redesenhado, utilizando estanato de bário e titanato de bário dopados com escândio para criar uma 'rodovia ScO₆' altamente condutora para prótons. Essa operação em baixa temperatura promete reduzir drasticamente os custos de fabricação, abrindo caminho para aplicações de SOFC em nível de consumidor e potencialmente influenciando outras tecnologias de energia em baixa temperatura, como eletrólise e reatores de conversão de CO₂.

Leia mais

Tentativa de Abordagem de US$ 100 Milhões do Meta em OpenAI: Altman Responde

2025-08-13
Tentativa de Abordagem de US$ 100 Milhões do Meta em OpenAI: Altman Responde

O CEO da OpenAI, Sam Altman, acusou o Meta de tentar atrair seus desenvolvedores com bônus de assinatura superiores a US$ 100 milhões e pacotes de compensação significativamente mais altos. Essa ofensiva de recrutamento ocorre enquanto o Meta tenta se recuperar na corrida da IA. Altman afirma que o Meta, com seu valor de mercado de US$ 1,8 trilhão, iniciou essas ofertas depois de ficar para trás no desenvolvimento de IA. Ele declarou no podcast Uncapped que acredita que o Meta vê a OpenAI como seu maior concorrente. Apesar das ofertas substanciais, Altman relata que nenhum de seus principais talentos aceitou. O Meta está construindo uma nova equipe de "superinteligência" focada em AGI, mas enfrentou contratempos este ano com críticas em torno de seu modelo Llama 4 e atrasos em seu modelo de IA principal, "Behemoth".

Leia mais

Slate Truck: Uma picape elétrica minimalista que desafia o status quo

2025-04-25
Slate Truck: Uma picape elétrica minimalista que desafia o status quo

A Slate Auto está lançando a Slate Truck, uma picape elétrica de dois lugares com preço abaixo de US$ 20.000 (após incentivos federais). Seu design minimalista apresenta carroceria de plástico, uma única cor e incentiva a personalização extensiva do usuário. Essa abordagem reduz os custos de fabricação e simplifica o processo, atraindo investidores, incluindo, segundo relatos, Jeff Bezos. Embora careça de muitos recursos, sua acessibilidade, personalização, foco em confiabilidade e manutenção fácil para o usuário podem oferecer uma experiência de condução única para os consumidores americanos.

Leia mais

Modelos de Incorporação Estática 400x Mais Rápidos com Sentence Transformers

2025-01-15
Modelos de Incorporação Estática 400x Mais Rápidos com Sentence Transformers

Esta postagem de blog apresenta um método para treinar modelos de incorporação estática que rodam de 100x a 400x mais rápido em CPU do que os modelos de incorporação de última geração, mantendo a maior parte da qualidade. Isso desbloqueia muitos casos de uso interessantes, incluindo execução em dispositivos e no navegador, computação de ponta, aplicativos de baixa potência e embutidos. Aplicamos essa receita para treinar dois modelos de incorporação extremamente eficientes: sentence-transformers/static-retrieval-mrl-en-v1 para recuperação em inglês e sentence-transformers/static-similarity-mrl-multilingual-v1 para tarefas de similaridade multilíngue.

Leia mais

Conselho do Consumidor de Hong Kong: Resultados surpreendentes de teste de eficácia de protetor solar!

2025-09-07
Conselho do Consumidor de Hong Kong: Resultados surpreendentes de teste de eficácia de protetor solar!

O Conselho do Consumidor de Hong Kong testou 30 protetores solares de uso diário, revelando resultados alarmantes! Mais de 80% apresentaram desempenho abaixo do seu FPS rotulado, com alguns protetores solares de alto FPS medindo abaixo de FPS 15. Muitos também não atenderam aos níveis de proteção UVA rotulados e aos requisitos de divulgação de ingredientes. O Conselho insta os fabricantes a melhorar a produção e a precisão da rotulagem, fornecendo instruções claras. Os consumidores são aconselhados a escolher com cuidado para evitar proteção solar inadequada e possíveis danos à pele.

Leia mais

Aumento de 15 vezes na potência de geradores termoelétricos solares por meio da gestão espectral e térmica sinérgica

2025-08-30
Aumento de 15 vezes na potência de geradores termoelétricos solares por meio da gestão espectral e térmica sinérgica

Pesquisadores melhoraram significativamente a potência de saída de geradores termoelétricos solares (STEGs) otimizando a gestão térmica tanto do lado quente quanto do lado frio. Eles empregaram um absorvedor solar seletivo (SSA) para maximizar a absorção de energia solar e minimizar as perdas por radiação, enquanto usavam um filme de ar para reduzir as perdas por convecção no lado quente. No lado frio, um microdissipador (μ-dissipador) foi projetado para dissipação eficiente de calor por convecção e radiação. Experimentos demonstraram um aumento de 15 vezes na potência de pico ao combinar as otimizações de ambos os lados, o suficiente para alimentar um LED, mostrando o potencial para aplicações em IoT e além.

Leia mais

Afirmação de P vs NP desmascarada: Revista Springer publica artigo com falhas

2025-08-06

Um artigo alegando provar um resultado mais forte do que P≠NP foi publicado na Frontiers of Computer Science da Springer Nature, gerando controvérsia. Um dos autores é editor-chefe adjunto da revista. Os cientistas da computação Ryan Williams e Eric Allender encontraram falhas graves na prova, contradizendo até mesmo algoritmos conhecidos. Eles enviaram um comentário solicitando a retratação, mas o editor-chefe recusou, concordando apenas em publicar uma versão revisada do comentário. Este incidente expõe sérios problemas no processo de revisão por pares da revista, gerando preocupações sobre a reputação da revista. Esta é uma notícia de Tecnologia.

Leia mais
Tecnologia

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

Gerando Invasores Espaciais Pixel Art com Algoritmos

2025-08-20
Gerando Invasores Espaciais Pixel Art com Algoritmos

Este artigo interativo detalha a criação de um gerador de Invasores Espaciais usando JavaScript e gráficos vetoriais. O autor descreve o processo, desde desenhos de pixel art feitos à mão até polígonos vetoriais e, finalmente, imagens pixeladas, explicando os algoritmos e técnicas envolvidas. Isso inclui o uso do espaço de cores OKLCH para geração de cores e Anime.js para animação. O artigo é altamente interativo, permitindo que os leitores gerem seus próprios Invasores Espaciais.

Leia mais
Desenvolvimento Gráficos Vetoriais

Utopia Cripto: Experimentando com Estados de Rede na Cidade da Floresta, Malásia

2025-09-01
Utopia Cripto: Experimentando com Estados de Rede na Cidade da Floresta, Malásia

Em um hotel adaptado em uma ilha recuperada na Malásia, empreendedores de criptografia e tecnologia estão conduzindo um experimento real: construir novos estados soberanos do zero. A Network School, criação do ex-executivo da Coinbase, Balaji Srinivasan, atrai quase 400 alunos que aprendem codificação, governança descentralizada e constroem projetos criptográficos. O currículo combina habilidades práticas com exploração ideológica, combinando sprints de codificação com seminários sobre tópicos como a Restauração Meiji e a governança de estado de Cingapura. A visão de Srinivasan é criar "sociedades de startups" definidas por crenças compartilhadas, não por território, e ele vê o mundo pronto para sua marca de ruptura do estado-nação, usando a Cidade da Floresta como um campo de testes para lançamento global. Apesar dos desafios, o projeto injeta energia na Cidade da Floresta, oferecendo um estudo de caso único na exploração de modelos futuros de governança societal.

Leia mais

Google aposta em baterias de CO2, desafiando a Tesla

2025-07-27
Google aposta em baterias de CO2, desafiando a Tesla

O Google anunciou uma parceria com a Energy Dome, uma startup italiana de armazenamento de energia, investindo em seu inovador sistema de armazenamento de energia de longa duração (LDES) baseado em CO2. Este sistema usa CO2 líquido comprimido para gerar eletricidade, oferecendo durações de armazenamento de 8 a 24 horas, excedendo significativamente as baterias atuais de íons de lítio. A iniciativa visa apoiar a integração de energias renováveis, reduzir a dependência de combustíveis fósseis e alimentar os data centers do Google e outras instalações de alta energia com eletricidade mais limpa. Essa tecnologia promete revolucionar o armazenamento de energia, representando um desafio para gigantes de baterias de íons de lítio como a Tesla e oferecendo novas oportunidades para a transição energética global.

Leia mais
Tecnologia bateria de CO2

A Matemática por Trás do Corte Perfeito de Cebola

2025-08-17
A Matemática por Trás do Corte Perfeito de Cebola

Milhões de visualizações no YouTube provam: cortar uma cebola perfeitamente é uma busca comum. Este artigo mergulha na técnica ideal de corte de cebola, usando modelagem matemática e cálculos de desvio padrão para revelar que cortes radiais, direcionados a aproximadamente 96% do raio da cebola, produzem pedaços mais uniformes, superando os cortes verticais. Embora a uniformidade perfeita possa não melhorar drasticamente sua culinária, o estudo oferece um exemplo fascinante de aplicação da matemática a problemas cotidianos.

Leia mais

Cursor 1.0 Lançado: BugBot, Agente em segundo plano e muito mais!

2025-06-04
Cursor 1.0 Lançado: BugBot, Agente em segundo plano e muito mais!

O Cursor 1.0 chegou, trazendo uma série de novos recursos! O BugBot automatiza a revisão de código, identificando bugs potenciais e sugerindo correções diretamente nos PRs do GitHub. O Agente em segundo plano agora está disponível para todos, acessível pelo bate-papo ou atalho de teclado. Outros destaques incluem suporte ao Jupyter Notebook, recurso beta de 'Memórias', instalação do MCP com um clique e respostas de bate-papo mais ricas com visualizações. Este lançamento aumenta significativamente a produtividade do desenvolvedor.

Leia mais
Desenvolvimento Agente em segundo plano

Acordo de Direitos Autorais de US$ 1,5 Bilhão da Anthropic Enfrenta Escrutínio Judicial

2025-09-10
Acordo de Direitos Autorais de US$ 1,5 Bilhão da Anthropic Enfrenta Escrutínio Judicial

Um juiz federal que supervisiona o acordo proposto de US$ 1,5 bilhão de direitos autorais da Anthropic está preocupado com potenciais acordos secretos que prejudicam os autores. O juiz Alsup adiou a aprovação, citando informações insuficientes sobre o processo de reivindicações e preocupações com a grande equipe jurídica. Ele exigiu uma lista detalhada de obras, procedimentos de notificação mais claros para os membros da classe e um processo de reivindicação revisado garantindo que apenas os titulares de direitos autorais optem por participar. Este caso de direitos autorais de IA marcante, um dos primeiros do tipo, enfrenta incerteza apesar do valor substancial do acordo.

Leia mais

Ataque cibernético paralisante atinge São Paulo; Guarda Nacional mobilizada

2025-07-30
Ataque cibernético paralisante atinge São Paulo; Guarda Nacional mobilizada

São Paulo, capital de Minnesota, sofreu um grande ataque cibernético que interrompeu serviços online, incluindo pagamentos online e alguns serviços de bibliotecas e centros de recreação. O ataque, que durou o fim de semana, superou a capacidade de resposta da cidade e de empresas de segurança cibernética comerciais. O governador Walz ativou as forças de cibersegurança da Guarda Nacional para auxiliar na investigação e na restauração dos serviços, garantindo a continuidade dos serviços essenciais da cidade. Este incidente destaca os riscos de cibersegurança que a infraestrutura municipal enfrenta e os desafios de responder a ataques cibernéticos em larga escala.

Leia mais
Tecnologia Guarda Nacional

Empirical Health (YC) Contrata Estagiários de Engenharia de Software para o Verão de 2025

2025-01-15
Empirical Health (YC) Contrata Estagiários de Engenharia de Software para o Verão de 2025

A startup Empirical Health, apoiada pela Y Combinator, está procurando estagiários de Engenharia de Software para o verão de 2025. Eles estão construindo o futuro do atendimento primário proativo usando IA e sensores de saúde vestíveis. Os estagiários trabalharão em projetos impactantes de aprendizado de máquina ou de pilha completa, como criar modelos para prever hospitalizações ou desenvolver novos recursos para aplicativos móveis. O estágio de 12 semanas envolve enviar código para produção e impactar diretamente pacientes reais. São necessárias habilidades sólidas em Typescript/Javascript, React/React Native e/ou Python.

Leia mais
Tecnologia Estágio

Badge WHY2025: Um perigo de incêndio iminente

2025-08-06
Badge WHY2025: Um perigo de incêndio iminente

O crachá da conferência WHY2025 apresenta um risco significativo de incêndio devido ao uso de células de íons de lítio 18650 desprotegidas. Falhas de design criam um alto risco de curto-circuito, com apenas uma fina camada de resina impedindo o superaquecimento e potenciais incêndios. Apesar de repetidas tentativas de comunicar o problema aos organizadores, células desprotegidas ainda foram distribuídas. Este documento detalha as falhas de design e insta os participantes a evitar o uso das células fornecidas para evitar um desastre potencial.

Leia mais
Hardware

Processo de Aplicação de Passaporte do Reino Unido: Um Jogo de Aventura Burocrático Resolvido com Haskell

2025-06-29

O processo de solicitação de passaporte do Reino Unido é comparado a um jogo online complexo por um programador. Os requerentes devem reunir vários documentos, semelhante à coleta de artefatos, para comprovar a cidadania britânica. As regras são intrincadas, cheias de lógica burocrática, exigindo até mesmo certidões de nascimento de ancestrais. Usando Haskell, o programador criou um programa simulando o processo, gerando todos os conjuntos de documentos necessários possíveis. Isso ajuda a entender a complexidade e gera discussão sobre a automação de processos governamentais e a colaboração entre humanos e computadores.

Leia mais

Uma Jornada para Otimizar Consultas ao Banco de Dados Cloudflare D1

2025-04-07
Uma Jornada para Otimizar Consultas ao Banco de Dados Cloudflare D1

Um desenvolvedor frontend encontrou gargalos de desempenho ao usar Cloudflare Workers e o banco de dados D1. Ao monitorar o painel D1, examinar instruções de consulta e analisar contagens de leitura/escrita de linhas, ele identificou vários problemas importantes: consultas únicas lentas, gravação em lote ineficiente, leituras de linhas desnecessárias devido à inclusão de IDs em operações de atualização, varreduras de tabela inteira em consultas de contagem, explosões de produto cartesiano de junções de várias tabelas e inserções em massa subótimas. As soluções envolveram o uso de operações em lote D1, exclusão de IDs de atualizações, implementação de paginação baseada em cursor, divisão de consultas de junção de várias tabelas e otimização de instruções de inserção em massa. Essas otimizações melhoraram drasticamente o desempenho da consulta, reduzindo o tempo de execução de 78 ms para 14 ms em alguns casos. A experiência destaca a importância do monitoramento contínuo, otimização iterativa e as diferenças cruciais entre problemas de desempenho do lado do servidor e do lado do cliente.

Leia mais

Estratégias de Camadas em Data Lakehouse: Camada Compartilhada vs. Materialização?

2025-08-21
Estratégias de Camadas em Data Lakehouse: Camada Compartilhada vs. Materialização?

Este artigo explora estratégias de camadas de dados em arquiteturas de data lakehouse. O acesso direto a camadas compartilhadas apresenta riscos de confiabilidade; o acesso por API é preferível. A gestão do ciclo de vida dos dados requer um serviço de metadados canônico que coordena os locais de armazenamento primário e secundário. A gestão de esquemas deve ser controlada pelo sistema primário, garantindo a compatibilidade com o armazenamento secundário. A escolha entre camadas compartilhadas e materialização depende da localização da lógica de junção/conversão (lado do cliente ou do servidor) e seus respectivos prós e contras. Com a junção do lado do cliente, a diferença é mínima; a junção do lado do servidor requer consideração cuidadosa da manutenção de metadados e da integração do processamento de dados em tempo real.

Leia mais

Michael Larabel: 20 Anos de Benchmarking de Hardware Linux

2025-05-16

Michael Larabel, fundador e principal autor do Phoronix.com, se dedicou desde 2004 a melhorar a experiência com hardware Linux. Ele escreveu mais de 20.000 artigos sobre suporte de hardware Linux, desempenho, drivers de gráficos e muito mais. Além disso, Larabel é o desenvolvedor principal do Phoronix Test Suite, Phoromatic e OpenBenchmarking.org - softwares de benchmarking automatizados cruciais para a comunidade Linux. Suas contribuições moldaram significativamente o cenário de benchmarking de código aberto.

Leia mais
Tecnologia

LLMs não são modelos de mundo: um argumento contra-intuitivo

2025-08-13

Este artigo argumenta que os Grandes Modelos de Linguagem (LLMs) não compreendem verdadeiramente o mundo, mas sim excelência na previsão de sequências de texto. Através de exemplos como xadrez, modos de mistura de imagens e programação multithread em Python, o autor demonstra que os LLMs podem gerar respostas aparentemente razoáveis, mas carecem de compreensão da lógica e regras subjacentes. Mesmo com correções, os LLMs têm dificuldades com conceitos básicos. O autor propõe que o sucesso dos LLMs advém de esforços de engenharia, e não de uma compreensão genuína do mundo, e prevê avanços em 'modelos de mundo' que levarão à verdadeira IA geral.

Leia mais
IA

Adeus às classes CSS: Construindo um site sem classes

2025-09-18
Adeus às classes CSS: Construindo um site sem classes

Após uma publicação anterior defendendo o uso de elementos embutidos do navegador, o autor colocou essa filosofia em prática, removendo completamente todas as classes CSS de seu site pessoal. Ele experimentou estilos padrão mais granulares, seletores aninhados, recursos modernos de CSS como `:where()` e `:has()`, e elementos e atributos personalizados como substitutos. Embora isso exija um planejamento mais cuidadoso e não seja adequado para todos os projetos, o experimento levou o autor a questionar a necessidade de classes CSS e teve uma influência duradoura em seu trabalho futuro. Uma pequena concessão foi feita para um plugin de realce de sintaxe que utiliza classes.

Leia mais
Desenvolvimento Elementos Personalizados
1 2 119 120 121 123 125 126 127 595 596