quinta-feira, 9 de agosto de 2012

Tabela de Acentuação e Caracteres Especiais em HTML

Caracteres Acentuados no Português

ááÁÁããÃÃ
ââÂÂààÀÀ
ééÉÉêêÊÊ
ííÍÍóóÓÓ
õõÕÕôôÔÔ
úúÚÚüüÜÜ
ççÇÇ 

Caracteres Especiais

 espaço 
&e comercial&
>maior que>
<menor que&lt;
ˆacento circunflexo&circ;
˜acento til&tilde;
¨acento trema&uml;
´acento agudo&cute;
¸cedilha&cedil;
"aspas duplas&quot;
“ e ”aspas duplas (esquerda e direita)&ldquo; e &rdquo;
‘ e ’aspas simples (esquerda e direita)&lsquo; e &rsquo;
‹ e ›aspas angulares simples (esquerda e direita)&lsaquo; e &rsaquo;
« e »aspas angulares duplas (esquerda e direita)&laquo; e &raquo;
ºordenal masculino&ordm;
ªordinal feminino&ordf;
travessão 'en'&ndash;
travessão 'em'&mdash;
 hífen oculto&shy;
¯macron&macr;
reticências&hellip;
¦barra vertical&brvbar;
marcador (bullet)&bull;
parágrafo&para;
§parágrafo legal&sect;
espadas&spades;
paus&clubs;
copas&hearts;
ouros&diams;

Caracteres Comerciais

©copyright&copy;
®marca registrada&reg
trade mark&trade;
£libra esterlina&pound;
¢centavo&cent;
euro&euro;
¥iene (yen)&yen;
¤símbolo monetário&curren;

Caracteres Matemáticos e Lógicos

¹elevado a um&sup1;
²ao quadrado&sup2;
³ao cubo&sup3;
½fração um meio&frac12;
¼fração um quarto&frac14;
¾fração três quartos&frac34;
>maior que&gt;
<menor que&lt;
±mais ou menos&plusmn;
sinal de subtração&minus;
×sinal de multiplicação&times;
÷sinal de divisão&divide;
asterisco&lowast;
barra de fração&frasl;
por-mil&permil;
sinal de integral&int;
somatório&sum;
PI&prod;
raiz quadrada&radic;
infinito&infin;
quase igual&asymp;
aproximadamente igual&cong;
proporcional&prop;
idêntico&equiv;
diferente&ne;
menor ou igual&le;
maior ou igual&ge;
consequentemente&there4;
ponto&sdot;
·ponto do meio&middot;
diferença parcial&part;
parte imaginária do número&image;
parte real do número&real;
minuto&prime;
segundo&Prime;
°grau&deg;
ângulo&ang;
perpendicular&perp;
nabla&nabla;
soma direta&oplus;
produto de vetor&otimes;
alef&alefsym;
øproduto vazio&oslash;
Øproduto vazio&Oslash;
elemento de/pertence a&isin;
nã é elemento de&notin;
interseção&cap;
união&cup;
subconjunto de&sub;
superconjunto de&sup;
subconjunto de ou igual a&sube;
superconjunto de ou igual a&supe;
existe&exist;
qualquer&forall;
vazio&empty;
¬não lógico&not;
e lógico&and;
ou lógico&or;
retorno de carro&crarr;
← e →setas simples&larr; e &rarr;
↑ e ↓setas simples&uarr; e &darr;
seta simples&harr;
⇐ e ⇒setas duplas&lArr; e &hrrr;
⇑ e ⇓setas duplas&uArr; e &dArr;
seta dupla&hArr;
⌈ e ⌉teto (esquerdo e direito)&lceil; e &rceil;
⌊ e ⌋piso (esquerdo e direito)&lfloor; e &rfloor;
losango&loz;

Outros Acentos e Caracteres Especiais

ñ&ntilde;Ñ&Ntilde;¡&iexcl;¿&iquest;
ä&auml;Ä&Auml;å&aring;Å&Aring;
ë&euml;Ë&Euml;è&grave;È&Egrave;
ï&iuml;Ï&Iuml;ì&igrave;Ì&Igrave;
î&icirc;Î&Icirc; 
ö&ouml;Ö&Ouml;ò&ograve;Ò&Ograve;
ù&ugrave;Ù&Ugrave;û&ucirc;Û&Ucirc;
ý&yacute;Ý&Yacute;ÿ&yuml;Ÿ&Yuml;
æ&aelig;Æ&AElig;œ&oelig;Œ&OElig;
&dagger;&Dagger;š&scaron;Š&Scaron;
þ&thorn;Þ&THORN;ð&eth;Ð&ETH;
§&sect;ƒ&fnof;ß&szlig;µ&micro;

Caracteres Gregos

α&alpha;Α&Alpha;β&beta;Β&Beta;
γ&gamma;Γ&Gamma;δ&delta;Δ&Delta;
ε&epsilon;Ε&Epsilon;ζ&zeta;Ζ&Zeta;
η&eta;Η&Eta;θ&theta;Θ&Theta;
ι&iota;Ι&Iota;κ&kappa;Κ&Kappa;
λ&lambda;Λ&Lambda;μ&mu;Μ&Mu;
ν&nu;Ν&Nu;ξ&xi;Ξ&Xi;
ο&omicron;Ο&Omicron;π&pi;Π&Pi;
ρ&rho;Ρ&Rho;σ&sigma;Σ&Sigma;
ς&sigmaf;τ&tau;Τ&Tau;υ&upsilon;
Υ&Upsilon;φ&phi;Φ&Phi;χ&chi;
Χ&Chi;ψ&psi;Ψ&Psi;ω&omega;
Ω&Omega;ϑ&thetasym;ϒ&upsih;ϖ&piv;
Fonte

quarta-feira, 8 de agosto de 2012

PHP, MySQL e UTF-8 (o guia)

Trabalhar com UTF-8 no PHP pode dar algumas dores de cabeça pra quem é novo, e até mesmo para alguns mais velhinhos… O PHP trabalha por padrão com ISO-8859-1, que são os caracteres latinos que estamos acostumados. Entretanto, o UTF-8 tem uma abrangência maior de caracteres e o ideal seria que nos acostumássemos a usar este charset nas páginas.
Este pequeno tutorial tem como objetivo deixar bem claro quais os passos a se tomar para construir uma aplicação totalmente baseada no charset UTF-8, desde as páginas HTML, passando pelo PHP e por fim no MySQL.
Antes de tudo, aconselho que aprenda a criar os seus arquivos utilizando o UTF-8 sem BOM, que evitará dores de cabeça futuras quando estiver trabalhando com cookies, sessões e headers.
O segundo passo é definir, no PHP que o charset dos arquivos que serão gerados terão a codificação UTF-8, com o seguinte código:
<?php
ini_set('default_charset','UTF-8');
?>

Definir o idioma (opcional mas recomendado)
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br" />
Só setar o charset no PHP não adianta muito, pois alguns navegadores usam a codificação padrão da região do usuário, a não ser que o seguinte código esteja entre as tags <head> e </head>:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8 />
Com isso, você já pode trabalhar tranquilamente com UTF-8 e PHP sem ter problemas com os caracteres.
Alguns cuidados são necessários quando for trabalhar com o MySQL, entretanto. Vou ensinar como se faz pelo PHPMyAdmin, que acredito que todos que começaram a trabalhar com MySQL estão acostumados.
Em primeiro lugar, ao criar o seu banco de dados, já crie usando o collation utf8_general_ci. Se o banco de dados já tiver um collation definido, não é necessário definir o collation das tabelas, pois elas herdarão o do banco. Mas mesmo assim é bom especificar o charset e collation de cada tabela. Como? Assim:
CREATE TABLE Clientes (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
nome VARCHAR(60) NOT NULL,
PRIMARY KEY(id)
)
TYPE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;

Ok. Nossa tabela está trabalhando com UTF-8 agora. Podemos começar a programar e relaxar porque nossos problemas com charset estão resolvidos, certo?
A resposta é não.
Se você continuar a programar com o sistema assim, os dados do banco serão inseridos e consultados de maneira correta, mas você vai perceber problemas quando tentar fazer buscas com palavras acentuadas insensível a maiúsculas, por exemplo:Águaágua e agua serão palavras totalmente diferentes, sem contar que a ordenação de resultados com palavras que começam com letras acentuadas sairá bem bagunçada, coma letra Ó vindo antes de B, por exemplo.
Esse é o problema que eu tive e que demorei eras pra descobrir. O banco estava OK, o PHP também, o mesmo com as páginas HTML… e quando eu inseria algum dado pelo PHPMyAdmin, este era inserido corretamente, o que significava que o problema não era no banco e sim na aplicação.
Depois de meses na verdade foram apenas algumas horas de pesquisa, desconfiei que havia algo na conexão com o MySQL que estava dando esse problema. Fui fuçar no Manual do PHP e encontrei a seguinte solução:
<?php
ini_set('default_charset','UTF-8'); // Para o charset das páginas e
mysql_set_charset('utf8'); // para a conexão com o MySQL
?>

Com isso todos os meus problemas foram resolvidos. Na verdade não, pois tive que alterar todos os campos acentuados da tabela…
Dá para usar a função mysql_client_encoding para identificar o charset da conexão com o MySQL, mas não acho necessário pra quem quer trabalhar diretamente com UTF-8 e não com vários charsets.

Fonte

sábado, 21 de julho de 2012

JDK 7 With Netbeans: FTP Problem With Windows Firewall


Yesterday I installed Netbeans to my Windows PC and tried to add a remote PHP project. I want to say that 1 day before, I installed same version of Netbeans to my Mac and added the remote project, there were no issues.
But yesterday, I was unable to add remote project, no matter what I tried, it was unable to add, giving the error that there is no file on the remote folder. The connection was tested and working too.
So I tried to disable Windows Firewall and ta-dah! It worked. What confused me is that first time I opened Netbeans, it warned me that there might be issues with Windows Firewall and prompted the classic Firewall pop-up to me to either allow or block the application, and I allowed. But it still was unable to get through.
Some searches guided me that that was a problem with JDK 7 and some people downgraded to JDK 6 were able to connect FTP folder.
But I didn’t want to downgrade because it was loooking too unnecessary to me. I mean, this is JDK and Netbeans, seriously, no solutions?
Anyway, I was too sleepy to fight with firewalls or libraries at that moment, I slept. This morning, with a fresh brain, I found out that “The only difference between JDK7 and older releases is that the JDK is using IPv6 sockets when IPv6 is enabled and so IPv4-mapped IPv6 addresses are used. it may be that Windows or the firewall is not configured to allow IPv6 sockets.”(1)
And there was a command that worked for some people(2). I tried, it worked for me, too.
What you have to do is open MS-DOS with administrator rights and paste this, hit enter. Probably, it will work for you, too. Hope so.
  1. netsh advfirewall set global StatefulFTP disable  

sexta-feira, 22 de junho de 2012

Capturando somente a janela ativa com Print Screen

Caso queira capturar somente a janela ativa do Windows Explorer ou de algum programa com a função Print Screen, é fácil, aperte Alt + Print Screen.


Veja abaixo o exemplo.


fonte

quinta-feira, 21 de junho de 2012

Baixando sites inteiros com o wget


Muitas vezes você encontra um site cheio de coisas interessantes, mas não dispõe de tempo para ler on line na hora. Ou, encontra algo tão importante que pretende guardar em CD ou DVD, para nunca perder. A natureza dos sites da web não permitem isso. Você entra, acessa um site e navega pela página. Se quiser outro conteúdo, deve clicar num link, então o mesmo é descarregado até a sua tela. Fica complicado, por exemplo, querer salvar um site inteiro no seu computador clicando nos links e salvando página por página.
Lá vem a computação novamente, com sua rapidez e "inteligência". Sim, inteligencia entre aspas porque as máquinas em si são burras, meros papagaios, como você sabe só fazem aquilo que foi previamente programado. Há programas que podem baixar os sites inteiros, sem que você precise entrar e clicar em link por link. O que esses programas fazem é seguir os links das páginas, deifinidos em HTML pela tag <a href=...>. No final do processo, você pode ter todo o site ou várias páginas e arquivos do seu interesse.
Existem vários programas que se propõem a isso, a maioria para Windows, normalmente pagos. Quase sempre o que se encontra são sharewares, que se limitam a funcionar por um período determinado ou baixam apenas um certo número de páginas, sendo liberados somente na versão completa. Há um gratuito e open source, o HTTrack (WinHTTrack, na versão para Windows), é bom e relativamente bastante usado, por ser fácil e bastante personalizável. Mas há muito tempo há uma outra solução gratuita e aberta, muito conhecida pelos usuários de Linux: o wget. O wget é um programa criado inicialmente para o ambiente Unix/Linux, cujo objetivo principal é baixar arquivos da internet. Ele pode ser usado em scripts, tornando a programação de diversas "aplicações" bem mais fácil. Para felicidade de quem usa Windows, saiba que há uma versão portada dele para o Windows, que funciona exatamente da mesma forma da versão Unix. E para quem quer baixar sites inteiros ou várias páginas, ele também tem esse recurso. De quebra, é um programa bem pequenininho, operado via linha de comando, o que permite o uso fácil em scripts ou a criação de interfaces.
Antes de começar, tenha em mente que baixar sites inteiros pode prejudicar os sites. Além dos sites em si, essa tarefa que pode consumir muita banda de download deles, você pode acabar prejudicando outros sites que estejam hospedados no mesmo servidor, especialmente se for um hospedeiro compartilhado - mesmo comercial. Muita gente não tem noção de que baixar sites de uma vez ou acessar excessivamente arquivos grandes pode ser prejudicial, e faz isso sem saber; é bom que você esteja consciente para não abusar.

Obtendo o wget

Quase toda distribuição de Linux inclui ele. Caso não inclua, experimente instalá-lo usando o gerenciador de pacotes da sua distribuição. Se você usa Windows, pode baixá-lo em:

O básico do wget

Para baixar um arquivo com o wget, basta dar o comando wget seguido pelo caminho do arquivo na internet. Exemplo:
E o arquivo será baixado na pasta atual do prompt de comando. Caso o download seja interrompido (porque o computador trave, ou o usuário tecle CTRL + C no prompt), é possível recontinuar do ponto em que parou, caso o servidor suporte o recurso. Basta informar, antes da URL, o parâmetro -c, e claro, usar a mesma pasta que contém o "pedaço" anterior do arquivo:
Muita gente usa o wget como gerenciador de downloads (no Linux), em vez de baixar os arquivos pelos navegadores. Ele não acelera os downloads (como fazem os "aceleradores de downloads", que abrem várias conexões), mas permitir recontinuar do ponto em que parou é muito útil, especialmente para quem acessa com conexão lenta ou instável, que cai toda hora.

Baixando sites inteiros

Passando o parâmetro -r, ele baixará todos os arquivos encontrados no domínio. Cuidado, use com atenção e responsabilidade! Além de poder atrapalhar o site, você poderá baixar muita coisa inútil. A sintaxe seria:
wget -r http://www.umsitequalquer.com.etc

Ele seguirá os links definidos em HTML, pela tag <a href...> nas páginas. Links em JavaScript ou em flash não serão reconhecidos, e as páginas não serão baixadas. No caso do JavaScript, é quase impossível um programa sair baixando tudo realmente, pois há várias formas de se "programar" links em JavaScript.
Por padrão, o wget ignora os arquivos que o produtor do site pediu para ignorar, por meio de um arquivo especial, o "robots.txt". Esse arquivo serve para os motores de busca de sites de pesquisa; eles lêem o arquivo e ficam sabendo para quais arquivos não devem seguir os links. Isso impede que o wget baixe determinados arquivos, arquivos esses que muitas vezes são justamente os que você precisa. Para fazê-lo ignorar os arquivos "robots.txt" e baixar tudo o que encontrar, basta usar o parâmetro -erobots=off. Ficaria assim:
wget -r -erobots=off http://www.umsitequalquer.com.etc
Apesar de tecnicamente possível, é um meio não muito legal fazer isso. Essa opção -erobots=off não é comentada em muitos lugares. Novamente alerto, use com responsabilidade ou quando precisar "mesmo", afinal não devemos ser contra a divulgação de informações. Você pode usá-la, por exemplo, quando quiser baixar um arquivo linkado mas que não esteja disponível para ser indexado pelos buscadores (via robots.txt), já que o wget o ignoraria.
Uma dica para reduzir a quantidade de downloads é baixar apenas arquivos de determinado tipo, por exemplo, apenas páginas HTML. Isso é possível com o parâmetro -A, especificando a seguir o tipo de arquivo pela extensão. Veja:
As páginas ASP, PHP, entre outras, serão convertidas em HTML pelo wget (até porque serão páginas já processadas quando o wget acessá-las), ou seja, você não precisará se preocupar em ficar digitando todas as extensões possíveis para as páginas. Da mesma forma, fica fácil baixar todas as imagens:
ou
Depende do que você precisa.
Dica direta para baixar sites inteiros: o wget possui o parâmetro -m, ideal para fazer espelhamentos de sites (mirroring), onde ele já ativa as opções necessárias. Se seu objetivo é fazer um mirror do site, pode ir direto ao ponto:
Outra coisa é a identidade do navegador. Alguns sites só oferecem o conteúdo ao verificarem que é determinado navegador que está acessando a página (como o IE, por exemplo), e o wget não conseguiria acesso aos arquivos. Pode-se fingir a identidade de navegador com esse parâmetro:
--user-agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
Colocando no texto entre aspas a identificação do navegador e sistema que você quiser.

Páginas protegidas com senha

Páginas que exibem uma tela de login personalizada, via web mesmo, provavelmente não poderão ser baixadas. Digamos que você queira baixar todo o conteúdo do Orkut, ou de uma comunidade ou fórum restrito. Ao acessar a página, vem uma página do site que pede o login e a senha. O wget pararia nela e se limitaria a pegar as páginas linkadas à ela diretamente.
No entanto, páginas que pedem senha diretamente pelo servidor, podem ser baixadas. Estas podem ser acessadas passando o nome e a senha diretamente na URL, com o wget não seria diferente:
wget http://usuario:senha@servidor.com.etc/arquivo.etc
Também pode ser usado para servidores FTP, bastando trocar o http:// por ftp://.

Outros parâmetros importantes

Através de diversos parâmetros podemos controlar melhor o donwnload dos arquivos. Eis alguns importantes:
-t0
Número de vezes que ele deve tentar baixar um arquivo, caso não consiga. Definindo zero deixa configurado como "ilimitado", o que faz ele ficar tentando até conseguir baixar. Observe que deve-se deixar o número logo ao lado da letra "t", sem espaço. É bom usá-lo mas com cuidado, num site com muitos arquivos e uma conexão ruim, você pode ficar forçando o download de vários arquivos que nunca serão baixados, à toa. Por precaução, defina um número menor, como -t3 ou -t5.
-c
Permite continuar downloads interrompidos, sem que ele precise baixar o que já foi baixado, incluindo pedaços de arquivos (e não apenas páginas). É bom usá-lo, principalmente quando não der tempo de baixar o que você quer em uma única vez.
-np
Ideal para baixar páginas de uma mesma área de um site. Com o -np (no-parent) ele baixa apenas os arquivos da URL definida sem pegar a pasta pai dela. Por exemplo, utilize caso queira baixar o site http://www.site.com.etc/algumacoisa, mas não o conteúdo dohttp://www.site.com.etc (e sim apenas da pasta /algumacoisa).
-T30
Define o timeout (limite de tempo) para 30 segundos. Quando ele fica à espera do arquivo, em conexões lentas, esse parâmetro orienta a refazer a conexão para puxar tal arquivo a cada 30 segundos, até conseguir. Observe a diferença que este é em letra maiúscula.

E os donos dos sites, como ficam?

Certamente não gostam nada nada disso. É possível aplicar alguns bloqueios diretamente no servidor (o que foge ao objetivo deste texto, além do que variará muito dependendo do software de servidor utilizado), por exemplo, bloqueando IPs que acessem várias páginas por segundo (mais precisamente um número maior de bytes definido por você), reduzir a velocidade, ou até mesmo banir o IP por um período.
Mas não haverá muito o que fazer para páginas em si. O pessoal dá um jeito, afinal se pode ser acessado pelo navegador, poderá ser baixado e salvo.
Uma dica para evitar downloads automático de arquivos grandes, poupando banda do servidor, é usar um link definido em JavaScript. Praticamente nenhum programa copiador de sites identificaria o link, mas nos navegadores funcionaria normal. Estar com o JavaScript habilitado nos micros clientes hoje é praticamente obrigatório, não existe mais aquele papo de problemas de compatibilidade. Sendo assim, não se preocupe com o link em JavaScript, pois ele funcionará.
A criação do link fica a seu critério, evite colocar o nome do arquivo por inteiro. Um exemplo prático: definindo uma função na página:
<script language=javascript>
function BaixaCoisa(arq){
self.location.href = arq;
}
</script>
E chamando a função nos links assim:
<a href="javascript:BaixaCoisa('/arquivo.iso');">Clique aqui para baixar o CD</a>
Se preferir, pode complicar mais, mas dará mais "trabalho" para implementar. Exemplo (este coloque diretamente no local onde for ficar o link):
<script language=javascript>
document.write('<a href=');
document.write('arquivo.zip');
document.write('>');
document.write('clique aqui');>
document.write('</a>');
</script>
Um outro meio um pouco mais complicado de implementar, é aplicar CAPTHA, aquela verificação de letras e números aleatórios em determinadas seções do site. O programa pára ali. Mas cuidado, a maioria dos sistemas não permitem o uso por deficientes visuais, o que prejudica legal a acessibilidade do seu site, especialmente se usar isso em áreas essenciais.
É isso. Responsabilidade sempre!

quinta-feira, 14 de junho de 2012

Como corrigir erros de codificação (acentuação)

Boas a todos!
Um problema relatado com certa frequência em fóruns que participo é o de erros na acentuação de textos.
Motivado por um post aqui no Drupal, resolvi colocar essa dica para outras pessoas que passem pelo mesmo problema.
Para que a acentuação e caracteres especiais apareçam corretamente é necessário configurar os 3 ítens abaixo da mesma maneira:
1. a página;
2. o banco de dados;
3. o editor.
Considerando o uso de utf-8 (o mais indicado), como isso deve ser feito ?
1. Na página:
1.1 Definir o idioma (opcional mas recomendado)
<html xmlns="http://www.w3.org/1999/xhtml" lang="pt-br" xml:lang="pt-br">
1.2 definir o charset
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
2. No banco de dados (MySql)
2.1 Conjunto de caracteres MySQL: UTF-8 Unicode (utf8)
2.2 Collation de conexão do MySQL: utf8_unicode_ci
3. No editor. IMPORTANTE, aqui é onde aparece muito problema.
Normalmente as pessoas não se ligam na codificação que seu editor usa. Editam o arquivo, salvam e pronto. Ao enviar para o servidor, mesmo estando correto o charset da página e do bd, o erro persiste.
No nosso exemplo, usando utf-8, nosso editor precisa salvar usando utf-8 também.
No Windows normalmente os editores salvam usando iso-8859-1, para não ter problema é necessário identificar onde mudar esse parâmetro e então salvar o arquivo em utf-8.
Um exemplo de como esse pequeno detalhe muda tudo, criei 2 arquivos html idênticos em conteúdo e o charset está setado como utf-8, que pode ser constatado no código fonte da página, porém ao salvar, um foi salvo com iso-8859-1 e outro com utf-8
Vê como muda tudo ? ;)
Segue alguns editores em Windows/Linux e onde mudar essa opção:
Windows (com a colaboração do gutomec- Luiz Gustavo) :D
Dreamweaver:
1 - Para trocar o file encoding vá em Modify>Page Properties... (ou Ctrl+j);
2 - Em Category selecione Title/Encoding;
3 - Selecione em Encoding o que desejar e dê um OK;
4 - Salve o documento.
EditPlus:
1 - Vá em Documents>File Encoding>Change File Encoding;
2 - Vai abrir uma janela pedindo para selecionar o file encoding, selecione o desejade e dê um OK.
3 - Salve o documento.
Linux
Geany
1 - vá em "documento"
2 - selecione "definir codificação"
3 - escolha a codificação desejada
Gedit
1 - vá em "arquivo"
2 - selecione "salvar como"
3 - selecionar na caixa select o código desejado
Eclipse
1 - vá em "preferences
2 - em "editors" procure a opção para definir codificação
Espero que ajuda e qualquer dúvida é só falar.
Abs

domingo, 3 de junho de 2012

Calibrando a bateria do android


Olá pessoal, pra quem está com o problema na bateria existe 2 coisas que podem resolver.
  1. Renovação do batterystats.bin
  2. Melhor gerenciamento de recursos

Vamos por partes.

batterystats.bin

Existe um aplicativo chamado BatteryCalibration. Este aplicativo serve para calibrar a bateria do seu aparelho.
É recomendado que a bateria seja calibrada toda vez após uma troca de ROM pois a bateria gera um tipo de vicio, um vicio de software.
O que acontece é que o android salva um log da bateria em um arquivo chamado batterystats.bin, localizado em “/data/system/batterystats.bin”. O problema é que depois de muitas cargas/descargas parciais este arquivo começa a confundir o sistema parando a carga antes que ela seja completamente carregada .
Tutorial:
  1. Baixe o aplicativo BatteryCalibration pelo google play, é gratis.
  2. Use seu aparelho até descarregar
  3. Deixe-o carregar DESLIGADO, até que a luz vermelha apague.
  4. Depois de totalmente carregado, ligue seu tablet novamente (ainda não tire do carregador), entre no aplicativo BatteryCalibration, toque no botão do meio escrito: Battery Calibration
  5. Tire seu aparelho do carregador e use-o até descarregar completamente, após ele desligar sozinho por falta de carga conecte-o novamente no carregador e deixe ele carregar até apagar a luz vermelha, depois que a luz apagar ainda deixe ele carregar por uns 30 minutos.
Lembrando que este tutorial do BatteryCalibration vale para TODOS OS APARELHOS COM ANDROID, independente de versão ou marca.

fonte

Voltando ao Gnome Classic no Ubuntu 11.10

Muita gente, pelo jeito, ainda prefere o velho ambiente do Gnome, e na versão 11.10 do Ubuntu ela não é mais padrão. Podemos incluir esta opção.
Abra o terminal e digite:
$ sudo apt-get install gnome-session-fallback
Faça o logout, e no ícone de “engrenagem”, ao lado do seu nome, selecione Gnome Classic.
E entre no seu sistema!