Por que as ferramentas de desenvolvimento precisam ser totalmente open source
David Crawshaw argumenta que a era dos plugins acabou: agentes de IA e código aberto permitem modificar e manter softwares sob medida em tempo real.
Conheça o LinkedIn Feed Blocker, extensão que remove a linha do tempo do LinkedIn no /feed mantendo vagas, mensagens e perfis totalmente operacionais.
O desenvolvedor Andrew Pollack lançou no GitHub o repositório andrewpollack/linkedin-feed-blocker, que apresenta a extensão LinkedIn Feed Blocker para o navegador Google Chrome. O software foi projetado com uma proposta minimalista: desabilitar completamente o fluxo principal de postagens na rota /feed, mantendo o restante da plataforma corporativa integralmente utilizável. O projeto foi submetido para publicação oficial na Chrome Web Store, onde atualmente aguarda o processo de revisão da equipe do Google, mas já pode ser utilizado via instalação manual pelo repositório aberto.
A proposta central do LinkedIn Feed Blocker reside na preservação seletiva de recursos essenciais da rede social profissional. Enquanto a linha do tempo central é bloqueada, todos os demais componentes da plataforma do LinkedIn — incluindo as abas de perfis, busca de vagas de emprego, mecanismo de pesquisa avançada, sistema de mensagens diretas, painel de notificações e outras ferramentas de interatividade profissional — permanecem operando sem nenhuma interferência técnica ou alteração de layout.
Segundo a documentação do repositório andrewpollack/linkedin-feed-blocker, o utilitário resolve um dilema comum de profissionais de tecnologia que precisam utilizar a plataforma para networking e recrutamento, mas buscam evitar o consumo passivo de conteúdo gerado pelos algoritmos de recomendação na página inicial do site.
A motivação original para o desenvolvimento do LinkedIn Feed Blocker foi explicitada por Andrew Pollack na apresentação do repositório no GitHub. Ao analisar como a interface padrão da rede afeta a rotina de trabalho, o criador definiu o objetivo do projeto em uma declaração direta:
"I like LinkedIn for finding jobs and chatting with recruiters. I do not like being greeted by the wild-west social feed."
Para ilustrar a transformação promovida pela extensão na rota /feed, a documentação oficial do repositório andrewpollack/linkedin-feed-blocker compara visualmente o estado da interface antes e depois da execução do código, utilizando as seções denominadas "Before" (Antes) e "After" (Depois).
No cenário original "Before", o usuário que acessa o LinkedIn é recebido por uma linha do tempo ruidosa na rota /feed, composta por atualizações algorítmicas de contatos, posts patrocinados, enquetes e o bloco fixo de criação de publicações. Essa estrutura visual é projetada para prender a atenção do usuário por meio do mecanismo de rolagem infinita.
No cenário "After", viabilizado pela instalação da extensão LinkedIn Feed Blocker, a página inicial limpa a área central da tela. O usuário deixa de ser exposto à tempestade de conteúdo da linha do tempo e pode direcionar sua atenção imediatamente para a caixa de mensagens para conversar com recrutadores ou navegar diretamente para a seção de pesquisa de vagas.
A camada visual de neutralização do feed no LinkedIn Feed Blocker é gerenciada de forma direta através do arquivo de folhas de estilo denominado feed.css. Este arquivo é injetado pelo navegador Chrome na estrutura da página do LinkedIn para modificar as propriedades de renderização dos elementos da interface.
A regra central contida no arquivo feed.css utiliza a diretiva do seletor de atributo do documento HTML para localizar o elemento pai da linha do tempo principal. O código contido no repositório andrewpollack/linkedin-feed-blocker é configurado exatamente assim:
[data-testid="mainFeed"] {
display: none !important;
}
A escolha do seletor [data-testid="mainFeed"] dentro do arquivo feed.css é estratégica do ponto de vista da engenharia de front-end. Esse identificador específico é utilizado pelo LinkedIn no seu código de testes e montagem da interface React, o que permite isolar a caixa de postagens e o fluxo central com precisão.
Ao aplicar a instrução display: none !important; sobre o seletor [data-testid="mainFeed"], a extensão LinkedIn Feed Blocker oculta no mesmo instante tanto a caixa de criação de postagens (o chamado *post composer*) quanto toda a lista de publicações de terceiros que compõe o feed da rota /feed.
Essa abordagem no arquivo feed.css é altamente eficiente porque atua diretamente no ciclo de renderização do Document Object Model (DOM) do navegador Google Chrome. O elemento identificado por [data-testid="mainFeed"] deixa de ser desenhado na tela, impedindo o salto de layout e eliminando a necessidade de scripts pesados de alteração da interface em tempo de execução.
O LinkedIn Feed Blocker não se limita a esconder os elementos da tela via CSS; ele também impede o consumo desnecessário de dados e processamento no nível da rede. Para isso, o projeto desenvolvido por Andrew Pollack inclui o arquivo de configurações declarativas denominado rules.json.
O arquivo rules.json atua interceptando as requisições HTTP de segundo plano disparadas pelo navegador ao acessar a rota /feed do LinkedIn. O objetivo é interromper as chamadas assíncronas que alimentam a paginação e a rolagem infinita de postagens.
A regra contida no arquivo rules.json estabelece um filtro de URL altamente específico. A interceptação é configurada para atingir pontualmente o parâmetro de requisição identificador do mecanismo de Server-Driven UI (SDUI) do LinkedIn: sduiid=com.linkedin.sdui.pagers.feed.mainFeed.
Nas notas técnicas do repositório andrewpollack/linkedin-feed-blocker, o desenvolvedor enfatiza que a regra no rules.json foi direcionada estritamente para o valor sduiid=com.linkedin.sdui.pagers.feed.mainFeed. A intenção dessa restrição é evitar que a extensão bloqueie requisições genéricas do endpoint de paginação da rede social, o que poderia quebrar o carregamento de resultados na busca por vagas ou na navegação por perfis corporativos.
Dessa forma, o bloqueio do parâmetro sduiid=com.linkedin.sdui.pagers.feed.mainFeed no arquivo rules.json assegura que apenas o tráfego de dados da linha do tempo seja cortado, mantendo a estabilidade técnica e a velocidade de resposta de todas as outras abas do LinkedIn.
Enquanto o anúncio oficial do LinkedIn Feed Blocker na Chrome Web Store segue na fila de aprovação, os usuários podem realizar o processo de instalação manual em seus navegadores Chrome seguindo as instruções documentadas por Andrew Pollack no repositório oficial do projeto.
O primeiro passo para a instalação manual consiste em baixar o pacote compactado em ZIP ou clonar o repositório andrewpollack/linkedin-feed-blocker via Git para uma pasta permanente no armazenamento do computador.
Após armazenar os arquivos do projeto no computador, o usuário deve abrir o Google Chrome e digitar na barra de endereços a URL interna de gerenciamento do navegador: chrome://extensions.
Com a página chrome://extensions aberta no Chrome, o próximo passo é localizar a opção "Developer mode" (Modo do desenvolvedor), situada no canto superior direito da interface, e alternar a chave seletora para a posição ativada.
Assim que o Modo do desenvolvedor estiver habilitado no painel chrome://extensions, o navegador exibirá novos botões de controle. O usuário deve clicar na opção "Load unpacked" (Carregar sem compactação) exibida no canto superior esquerdo.
Na janela de seleção de arquivos que se abre após clicar em "Load unpacked", é necessário navegar até o diretório local onde o repositório foi salvo e selecionar a pasta principal do projeto denominada linkedin-feed-blocker.
Após a conclusão desse procedimento no chrome://extensions, basta abrir uma aba no navegador e carregar a plataforma do LinkedIn. A extensão LinkedIn Feed Blocker estará em execução e continuará ativa de forma permanente no navegador, a não ser que seja desativada ou removida manualmente do Chrome.
O repositório mantido por Andrew Pollack traz um guia específico focado em desenvolvedores que desejam alterar a extensão ou contribuir com melhorias nos arquivos manifest.json, rules.json ou feed.css.
De acordo com as instruções contidas na seção de notas para desenvolvedores do repositório andrewpollack/linkedin-feed-blocker, o fluxo de trabalho para testar edições no código exige a recarga manual da extensão dentro da arquitetura do Google Chrome.
Sempre que um desenvolvedor realiza edições na estrutura do arquivo manifest.json, ajusta parâmetros de filtro no arquivo rules.json ou modifica regras visuais no arquivo feed.css, ele deve salvar os arquivos na pasta local e retornar ao endereço chrome://extensions.
Na página chrome://extensions, o desenvolvedor deve localizar o card correspondente ao LinkedIn Feed Blocker e clicar no botão rotulado como "Reload" (Recarregar), representado por um ícone de seta circular.
Após recarregar o projeto no chrome://extensions, o passo final consiste em atualizar a aba aberta do LinkedIn no navegador. Essa ação força o Chrome a aplicar o novo manifesto manifest.json, reescrever as regras de rede declaradas em rules.json e injetar a versão atualizada do feed.css diretamente na página.
A grande vantagem técnica e operacional demonstrada pelo LinkedIn Feed Blocker é a precisão com que atua no ecossistema da rede social sem causar efeitos colaterais na usabilidade global do site.
Ao isolar a ação do arquivo feed.css no seletor [data-testid="mainFeed"] e restringir o arquivo rules.json ao parâmetro sduiid=com.linkedin.sdui.pagers.feed.mainFeed, o utilitário garante que o profissional de tecnologia continue utilizando o LinkedIn para atividades produtivas.
Recrutadores, engenheiros de software e profissionais do mercado digital no Brasil podem utilizar a ferramenta do repositório andrewpollack/linkedin-feed-blocker para acessar a aba de vagas de empregos, pesquisar perfis corporativos específicos, verificar notificações e interagir no chat privado com recrutadores sem ser distraídos por publicações na rota /feed.
A publicação pendente na Chrome Web Store tornará a instalação do LinkedIn Feed Blocker rápida para usuários não técnicos, eliminando a necessidade de navegar por opções como chrome://extensions ou ativar o botão "Load unpacked" no navegador. O projeto de código aberto reafirma o papel das extensões minimalistas em devolver aos usuários o controle sobre a interface e o fluxo de informação nas grandes plataformas digitais.
David Crawshaw argumenta que a era dos plugins acabou: agentes de IA e código aberto permitem modificar e manter softwares sob medida em tempo real.
Desenvolvido por pg83, o Shitty é um terminal de baixa latência em C++23 com renderização Vulkan e Metal que supera Alacritty e Ghostty em testes.
Conheça a linguagem F*, desenvolvida pela Microsoft Research e Inria para criar sistemas formalmente verificados executados na nuvem Azure e no Linux.