30 anos de Delphi

Dia 14/02/2025 o Delphi completa 30 anos de existência! Nessas 3 décadas, passou por altos e baixos em sua trajetória, mas o fato é que ele está mais vivo do que nunca, e continua sendo a melhor ferramenta de programação RAD disponível no mercado!

Para os “velhos” (me incluo nessa) que tiveram a sorte de viver o começo da “era da informática” e experimentar a programação desde sua forma mais crua até as linguagens de alto nível, o Delphi marcou uma revolução na programação para Windows que, arrisco dizer, até hoje não foi superada!

Contextualizando

Comecei a programar com 11 anos de idade, na época, usando um clone do Apple II com 48K de RAM e 1Mhz de CPU. Ele já vinha com o AppleSoft basic nativo e, obviamente, podia-se recorrer ao Assembler do 6502 para algo que exigisse mais performance. Espetando-se uma placa CP/M tornava possível executar o dBase II e criar aplicações acessando bases de dados DBF. Depois, migrei para os clones dos IBM PCs (um AT 286). Nessa época, todos os cursos de computação ensinavam Lotus 123 e dBase III+ e/ou Clipper. Esse era o caminho padrão para praticamente todos os desenvolvedores no Brasil. Perceberam que todos esses softwares rodavam em D.O.S.? Pois é! O Windows 3.1 nem tinha sido lançado!

Foi uma fase no mínimo interessante e única, onde MicroSoft e IBM “brigavam” pelo próximo sistema operacional de sucesso. De um lado o IBM OS/2 (que por sinal, também rodava aplicações do Windows 3.1) e do outro a Microsoft com o Windows! Hoje todos sabemos quem ganhou a briga.

Com o rápido aumento de popularidade do Windows, a demanda por softwares GUI cresceu em um ritmo acelerado. No entanto, as linguagens de programação e IDEs disponíveis na época, além de escassas, eram pouco produtivas. Havia o Microsoft Visual C++, QuickBasic, Visual Basic, além de algumas “bizarrices” no mercado, como o FiveWin (conhecido também por Clipper para o Windows). A própria Borland chegou a lançar um Turbo Pascal para Windows, que gerava aplicações GUI. Nessa época, na maioria das vezes, programar para Windows era basicamente escrever código bruto chamando diretamente as funções da API do Windows.

Felizmente, em 1.995 a tortura acabou!

Delphi 1.0 [1.995]

O Delphi 1.0 foi lançado e chegou oferecendo uma forma de desenvolver aplicações GUI nativas para Windows muito rapidamente e, melhor ainda, de forma visual e usando o velho e bom Pascal como linguagem de programação! Para fechar o pacote com chave de ouro, trouxe também conexão com os principais bancos de dados, além da VCL (Visual Component Library) – uma biblioteca de componentes visuais que facilitava extremamente a vida do desenvolvedor.

Comprei meu Delphi 1 na (falecida) FenaSoft, se não me engano por R$ 50! Me lembro de ter enfrentado fila para comprar!

Não demorou e o Delphi se tornou uma das principais ferramentas de desenvolvimento para Windows no Brasil. As universidades que ofereciam cursos de computação adotaram o Delphi rapidamente, fazendo com que praticamente todos os estudantes daquela época tivessem contato com a IDE, gerando um efeito positivo onde os recém-formados já saíam da faculdade conhecendo o básico, ajudando a suprir uma demanda crescente das milhares de Software Houses que também o adotaram como principal ferramenta de desenvolvimento dos seus softwares.

Com o lançamento do Delphi 1, comecei a migrar meus sistemas do Clipper 5 para o Delphi. A produtividade era absurda! Nessa época, havia muita discussão nos grupos de programadores em relação a qual era o melhor: VB ou Delphi? Posso citar algumas das vantagens:

  • Código mais eficiente/rápido e nativo (sem necessidade do uso de interpretadores/runtimes).
  • Imensa quantidade de componentes visuais – fora a VCL, havia milhares de componentes de terceiros que podiam ser integrados na IDE, para todos os fins e gostos.
  • Melhor suporte à bancos de dados.
  • Object Pascal – linguagem estruturada e orientada a objetos.

Começava a época de ouro do Delphi! Havia uma infinidade de livros no mercado, inclusive em português, além de revistas especializadas (ClubeDelphi, ActiveDelphi, The Club etc), refletindo a forte demanda por informação de qualidade.

Abrindo um parentesis: foi através do Delphi que conheci um tal de InterBase, meu primeiro contato com um banco de dados relacional. Que felicidade! Chega de bases corrompidas e reindexações diárias. E tudo ficou ainda melhor depois de alguns anos, com a chegada do Firebird.

Em 1.996, ou seja, um ano após o lançamento da primeira versão, o Delphi 2 foi lançado, trazendo compilação nativa para 32 bits e possibilidade de desenvolver em 3 camadas para banco de dados, entre outras novidades.

Nogueira, David I e eu, na BorCon 2002

O Delphi era tão forte no Brasil, que a Borland resolveu fazer uma edição local (em português) da sua tradicional conferência: a BorCon! E foi durante uma das BorCons que me encontrei pessoalmente com o Emerson Facunte, iniciando um movimento que culminou com a criação do DUG-BR.

Durante as 3 décadas, o Delphi mudou de mãos algumas vezes, e viveu uma fase complicada (pra dizer o mínimo) nas mãos da Inprise/CodeGear, até finalmente ser comprado pela Embarcadero, que trouxe a ferramenta de volta aos trilhos.

Pedi para as IAs listarem todas as versões do Delphi e seus anos de lançamento, além das principais novidades de cada versão:

Primeiras Versões (Borland):

  • Delphi 1 (1995): A versão inaugural, que revolucionou o mercado com sua interface visual e RAD (Rapid Application Development). Introduziu a linguagem Object Pascal e o framework VCL (Visual Component Library).
  • Delphi 2 (1996): Trouxe suporte para desenvolvimento de aplicações de 32 bits, aprimorando o desempenho e a capacidade dos programas.
  • Delphi 3 (1997): Novos componentes VCL (incluindo Decision Cube e TeeChart), suporte a Active Forms.
  • Delphi 4 (1998): Melhorias na linguagem, IDE (Integrated Development Environment) e VCL, Code Insight, além de suporte para novas tecnologias como COM (Component Object Model).
  • Delphi 5 (1999): Introduziu o suporte para bancos de dados ADO (ActiveX Data Objects) e aprimorou a integração com a Web.
  • Delphi 6 (2001): Trouxe o suporte para desenvolvimento de aplicações Web com IntraWeb e a tecnologia SOAP (Simple Object Access Protocol).
  • Delphi 7 (2002): Uma das versões mais populares, com foco em estabilidade e desempenho, além de melhorias na IDE e na linguagem. Suporte aprimorado a Windows XP (Temas e Estilos).

Transição e Novas Versões (Borland/CodeGear/Embarcadero):

  • Delphi 8 (2003): Versão focada no desenvolvimento para a plataforma .NET, utilizando a linguagem Delphi para criar aplicações gerenciadas.
  • Delphi 2005 (2004): Retorno ao desenvolvimento de aplicações nativas Win32, com melhorias na IDE e na linguagem.
  • Delphi 2006 (2005): Uniu o desenvolvimento para Win32 e .NET em um único ambiente, oferecendo flexibilidade aos desenvolvedores. Incluía Delphi (Win32/.NET), C++Builder e C# em uma única IDE
  • Delphi 2007 (2007): Melhorias na VCL e na IDE, além de suporte para AJAX (Asynchronous JavaScript and XML) para aplicações Web. Focado em Win32.
  • Delphi 2009 (2008): Introduziu recursos como generics e anonymous methods, aprimorando a linguagem e a produtividade.
  • Delphi 2010 (2009): Foco no desenvolvimento para Windows 7 e na criação de aplicações com interfaces mais modernas. Suporte a touch e gestos.
  • Delphi XE (2010): Integração com subversion na IDE, ferramentas de auditoria e métricas de código.
  • Delphi XE2 (2011): Introduziu o FireMonkey, permitindo a criação de aplicações nativas para diversas plataformas. Compilador 64 bits para Windows.
  • Delphi XE3 (2012): Aprimorou o FireMonkey e trouxe novidades para o desenvolvimento de aplicações móveis.
  • Delphi XE4, XE5, XE6, XE7 e XE8 (2013-2015): Continuaram a expandir o suporte multiplataforma e aprimorar a linguagem e a IDE.
  • Delphi 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio e 10.4 Sydney: Versões que trouxeram melhorias contínuas, suporte para novas tecnologias e foco na produtividade dos desenvolvedores.
  • Delphi 11 Alexandria e 12 Athens (2015…): As versões mais recentes, com foco em desenvolvimento multiplataforma, melhorias na IDE e na linguagem, além de suporte para as últimas tecnologias do mercado.

DUG-BR (Delphi Users Group Brasil)

Lançamento oficial do DUG-BR na Saraiva (Marcos, Akira, Facunte, Marcelo, Cantu e Nogueira)

Em 29 de março de 2.003, na Livraria Saraiva em São Paulo, durante o lançamento do livro “Delphi 7 Internet & Banco de Dados” do Emerson Facunte, o DUG-BR foi finalmente anunciado publicamente.

A ideia de montar o grupo veio do próprio Facunte, reunindo pessoas chave da comunidade Delphi da época. O grupo era composto por:

  • Emerson Facunte (Saraiva)
  • Carlos H. Cantu (site FireBase)
  • Marcelo Nogueira (CTA)
  • Marcos Gomes (site Delphi-BR)
  • Sidnei Akira Egashira (site Delphi-BR)
  • Eduardo Rocha (site EduDelphiPage)
  • Marcelo Ribeiro (site Active Delphi)
  • Celso Paganelli (revista The Club – só no início)
  • Gladstone Matos (revista Clube Delphi – só no início)
Edu, Nogueira, Marcos, Facunte, Cantu, Marcelo, Akira e Daniel

A missão do DUG era clara: levar conhecimento sobre Delphi para todos, através de eventos com diversas palestras, os quais batizamos de DDD (Delphi Developers Day). Além de fazer total sentido “semanticamente falando”, a abreviação DDD já era amplamente conhecida por todos os brasileiros, pois era como chamavamos as ligações telefônicas entre cidades (Discagem Direta à Distância). Durante vários anos, fui o presidente do DUG-BR, cargo passado posteriormente para o Marcelo Nogueira.

O primeiro DDD foi realizado em Piracicaba-SP, na Escola de Engenharia de Piracicaba (EEP), em 4 de outubro de 2.003. Mesmo sendo estreantes como organizadores de eventos, ele de cara já foi um sucesso, com mais de 200 pessoas presentes! Os temas das palestras foram: Rave Report, Stored Procedures no IB e FB, Aplicações para internet no Delphi 7 e Desenvolvimento RAD Para Linux.

Vista parcial do público no 1º DDD

Desde o início, adotamos a premissa de que a inscrição para nossos eventos seria a mais barata possível, cobrando basicamente o suficiente para cobrir os custos com aluguel de equipamentos, translados, coffee-break etc. Em suma, o objetivo era não deixar que o fator financeiro fosse um empecilho para a participação de alguém! A inscrição para o primeiro FDD custava R$ 12,00 (sim, você leu certo: doze reais! inacreditável, não?!).

Ao todo, foram realizados 10 DDDs em diversas cidades, entre elas Piracicaba, Bauru, Sorocaba, São Paulo e Uberlândia, até o grupo se dissolver. No final desse artigo você encontra a reprodução do report original do 1º DDD.

Presente e futuro – o que esperar?

Torço para que o Delphi continue evoluindo sem perder sua essencia RAD e ganhando cada vez mais qualidade, e que a Embarcadero/Idera continue investindo e acreditando em seu potencial, e se esforce para trazê-lo de volta às universidades, de onde jamais deveria ter saído!

Durante os 30 anos que faço uso do Delphi, nunca tive que recorrer a outra ferramenta de programação para desenvolver softwares desktop para Windows, dos mais variados tipos. Ele evoluiu, acompanhou e deu suporte às inovações e padrões de mercado que surgiram durante essas três décadas, sem praticamente perder compatibilidade com o código legado e sem deixar de ser a ferramenta RAD que tanto gostamos! Isso não é pouca coisa!

Share and Enjoy !

BBS – Um passado não tão distante, mas já quase esquecido

Quando se fala em tecnologia, o tempo parece passar mais rápido do que o normal. A evolução é tão rápida que lembrar de algo que aconteceu há 20-30 anos atrás pode ser comparado a lembrar do tempo dos dinossauros.

Obs: O artigo é cheio de links, vale a pena visita-los para se aprofundar em cada assunto.

Na década de 90, computadores tinham menos poder de processamento do que um smartphone atual, e nem estou falando dos tops de linha! Provavelmente, muitos dos nerds e youtubers de hoje não reconheceriam grande parte das siglas, abreviações e termos utilizados no mundo da computação no início da década de 90: XT, AT, 286, 386 SX, 386 DX, 486, Himem.sys, EMM386, CGA, EGA, VGA, CP/M, etc. A internet no Brasil ainda era uma recém nascida, acessível inicialmente apenas em algumas universidades públicas. Web? Não! Estamos falando de telnet, ftp, Usenet, etc.

Foi um pouco antes dessa época que os BBSes (Bulletin Board System, ou Sistema de Quadro de Avisos – numa daquelas traduções horríveis ao pé da letra) reinavam como as únicas opções de “comunidade virtual” [tá, não vou considerar o VideoTexto, 😀 ], sem saber que logo seriam dizimadas pela chegada da Internet e suas crias tão mais eficientes (e-mail, ICQ, Orkut, Netscape, etc). Os BBSes permitiam que qualquer pessoa que possuísse um computador + modem + linha telefônica pudesse baixar e enviar mensagens e arquivos, além de teclar com outros usuários em real-time através dos chats (restritos ao próprio BBS, ou seja, não era possível conversar em real-time com usuários de outros BBS). Tudo isso em “impressionantes” velocidades que variavam entre 2.400bps e 28.800bps (bps = bits por segundo!) .

Por trás de um BBS sempre havia um software gerenciador de BBS e uma pessoa, o SysOp (System Operator – Operador do Sistema). No Brasil, o software mais usado era o “RA” (Remote Access). Fui SysOp da WarmBoot BBS e, particularmente, preferi usar o Maximus e posteriormente o KBBS, sendo esse último indicado para rodar em OS/2. Geralmente, não era o gerenciador de BBS que “atendia” as ligações. Essa função era de outro software, como o FrontDoor. Era ele que atendia as ligações, verificava se era uma chamada de um usuário ou de outro BBS (para troca de pacotes), e repassava para o software apropriado continuar o “atendimento”. Alguns softwares gerenciadores já traziam um “FrontDoor” embutido.

Dentre os modems mais utilizados no Brasil estavam os da USR (US Robotics) e Hayes, sem contar os inúmeros xing-lings trazidos do Paraguai (Genius, BitCom, etc). O momento de conexão via modem era angustiante! Devido a péssima qualidade das linhas telefônicas, muitas vezes a “gritaria” do modem se perpetuava pela eternidade, na tentativa de negociar uma melhor taxa de conexão.

A troca de mensagens não era instantânea, mas era mais rápida do que usar os Correios 😀 Você conectava, via/lia as mensagens novas, respondia as que desejasse e aguardava um ou dois dias para obter sua resposta. Isso porque a maioria dos BBS trocava mensagens entre si apenas uma vez ao dia, ou melhor, de madrugada, para economizar na conta telefônica (o desconto nos pulsos de interurbanos chegava a 75%).

O processo para troca das mensagens era bem organizado. Cada BBS tinha seu node de distribuição (um outro BBS), onde se conectava para trocar as mensagens. Havia redes de mensagens responsáveis por organizar tudo isso, sendo a internacional Fidonet a maior e mais famosa! Posteriormente, surgiu no Brasil a RBT (Rede Brasileira de Teleinformática), que obteve um certo sucesso mas nunca destronou a “Fido”. Para fazer parte dessa estrutura, o BBS precisava se filiar à uma rede existente, obter seu número de cadastro e começar a participar do processo organizacional de troca de mensagens. Um número de cadastro na Fidonet seguia o padrão zone:net/node, por exemplo, 1:105/6 significa host 6 dentro da rede local de Portland Oregon (rede 105) que está na América do Norte (zona 1). Basicamente, os BBSes conectavam o node de distribuição, enviavam e recebiam as novas mensagens. Esses nodes por sua vez conectavam a outros nodes, e assim por diante, distribuindo as mensagens para todo o planeta.

Como o número de linhas telefônicas disponíveis nos BBSes costumava ser limitado (as linhas eram tão escassas e caras, que chegavam a ser alugadas em imobiliárias), era de praxe utilizar softwares para baixar e responder as mensagens enquanto se estivesse desconectado. O usuário ligava para o BBS, baixava o pacote contendo as novas mensagens ao mesmo tempo que subia as mensagens que já havia respondido quando estava desconectado, tudo através do uso de softwares “mensageiros”, como por exemplo o BlueWave.

A interface dos BBSes era de texto puro, nada de gráficos bonitinhos, janelas, etc. No máximo uma corzinha pra deixar os caracteres menos chatos. Não demorou para que programas específicos surgissem a fim de facilitar a criação das chamadas “telas ANSI”, onde se conseguia utilizar caracteres especiais e coloridos, como bordas, etc. para criar algo mais bonito do que uma simples tela preta cheias de letras e números brancos. Vale lembrar que uma configuração errada no software de comunicação já era suficiente para transformar uma linda tela ansi num indecifrável conjunto de caracteres estranhos e sem o menor sentido. Um dos editores ANSI mais usados na época era o TheDraw.

Além da troca de mensagens, os BBSes eram a fonte mais rápida para se ter acesso a arquivos e novidades. O acervo de arquivos de um BBS geralmente ficava armazenado em CDs e HDs. Um BBS “top” tinha múltiplos drives de CDROM, provendo simultaneamente diversos CDs contendo bibliotecas de arquivos. Já os BBSes mais modestos (a maioria) tinham apenas um CDROM, e criavam um cronograma onde de tempos em tempos os CDs eram trocados por outros, variando portanto o acervo de arquivos ofertado. Havia CDs com coletâneas de arquivos específicas para BBS, sendo um dos mais famosos o Night Owl.

Entre os arquivos mais populares entre os usuários estavam os GIFs que, em sua maioria, eram de mulheres nuas (que novidade!). Cindy Crawford, Claudia Schiffer, Paulina Poriskova, entre outras eram as musas da época. Obviamente nem tudo se limitava a gifs. Os freewares e sharewares eram a melhor forma de se distribuir e/ou vender softwares, em uma época onde um programa de computador não passava de alguns KBytes de tamanho. O conceito do shareware é: compartilhe o programa, teste-o e registre/pague para continuar usando. Compactadores de arquivos eram amplamente utilizados para diminuir o tamanho e tempo dos downloads. O mais usado na época era o ARJ, que oferecia taxas de compressão melhores que o ZIP, além de muitas outras funcionalidades. Era comum cada BBS adicionar um arquivo próprio (geralmente txt ou um pequeno exe/com) de propaganda, como se fosse uma assinatura dizendo: esse arquivo veio do BBS tal. Na WarmBoot BBS, adicionávamos o great2!.exe.

Além dos GIFs, freeware e sharewares, outra categoria de software começou a se disseminar nos BBS de todo o mundo: as Demos!

Demos nada mais eram do que apresentações gráficas, geralmente escritas em Assembly, onde durante a apresentação, efeitos visuais e animações 3D eram exibidos acompanhados por uma trilha sonora envolvente, sendo tudo calculado e desenhado em real-time, numa época onde os processadores rodavam em média a 40Mhz (com o turbo ligado :-D).

As Demos merecem uma atenção especial, e serão o tema de um próximo post.

Mas e quanto aos usuários? Geralmente, se associar à um BBS envolvia o pagamento de uma mensalidade. O valor dependia do “nível” que você desejasse ter dentro do BBS. Os níveis determinavam que áreas de arquivos ou mensagens poderiam ser acessadas, quanto tempo de conexão por dia você poderia utilizar e quantos KBs poderia transferir. A maioria dos BBSes oferecia alguns minutos gratuitos para que novos usuários pudessem “passear” pelos menus e pelo acervo, antes de decidir por assiná-lo. O processo de assinatura em si começou um tanto quanto manual: baixava-se e preenchia-se a mão uma ficha de cadastro que era enviada pelo correio juntamente com o cheque para assinatura. Posteriormente, foi simplificado, dispensando o envio pelo correio e aceitando transferências bancárias. Os BBSes mais poderosos/bem sucedidos aceitavam pagamento com cartão de crédito.

A conexão do usuário com o BBS era feita através de programas específicos, como o Telix. A troca de arquivos se dava através de protocolos de transferência de arquivos, sendo o ZModem (unidirecional) o mais comum. O BiModem, não tão difundido, permitia comunicação bidirecional, ou seja, podia-se enviar e receber arquivos ao mesmo tempo. O protocolo escolhido precisava ser suportado tanto pelo gerenciador de BBS como pelo programa cliente utilizado pelo usuário. Alguns BBS associavam a elevação do nível do usuário à quantidade de arquivos enviados por ele, como forma de incentivar o envio de novos arquivos e, portanto, aumentar o acervo do BBS.

Se chegou até aqui, ou é porque viveu essa época e deve estar agora muito nostálgico e cheio de saudades, ou porque é um jovem micreiro curioso que não se contenta em viver apenas o atual, mas sim saber como chegamos onde estamos. Em ambos os casos, parabéns! 😉

Com a chegada da Internet, os BBSes perderam o sentido de existir, afinal, ela oferece tudo que os BBSes ofereciam, só que de uma forma muito mais ágil, eficiente e com alcance praticamente ilimitado. Com isso, os BBSes começaram a desaparecer, sem deixar, no entanto, de marcar a história da tecnologia e a vida dos seus usuários.

Share and Enjoy !

2º Dia do ACBR

Dia 14 de setembro (2019) acontecerá o 2º Dia do ACBr, onde participarei com uma palestra sobre Firebird!

O título da apresentação é Firebird – a escolha certa! Já ministrei essa palestra em outros eventos diversas vezes, sempre com muito sucesso, mas dessa vez levarei dados atualizados sobre casos de uso reais, que devem chamar a atenção dos presentes.

Quando criei essa apresentação, o fiz porque já estava cansado de ouvir “bobagens” de pessoas que não conhecem o Firebird a fundo, e que por algum motivo insistiam em dizer que ele é um “banquinho”, que não aguenta grandes bases de dados nem muitas conexões simultâneas. Besteira! No decorrer da palestra, provarei que essas pessoas não sabem o que falam, ou estão muito desinformadas.

Ela também é indicada para aqueles que estão procurando por uma alternativa de banco de dados que seja confiável, robusto, open source, e gratuito para qualquer tipo de utilização! O Firebird é um ótimo candidato para esse cenário, e isso ficará muito claro no decorrer da apresentação.

Falarei um pouco de tudo: desde um resumo do que é e como surgiu o Firebird, as versões já lançadas, seus principais recursos, um pequeno comparativo com outros SGBDs, casos de uso reais, etc.

Convido a todos que tiverem interesse em conhecer um excelente banco de dados, que assistam minha palestra no 2º Dia do ACBr. E se você já usa Firebird e não aguenta mais ouvir besteiras, assista a palestra também, e saia de lá com munição para acabar de vez com os argumentos dos desinformados ou criadores de intrigas 🙂

Share and Enjoy !

Crazy fan speed on rog laptop

After several months using an ASUS ROG GL503GE notebook, its fans started to behave in a strange way.

With no reason, the GPU fan speed jumps to 7000rpm. Sometimes, it stays there for hours, sometimes it keeps waiving. Usually, after some hours, it stabilized in normal speed (at last until the next reboot).

I checked the internet forums, and found several reports from people having the same problem. I tried to update and to drowngrade de BIOS, I tried to use fan control softwares, I tried to trick the ROG Gaming Center, I tried MSI Afterburner, I tried Intel XTU utilities, I update all the drivers and Windows 10 itself. Nothing solved the problem, and even worse, I could not figure out why it was happening, and what was triggering it.

Note that the CPU temperature usually was < 40C, and the GPU was not even being used! So, there was no reason for the fan to became a turbine, bothering everyone near to me.

Finally, some “good soul” posted in a ROG forum’s thread in the ROG saying that he solved the problem just opening the notebook, disconnecting the battery and fan cables, and connecting everything back.

I decided to try it, before I get crazy with the strong noise coming from the “turbine”, every day.

Before disconnecting the cables, I carefully checked if there was some bad contact or even a disconnection. No! Everything was perfectly connected. Even so, I disconnected the battery and the fan cables, and reconnected a few minutes later. I also blew some air to clean the fans, but they were really clean (those fans are supposed to be dust free, and seems that they really are).

For my surprise, this procedure seems to have solved the problem. Four days had passed and the problem didn’t show up anymore! What a relief!

For those who are having the same problem, you can search in youtube for GL503 tear-down videos. Opening the notebook is really an easy task. Just release a bunch of bolts to have access to the battery and fan cables.

Just a note: ASUS support was of no help at all! Since my notebook is still under warranty, they asked me to send it to RMA. But there was some problems:

1) I would need to ship it to USA
2) I use this notebook for work, so no way to stay weeks (months?) waiting for it come back
3) I read several posts from people with the same problem, which have sent their notebooks to RMA one, two and even three times, and they didn’t solve the problem.

I used to assembly computers in the 90’s, and ASUS motherboards was the best ones in that time. I though their notebooks would offer the same quality, but they don’t. Beside this problem with the fans, they also have “coil whine” noise. I would not buy it again.

Update 1: After one month running quietly, the fans started to present the problem again. So it looks that the solution is temporary, and I will have to disconnect/reconnect the cables from time to time to keep it quiet. I wonder what causes such problem.

Update 2: The trick of reconnecting cables stopped to work after 3 months. Final solution was to buy a new fan and replace the (bad) old one. Based on forums conversations, my guess is that the PWI wire of the GPU fan was bad. I bought the new fan in www.asus-accessories.com

Share and Enjoy !

Erro 12029 ao utilizar Delphi com Kinvey

Situação: Servidor de aplicação desenvolvido em Delphi (Berlin), usando o Kinvey para envio de Push Notifications para celulares Android e iOS.

Problema: De uma hora para outra, não foi mais possível enviar as notificações. O erro retornado era “REST request failed: Error sending data (12029). Uma conexão com o servidor não pode ser estabelecida“.

Ambiente: Windows Server 2012 (100% atualizado através do Windows Update)

Para encurtar a história, depois de muito bater a cabeça, descobri que o problema estava no fato do servidor de aplicação não conseguir conectar o Kinvey usando TLS 1.2. Obs: Nas configurações de Internet do Windows, TLS 1.1 e 1.2 estavam ativas.

Aparentemente o Kinvey passou a exigir TLS 1.2 nas conexões (não sei exatamente em que data isso se tornou obrigatório, possivelmente em 04/Setembro/2018). Olhando nas DLLs carregadas pela aplicação Delphi, percebi que ela faz uso do WinHttp para comunicação. Sendo assim, vasculhando a internet, encontrei esse artigo, da própria Microsoft: Atualização para ativar o TLS 1.1 e o TLS 1.2 como um protocolos de segurança padrão no WinHTTP no Windows.

Após instalar o EasyFix do link acima, tudo voltou a funcionar!

Fica a dica, e também a reclamação do “por que” o WindowsUpdate não ter instalado isso por padrão!

Share and Enjoy !







Listando as propriedades de uma classe

Segue um código (pascal/Delphi) que criei para listar as propriedades que pertencem a uma classe.

O código usa a RTTI do Delphi para “percorrer” as propriedades. A procedure é recursiva, ou seja, se uma das propriedades for também um classe, a procedure chama ela mesma passando como parâmetro a classe da propriedade encontrada.

Para compilar o código abaixo, crie uma nova aplicação VCL e no form principal coloque um TMemo e um TButton, e configure os eventos conforme o código abaixo.

Substitua o segundo parâmetro da chamada a getPropList pela classe que deseja “vasculhar”. O terceiro parâmetro é o quão “profundo” você deseja ir em relação as iterações quando uma propriedade encontrada for uma classe.

Share and Enjoy !







1 2 3 30