Uma matéria muito bem escrita pelo Benito Piropo no fórum pcs fala da "morte do XP" que teima em resistir tempos e mais tempos no mercado, ele fala sobre os recursos do mesmo e muitas coisas, só que pra mim, a resistências das pessoas em sair do XP é muito óbvia e simples.... o sistema opercional pouco importa na vida delas.
A microsoft lançou dois sistemas operacionais excelentes após o XP voltado ao mercado de desktop, o Windows Vista e o Windows 7, o motivo do windows vista não ter ido adiante é simplesmente porque o XP cumpre muito bem o seu papel de sistema operacional e o Vista consumia uma quantidade grande de recursos pra época, o Windows 7 veio depois com o mesmo núcleo do Vista e ferramentas básicas, poderia ser simplesmente uma atualização, mas mercadologicamente não seria uma boa estratégia.
Mesmo assim, o pessoal está migrando lentamente ao 7 simplesmente porque alguns programas não suportam mais o XP e porque o hardware moderno é mal aproveitado no XP também.
Opa! citei aplicativos lá em cima, agora vocês me entendem não? O Windows XP não é grande coisa em termos de sistema opercional, tem ferramentas nativas pífias e é uma brecha no quesito segurança, no entanto, se você precisa de um programa editor de fotos, ele está lá funcionando de forma maviosa no XP, precisa de um programa de comunicação, ele está lá, precisa gerenciar um bordel? pronto tem o programa que roda no XP...
A verdade é que nesses últimos anos o Windows XP angariou inúmeros aplicativos e as pessoas são bem servidas com ele, pra quê mudar então? porque eu iria migrar para uma interface diferenciada do que eu estou acostumado se tudo o que eu preciso está aqui?
O usuário quer apenas resolver o seu problema e o sistema operacional que ele vai usar pouco importa, o fato das pessoas não gostarem e linux ou qualquer outro sistema operacional diferente não é por causa da "facilidade de uso", pois sou requisitado desde montar uma rede ou formatar um computador até a instalar uma webcam ou antivírus, por mais que o sistema seja "fácil" as pessoas aprendem apenas aquilo que as interessa.
O sucesso inegável do Windows XP não está na sua robustez ou qualidade, está no fato que todos os aplicativos e provavelmente quase todo o hardware do qual você possa precisar irá funcionar e estará disponível pra ele, o sistema operacional para o usuário significa muito pouco ou nada, o que ele quer saber é se nesse computador ele poderá instalar o programa ou dispositivo que irá resolver o problema dele, e o XP em sua maioria atende bem esse propósito ele só vai morrer no dia em que termos programas apenas para o windows 7 ou vista e os computadores começarem a vir com dispositivos incompatíveis com ele.
Blog com a finalidade de compartilhar informações, especialmente programação em Python e Qt
terça-feira, 30 de novembro de 2010
quinta-feira, 21 de outubro de 2010
Exemplo de Classe em PyQt
Eu coloquei um exemplo anteriormente de código em PyQt e coloquei o link dos arquivos no 4shared, mas o link caiu e agora irei colocar mais um exemplo e vou comentar, e colocarei na tela mesmo.
Eu usei um programinha bacana chamado colored para criar o código html para colar aqui no blog, isso vai ajudar demais agora pois colocarei todos os códigos aqui.
#!/usr/bin/python # -*- coding: utf-8 -*- #importando as classes Qt abaixo from PyQt4.QtCore import * from PyQt4.QtGui import * from PyQt4 import QtCore #importando a interface criada no QtDesigner e transformada em classe #python através do comando pyuic from interfaces import ui_formCadastroBensImoveis import datas_Brasileiras from PyQt4.QtSql import * ''' nesse sistema, os objetos checkbox alteram o estado dos dicionários com chaves com nomes homônimos aos checkbox, dessa forma, a alteração das chaves do dicionário é transparente e ele fica gravado no banco de dados ''' class FormCadastroBensImoveis(QMainWindow, ui_formCadastroBensImoveis.Ui_cadastroBensImoveis, datas_Brasileiras.Datas_cpf): ''' Classe de cadastro de bens imóveis tudo que iniciar com txt são caixas de texto da classe principal da interface gráfica do programa, o que for iniciado com cmb são os objetos combobox e com radio os radiobox, checkbox são checkbox etc ''' def __init__(self, parent=None, bancodados='', usuario='0000'): super(FormCadastroBensImoveis, self).__init__(parent) self.setupUi(self) self.dic = {} self.promptComando = QSqlQuery() self.usuario = usuario self.populaComboIgreja() self.validarCamposNumericos() self.fazerConexoes(True) def fazerConexoes(self, novo=True): ''' Essa função faz as conexões dos objetos com os sinais e eventos, função de salvar não está aqui porque quando eu usar esse mesmo módulo como alteração eu irei usar o botão com a função alterar. a biblioteca partial permite criar funções sob demanda desse modo eu economizo muitas linhas de código, as funções que são parecidas são criadas automaticamente ''' from functools import partial from cadastros import sair self.connect(self.txtDataConstrucao, SIGNAL('editingFinished()') , self.validarData) #A função findChildren retorna uma lista com #todos os objetos que responderem #a um tipo ou função específica. lista = self.findChildren(QCheckBox) for objeto in lista: self.connect(objeto, SIGNAL('stateChanged(int)'), self.alt_diversos) self.dic[unicode(objeto.objectName(), 'utf-8')] = u"não" self.connect(self.txtDataConstrucao, SIGNAL("editingFinished ()"), self.validarData) if novo: self.connect(self.btnSalvar, SIGNAL('clicked()'), self.salvarDados) def validarCamposNumericos(self): '''Essa função valida os campos numéricos usando o objeto QDoubleValidator, ele é muito bom e eficiente, tem muitas vantagens sobre a máscara, novamente, eu uso um laço for aqui para deixar a função mais compacta e pythoniana :) ''' validarReal = QDoubleValidator(0, 99999, 0, self) validarReal.setDecimals(2) listaObj = [self.txtAreaAverbadaCasaOracao, self.txtAreaAverbadaTerreno, self.txtAreaRealCasaOracao, self.txtareaRealTerreno] for objeto in listaObj: objeto.setValidator(validarReal) def populaComboIgreja(self, tudo=False): ''' Essa função popula o combo igreja ''' comando = QString("SELECT cod_relatorio, nome_localidade FROM \ bens_imoveis WHERE e_administracao LIKE 'sim'") if tudo: comando = QString("SELECT cod_localidade, nome_localidade \ FROM bens_imoveis") self.cmbAdministracao.clear() self.promptComando.exec_(comando) listaAdministracao = QStringList('') while self.promptComando.next() : listaAdministracao << self.promptComando.value(0).toString()\ + " - " + self.promptComando.value(1).toString() self.cmbAdministracao.addItems(listaAdministracao) def alt_diversos(self): '''Essa função altera os valores das chaves do dicionário quando os objetos checkbox são clicados, a função sender() retorna o objeto que enviou o sinal, como as chaves do dicionário tem os nomes dos objetos então fica fácil usar essa função pois as chaves correspondentes a cada objeto são alteradas de acordo com o nome do objeto que enviou o sinal. ''' if self.sender().isChecked() == True: enviador = unicode(self.sender().objectName(), 'utf-8') self.dic[enviador] = QString("sim") else: enviador = unicode(self.sender().objectName(), 'utf-8') self.dic[enviador] = u"não" def salvarDados(self): ''' Essa é a função que salva os dados do formulário ''' comando = QString("INSERT INTO bens_imoveis(cod_relatorio,\ nome_localidade,administracao,registro_imovel,e_administracao,\ alvara_construcao,alvara_funcionamento,CEI,CND,contrato,escritura,\ habite_se,projeto_arquitetonico,projeto_eletrico,projeto_estrutural,\ projeto_hidraulico,projeto_incendio,registro,data_construcao,\ situacao,area_real_terreno,area_averbada_terreno,areaReal_casaOracao,\ areaAverbada_casaOracao,justificativaDificuldade,usuario) \ VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)") administracao = QString() if self.cmbAdministracao.currentText() != "": administracao = self.cmbAdministracao.currentText().split(" - ")[1] self.promptComando.prepare(comando) self.promptComando.bindValue(0, self.txtcodRelatorio.text()) self.promptComando.bindValue(1, self.txtNomeLocalidade.text().replace(" - ", "-")) self.promptComando.bindValue(2, administracao) self.promptComando.bindValue(3, self.txtRegistroImovel.text()) self.promptComando.bindValue(4, self.dic["checkAdministracao"]) self.promptComando.bindValue(5, self.dic["checkAlvaraConstrucao"]) self.promptComando.bindValue(6, self.dic["checkAlvaraFuncionamento"]) self.promptComando.bindValue(7, self.dic["checkCEI"]) self.promptComando.bindValue(8, self.dic["checkCND"]) self.promptComando.bindValue(9, self.dic["checkContrato"]) self.promptComando.bindValue(10, self.dic["checkEscritura"]) self.promptComando.bindValue(11, self.dic["checkHabitese"]) self.promptComando.bindValue(12, self.dic["checkProjArquitetonico"]) self.promptComando.bindValue(13, self.dic["checkProjEletrico"]) self.promptComando.bindValue(14, self.dic["checkProjEstrutural"]) self.promptComando.bindValue(15, self.dic["checkProjHidraulico"]) self.promptComando.bindValue(16, self.dic["checkProjIncendio"]) self.promptComando.bindValue(17, self.dic["checkRegistro"]) self.promptComando.bindValue(18, self.conversor_data(self.txtDataConstrucao.text())) self.promptComando.bindValue(19, self.cmbSituacao.currentText()) self.promptComando.bindValue(20, self.txtareaRealTerreno.text().replace(",", ".")) self.promptComando.bindValue(21, self.txtAreaAverbadaTerreno.text().replace(",", ".")) self.promptComando.bindValue(22, self.txtAreaRealCasaOracao.text().replace(",", ".")) self.promptComando.bindValue(23, self.txtAreaAverbadaCasaOracao.text().replace(",", ".")) self.promptComando.bindValue(24, self.textoJustificativa.toPlainText()) self.promptComando.bindValue(25, self.usuario) if self.promptComando.exec_(): id = str(self.promptComando.lastInsertId().toInt()[0]) QMessageBox.warning(self, unicode("O número do registro gravado foi: ", "utf-8"), unicode("Número de Registro: " + id, "utf-8")) self.limpar_dados() else: textoErro = self.promptComando.lastError().text() QMessageBox.warning(self, unicode("Falha ao Gravar o Registro", "utf-8"), unicode("O código do erro foi: " + textoErro, "utf-8")) def limpar_dados(self, tudo=True): ''' Essa função limpa os campos do formulário, o interessante é que eu resolvi usar laços for associados com listas, achei dessa forma uma maneira mais "pythoniana" :) ''' # Esse laço coloca todas as chaves do dicionário como "não" for chaves in self.dic.keys(): self.dic[chaves] = u"não" lista = self.findChildren(QLineEdit) #Esse laço pega a lista anterior de objetos texto e coloca #em todos o texto vazio for objeto in lista: objeto.setText('') # Essa lista pega os objetos "checkbox" e o laço seguinte #desmarca todos eles. lista = self.findChildren(QCheckBox) for objeto in lista: objeto.setChecked(False) if tudo: self.cmbAdministracao.setCurrentIndex(0) self.cmbAdministracao.setFocus() self.populaComboIgreja() self.textoJustificativa.setPlainText("") self.cmbSituacao.setCurrentIndex(0)
Eu usei um programinha bacana chamado colored para criar o código html para colar aqui no blog, isso vai ajudar demais agora pois colocarei todos os códigos aqui.
sexta-feira, 8 de outubro de 2010
Nokia 5230 Como modem no linux entre outros
A cada dia que passa me acostumo mais e mais com o linux e suas facilidades, comprei essa semana um nokia 5230, preferi esse modelo por esses principais motivos:
Mesmo assim decidi arriscar, o custo benefício era excelente e mesmo porque navegar pelo aparelho é razoável, porém depois que eu coloquei o bicho no ubuntu não é que o network manager reconheceu tudo na hora e está funcionando redondo? Não precisei instalar nada e a configuração do network manager é transparente e só next > next > finish.
Se alguém pretende adquirir o mesmo e está receoso quanto ao uso no linux, pode comprar sem medo que é uma ótima pedida! Funciona tudo tranquilamente.
O único porém é que como ele não carrega via usb o carregador tem que ficar pendurado junto com o cabo usb, a velocidade que ele atinge é maior que o do W580i, aqui em montes claros o W580i chegava a 56Kbps no GPRS e o 5230 chega aos 147Kbps em média no EDGE.
Show de Bola! (principalmente a R$0,50 ao dia hehe)
- Preço: Realmente convidativo, em diversos sites na internet o valor dele é de R$468,00 aqui na cidade estava esse valor também, porém essa semana subiu, só encontrei um modelo de vitrine na TIMAX por R$528,00 depois de chorar muito consegui baixar para R$495,00, estou super satisfeito com o mesmo, como não preciso de câmera, Wifi o 3G e o GPS foram o diferencial.
- Symbian: O symbian apesar de defasado ainda é uma boa pedida e tem muita coisa pra ele.
- 3G: Como tenho uma boa câmera e um note para acesso wifi, ambos eram dispensáveis no aparelho.
- GPS: O que eu posso dizer? é ótimo e muito bacana :D
Mesmo assim decidi arriscar, o custo benefício era excelente e mesmo porque navegar pelo aparelho é razoável, porém depois que eu coloquei o bicho no ubuntu não é que o network manager reconheceu tudo na hora e está funcionando redondo? Não precisei instalar nada e a configuração do network manager é transparente e só next > next > finish.
Se alguém pretende adquirir o mesmo e está receoso quanto ao uso no linux, pode comprar sem medo que é uma ótima pedida! Funciona tudo tranquilamente.
O único porém é que como ele não carrega via usb o carregador tem que ficar pendurado junto com o cabo usb, a velocidade que ele atinge é maior que o do W580i, aqui em montes claros o W580i chegava a 56Kbps no GPRS e o 5230 chega aos 147Kbps em média no EDGE.
Show de Bola! (principalmente a R$0,50 ao dia hehe)
sexta-feira, 17 de setembro de 2010
Infinity Web da TIM
Esse foi o plano mais incrível lançado por uma operadora que eu já vi, a TIM deu uma bola dentro e tanto dessa vez, porém apesar de tudo, o foco da TIM além da classe C é com certeza as lojas on line de aplicativos como a Android Store e Ovi Store da nokia.
Agora a pessoa poderá acessar do seu celular as lojas de aplicativos online e realizar a compra dos aplicativos sem se preocupar com a tarifação da internet.
A concorrência com certeza é a melhor coisa que existe para os consumidores, agora você pode usar os diversos serviços online que existem para os aparelhos celulares sem ver todo o seu crédito ir embora.
Agora a pessoa poderá acessar do seu celular as lojas de aplicativos online e realizar a compra dos aplicativos sem se preocupar com a tarifação da internet.
A concorrência com certeza é a melhor coisa que existe para os consumidores, agora você pode usar os diversos serviços online que existem para os aparelhos celulares sem ver todo o seu crédito ir embora.
quinta-feira, 15 de julho de 2010
X11 Forwarding no Ubuntu 10.04
Estava a quebrar a cabeça com o X11 Forwarding no Ubuntu Server 10.04, porém vendo a buglist do ubuntu descobri a solução postada pelo usuário asaijo basta adicionar -4 na linha do /etc/default/ssh
no arquivo mude a linha de:
SSHD_OPTS=
para:
SSHD_OPTS=-4
isso faz com que o ssh-server use o IPv4.
depois reinicie o ssh-server:
# /etc/init.d/ssh restart
no arquivo mude a linha de:
para:
SSHD_OPTS=-4
isso faz com que o ssh-server use o IPv4.
depois reinicie o ssh-server:
# /etc/init.d/ssh restart
quinta-feira, 24 de junho de 2010
Considerações interessantes sobre programação em VB.NET Vs Qt Java e Python
Tradicionalmente sempre optei por programar em sistemas mais "livres", livre no quesito liberdade de criação, nunca vi com bons olhos a plataforma .Net da MS (e continuo não vendo hehe). Porém vontade e ideologia não enche barriga, por isso desenvolvo nessa plataforma também.
Aqui vai algumas impressões de um programador Pythoniano, java e C++ eventual, vale lembrar que eu não tenho qualificação, conhecimento e nem pretensão de dizer se alguma linguagem é superior à outra, se em algum momento do texto eu ser tendencioso ou dar a preferência à algum aspecto, o mesmo se baseia unicamente em opiniao e experiência estritamente pessoal.
Antes de iniciar gostaria de definir duas palavrinas para vocês:
fácil: adj. Que se faz sem dificuldade: trabalho fácil. Que se consegue sem grande trabalho. / Claro, inteligível
simples: Que não é composto. ,. Que não é complicado. Sem ornatos nem enfeites. De fácil interpretação.Puro; claro. Singelo; inocente.. Mero; natural.. Ingénuo; crédulo.. Exclusivo.
Eu sempre tive uma pequena ressalva quanto o modo de desenho visual em GTK+ e Qt, os layouts, no Glade por exemplo você tem que criar os layouts e depois colocar os "widgets" (botões, caixas de texto, etc)em containers para organizar a sua interface, fazer isso em um aplicativo gráfico é um tanto tedioso e o Visual Studio, Delphi, Netbeans e afins não precisam usar esse recurso, em Qt (utilizando o Qtdesigner) o desenho é mais flexível que no Glade, porém a aplicação dos layouts é praticamente obrigatória para que a sua interface fique mais bem acabada.
No Visual Studio e no Netbeans conforme você vai adicionando os objetos os mesmos vão apresentando as "linhas guias" e fica fácil fácil alinhar os objetos de iteração.
Só que após um tempo programando no Visual Studio é que percebi as vantagens do Jeito Qt e GTK de ser.
A programação da interface via código é extremamente simples desse modo e o redimensionamento da tela ao maximizar é excelente também, não existem problemas ao aumentar o tamanho da mesma pois os "conteiners layout" se ajustam automaticamente sem causar transtornos. É muito simples trabalhar com Layouts e Containers dessa maneira.
Percebi uma coisa interessante, usar o Visual Studio e o Netbeans é fácil, mas não é simples. É extremamente difícil compreender como funciona a construção da GUI no Netbeans e No Visual Studio é realmente muuito difícil, é muito fácil trabalhar mas não é simples.
Já sobre a programação eu percebi que usando o Visual Studio a mesma é realmente muito fácil, a gente fica só movendo ícones de lá pra cá e boas, muitas delas a gente nem sabe exatamente o que faz mas tem que colocar lá porque senão o programa não funciona, no visual studio para trabalharmos com os bancos de dados precisamos utilzar diversos tipos de variáveis: recordset, dataadapter, comand, conexão e fora as strings.
Para programar em Qt e usar banco de dados a gente precisa apenas de uma variável QSqlQuery uma Database e as strings que eventualmente precisaremos! pronto, o uso é muito simples e inteligível, e se usar uma ide como o netbeans fica muito fácil mesmo.
Outra coisa que eu percebi que o pessoal do trolltech desenvolveu e que é extremamente eficiente são os sinais e slots da Qt depois que você começa a utilizar fica realmente simples o código, ágil e fácil de programar.
Cada linguagem de programação possui seus pontos fortes e fracos, e na maioria das vezes o costume e conhecimento do programador é que define qual é realmente a "melhor", estou gostando muito e achando os recursos do Qt fantásticos e das API gráficas que venho utilizado atualmente é a mais rica em recursos, mais customizável e mais simples de utilizar.
Aqui vai algumas impressões de um programador Pythoniano, java e C++ eventual, vale lembrar que eu não tenho qualificação, conhecimento e nem pretensão de dizer se alguma linguagem é superior à outra, se em algum momento do texto eu ser tendencioso ou dar a preferência à algum aspecto, o mesmo se baseia unicamente em opiniao e experiência estritamente pessoal.
Antes de iniciar gostaria de definir duas palavrinas para vocês:
fácil: adj. Que se faz sem dificuldade: trabalho fácil. Que se consegue sem grande trabalho. / Claro, inteligível
simples: Que não é composto. ,. Que não é complicado. Sem ornatos nem enfeites. De fácil interpretação.Puro; claro. Singelo; inocente.. Mero; natural.. Ingénuo; crédulo.. Exclusivo.
Eu sempre tive uma pequena ressalva quanto o modo de desenho visual em GTK+ e Qt, os layouts, no Glade por exemplo você tem que criar os layouts e depois colocar os "widgets" (botões, caixas de texto, etc)em containers para organizar a sua interface, fazer isso em um aplicativo gráfico é um tanto tedioso e o Visual Studio, Delphi, Netbeans e afins não precisam usar esse recurso, em Qt (utilizando o Qtdesigner) o desenho é mais flexível que no Glade, porém a aplicação dos layouts é praticamente obrigatória para que a sua interface fique mais bem acabada.
No Visual Studio e no Netbeans conforme você vai adicionando os objetos os mesmos vão apresentando as "linhas guias" e fica fácil fácil alinhar os objetos de iteração.
Só que após um tempo programando no Visual Studio é que percebi as vantagens do Jeito Qt e GTK de ser.
A programação da interface via código é extremamente simples desse modo e o redimensionamento da tela ao maximizar é excelente também, não existem problemas ao aumentar o tamanho da mesma pois os "conteiners layout" se ajustam automaticamente sem causar transtornos. É muito simples trabalhar com Layouts e Containers dessa maneira.
Percebi uma coisa interessante, usar o Visual Studio e o Netbeans é fácil, mas não é simples. É extremamente difícil compreender como funciona a construção da GUI no Netbeans e No Visual Studio é realmente muuito difícil, é muito fácil trabalhar mas não é simples.
Já sobre a programação eu percebi que usando o Visual Studio a mesma é realmente muito fácil, a gente fica só movendo ícones de lá pra cá e boas, muitas delas a gente nem sabe exatamente o que faz mas tem que colocar lá porque senão o programa não funciona, no visual studio para trabalharmos com os bancos de dados precisamos utilzar diversos tipos de variáveis: recordset, dataadapter, comand, conexão e fora as strings.
Para programar em Qt e usar banco de dados a gente precisa apenas de uma variável QSqlQuery uma Database e as strings que eventualmente precisaremos! pronto, o uso é muito simples e inteligível, e se usar uma ide como o netbeans fica muito fácil mesmo.
Outra coisa que eu percebi que o pessoal do trolltech desenvolveu e que é extremamente eficiente são os sinais e slots da Qt depois que você começa a utilizar fica realmente simples o código, ágil e fácil de programar.
Cada linguagem de programação possui seus pontos fortes e fracos, e na maioria das vezes o costume e conhecimento do programador é que define qual é realmente a "melhor", estou gostando muito e achando os recursos do Qt fantásticos e das API gráficas que venho utilizado atualmente é a mais rica em recursos, mais customizável e mais simples de utilizar.
terça-feira, 22 de junho de 2010
A "Idiocracia" da Informática
Quando eu comecei a mexer em micros na década de 90 onde para cada vez que se ligava um computador era preciso programar um editor de texto em basic, para automatizar um pouquinho as tarefas era possível salvar os programas em fita cassete, quem não entendesse nada de inglês simplesmente não conseguia usar o micro, era coisa de pessoal super capacitado.
Felizmente as coisa melhoraram muito daquele tempo para cá, só não me entra na cabeça o paradoxo seguinte:
- Na época onde computadores eram menos importantes e não poderiam armazenar a VIDA das pessoas os que o utilizavam tinham total e completo conhecimento sobre o mesmo e eram capazes de resolver os seus próprios problemas e olha que se tivesse algum era muito difícil de encontrar, não tinha o "Oráculo" Google.
- Hoje em dia os computadores armazenam todos os dados importantes da vida da pessoa e muitas outras coisas e o pessoal não tem o mínimo de interesse em aprender nem que seja um pouco a respeito do uso e funcionamento do mesmo, o que vivemos é uma idiocracia da informática, é triste mas vemos usuários fazendo as coisas mais estúpidas, eu concordo que nem todo mundo tem que ser um "expert" em informática e que temos mais o que fazer, mas para quem não sabe, com um mínimo de conhecimento é possível usar o Windows XP sem antivírus e nunca pegar um vírus sequer, e mais ainda, se pegar, identificar que pegou e remover manualmente.
Se for o caso, apenas um antivírus simples como o MS Security essentials e um pequeno conhecimento a pessoa praticamente não tem problemas com o tal.
Infelizmente com a democratização do computador e as ferramentas que facilitam o manuseio do mesmo as pessoas passaram a desprezar o conhecimento e o estudo do mesmo, como disse anteriormente, não é preciso que todo mundo vire geek porém é preciso sim que as pessoas aprendam o mínimo do funcionamento do computador, tem gente que perde trabalhos, horas preciosas e importantes por simplesmente salvar o arquivo no local errado ou por não saber qual extensão de arquivo utilizar.
Felizmente as coisa melhoraram muito daquele tempo para cá, só não me entra na cabeça o paradoxo seguinte:
- Na época onde computadores eram menos importantes e não poderiam armazenar a VIDA das pessoas os que o utilizavam tinham total e completo conhecimento sobre o mesmo e eram capazes de resolver os seus próprios problemas e olha que se tivesse algum era muito difícil de encontrar, não tinha o "Oráculo" Google.
- Hoje em dia os computadores armazenam todos os dados importantes da vida da pessoa e muitas outras coisas e o pessoal não tem o mínimo de interesse em aprender nem que seja um pouco a respeito do uso e funcionamento do mesmo, o que vivemos é uma idiocracia da informática, é triste mas vemos usuários fazendo as coisas mais estúpidas, eu concordo que nem todo mundo tem que ser um "expert" em informática e que temos mais o que fazer, mas para quem não sabe, com um mínimo de conhecimento é possível usar o Windows XP sem antivírus e nunca pegar um vírus sequer, e mais ainda, se pegar, identificar que pegou e remover manualmente.
Se for o caso, apenas um antivírus simples como o MS Security essentials e um pequeno conhecimento a pessoa praticamente não tem problemas com o tal.
Infelizmente com a democratização do computador e as ferramentas que facilitam o manuseio do mesmo as pessoas passaram a desprezar o conhecimento e o estudo do mesmo, como disse anteriormente, não é preciso que todo mundo vire geek porém é preciso sim que as pessoas aprendam o mínimo do funcionamento do computador, tem gente que perde trabalhos, horas preciosas e importantes por simplesmente salvar o arquivo no local errado ou por não saber qual extensão de arquivo utilizar.
Assinar:
Postagens (Atom)