1 pontos por GN⁺ 2024-01-08 | 1 comentários | Compartilhar no WhatsApp
  • Um caso mostrou que, quando um usuário tentava recuperar documentos antigos ao organizar manuscritos antigos após se aposentar, o LibreOffice conseguiu abrir arquivos mais antigos do que o Word
  • O Word não conseguia ler arquivos anteriores a 1994, mas a versão mais recente do LibreOffice para Mac conseguiu abrir, em geral, arquivos de 1992 e 1989, além de um documento de 1986
  • A qualidade da conversão não era perfeita: as letras minúsculas a de um arquivo de 1989 viraram caracteres circunflexos, e alguns caracteres de caixa apareceram em um documento de 1986
  • O usuário fez backup dos manuscritos na nuvem e no Time Machine, depois confirmou 9 romances antigos, 2 romances inacabados e cerca de 15 contos
  • Como formatos de arquivo proprietários antigos têm alto custo para manter compatibilidade retroativa, ferramentas externas como o LibreOffice podem servir como rede de segurança para recuperação de documentos

Trabalho de recuperação iniciado ao organizar manuscritos antigos

  • Após se aposentar, um usuário que passou a dedicar tempo à escrita começou a catalogar romances inéditos que precisavam de revisão e reescrita
  • Depois de separar o Mac da VPN de trabalho, a associação de pastas ficou confusa: ao clicar em Documents no Finder, o sistema tentava encontrar um local de rede e falhava
    • Após reiniciar, era possível acessar entrando diretamente em Documents pelo diretório do usuário
    • Ele copiou todas as pastas de escrita para a área de trabalho e confirmou que não havia perdido romances e contos antigos
  • No início, achava que havia 7 livros concluídos, mas na verdade havia 9 versões finalizadas
    • Desses, 3 formavam uma trilogia, e um romance tinha uma continuação misturada nele
    • Havia 2 romances inacabados
  • Os contos pareciam ser cerca de 15 e, por causa dos registros de submissão em várias pastas, muitos foram considerados versões concluídas

Onde Pages e Word não conseguiram abrir

  • Um romance escrito em 1996 teve a abertura recusada pelo Pages
    • O usuário via essa obra como uma space opera divertida, com alto potencial inicial de venda
  • Ele planejou instalar o Word e pesquisar programas capazes de abrir arquivos antigos, mas depois confirmou que o Word não conseguia ler arquivos anteriores a 1994
  • Ele também guardava originais de capítulos da época do Apple ][, mas eles já haviam sido atualizados na era PowerPC para o Mac e para versões do Word dos anos 2000

Arquivos que o LibreOffice realmente abriu

  • Outro usuário aconselhou que “o LibreOffice consegue ler arquivos antigos do Word melhor que o próprio Word”, e o usuário instalou a versão mais recente do LibreOffice para Mac
  • Um arquivo de 1992 abriu sem problemas
  • Um arquivo de 1989 também abriu, mas todas as letras minúsculas a foram convertidas em caracteres circunflexos
    • O usuário considerou esse nível de problema aceitável
  • Depois de descobrir como pesquisar por data no Mac, encontrou um tratamento de história chamado The Revenger, sem extensão
    • A data era 25 de março de 1986
    • Havia alguns caracteres de caixa, mas, no geral, era legível
    • O usuário viu esse documento como uma tentativa de space opera de ficção científica no estilo de Andre Norton
  • O LibreOffice também abriu Tree Castle
    • Esse documento podia ser, ou ter sido, um documento do Mac Draw
    • A data era 1º de janeiro de 1986, o documento mais antigo que o usuário tinha
  • O usuário avaliou muito bem o LibreOffice para conversão de documentos e concluiu que, embora parte do conteúdo dos documentos antigos fosse imatura, não havia propriedade intelectual perdida

O custo real de manter compatibilidade retroativa

  • Um usuário compartilhou que também usa o LibreOffice como ferramenta principal no trabalho e que várias vezes conseguiu recuperar arquivos antigos do Word melhor do que com o próprio Word
  • O autor original considerou que o fato de a Microsoft não oferecer 100% de compatibilidade retroativa para seus próprios formatos proprietários não é apenas descaso
  • Manter compatibilidade retroativa exige continuamente custos de desenvolvedores, testes e depuração
    • Foi mencionado que um programador em uma grande empresa pode custar mais de US$ 150 mil, sem contar bônus
    • Cada mudança em formas de gestão, paradigmas de programação, exigências de linguagem, acesso a repositórios, padrões de proteção de dados pessoais e auditabilidade cria um ônus de manutenção do código
    • Pode ser necessário um programador dedicado para todos os produtos compatíveis, ou uma equipe sazonal e tempo de gestão quando o código muda
  • A maioria dos usuários não tem arquivos com mais de alguns anos; no trabalho, manter arquivos por no máximo 7 anos foi citado como boa prática
    • Arquivos antigos muitas vezes são atualizados ou preservados em PDF
  • Surgiu a interpretação de que, para o LibreOffice, abrir arquivos antigos pode ser um recurso que amplia sua base instalada e, como ele também recebe doações, não seria correto vê-lo como trabalho totalmente gratuito
  • Se uma ferramenta externa falhar, a Microsoft pode deixar o ônus de suporte técnico, processos, boicotes ou má reputação para essa ferramenta externa

Relato de bugs em código aberto e experiência com o ecossistema de ferramentas

  • Surgiu a opinião de que o fenômeno de as letras minúsculas a virarem circunflexos no arquivo de 1989 vale ser reportado como bug
    • Se o arquivo puder ser anexado ao relatório de bug, é possível que alguém o analise
    • Também foi compartilhado um caso em que um problema de experiência do usuário na caixa de diálogo de quebra de parágrafo do LibreOffice Writer foi relatado e, após discussão, corrigido
  • O autor original relembrou que havia reportado bugs em alguns projetos open source que usou, mas, anos depois, apenas um tinha sido realmente corrigido
    • Muitas vezes recebeu a resposta de que deveria “corrigir por conta própria”, e sentiu que corrigir problemas de outras pessoas costuma ter baixa prioridade
    • Acrescentou que teve uma atitude parecida na Microsoft e que a Apple era um pouco melhor, mas não muito diferente
  • Processos de contribuição open source, como Git e pull requests, podem ser uma barreira para usuários comuns ou mesmo para alguns desenvolvedores
    • O autor original precisou reescrever instruções em .md em trabalhos open source relacionados ao Zowe e em um projeto obrigatório de conformidade do Open Mainframe Project, e travou na exigência de pull request no GitHub
    • Desenvolvedores de mainframe, JavaScript, C e Windows também enfrentam o ônus de aprender algo novo se não estiverem acostumados ao modo de trabalho do GitHub
  • Outro usuário achava difícil se adaptar ao Git e sentia que o Mercurial, embora tenha um modelo distribuído semelhante, é muito mais fácil de entender
  • Na discussão sobre o WordPerfect, continuou a opinião de que a estratégia de tratar a grande quantidade de drivers de impressora como barreira de entrada acabou virando uma fraqueza
    • Foi compartilhada a experiência de que, enquanto o Windows continuava ampliando o suporte a impressoras, o WordPerfect levava mais de 10 minutos carregando drivers de impressora que já não eram necessários

1 comentários

 
GN⁺ 2024-01-08
Comentários do Hacker News
  • Mesmo salvando a cada 5 minutos no LibreOffice um arquivo doc/docx que foi editado várias vezes e tem comentários, não dá para confiar que ele vai abrir de novo da próxima vez
    Se você editar diretamente arquivos do Word, o LibreOffice pode acabar corrompendo o documento algum dia. É mais seguro trabalhar no formato do LibreOffice e depois converter para doc/docx antes de enviar
    O problema é traiçoeiro: o LibreOffice mostra as edições e permite modificar o conteúdo, mas o arquivo salvo de fato pode ficar danificado. Você só descobre na próxima vez que abrir; às vezes dá para corrigir, como em casos de tags desencontradas no XML interno, e às vezes grandes partes do documento desaparecem e não há recuperação possível

    • É melhor não trabalhar em docx. Se necessário, importe, mas o trabalho deve ser feito no formato OASIS OpenDocument
      Se precisar enviar para usuários do MS Office, basta mandar o OpenDocument. O Office também consegue abrir, e, se houver problema, é mais provável que seja um bug do Office do que do LibreOffice
      Usuários do MS Office também precisam se acostumar com OpenDocument, um formato padrão de documentos
    • É difícil imaginar continuar trabalhando com documentos grandes em formatos WYSIWYG opacos. Vejo formatos de arquivo em texto simples e controle de versão como a única combinação escalável de ferramentas para não perder o trabalho
    • Algo parecido pode acontecer no sentido inverso também e, na prática, vi isso com mais frequência. Mas foi principalmente há 10 anos
      Havia casos em que se criava no Word um DOCX com controle de alterações ativado, editava-se e salvava-se várias vezes no LibreOffice, depois abria-se novamente no Word para editar e salvar, e então o Word não conseguia mais abrir o arquivo. Abrir no LibreOffice e salvar de novo corrigia
      Todos esses casos estavam relacionados ao controle de alterações, e não surpreende, já que a representação interna do controle de alterações no DOCX é ainda mais bagunçada do que o restante do formato, que já parece “RTF e um monte de coisas despejadas em XML”
    • É verdade que o LibreOffice acaba engolindo arquivos do Word em algum momento, mas o Word, embora não os engula, termina rasgando o documento em pedacinhos, então na prática não há diferença
      É melhor evitar o próprio formato do Word
    • Em qualquer aplicativo, problemas semelhantes aparecem em formatos não nativos com algum grau de complexidade
      O fornecedor A desenvolve, testa e corrige o formato A junto com seu próprio aplicativo, e tem todos os dados de usuários e de bugs. O fornecedor B precisa desenvolver seu próprio app e formato, e não tem o conhecimento organizacional nem os dados de A
      Portanto, é difícil para o app de B lidar com dados complexos no formato de A de maneira tão confiável quanto A, e o próprio A também tem bugs. Nesse caso, a equipe do Microsoft Office provavelmente tem muito mais recursos do que a do LibreOffice
  • Li um texto sobre o design do formato XLS, que lembro ter sido escrito por Joel Spolsky, e era basicamente despejar a estrutura interna de memória do Excel no disco, com otimizações para acelerar salvar e carregar nos discos lentos da época
    Ele parecia bastante satisfeito com o desempenho, mas eu só conseguia pensar: “qualquer outro programa que precise lidar com esse arquivo está ferrado”. E “outro programa” inclui versões posteriores do próprio Excel
    Para recuperar arquivos antigos para fins de arquivamento, seria ótimo ter a documentação interna dos antigos DOC e XLS, mas parece pouco provável que a Microsoft os tenha documentado adequadamente, mesmo internamente

    • DOC era a mesma coisa. Era um formato que despejava diretamente a representação interna do Word
      Por isso, quando vieram as exigências por padrões abertos, tiveram de refazer tudo com DOCX/XLSX. A Microsoft não tinha como documentar aquilo
      Dito isso, não ajuda o fato de DOCX/XLSX também terem tags de “despejo binário interno do Word/Excel”, caindo na mesma armadilha
    • Sim, é um texto realmente excelente
      https://www.joelonsoftware.com/2008/02/19/why-are-the-micros...
    • A Microsoft de fato documentou os formatos antigos. Foi obrigada a fazer isso por causa do processo antitruste
      Como Spolsky diz, é uma bagunça completa, mas tecnicamente está documentado
    • Talvez bastasse publicar os arquivos de cabeçalho
      No fim das contas, todos os formatos de arquivo são apenas estruturas de memória registradas em binário
  • Na época da atualização para o Windows 7, descobrimos que o antigo software de controle de ponto usado pela empresa não funcionava mais
    Felizmente, o departamento de TI encontrou uma solução: entregou uma VM com Ubuntu para todos na empresa e fez o software rodar via Wine. Acabou funcionando assim por alguns anos, até ser substituído por uma solução baseada na web

    • Já ficou no passado, mas a Microsoft leva compatibilidade muito a sério e também fornece ferramentas para criar patches de compatibilidade diretamente
      https://techcommunity.microsoft.com/t5/ask-the-performance-t...
    • Minha namorada gosta dos antigos jogos point-and-click da Nancy Drew. Quase todos são vendidos no Steam e alguns rodam bem, mas alguns nem chegam a abrir ou quebram imediatamente
      Aí descobrimos que eles rodam melhor no Steam Proton no Linux do que no Windows moderno. Claro que não chegavam a rodar bem o suficiente para jogar de verdade
    • Certa vez comprei licenças do Parallels para 3 usuários de marketing que exigiram Macs
      O principal motivo era permitir que usassem o software de controle de ponto. Poderíamos ter dado a eles cartões RFID de 2 dólares, como aos funcionários da produção, mas aí teriam de caminhar até o relógio de ponto para bater entrada
      No fim, acho que também usaram o Outlook para Windows por causa de um recurso que não existia na versão para Mac
    • O software de uma empresa onde trabalhei antes foi escrito para um tamanho específico de monitor grande comum na época, e só funcionava nesse tamanho
      Por isso, quando o cliente comprava o software, recebia de graça um monitor do tamanho adequado. História real
  • Aconteceu algo parecido: eu rodava no Ubuntu um jogo da época do Windows XP, mas não conseguia rodá-lo no Windows 11
    O jogo usava algum Direct3D que deixou de funcionar depois do Windows 10. Eu não queria instalar Windows XP/7/8 no equipamento, e máquinas virtuais tinham suporte bem ruim a aceleração gráfica
    Mas, numa instalação real do Ubuntu, usando Wine e colocando alguns arquivos corretos no lugar, ele rodou. O mais engraçado é que, ao instalar o Wine no Ubuntu rodando no WSL do Windows 11, o jogo também rodou nesse ambiente. Eu não imaginava que acabaria rodando um jogo antigo de um jeito tão complicado

    • WSL não é necessário
      https://fdossena.com/?p=wined3d/index.frag
      Há DLLs compiladas do wined3d que funcionam no Windows
      https://github.com/doitsujin/dxvk
      Este também funciona no Windows
      Basta colocá-las na pasta do jogo, e ele carregará essas DLLs em vez do DirectX real. Há ainda outras implementações de APIs antigas para manter jogos antigos funcionando, e algumas também são usadas por usuários de Linux com Wine. Um exemplo é o dgVoodoo
      http://dege.freeweb.hu/dgVoodoo2/ oferece suporte ao Glide, a API proprietária das placas da era 3dfx, e ao DirectX 1 a 7, 8.1 e 9
      https://github.com/FunkyFr3sh/cnc-ddraw corrige problemas relacionados ao DirectDraw, uma API 2D antiga, e pode ser útil tanto para usuários de Windows quanto para quem usa Wine no Linux
      https://github.com/otya128/winevdm executa apps de 16 bits no Windows de 64 bits
      Somando a isso os ajustes do próprio modo de compatibilidade do Windows, deve ser possível rodar praticamente qualquer jogo lançado para Windows, sem o overhead pesado de uma VM. Pelo que sei, o WSL nem sabe liberar memória depois que a aloca
    • Não é nada surpreendente. Usar o WINE no Linux junto com o Yabridge faz plugins de áudio muito antigos, mas ainda excelentes, da época do Win98/XP, rodarem perfeitamente. São coisas que dão problema ou simplesmente não funcionam no Windows moderno
      Jogos também se beneficiam dessa camada de compatibilidade incrivelmente fiel e, hoje em dia, muitos jogos de Windows, incluindo lançamentos recentes, podem ser instalados de forma transparente no Linux com WINE
      https://www.youtube.com/watch?v=Bg1NiXtrJ6g
      https://www.youtube.com/watch?v=3b50Stm8gu4
    • Eu queria tentar rodar um Photoshop antigo desse jeito
      Fico curioso para saber se o processo foi simples
  • Ironicamente, um dos formatos de arquivo antigos que tentei abrir no LibreOffice era um arquivo do StarOffice 5, e ele não abriu
    O LibreOffice foi derivado do OpenOffice, e o OpenOffice foi a abertura do StarOffice como open source. O conversor foi removido para simplificar a base de código

    • Falando em conversor, fico me perguntando quão difícil seria transformá-lo em um utilitário executável independente que só fizesse a conversão de formato. Supondo que não seja necessária intervenção manual
      Haveria complexidade, mas o StarOffice agora é um formato fixo, e parece provável que exista alguma versão antiga e fixa do OpenDocument que possa ser usada como destino
      Ninguém deveria esperar outra coisa, mas a Apple também não preservou a compatibilidade retroativa dos formatos do iWork, e tenho alguns documentos legados para os quais preciso encontrar versões antigas para conseguir abrir
    • É melhor tentar abrir com o LibreOffice 3.x. Boa parte do suporte ao StarOffice foi removida no LO 4
      https://wiki.documentfoundation.org/ReleaseNotes/4.0#Feature...
    • O LO atual tem a libstaroffice, então deveria conseguir ler. Fico curioso para saber como isso fica nas versões recentes do LO
  • Mesmo em 2024, como o Excel não consegue abrir CSV sem estragar tudo, abro todos os arquivos CSV no LibreOffice
    Sei que existe um assistente de importação, mas até ele ainda estraga as coisas às vezes

    • A pré-visualização do LibreOffice é muito boa. Dá para escolher qual delimitador e codificação de caracteres usar, a partir de qual linha começar etc., então é bem amigável e agradável de usar
    • Para esse uso, é melhor usar o Power Query. Dá para importar em um fluxo como Get Data, From File
  • No fim dos anos 1990, trabalhei em uma empresa que fazia software antivírus, e era necessário verificar vírus de macro em arquivos do Word
    Só que não conseguíamos abrir arquivos do Word 1.0, então funcionários da Microsoft vieram dos EUA pessoalmente para ajudar. Como na época éramos uma empresa britânica relativamente pequena, isso foi um evento e tanto; até onde sei, foi a única vez que algo assim aconteceu
    Tudo ocorreu de forma um tanto sigilosa, mas a história que ouvi foi que a Microsoft havia perdido o código-fonte original que lia e gravava arquivos no formato do Word 1.0 e só restavam os binários compilados, então precisaram fazer engenharia reversa para criar código novo

  • O LibreOffice tem compatibilidade como objetivo, enquanto a MS quer que os clientes façam upgrade para versões mais novas e lucrativas, então esse resultado não surpreende

    • Antigamente, a Microsoft levava compatibilidade retroativa muito a sério — talvez mais do que qualquer outra empresa, com exceção dos mainframes
      Chegava a incluir tratamentos especiais para que um app continuasse funcionando mesmo quando dependia de bugs ou de recursos não documentados
    • Se quiser, é só usar formatos padrão abertos. Mas nos comentários sempre aparecem trolls da MS
      Converti 100 GB de arquivos xls/doc para colocar no SharePoint e, só de salvá-los novamente em formatos abertos, economizei cerca de 5 vezes em espaço
      Não surpreende nem um pouco que o LibreOffice abra melhor arquivos antigos. Há arquivos que a Microsoft bloqueou para que não possam ser abertos a menos que você entre nas configurações de segurança e permita. Eu estava convertendo uma biblioteca de quase 30 anos, com muitos arquivos de mais de 20 anos; por que hoje ainda deveríamos carregar esse lixo de compatibilidade?
  • Houve um caso parecido em que um app DOS personalizado usado por uma pequena rede de troca rápida de óleo não rodava no Windows 7 ou superior, não importava quais configurações de compatibilidade fossem usadas, mas funcionava bem no Wine no Linux
    Usamos isso como paliativo até reescrever o app. Por causa da experiência com o app de console, mantivemos o substituto também como app de console e o reescrevemos de forma modernizada para rodar no shell do Linux. Também economizamos todos os custos de licenciamento e, no fim, eles pareceram bastante satisfeitos
    Parece que há mais de 10 anos a Microsoft, como empresa inteira, se afastou de uma vez do princípio central de manter compatibilidade retroativa a qualquer custo

    • Tenho uma dúvida sincera: será que esse princípio central se tornou difícil de conciliar com a defesa contra malware? Será que o suporte a coisas antigas aumentou demais a superfície de ataque?
    • Continuar compatível com tudo que foi lançado desde os anos 1980 é inviável e impossível de manter
      Aplicativos DOS e Windows de 16 bits não rodam no Windows de 64 bits
  • Nunca abra arquivos Word antigos em japonês no LibreOffice. Ele corrompe os arquivos
    Isso acontece porque arquivos Word antigos em japonês são salvos em Shift JIS, mas o LibreOffice os abre como UTF-8

    • Fico me perguntando se há uma issue sobre esse problema específico no Bugzilla[1]
      Se não houver, queria saber se você já tentou abrir uma nova e se poderia compartilhar um exemplo para reprodução. Pesquisei “Shift JIS” no Bugzilla, mas não encontrei nada
      [1] https://bugs.documentfoundation.org/