1 comentários

 
GN⁺ 2024-02-10
Opiniões do Hacker News
  • Sou a pessoa que criou o epitaphs. Perguntem-me qualquer coisa

    • No post do blog diz que “outra pessoa que conhece você precisava adicionar”, mas isso não é exato, ou pelo menos não é mais assim
      Se um funcionário enviar o conteúdo por e-mail para um endereço especial, esse conteúdo pode ser exibido quando ele sair da empresa. Eu fiz isso, mas não consigo verificar de novo se funcionou direito
    • Posso perguntar qual era a empresa?
    • Ainda está em operação?
      O RH alguma vez pediu para você mudar isso? Saí há 5 anos, e eu adorava esse recurso
    • Por que você criou o epitaphs? Houve desafios organizacionais ou técnicos interessantes ao criá-lo?
  • Para operar algo assim, recomendo fortemente usar Git
    Você pode rodar algo assim no cron:
    curl https://internal.corp/employees.txt > employees.txt
    git add employees.txt
    git commit -m "Automated: $(date -u)" || exit 0
    O || exit 0 evita erro quando não há nada para commitar. Agora todo o histórico de alterações da fonte de informação fica registrado em commits, e basta executar git log para ver. Rodo coisas desse tipo com frequência usando GitHub Actions agendadas; há um exemplo em https://simonwillison.net/2020/Oct/9/git-scraping/

    • Faço algo parecido, mas em vez de || exit 0 uso --allow-empty no git commit
      Não me importo de criar commits vazios, porque assim dá para saber que a execução automática não falhou: ela rodou com sucesso, só não houve mudanças
    • Para determinismo, talvez valha adicionar | sort. Para esses dados de pequena escala, o Git é um banco de dados subestimado
    • Comecei a criar, com a mesma técnica, um arquivo versionável por diff das transmissões de notícias em linguagem fácil da Finlândia
      Isso ajudou muito a reunir entradas compreensíveis e de alta qualidade. Obrigado
      https://github.com/hiAndrewQuinn/selkouutiset-scrape/
    • Estou pensando seriamente em usar Git para dados em geral que mudam com frequência, mas não mudam muito. Por exemplo, listas de livros na estante
      Ainda assim, também quero recursos de banco de dados transacional em cima disso. O Git faz bem essa parte. Ao mesmo tempo, quero índices rápidos para alguns campos, e nisso o Git não é tão bom. Então estou pensando em usar algum “padrão” de despejar sqlite no Git. Qualquer transação pode ser representada como um commit do Git, e dá para rodar os dois ao mesmo tempo para ter durabilidade e índices razoáveis. O banco sqlite pode ser recriado e reindexado a qualquer momento, e também serve até certo ponto para backup.
      Por enquanto sinto que estou só patinando no lugar, e vou observando para onde os bancos de dados vão a seguir
    • Se fosse um colega meu, teria feito análise de redes ao longo do tempo com esses dados, para tentar ver se as pessoas gostavam ou não de trabalhar juntas, com base nos grupos para os quais elas se mudavam ao longo do tempo
  • Criei uma ferramenta para rastrear LDAP desse jeito [0]. LDAP é um tesouro de informações e também é ótimo para stalking
    Era curiosamente interessante ver as pessoas saindo e, quando possível, ver por quanto tempo tinham trabalhado. Também foi bem interessante ver amigos descobrindo pelo LDAP que tinham sido demitidos antes mesmo de saberem. No README, escrevi que, com integração via webhook do Slack, dá para acompanhar sob demanda o que acontece no diretório LDAP, monitorar novas contratações, desligamentos, promoções, quando e o que o RH faz, alterações não autorizadas, dados vazados por engano e logins/logouts LDAP de usuários. Também existe o LDAPmonitor[1], que faz basicamente a mesma coisa para Microsoft e Active Directory
    [0]https://github.com/MegaManSec/LDAP-Monitoring-Watchdog
    [1]https://github.com/p0dalirius/LDAPmonitor

  • Demissões na era do trabalho remoto são estranhas. Antes, dava para saber bem quem tinha sido demitido ao ver a pessoa saindo com uma caixa de pertences, e era possível chegar perto, combinar de se encontrar no bar do bairro ou trocar contatos
    Dava para ter algum senso de encerramento. Agora, um dia várias pessoas simplesmente param de responder e-mails, e é preciso esperar para saber se elas realmente saíram ou se estão apenas ocupadas. Se você estava esperando uma entrega necessária para um projeto, ela pode nunca chegar, e por um bom tempo você nem sabe o motivo. Mesmo com um diretório da empresa, por causa do WARN Act, muitas vezes elas continuam lá por mais de 60 dias, e a maioria das empresas parece não criar uma “lista de demitidos”. Quando não dizem quem foi demitido e cortam o acesso antes de comunicar a demissão, sem dar chance de se despedir, é muito difícil ter qualquer encerramento

    • É triste ver, no Slack, as contas das pessoas virarem inativas sem nem uma despedida
      O pior chefe que já tive costumava pedir acesso às contas de Slack de ex-funcionários, sob o pretexto de procurar dados de transição do trabalho deles. Toda vez que ele entrava como eles, às vezes a conta ficava verde. Era sinistro ver a conta de um ex-colega ficar verde e saber que o chefe estava vasculhando mensagens privadas. Eu sei que a empresa pode ver as mensagens do Slack de qualquer forma, mas ver o chefe fazendo isso em tempo real dá ainda mais arrepios
    • No começo, tentamos fazer isso, mas no início da pandemia o número de mortos cresceu tão rápido que a organização simplesmente não conseguiu continuar informando
      O próprio trabalho de o RH tentar preparar ao menos algumas palavras para todos já era desmoralizante, e no lugar do toque pessoal e cheio de vida ficou uma palidez que permaneceu por muito tempo. As pessoas continuavam desaparecendo, mas ainda não havia comunicados sobre o fato de terem partido nem sobre como partiram.
      Encontrei-me pela última vez com o General Counsel no início da pandemia. Como a maioria das pessoas durante o lockdown, ele não via ninguém além da família imediata e não tinha tido, por meses, a chance de ter uma boa conversa; se tivesse, talvez isso o tivesse matado de qualquer jeito. Ele despejou tudo sobre o trabalho que estava finalizando e, depois, como bom advogado, escreveu uma excelente carta ao CIO, o que levou à minha conversa favorita entre nós.
      Seis meses depois, alguém ligou dizendo que estava indo ao departamento jurídico e que alguém havia morrido, e imediatamente tive um mau pressentimento. Vasculhei o site, o diretório e os obituários locais, mas não encontrei nada; a rede de boatos também estava quieta. Então liguei para a secretária dele, e ela me disse, de forma bastante serena, que o GC havia falecido seis semanas antes.
      Só quase exatamente um ano depois os processos da organização alcançaram o fato, e saiu um “Remembering $generalCounselor”. Àquela altura, eu já tinha perdido o funeral, a família tinha se mudado, e muita gente se sentiu constrangida em enviar condolências tão tarde. Ver a surpresa, a vergonha e a tristeza dos outros não trouxe consolo, mas me mostrou que eu não era o único.
      Não somos uma organização pequena, mas somos uma organização pessoal, e cada morte deixou um pequeno vazio que não conseguimos reconhecer ou lidar juntos. Ainda não temos uma forma de processar as perdas, nem falamos sobre isso. Contatos antigos salvos que reaparecem depois de uma reatribuição de ramal parecem inevitavelmente uma ligação vinda do túmulo. Tentamos manter contato e acompanhar, mas, pouco a pouco, os vínculos se apagam, e com eles também nossas memórias e nossa história com essas pessoas
    • Uma coisa de que sinto falta no modo de trabalho no escritório é a conexão mais humana
      Pessoas passando pela mesa para jogar conversa fora sobre a vida e fazer piadas. Acho que nunca ri tanto na vida. No geral, as relações eram mais próximas; ficávamos tristes quando as pessoas saíam, mas felizes se elas estavam indo para um lugar melhor. Em comparação, o trabalho remoto parece asséptico e impessoal demais. Trabalho remotamente desde mais ou menos 2015, então não é apoio à volta ao escritório, é só nostalgia
    • Bloquear o acesso sempre me pareceu idiota, e, como gerente, eu não fazia isso
      Se confiei na pessoa por 3 anos trabalhando junto, posso confiar por mais 1 ou 2 semanas. Ela pode concluir o que ficou pendente e ter seu tempo. Somos todos adultos. Entendo que, no pior caso, coisas ruins podem acontecer, mas isso sempre foi verdade
    • Talvez seja a única ocasião em que eu diga isso, mas ainda bem que existe o LinkedIn. Pelo menos dá para saber que sempre é possível voltar a entrar em contato com quem saiu
  • Gostei desta parte:
    “Além disso, se alguém ficar irritado porque você roda algo assim, é bem provável que você não queira trabalhar lá de qualquer forma. Por outro lado, se a TI ou uma organização parecida consegue criar uma ferramenta dessas sem se sentir ‘ameaçada’, talvez você esteja em um lugar que realmente gosta de criar coisas interessantes e úteis. Lugares assim devem ser valorizados. Muitas vezes eles não duram muito.”

    • Ainda assim, se você quiser trabalhar lá, é melhor verificar antes a situação jurídica
      Quase certamente isso pode constituir tratamento não autorizado de dados pessoais. Ter permissão de acesso não significa que você pode fazer o que quiser. Em especial, arquivamento, retenção de histórico e conexão com dados externos não são o uso pretendido dessas interfaces. Levar as informações para casa na forma de algo como um notebook de trabalho pode gerar outro problema, e também pode ser visto como retirada de segredo comercial.
      Pelo menos na Europa, abusar desse tipo de interface provavelmente é ilegal, e mais ainda se você mantiver cópias ou diffs. O empregador pode ter de tomar providências e, se não o fizer, pode ser responsabilizado. Ou então, mais tarde, pode usar essa violação como pretexto para encerrar convenientemente o contrato. Especialmente se você usar essas informações como alavanca.
      Quanto maior a rede, maior parece ser a chance de se meter em problemas. Por outro lado, se não for assim, a utilidade de coletar os dados também é menor. Não seria melhor se organizar com os colegas para compartilhar voluntariamente informações de emprego e ganhar poder de negociação coletiva?
    • Fico me perguntando se isso conta como dados pessoais. Afinal, é uma cópia com o nome, cargo e tempo de emprego de todo mundo
      Acho que muitas empresas europeias ficariam cautelosas com um funcionário mantendo uma lista dessas
    • A Amazon demitiu uma pessoa que compartilhou uma consulta LDAP para encontrar quem tinha sido afetado depois de uma rodada de demissões. E isso mesmo sem ela ter vazado informações
    • Não é nada bom. É só pose exagerada
      A forma de verificar isso é procurar comentários no HN com a mesma pose. Depois que a janela de Overton se amplia, as pessoas já não se contêm e dizem abertamente o que sabemos. É o abuso de um sistema que transforma uma lista de contatos antiga em uma página de fofocas que surpreenderia até os próprios envolvidos.
      Por exemplo: “No começo eu só me importava com quais contas tinham sido desativadas. Depois comecei a rastrear mudanças de cargo, mudanças de sobrenome (casamento), tamanho dos departamentos, número de funcionários da empresa ao longo do tempo etc.”, “O LDAP é cheio de segredos. É incrível que dê para obter quase tudo com acesso anônimo. Detectei fusões de equipes/departamentos antes do anúncio, e listas de e-mail secretas de projetos internos também permitem descobrir o que está acontecendo ao olhar os membros”, “Muitas coisas estranhas dependem de a árvore LDAP ser amplamente acessível. Só que ela vaza mais informações do que a maioria imagina”, “Monitorar quando o RH faz o quê e detectar quando usuários entram e saem do LDAP”
  • O LDAP é cheio de segredos. É uma ótima forma de observar o que está acontecendo na empresa, e também é surpreendente que quase tudo possa ser obtido com acesso anônimo
    Já detectei fusões de equipes ou departamentos antes do anúncio. Listas de e-mail secretas de projetos internos também permitem descobrir o que está acontecendo ao olhar os membros. Se os endereços de e-mail revelarem parte disso, melhor ainda. ldapsearch é bom se você conhece bem LDAP; se quiser apenas explorar, o Apache LDAP Studio é uma ótima ferramenta com UI. Todo mundo deveria saber pelo menos o suficiente para criar um serviço de login que faz bind no LDAP para apps internos. Dá para usar grupos mantidos pelos administradores de sistemas para controlar permissões de apps; é muito poderoso e fácil de começar rapidamente

    • Ainda fico surpreso quando vejo empresas que permitem que um usuário aleatório, até mesmo anônimo, indexe a árvore AD inteira da empresa
      É gentil da parte delas, mas ainda assim. E muitas vezes é a única forma de obter informações que não estão nas páginas da intranet. Por exemplo, quais equipes realmente existem em TI, onde ficam os escritórios, quem é o gerente de alguém e, claro, em qual lista de distribuição que causa problemas de acesso ao portal interno eu estou ausente enquanto outro usuário está incluído
    • Usar grupos LDAP para autenticação de apps internos? Só se você quiser virar a próxima SolarWinds
  • É surpreendente que tanta gente tenha chegado independentemente à mesma ideia. No meu emprego anterior, criei o “the sackinator
    “sacked” significa demitido. Era um job cron que fazia dump do diretório AD inteiro todas as noites e um script que fazia diff da saída de dois dias quaisquer. Como os dados estavam dumpados, dava para voltar a qualquer momento e fazer análises adicionais. No começo eu só via quais contas tinham sido desativadas; depois passei a rastrear mudanças de cargo, mudanças de sobrenome (casamento), tamanho dos departamentos, número de funcionários da empresa ao longo do tempo etc. Concordo totalmente com a ideia de que lugares onde dá para criar uma ferramenta dessas e a TI não se sente ameaçada devem ser valorizados

  • Hahaha. Tenho um script muito parecido mantido por “KTMJ”. Ele não serve para encontrar usuários inativos, mas para sincronizar certos atributos LDAP com outro sistema
    Esta organização é grande o bastante para ter mais de 300 mil usuários. Mesmo naquele curto intervalo entre o script consultar o LDAP e preparar o arquivo de sincronização, e a importação de sincronização real validar se cada usuário ainda existe, centenas de contas já são desativadas e registradas no arquivo de log de ‘error’. A sincronização real e o arquivo de log de ‘error’ estão fora do meu controle direto.
    O motivo de eu ter rido feito louco é que meu contrato será encerrado por causa de ‘restrições orçamentárias’. Eu já esperava isso, depois de várias rodadas de demissões. Minha conta também será uma das desativadas no próximo ciclo mensal, mas antes disso preciso passar aos meus sucessores o procedimento e o comportamento esperado de registro de ‘error’ para usuários inativos

  • Não é preciso ver tudo de forma tão negativa. Onde eu trabalho, chamamos esta ferramenta de “new-hires
    Ela usa uma chave de API somente leitura e limitada para uma ferramenta de RH de terceiros, e essa chave me foi dada pela People Director. Às vezes também há linhas que começam com -, mas o nome da ferramenta vem das linhas que começam com +.
    O new-hires foi construído sobre o módulo/CLI Python “people” do nosso monorepo. Essa ferramenta é muito mais útil do que um diff do organograma. Dá para saber quem está em qual equipe, onde está, se está trabalhando hoje, se é hora de comemorar um aniversário de empresa etc. Ela também segue meu “teste de tornassol do ZFS” para boas ferramentas de CLI, oferecendo -pH para saída parseável e sem cabeçalho. Lugares assim realmente merecem ser valorizados

    • Onde é isso? Parece um lugar muito bom
  • No meu primeiro emprego, tentei criar um sistema desses, mas meu gerente soube e o proibiu explicitamente
    Mais tarde, essa empresa demitiu 15% dos engenheiros de software em um único dia. A equipe de suporte criou tickets para desativar contas de funcionários no rastreador público de issues, então muita gente ficou sabendo dessa forma antes mesmo de receber o convite para a reunião