Problema com Windows 10: botão Iniciar não funciona

Minha relação com o Windows 10 começou muito bem. O marido, que foi o primeiro a experimentar, reclamou de alguns problemas no laptop dele, mas eu, particularmente, não tive problema. Achei bonito e elegante, curti mais que o Windows 8.

Quando saí de férias, o PC do trabalho também foi atualizado. Até me surpreendi quando cheguei e estava tudo funcionando. Porém, ontem, ao tentar encerrar o sistema operacional, percebi que não estava funcionando o botão Iniciar. Achei que após reiniciar o problema resolveria. Só que hoje ainda estava com o mesmo problema.

Uso muito o botão direito do mouse sobre os ícones dos programas, Chrome, Terminal Service, enfim, era outra coisa que também não estava funcionando.

Já estava ficando incomodada com isso. Tentei reiniciar mais uma vez para ver se resolvia e nada. Então fui procurar e descobri que o problema é bem conhecido. Li muitos relatos diferentes de pessoas na mesma situação.

Como já faz algum tempo que isso vem acontecendo (alguns comentários eram de janeiro de 2015), muitas soluções foram propostas. Sinceramente, não me animei ao perceber que algumas pessoas só conseguiram resolver fazendo a restauração do sistema. Só de pensar me deu preguiça.

Outras alternativas foram sugeridas, como você pode perceber aqui. Mas as primeiras tentativas não surtiram efeito. Fiz o procedimento através da Power Shell, que me retornou vários erros, como outros já tinham avisado. Esse não funcionou, a princípio. Outra tentativa foi alterar manualmente o registro (também descrito no link acima). Reiniciei diversas vezes o Windows Explorer (sem reiniciar o PC) e nada de resultado.

Já estava desistindo, quando vi o comentário do Bryan Andrade Ribeiro. Aí resolvi testar. E ESSE FUNCIONOU!

Bem, eu acredito que seja este mesmo, porque após terminar o processo, conhecendo bem o Windows, resolvi reiniciar o sistema operacional todo. E lá estava o botão Iniciar de volta!

Abri o prompt de comando (usei como atalho o botão Windows + R para abrir a caixa de execução e digitei “cmd” sem aspas). No prompt, digitei o comando “sfc /scannow, também sem aspas. O Bryan, muito legal, explica direitinho o que esse comando faz:

 Explicação do que foi feito: = “O comando sfc /scannow verificará todos os arquivos protegidos do sistema, substituindo os arquivos corrompidos por uma cópia em cache que está localizada em uma pasta compactada em %WinDir%\System32\dllcache.”

O escaneamento do sistema demorou de 10 a 15 minutos (não lembrei de marcar), foi o tempo de tomar um café. Ao final, ele retornou a mensagem de que foram encontrados arquivos corrompidos e que estes foram substituídos. Reiniciei mais uma vez o sistema operacional e lá estava ele de volta, o botão Iniciar! Os ícones da bandeja do relógio voltaram a funcionar e o botão direito nos aplicativos da barra de ferramentas também.

Portanto, uma dica que dou antes de sair testando todas as opções: REINICIE O PC ENTRE CADA TENTATIVA!

Anúncios

“Loading” em páginas web (ou resposta ao usuário)

Da série “vou postar para não perder”, esse é um daqueles pequenos macetes que quem é webdesigner sabe fazer bem feito, mas quem não é do ramo apanha (meu caso).

Há um certo tempo, houve a necessidade de ajustar um projeto desenvolvido por terceiros, de forma que o usuário fosse notificado de que a requisição de um formulário estava sendo processada, bloqueando múltiplos cliques. Como não havia nenhum tipo de aviso na tela, o usuário, que é usuário, pressionava o botão diversas de vezes, criando vários registros.

Com muito custo eu consegue achar um script que fosse simples e fácil de entender. Repito: não tenho tanta familiaridade com o desenvolvimento web e tampouco domino o Mentaway, framework utilizada por eles. Usei rapidamente em um projeto na faculdade, mas não me aprofundei.

Bom, missão dada é missão cumprida, da forma mais elegante possível. Esse script usa o Ajax e fez direitinho o que eu queria e do jeito que eu estava pensando. Nada mais justo compartilhar com vocês.

#1: criação do script

Você pode adicionar este código na sua biblioteca de scripts, que obviamente esteja referenciada no html, ou então incluí-lo diretamente no código-fonte da página (meio tosco, mas funciona).


// função executada no evendo onclick do botão de envio do form para mostrar aviso de processamento
<script language="JavaScript" type="text/JavaScript">
function loading() {
document.getElementById("progressBackgroundFilter").style.display = "inline"
document.getElementById("processMessage").style.display = "inline"
}
</script>

<!-- Aviso de processamento de registro -->


<div id="progressBackgroundFilter" class="progressBackgroundFilter" style="display:none">
</div>


<center>


<div id="processMessage" class="processMessage" style="display:none">
<span style="font-family:Tahoma;font-size:small">Aguarde...</span>


<img src="style/images/ajax-loader.gif" alt="Loading..." />
</div>


</center>
<!-- Fim aviso de processamento de registro -->

#2: ajustar o botão do formulário

O seu botão deve ficar no formato abaixo.

<!-- Exemplo de botão para o form -->
<input class="art-button" type="submit" name="search" value="Confirmar" onclick="javascript:loading()" />

#3: editar o CSS

Por fim, ajuste seu CSS, incluindo o código a seguir.

// Inserir no css

.processMessage
{
 position: fixed;
 top: 39%;
 left: 41%;
 padding: 10px;
 width: 20%;
 z-index: 1001;
 background-color: #fff;
 border: outset 3px #6389ab;
}
.progressBackgroundFilter
{
 position: fixed;
 top: 0px;
 bottom: 0px;
 left: 0px;
 right: 0px;
 overflow: hidden;
 padding: 0;
 margin: 0;
 background-color: Gray;
 filter: alpha(opacity=60);
 opacity: 0.60;
 z-index: 1000;
}

Mais fácil que isso, só tirando doce de criança, não é? Os ajustes ficam por conta do freguês. Eu não me lembro se cheguei a mexer em alguma parte do CSS, já faz tanto tempo que nem dá para tentar lembrar.

PS: a imagem usada neste exemplo (linha 20 do passo 1) você encontra aqui.

Referências bibliográficas no Word

Gente.. esse post foi escrito há DOIS anos! Estava aqui nos rascunhos e eu tinha me esquecido completamente dele. 

Como o assunto é interessante, não podia deixar de compartilhar. Porém vou manter o texto como era para ser publicado na época. Situando: eu estava no quarto e último ano da faculdade, o que realmente me deu trabalho, em todos os sentidos. 

Depois de três anos de faculdade, enfim um ano que está me tirando do sério desde o início. A começar pela quantidade imensa de trabalhos que os professores andam dando. Isso sem contar situações inesperadas onde pessoas “esquecem” o que dizem e acabam nos prejudicando. Mas ao término do primeiro bimestre, pelo menos as coisas acabaram se acertando.

Para piorar a situação, como este é o último ano, as obrigações são bem maiores, estágio obrigatório (é, troquei de emprego, cansei da vida de suporte) e o temido TCC.

O ano não começou muito bem. Tivemos alguns problemas para formar a equipe e para acertar o tema do trabalho. Com estes detalhes definidos, só partir para campo, né? Ou melhor, para a programação. Ledo engano. Pesquisas, muita leitura, participação em apresentações de atividades relacionadas ao tema, enfim, muito trabalho a fazer.

Com tanta gente na equipe – este ano são cinco – fica difícil controlar formatação de documento. Muitas referências, padrões, coisas demais para nos preocuparmos. E vamos combinar, padronização de documento é algo bem chato quando não se tem paciência, que não é o meu caso. Mas dá para sofrer menos pensando um pouco mais.

Comecei a fazer a coleta de referências bibliográficas e formatação manualmente, com todo cuidado para não sair do padrão, de acordo com o tipo, etc. Mas a paciência que me sobra falta em muitos do grupo e no final a quantidade de retrabalho era absurda. Resultado: mais perda de tempo.

Eis então que o artigo Instalando referências ABNT no Word 2007, do blog TecnoSapiens iluminou todos os meus dias. Simples, fácil de instalar e pronto para usar.

O Word 2007 (e somente a partir dele), nativamente, oferece suporte para catalogação de referências bibliográficas, que podem ser utilizadas como citações através de referências cruzadas. Porém, os modelos disponíveis não correspondem às normas da ABNT. A instalação e utilização é simples, basta seguir os passos abaixo:

1. Baixe o arquivo deste link.

Este arquivo corresponde ao novo estilo para referências seguindo as normas da ABNT.

2. Salve o arquivo no caminho:

Para o Office 2007 ou 2010: %program files%\Microsoft Office\Office12\Bibliography\Style, onde %program files% é o diretório padrão de instalação de softwares no Windows (Arquivos de Programas para os sistemas em português). Office12 para 0 2007 e Office14 para o 2010.

Para o Office 2008 ou Mac: /Applications/Microsoft Office 2008/Microsoft Word.app/Contents/Resources/Style/

Pronto! O novo estilo já estará disponível para utilização. Os passos a seguir mostram como inserir as referências e como utilizar em citações.

 

3. Abra o Word.

Na guia Referências, altere o estilo para ABNT NBR 6023:2002.

referencias_abnt

4. Cadastre as referências.

Ainda na aba Referências, clique em Gerenciar fontes bibliográficas. Selecione o tipo da referência e preencha com os campos necessários. Nem todos os campos são obrigatórios, mas é importante preencher o máximo possível dos disponíveis. Também é bom ficar atento quanto às datas não definidas ou nomes de títulos. Obras com título e subtítulo devem ser informados no campo Título separados por dois pontos ( : ). Esses foi um dos macetes que só descobri tentando.

Há ainda um botão onde é possível informar os dados do autor, assim ele já deixa no padrão correto. Depois de confirmado, a citação ficará salva no Word e poderá ser usada em qualquer novo documento, aparecendo no campo Lista Mestra. Para usar no documento atual, clique em Copiar e confirme.

fonte_bibliografica

5. Insira citações através da referência cruzada.

Além da formatação dos dados da obra, o Word também formata a referência da citação. Para isso, basta inserir a referência cruzada, clicando em Inserir citação e selecionar a obra desejada. Dados como nome da obra, data e nome do autor podem ser ocultados (ao clicar sobre o texto inserido, o Word abre um menu para edição), dependendo do tipo de citação realizada (direta ou indireta). Uma vantagem é que utilizando a referência cruzada, o Word marca quais obras foram realmente referenciadas, permitindo que se exclua o que não for usado para criar uma outra lista de obras consultadas.

citacao

6. Crie a bibliografia.

Na parte do documento reservada à bibliografia, clique em Referências > Bibliografia e selecione o estilo desejado. A formatação dos campos (negrito, itálico, posições, etc.) são automaticamente configuradas pelo Word. Caso precise adicionar nova obra, basta cadastrar a fonte e atualizar a bibliografia.

bibliografia

Considerações:

O Word é uma mão na roda quando se sabe usá-lo corretamente. A lista de referências não é exceção. Porém, este estilo disponibilizado não é completo, alguns tipos de referências não funcionam ou não são formatados de forma correta. Além disso, a maioria das universidades/faculdades possui suas próprias diretrizes para elaboração de documentos científicos, com o intuito de especificar melhor o que a ABNT deixa vago. Eu mesma tive que alterar o arquivo para atender às diretrizes da minha faculdade. Portanto, mesmo que o programa faça boa parte do trabalho, é bom estudar a norma para ter uma noção e saber identificar problemas, para não chegar na apresentação e ficar com cara de pastel diante da banca avaliadora.

A falta de documentação explicando melhor os tipos ou até mesmo os não suportados é um problema. Dependendo do volume, pode ser que esta ferramenta venha a atrapalhar muito mais do que ajudar.

Um estudo da ferramenta, testes e simulações são recomendadas antes de iniciar o trabalho oficial.

E por último, novamente destaco a necessidade de estudar a norma ABNT e ficar por dentro das diretrizes do seu curso. Por mais que o trabalho seja automatizado, é sempre bom saber diferenciar o certo do errado. Com o tempo o olho se adapta e consegue identificar problemas com facilidade, mas para chegar lá é preciso fazer.

Função para conversão de bases

Programar é tudo de bom. Naqueles dias de depressão então, nem se fale. Se achar a solução para um problema antigo, até a depressão resolve ir embora.

Foi numa dessas enrascadas que só os programadores são capazes de se encontrar que este código surgiu. A long time ago, tive a necessidade de fazer um pequeno programa que convertesse um número em um dado alfanumérico. Tudo para manter a compatibilidade entre dois sistemas.

Baseado na regra de conversão de bases, surgem duas funções. Com este código dá para converter qualquer número em qualquer base, muito simples. No meu caso, usei base 36 (26 letras + 10 algarismos). O código está em VBA (Visual Basic for Applications), da época que eu me aventurei a programas em Access.

Public Function BaseNParaDecimal(VALOR As String, Base As Integer) As Integer
    Dim N, I As Integer
    Dim Caractere As String

    N = Len(VALOR)
    For I = N - 1 To 0 Step -1
        Caractere = Mid(VALOR, (N - I), 1)
         If ((Asc(Caractere) > 64) And (Asc(Caractere) < 91)) Then
            Caractere = Asc(Caractere) - 55
        Else
            Caractere = Asc(Caractere) - 48
        End If
        BaseNParaDecimal = BaseNParaDecimal + Base ^ I * Caractere
     Next I
End Function
Public Function DecimaParaBaseN(VALOR As Integer, Base As Integer) As String
    Dim TempValor As Integer
    Dim Algarismo As String

    TempValor = VALOR
    TempValor = TempValor \ Base
    If (TempValor > 0) Then
         DecimaParaBaseN = DecimaParaBaseN & DecimaParaBaseN(TempValor, Base)
    End If
    Algarismo = VALOR Mod Base
    If (Algarismo > 9) Then
        Algarismo = Chr(55 + Algarismo)
    End If
     DecimaParaBaseN = DecimaParaBaseN & Algarismo
End Function
Limites do Access 2007:
Int: 32767 (2 Bytes menos bit de sinal)
Long: 2147483647 (4 Bytes menos bit de sinal)

Por que resolvi postar este código aqui? Porque não encontrei solução na web quando precisei e, se precisar novamente, sei onde encontrar. Não custa nada ajudar algum outro necessitado também. 😉

Cantando em Prolog

Se tem uma raça de programador pior do que o bobo-alegre eu não conheço. Mas eu confesso: sou uma programadora boba-alegre.

Mas o que isso quer dizer?

Duas características principais de um programador bobo-alegre:

1. Bater palminhas quando chegam ao resultado esperado.

Sim, eu faço isso, por mais ridículo que seja, eu faço. Mas não é de maldade. Programar é como brincar de Lego, você junta as bibliotecas, procura uma função que faça o que você precisa, faz um esquema (algoritmo) e pronto! Se tudo correr bem (o que nem sempre acontece), você consegue fazer o seu código rodar.

Para quem é técnico em eletrônica (como eu), já deve ter passado pela emoção de fazer um pisca-pisca. Ver aqueles dois leds piscando é a maior emoção do mundo! Compilar um código sem erros então? Dá vontade de chorar de amoção.. =)

O legal está no fato de você saber que realmente aprendeu algo, isso não tem preço. É por isso que eu comemoro.

2. Conversar com o código.

Euzinha bato altos papos com as linhas, variáveis. São praticamente minhas amigas. Quanto mais eu vou programando, mais amigos eu faço.

Tudo bem que tem certas horas que um ou outro resolve encrencar comigo e esconder o jogo, mas nada que um jeitinho não resolva.

Explicado? Às vezes nem eu mesma entendo. Só sei que gosto de programação e é isso que me faz feliz no trabalho.

Tá, mas o que tudo isso tem a ver com o título desse post?

Simples. Nas aulas de Inteligência Artificial, estamos estudando Prolog. Um paradigma, digamos, ímpar. A tarefa desta semana era fazer um código que “cantasse” a música do elefante (sabe, aquela que incomoda a gente?).

Desafio extra, já que eu perdi muitas aulas e nem um simples if-then-else eu sabia fazer. Mas desafio é desafio e é isso que me anima.

Depois de alguns minutos e da super ajuda do Pai dos Internautas e Programadores Aflitos Google, eis que surge o código abaixo:

cante(Y):-cante(1,Y).
cante(X,Y):-X=<Y,
	(Z is X mod 2,
	(Z=1 -> impar(X); par(X)),
	 X1 is X+1, 
	 cante(X1,Y)).

impar(X):-write(X), (X is 1 -> write(' elefante incomoda muita gente\n');
				write(' elefantes incomodam muita gente\n')).

par(X):-write(X), write(' elefantes'), not(incomoda(X)), write(' muito mais\n').

incomoda(Y):-incomoda(1,Y).
incomoda(X,Y):-X=<Y,
	(write(' incomodam'),
	X1 is X+1,
	incomoda(X1,Y)).

O código é simples, usa recursividade para a contagem dos elefantes e outro laço recursivo para a impressão dos “incômodos”.
Para executar o código, basta chamar a função cante() passando como argumento a quantidade de “elefantes” desejada.

That’s it!

Impressões sobre o Nokia Ovi Suite – parte2

Já passou da hora de continuar essa história. Felizmente essa pausa foi importante para eu reavaliar todas as opiniões sobre o Ovi, suas ferramentas e novidades. Posso agora continuar divulgando minha opinião sem medo de ser feliz. 🙂

Desta vez serei mais breve:

Quando disse no final do post anterior que estava revendo minha opinião sobre o Ovi, não estava apenas me referindo ao software, mesmo porque de nada adiantaria a evolução se eu não tivesse um telefone que pudesse utilizar os recursos que garantem a ele um destaque frente ao PC Suite. Do contrário nem teria migrado.

A questão é que o Ovi Suite foi desenvolvido para integração entre hardware, software E internet (destaco aqui a navegabilidade como ponto essencial). Com ele é muito mais fácil baixar novos programas e gerenciá-los. Prova disso é que já tenho 12 jogos instalados no meu Nokia (minha filha adorou todos e ainda pede mais), alguns aplicativos que achei essenciais e outros instalei apenas por diversão. Mas a grande facilidade de instalá-los foi o que mais me agradou. Uma navegação rápida e já estava tudo funcionando.

Gostei muito da Loja Ovi. Há uma área para gadgets free e outra para os pagos, mas pelo que vi na loja nacional, ainda não há nenhum para comprar, está lá certamente aguardando uma evolução. Particularmente os grátis já me atenderam de forma satisfatória.

Essa para mim foi a parte boa de toda a história. Com a rede WiFi posso baixar e testar novos programas de qualquer lugar. Tenho uma referência de busca e confiabilidade nos aplicativos.

Para encerrar e acabar de vez com a má impressão que tive, acredito que a Nokia tenha acertado na questão interatividade, mas ainda peca no software local. No geral daria nota 7 para o aplicativo e estou ansiosa para aumentá-la.

Vou preparar uma lista dos gadgets que tenho instalado hoje e a opinião sobre cada um deles. Em breve.

Impressões sobre o Nokia Ovi Suite – parte1

Quem me acompanha no Twitter deve ter percebido a minha saga para atualizar o firmware do meu celular. Recentemente troquei o Nokia N73 por um N95 8GB. Estou na fase de instalar novos aplicativos, explorar seus recursos e analisar as ferramentas.

Com o N73 eu utilizava o PC Suite, um software da Nokia para gerenciamento dos aplicativos e dados do aparelho. Para falar a verdade eu usava muito pouco, mais para instalar um novo aplicativo, já que as fotos e músicas eu adicionava diretamente pelo Explorer do Windows. Porém, ele era bem limitado e para o que se propunha a fazer, bem pesado.

Quando comprei o N95, a primeira coisa que fiz foi procurar por atualizações disponíveis no site da Nokia, não costumo instalar os aplicativos que vêm no CD junto com o aparelho. Como eu já tinha perdido o HD do meu laptop (isso é outra história), precisaria mesmo reinstalar o software para comunicação com o celular. Foi então que eu descobri o Ovi Suite.

De cara não gostei muito. O pacote de instalação é grande (exatos 93,8MB), se comparado com os 32,9MB do PC Suite. E como diz o ditado, quando o pasto muda de cor, o burro morre de fome (considere também a cor do cabelo daquela que vos escreve), após a instalação, confesso que fiquei meio perdida na nova interface.

Já na instalação o software pede para ser criada uma conta Nokia, que permite compartilhamento de fotos e vídeos, acessar o Nokia Maps (que ainda não testei, pois nas terras das Minas onde moro não funciona muito bem), fazer backup dos contatos e agenda e mantê-los na conta online. Criei a minha conta, mas não usei estes recursos também. Essa conta também dá o direito a um email no domínio @ovi.com.

Quando é aberto pela primeira vez, o Ovi Suite pergunta quais itens deseja sincronizar (contatos, mensagens, fotos e músicas) e se deseja sincronizá-los automaticamente toda vez que conectar o celular ao PC. Essas configurações podem ser alteradas posteriormente no software.

A interface é bem clean, parece muito com as aplicações da Apple, o estilo da tela e a cor cinza lembram muito o iTunes. Minha reclamação é quanto à disposição inicial da tela, todos os itens aparecem um ao lado do outro e ao posicionar o mouse sobre um deles, é realizada uma animação “rolando” entre os demais registros. Nada grave, mas a mudança de paradigma leva algum tempo para acontecer.

Ao clicar sobre uma das categorias, são apresentados seus detalhes. Essa parte sim, eu gostei. Os contatos aparecem separados por grupos, as fotos por ábum, permitindo também a criação de novos álbuns e posterior sincronização com o telefone. As mensagens são dispostas como um chat entre emissor e destinatário, o que ajuda a entender um pouco mais a conversa. Os mapas são classificados por continentes e estes por países. Para o Brasil são nada menos que 102MB de download, disponibilizando a consulta offline (que não é tão rápida nem muito confiável, mas considerando a região onde moro, não faz diferença). Detalhe: na América só estão disponíveis os mapas da Argentina, Brasil, Canadá, Chile, México e EUA. As músicas são organizadas por artistas ou ábuns, é possível a criação de listas de reprodução, o que para mim é mais fácil fazer no PC do que no próprio celular. Também há um link para a loja Ovi Music.

O Ovi também oferece o recurso de atualização de software, e é aqui que começam os meus problemas. A atualização do software do PC ocorreu sem problemas, pedi para atualizar e ele baixou e instalou a atualização. Mas na hora de atualizar o firmware do celular, foi um parto. Fiz diversas tentativas, dezenas de backups, mas o Ovi simplesmente não baixava os arquivos necessários, ou informava que havia ocorrido um problema de conexão ou baixava os 120MB de update e do nada começava a baixar de novo. Foram aproximadamente 5 dias de tentativas de atualização sem sucesso. Juro que pensei em desistir e fui procurar na internet alguma referência sobre a mal sucedida atualização. Muitos recomendavam não atualizar, devido a restrições encontradas na nova versão, que ainda não foi hackeada. Mas como boa usuária que sou, prefiro atualizar.

Depois de dias tentando baixar pelo Ovi, resolvi apelar para a atualização “na unha”. Instalei o Nokia Software Updater e deixei que ele fizesse o trabalho. Mesmo não funcionando 100% com deveria (o pacote de download que era de 120MB chegou a quase 200MB), consegui finalmente atualizar o firmware do N95 8GB. Após aquele friozinho na barriga, celular reiniciando, dados apagados, tudo ocorreu sem problemas. Primeira parte da história está quase completa.

Então era hora de provar que o backup do Ovi Suite realmente funciona. O software armazena um histórico cronológico dos backups realizados, por default o último é o selecionado para restauração. Achei isso útil, pois se for necessário instalar um gadget duvidoso, é possível fazer um ponto de restauração caso ele coloque tudo a perder.

Já com meus contatos de volta, SMSs, músicas e outros aplicativos, era hora de conferir se todos funcionavam bem. Alguns precisaram ser reinstalados, como o Fring e o Skype, pois ao rodar exibiam uma mensagem de restrição de segurança e não entravam mais.

A minha impressão inicial sobre o Ovi Suite não foi uma das melhores, mas recentemente comecei a rever esta minha opinião. Como este post já está meio grandinho, essa história vai ficar para a próxima =P.

Para fechar, uma frase que um amigo me disse recentemente:

Só os ignorantes não mudam de ideia.