Juntando linhas de dois arquivos com o comando paste

Sempre me surpreendo com o Linux, pois é incrível que mesmo após 14 anos de uso eu sempre descubro coisas novas ou novas formas de fazer as coisas antigas.

Hoje mesmo precisei juntar a primeira linha de um arquivo com a primeira linha de outro arquivo, a segunda linha do primeiro arquivo com a segunda linha do segundo arquivo e assim por diante, jogando o resultado (cada linha concatenanda) num terceiro arquivo. Felizmente antes de usar a linha de comando para digitar um comando grande com “for” e afins, resolvi pesquisar na internet e encontrei o comando paste.

Pra ser sincero acho que já cheguei a ver o comando paste já muitos anos, mas na época não dei muita importância, mas hoje ele me ajudou a economizar alguns minutos de trabalho.

O comando fica assim:

paste arquivo1.txt arquivo2.txt > arquivo3.txt

Meu Wii parou de rodar os jogos salvos no disco externo

Descobri que as atualizações de IOS que fiz, usando o NUS Downloader, para instalar o Netflix no Wii acabou atrapalhando o funcionamento dos jogos executados via WiiFlow.

O sysCheck gerou o seguinte log do meu sistema:

sysCheck GX v1.0.0 by Erik Spyder

sysCheck GX is running under IOS58 (rev 6175).

Console ID: 130440890.
Region: NTSC-U.
Hollywood v0x21.
Boot2 v4.
System Menu v449 (4.1U).
BC v2.
MIOS v5. 
Blocks the GameCube Action Replay.

Found 79 titles.
Found 46 IOS and 3 IOS Stubs on this console.

Priiloader is installed.


IOS  3 (rev 65280): Stub
IOS  4 (rev 65280): Stub
IOS  9 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 11 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 12 (rev 65535): Trucha Bug
IOS 13 (rev 65535): Trucha Bug
IOS 14 (rev 65535): Trucha Bug
IOS 15 (rev   257): FLASH Access
IOS 16 (rev   257): Trucha Bug, ES_Identify, FLASH Access, NAND Access
IOS 17 (rev 65535): Trucha Bug
IOS 20 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 21 (rev 65535): Trucha Bug
IOS 22 (rev 65535): Trucha Bug
IOS 28 (rev 65535): Trucha Bug
IOS 31 (rev 65535): Trucha Bug
IOS 33 (rev 65535): Trucha Bug
IOS 34 (rev  3091)
IOS 35 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 36 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 37 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 38 (rev  3610)
IOS 40 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 41 (rev  3348)
IOS 43 (rev  3348)
IOS 45 (rev  3348)
IOS 46 (rev  3350)
IOS 48 (rev  3867)
IOS 50 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 51 (rev  4864): Stub
IOS 52 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 53 (rev 65535): Trucha Bug
IOS 55 (rev 65535): Trucha Bug
IOS 56 (rev  5662)
IOS 58 (rev  6175): USB 2.0
IOS 60 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS 61 (rev  5662)
IOS 70 (rev 65535): Trucha Bug, ES_Identify, NAND Access
IOS201 (rev  3094): Trucha Bug, ES_Identify, NAND Access
IOS202 (rev 65535): Trucha Bug, ES_Identify, NAND Access, USB 2.0
IOS222 (rev 65535): Trucha Bug, ES_Identify, NAND Access, USB 2.0
IOS224 (rev 65535): Trucha Bug, ES_Identify, NAND Access, USB 2.0
IOS245 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS246 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS247 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS248 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS249 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS250 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS251 (rev 21008): Trucha Bug, ES_Identify, NAND Access
IOS254 (rev 65281)

Report generated on 2013-01-12.

Vou ter que pesquisar mais para descobrir quais IOS estão atrapalhando o sistema.

LEGO and the open source BrickOS

It is not easy to any company to see your device hacked, they probably fell violated inside.

But this is a different case, LEGO saw open source as an opportunity and used it to improve their product.

I hope more companies start to think this way and use open source to improve themselves.

Sources:

http://www.digitaltrends.com/computing/lego-goes-open-source/

http://www.davidsudjiman.info/2006/02/13/how-should-lego-protect-its-trademark-operating-system-and-applications/

Disassembling using open-source tools

Linux doesn’t have (AFAIK) an open-source equivalent to IDA Pro, although there is a nice graphic debugger for i386/amd64 called EDB

Fortunately you can disassemble your binary manually using free and open source GNU tools as explained here:
http://chdk.wikia.com/wiki/GPL_Disassembling

Update: There is also Bokken disassembler interface: http://inguma.eu/projects/bokken Thanks Antonio Ospite for show me it!

Como substituir a imagem do easter egg do Android

O Android 2.3 e acima possuem um ovo de pascoa que mostra uma imagem com zumbis e o robo verde. Para ver a imagem vá em Configurações -> Sobre o Telefone e Clique rapidamente várias vezes sobre o campo “Versão do Android”, você deverá ver a imagem com os zumbis.

Pesquisando pela mensagem que é exibida na tela (toast: “Zombie art by Jack Larson”) descobri que o arquivo que exibe a imagem é:
frameworks/base/core/java/com/android/internal/app/PlatLogoActivity.java

Depois pesquisando pela imagem “platlogo” descobri que ela fica dentro do arquivo prebuilt/sdk/10/android.jar, então copie o arquivo para outro local renomeando o arquivo para .zip e ao descompacta-lo encontrei a imagem em res/drawable-nodpi/platlogo.jpg.

Só precisei colocar outra imagem substituindo esta imagem, gerar o .jar novamente e compilar o Android.

ATUALIZAÇÃO: Escrevi um tutorial passo-a-passo que não precisa recompilar o Android: http://acassis.wordpress.com/2013/02/20/como-substituir-a-imagem-de-zumbi-do-easter-egg-do-android-2-3/
Creditos ao pessoal do xda-developers: http://forum.xda-developers.com/showthread.php?t=1586141

Aprendendo a datilografar no Linux

É estranho como as pessoas que usam computador não sabem digitar corretamente. Isto acontece porque elas nunca fizeram aula de datilografia ou por simples preguiça de aprender.

Mas nem tudo está perdido, elas podem aprender a datilografar do jeito certo, existem vários programas disponíveis na Internet para isso.

No Linux meu programa preferido para datilografia chama-se klavaro.

Ele pode ser instalado com o seguinte comando:

sudo apt-get install klavaro

Se você tem crianças em casa ou prefere uma forma mais divertida de aprender a digitar, sugiro instalar o programa Tux Typing 2:

sudo apt-get install tuxtype

Boa digitação e boa diversão!

Hidden reset no LG P698F

Descobri uma coisa interessante após abrir o boot.img e boot.img-ramdisk.gz (conforme explicado aqui: http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images).

Encontrei um script chamado init.lge.hidden_reset.sh que faz basicamente isto:

echo 0 > /sys/module/lge_handle_panic/parameters/on_hidden_reset

Estão resolvi dar um “adb shell”, executar o su e em seguida:

# echo 1 > /sys/module/lge_handle_panic/parameters/on_hidden_reset

Notei que a tela do Android sumiu, porém o adb shell não morreu (pelo nome do arquivo era de esperar que o celular reiniciasse).

Então resolvi fazer o obvio, dar um “echo 0″ novamente, e para minha surpresa a tela do Android retornou. Muito interessante, só resta saber para que a LG usa este script, cena dos próximos capítulos.

O jeito Microsoft de otimizar as coisas

Esta parte do código foi encontrada no código fonte do Windows que vazou em 2004:

__inline BOOL
SearchOneDirectory(
                  IN  LPSTR Directory,
                  IN  LPSTR FileToFind,
                  IN  LPSTR SourceFullName,
                  IN  LPSTR SourceFilePart,
                  OUT PBOOL FoundInTree
                  )
{
    //
    // This was way too slow. Just say we didn't find the file.
    //
    *FoundInTree = FALSE;
    return(TRUE);
}

Agora vocês sabem por que a Microsoft nunca quis abrir o código fonte do Windows…

Fonte: http://www.steike.com/code/useless/evil-c/

Removendo o código de segurança do Nokia 1661

O celular Nokia 1661 possui um BUG, reportado por várias pessoas na internet, que ativa o código de segurança do aparelho. Então ao ligar o aparelho você precisa entrar com este código (que não é o código PIN do seu chip). O código padrão dele é o 12345, mas se você entrar com algum outro código antes deste, ele não mais aceitará o código 12345.

Aconteceu este problema com o meu Nokia 1661 (que ganhei de brinde das Casas Bahia em 2009 por comprar meus móveis lá).

Felizmente existe um jeito de você resetar este código.

Para resetar o celular para o código padrão (12345) faça o seguinte:
– Desligue o telefone
– Remova a Bateria
– Pressione e mantenha pressionado o botão POWER por pelo menos 10 segundos (sem a bateria)
– Coloque a bateria e a tampa
– Ligue o celular
– Não toque no teclado por pelo menos 15 minutos
– Após este tempo digite o código 12345 e seu telefone deverá funcionar

Após entrar no menu do celular vá em: Configurações -> Configurações de segurança -> Nível de segurança, digite a senha 12345 e escolha a opção Nenhum.

Fonte: http://www.speakoutwireless.ca/speak/phone-features/nokia-1661-security-code/

Como desbloquear seu nokia antigo sem instalar nenhum programa

Se você tem um Nokia antigo e deseja desbloquea-lo, saiba que isto “é muito simples comissário”:

Acesse o site:
http://www.unlock-free.com/nokia-master/

Escolha o modelo do seu celular, informe o número do IMEI do seu aparelho (normalmente vem escrito na proprio aparelho logo abaixo da bateria, ou você pode digita *#06# no seu celular e anotar o número).

Será gerado um código de desbloqueio, então desligue seu celular e tire o chip SIM.
Agora digite #pw+CODIGO+1#

Onde CODIGO é o código gerado pelo site.

Os simbolos p w + são gerados pressionando a tecla * seguidas vezes. Boa sorte!