Da série "recordar é viver"...

É uma falha imperdoável da minha parte, mas eu não lembro exatamente em que dia eu comecei a trabalhar na Nutec. Foi no início de julho (ou junho? não, acho que foi julho) de 1993, mas não sei o dia exato. E começou quase que por acaso.

Para quem não sabe, a Nutec Informática S.A. era uma empresa de software sediada em Porto Alegre, com uma filial em SP e outra em Mountain View (na Califórnia). Quando eu comecei a trabalhar lá, a empresa já existia há uns seis anos. Em 1995 essa empresa lançou um provedor de acesso chamado NutecNet, e no final de 1996 um portal web chamado ZAZ. Depois de algumas reviravoltas, tanto o portal quanto o provedor hoje se chamam Terra. Este texto provavelmente vai ser muito mais interessante para quem trabalha ou trabalhou algum dia na Nutec/Zaz/Terra. Eu até procurei, mas não achei nada online a respeito da história dos primeiros anos da Nutec (nem da Edisa e outras empresas daquela época); eu adoraria algum dia ler um livro sobre isso, escrito, por exemplo, pelo Marcelo Lacerda. Tenho certeza que ele teria muito mais coisas para contar do que eu, até porque o ponto de vista dele era muito melhor.

Voltando à história... Eu tinha ouvido, já há algum tempo, uma colega de faculdade (a Andréa Zílio) que já trabalhava na Nutec dizer que eles tinham vagas para estagiários na área de desenvolvimento de software. É, meninos e meninas, naquela época quem estava na faculdade era contratado como estagiário, e ganhava, quando muito, um salário mínimo; acho que eu comecei ganhando meio salário mínimo (mais vale-refeição). Mas, continuando... em uma bela tarde de inverno, os funcionários da UFRGS estavam em greve, e por causa disso os laboratórios do Instituto de Informática fecharam. Sem nada para fazer, o que eu fiz? Voltei para o centro da cidade e fui bater na Nutec, para ver se eles queriam mesmo estagiários.

Na época, a sede da Nutec era na rua Pinto Bandeira, no centro, entre a Alberto Bins e a Voluntários da Pátria. A empresa ocupava dois andares, o terceiro e o quarto, de um prédio não muito grande, e eu subi direto para o quarto, onde ficava o desenvolvimento (ou "dsv", como era conhecido). Cheguei e fui entrando, e a primeira pessoa com quem falei na empresa foi o Max, que na época era, se não me engano, assistente administrativo, e ocupava a salinha que ficava em frente à porta do quarto andar.

Outro ponto que eu não lembro é se eu fui entrevistado ali mesmo, na hora, ou se se marcou algo para outro dia. Tenho a impressão que foi na hora. O que me lembro claramente é que quem me entrevistou foi o Fernando Madeira, na época um dos desenvolvedores, e hoje diretor-geral do Terra Brasil. Juro que não lembro como foi a entrevista, mas ela foi em uma sala de reuniões no terceiro andar, onde ficava boa parte da empresa, inclusive o Suporte Técnico. Ali havia outra amiga minha trabalhando, a Ana; a então chefe dela no suporte, a Deby (hoje outra grande amiga minha), tentou me entrevistar também, ao me ver sentado em uma cadeira esperando pelo Fernando, mas o Fernando chegou a tempo e não deixou.

Uns poucos dias depois da entrevista (um ou dois dias) alguém me ligou da Nutec (tenho quase certeza que foi o Alex) informando que eles tinham me aprovado, e perguntando quando eu poderia começar. "Agora", eu respondi. Mas acabou ficando para uns dias depois, claro; eles precisavam tempo para preparar uma mesa e um terminal para mim.

Quando eu finalmente comecei, ganhei uma mesa com um belo terminal serial, um Edisa 3630 (provavelmente). Não, não rodávamos Edix; o terminal estava conectado a um servidor Intel (um 386) rodando SCO Unix 3.2v4.2. O andar onde ficava o desenvolvimento era quase todo "aberto", sem paredes, apenas com divisórias formando algumas "pseudo-salas". A área onde eu ficava tinha, além de mim, o Waldir, que trabalhava com o nTerm (o emulador de terminais da Nutec); a Andréa Zílio, que trabalhava no nOffice II (mais sobre ele abaixo); e o Fernando Madeira, que trabalhava no nOffice II e no nTerm Gráfico. Atrás de mim, em direção à frente do prédio, ficava o Marketing, que tinha a Lonise e a Gabriela; e na outra direção ficava o resto do desenvolvimento: o Paulo Castro, o Alex, o Felipe, o Demétrio e o Gélson. Um pouco mais ao fundo, em uma área que, aí sim, tinha salas, ficava a diretoria: Marcelo Lacerda, Sérgio Pretto e, de vez em quando, Newton Braga Rosa.

Vale dizer que, por conta da filial dos EUA, nem todo mundo estava presente o tempo todo. O Marcelo Lacerda estava quase que permanentemente estacionado na Califórnia, e geralmente era acompanhado por alguém do desenvolvimento; quando eu entrei, quem estava lá era o Paulo Castro. Assim, eu só vim a conhecer o Paulo algumas semanas depois, quando ele voltou dos EUA. Essa ainda era a época em que quem voltava dos EUA sempre trazia algum equipamento interessante e difícil de encontrar no Brasil, então cada chegada era um evento. Foi nesse evento que a gente bateu esta foto:

dsv da nutec, 1993

Da esquerda para a direita: Gélson, Demétrio, Paulo Castro, esse que vos escreve, Fernando Madeira, Felipe, Andréa Zílio, Waldir e Alex. Ah, e um pedaço da Lonise no canto. Como na época não existiam câmeras digitais, essa foto foi feita usando uma câmera de vídeo e uma placa de captura WinVision, da Quanta, que o Paulo tinha acabado de trazer.

Mas eu estava falando do ambiente e dos sistemas em que o pessoal trabalhava. O desenvolvimento de quase tudo era feito em um servidor rodando SCO Unix; as pessoas se conectavam a ele por terminais seriais ou por multi-consoles. Não circulava um pacote IP dentro daquele escritório na época! Multi-consoles eram umas placas que permitiam ligar vários monitores VGA a uma única máquina, e fazer com que cada um deles (acompanhado de um mouse e um teclado) funcionasse como uma console gráfica. Funcionava bastante bem, e se tinha uma tela de 640x480x16 em cada um dos quatro (ou oito) monitores, permitindo assim fazer desenvolvimento de software gráfico, como o nOffice II. Havia também alguns terminais gráficos da Edisa (3660? 3636?) que eram usados com o nOffice II; acho que o Gélson tinha um deles na sua mesa.

As exceções eram o Waldir, que tinha um 286 para desenvolver o nTerm (rodava em PC, e era compilado (se não me engano) com o Turbo C), e o Fernando, que tinha um 386 (com Windows!) para desenvolver o nTerm Gráfico.

Então, sobre os produtos... o nTerm era um emulador de terminais, que rodava em DOS. Era usado para se comunicar, via porta serial, tipicamente com servidores Unix (ou com um modem, para discar para algum lugar - sem PPP, claro, apenas linha de comando e transmissão básica de arquivos). Emulava VT100, VT220 e outros. Mais tarde (acho que bem mais tarde) ele ganhou suporte a TCP/IP, permitindo que fosse usado como um cliente de telnet em PCs com PC/TCP. Isso é antes do Windows95, quando TCP/IP ainda era algo que precisava ser instalado a parte nos PCs.

nOffice era, basicamente, um software de automação de escritórios. Incluía várias coisas bem úteis, entre elas um editor de textos, e-mail, calculadora... e certamente mais coisas que não lembro agora. É possível que ainda tenha gente usando esse produto (na Trensurb, talvez...), mas não tenho certeza. Na época, vendia muito bem. Chegou a ser portado para Linux (extra-oficialmente, ao menos) e acredito que passou até por uma revisão no ano 2000.

nOffice II, como o nome dá a entender, era a "nova geração" do nOffice, e era um software muito mais complexo. Tinha vários tipos de interface, e selecionava o correto de acordo com o device sendo usado; tanto podia ser uma interface em modo texto quanto uma bela interface gráfica no padrão Motif. Mesmo em ambiente texto, a interface permitia o uso de janelas. Se lembro bem, havia quatro modelos de interface: texto, gráfica, AlphaWindows e AlphaWindows gráfico. Equivaliam aos quatro tipos de device da época: terminais texto, consoles gráficas (incluindo multi-console), terminais AlphaWindows e terminais AlphaWindows gráficos (como o nTerm Gráfico). Mas essa é uma história muito longa sobre a qual é melhor falar depois, em outro contexto.

Tanto o nOffice quanto o nOffice II rodavam em uma infinidade de plataformas diferentes: SCO Unix, Xenix, DG-UX, HP-UX, OSF, AIX etc. etc. Basicamente todos os Unix-like da época com alguma penetração no mercado tinham um porte do nOffice. Como o fonte era basicamente o mesmo em todos os ambientes, ele tinha muitos "#ifdef" espalhados por quase todos os arquivos; quase todos os ambientes precisavam de alguns ajustezinhos, e a cada porte feito entravam mais alguns detalhes no fonte. Isso não tornava o fonte fácil de ler, mas era bastante prático. O pessoal que trabalha ou já trabalhou no Terra e já viu o fonte da libtrrutil sabe do que eu estou falando.

Quando eu comecei, o meu trabalho era com o nOffice II. Eu não lembro exatamente em que código eu estava mexendo, mas lembro bem que, como eu tinha apenas um terminal texto, a cada vez que eu precisava testar alguma coisa eu tinha que interromper a Andréa e pedir uns minutinhos na console dela. Lembro de várias peculiaridades daquela época... Por exemplo, compilar o servidor era algo demorado, principalmente quando se mexia em algum dos arquivos .h, então existia um script chamado "meiq" que fazia um "make" (por isso o nome) em background e salvava o resultado em um arquivo que podia ser conferido depois; assim, dava para seguir trabalhando enquanto se compilava, e não se perdia a listagem de erros de compilação se ela fosse grande (mais de 24 linhas...).

Depois de algum tempo, durante o segundo semestre daquele ano, eu precisava fazer o meu trabalho de conclusão na universidade, e acabei aproveitando para fazer algo dentro da Nutec, para o nOffice II e o nTerm Gráfico: eu fiz um módulo para transmissão de imagens (bitmaps) através de linhas seriais, com compressão e correção de erros; seria usado para transmitir imagens do servidor para os terminais, tipicamente usando linhas de 9600 ou 19200bps. Alguns anos depois, esse mesmo código seria usado em um módulo do nOffice II e do nTerm Gráfico (na época, já com os nomes de Nutec Desktop e Iconterm) com o mesmo objetivo, tranferir bitmaps do servidor para o terminal (desde ícones até imagens sendo exibidas em um browser).

Essa história está ficando um pouco longa... qualquer dia desses eu continuo. Se alguém tiver perguntas, curiosidades sobre eventos específicos ou comentários, podem mandar.