Raphael de Bem

Tecnologia e Informação

O Windows Mobile 5 trouxe várias vantagens em relação ao seu antecessor, entre elas a segurança de não mais perder seus dados por falta de energia. Mas isso tem seus custos. Um deles foi a queda de performance, mesmo comparando equipamentos de configuração equivalente.

É possível fazer algumas alterações no comportamento do sistema Windows Mobile 5 para que este fique um pouco mais rápido porém com um consumo de memória maior.

As alterações são feitas diretamente no registro do Windows e devem ser efetuadas com cautela para não danificar o sistema e evitar perda de dados.

USE POR SUA CONTA E RISCO!

Alterações necessárias:

1. Faça o download do software PHM Registry Editor;
Esse programa permite a alteração do registro do Windows Mobile e é bem parecido com a versão desktop da ferramente Regedit da Microsoft.

2. Abra o programa PHM Registry Editor e faça um backup do registro atual clicando em Tools -> Backup e dê um nome para o backup;

3. Efetuado o backup, navegue pelas chaves abaixo alterando seus valores:

    Para ganho de velocidade:

    [HKEY_LOCAL_MACHINE\SYSTEM\GDI\GLYPHCACHE]
    limit = dword:32768

    [HKEY_LOCAL_MACHINE\SYSTEM\StorageManager\FATFS]
    CacheSize = dword:4096

    [HKEY_LOCAL_MACHINE\SYSTEM\StorageManager\Filters\fsreplxfilt]
    ReplStoreCacheSize = dword:8192

    [HKEY_LOCAL_MACHINE\SYSTEM\StorageManager\Profiles\MSFlash\FATFS]
    DataCacheSize = dword:4096
    Flags = dword:40

    Para ganho de bateria:

    [HKEY_LOCAL_MACHINE\Comm\AsyncMac1\Parms]
    DisablePowerManagement = dword:0

    [HKEY_LOCAL_MACHINE\Comm\Irsir1\Parms]
    DisablePowerManagement = dword:0

    [HKEY_LOCAL_MACHINE\Comm\PPTP1\Parms]
    DisablePowerManagement = dword:0

    [HKEY_LOCAL_MACHINE\Comm\L2TP1\Parms]
    DisablePowerManagement = dword:0

4. Feche o editor de registro tocando em Tools -> Exit;

5. Aguarde alguns instantes (algo em torno de 15 segundos) e desligue e ligue novamente seu equipamento;

6. Aguarde mais alguns instantes (novamente algo em torno de 15 segundos) e dê um soft-reset no equipamento.

Faça alguns testes e comprove o ganho de velocidade!

Caso você não se sinta seguro em editar o registro do Windows, baixe o pacote SpeedEnergyTweak e descompacte e instale em seu quipamento. Preparei esse pacote para facilitar a implementação dessas modificações em massa e ainda permitir a sua desinstalação.

Após instalar o pacote, aguarde uns 15 segundos, desligue e ligue o equipamento, aguarde mais uns 15 segundos e dê um soft-reset.

Boa sorte!

Compartilhe!
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 5 em 5)
Loading ... Loading ...
Imprimir Post

Durante essa semana tive a oportunidade de migrar o sistema de PABX convencional de minha empresa para um sistema de PABX VoIP.

O sistema é o DISC-OS, uma distribuição baseada no CentOS 4 que traz já instalada, customizada e configurada o Asterisk (software PABX consagrada mundialmente) e uma interface web muito fácil e intuitiva.

O DISC-OS é gratuito e pode ser utilizado e modificado livremente, foi desenvolvido por brasileiros e é patrocinado pela Intelbras que também todo o hardware suportado pela distribuição.

No PABX que usamos, com uma configuração modesta, está uma máquina Pentium III de 450Mhz, 256Mb de RAM e HD de 4Gb além de uma placa de rede, uma placa de vídeo AGP da Trident e um modem Intel com chip da Ambiente MD 3200. Essa configuração permitiu-nos utilizar uma tronco de linha convencional e ínumeros ramais VoIP inclusive ramais remotos.

Com o PABX funcionando, temos as funções de Atendimento Automático (com menu de “Disque 1 para atendimento comercial, disque 2 …), Caixa Postal por Ramal, Grupos de Chamadas, Salas de Conferência, Fila de Espera, Rotas de Saída e Entrada, além de mensagens de atendimento personalizadas de acordo com o horário.

O mais interessante de tudo isso é a possibilidade de utilização de ramais remotos permitindo que, quando em viagem, eu possa atender e fazer minhas ligações como se estivesse na empresa e ainda por cima pagando tarifa local.

Realmente muito interessante a solução do DISC-OS, vale a pena testar.

Maiores informações:
DISC-OS - www.disc-os.org
Intelbras - www.intelbras.com.br

Compartilhe!
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votos)
Loading ... Loading ...
Imprimir Post

A quem se destina esse guia

Esse guia se destina à todos os usuários de iPhone 2G que por algum motivo (que prefiro não comentar) atualizaram seu iPhone para a versão 2.0 (ATENÇÃO! É para a versão 2.0 e NÃO para a versão 2.0.1!!!) e agora em sua tela só aparece o logo do iTune com o cabo USB.
Se destina também à todos que querem atualizar seu iPhone 2G, de qualquer versão de firmware, para a versão 2.0 e testar todos os novos recursos e a instalação de aplicativos oficialmente distribuídos (AppStore).
Considerações
A atualização para a versão 2.0, por motivos desconhecidos, deixa o iPhone um pouco mais lento, a famosa lag, em especial na hora de visualizar os Contatos. De modo geral a estabilidade é superior e o recurso de instalação de aplicativos oficiais já vale a pena.

Um pouco sobre os aplicativos oficiais

Para que você possa utilizar dos recursos de instalação de aplicativos oficiais, é necessários ter uma conta na iTunes Store e isso implica, necessariamente, na utilização de cartão de crédito, de preferência internacional.
A disponibilidade de aplicativos é muito boa e existem vários aplicativos gratuitos e muitos outros com valores bem acessíveis, na faixa de 0.99 dólares. A instalação e a desinstalação é muito simplificada, como o próprio iPhone, e os aplicativos são bem estáveis.

Antes de começar

Se você já atualizou sem querer para a versão 2.0, pule essa parte pois não será possível fazer uma cópia de segurança, caso contrário, é HORA DO BACKUP!
O iTunes faz um backup completo do seu iPhone de tempos em tempos, durante o processo de sincronia, porém, nunca é demais efetuar uma sincronia do mesmo. Faça a sincronia agora!
Tenha pelo menos 1Gb de espaço livre em disco para que o procedimento seja executado com sucesso.
Será necessário ter instalado o Microsoft .NET Framework 2.0 para a execução do programa WinPwn.
Remova o chip SIM do iPhone antes de qualquer procedimento!

Aplicativos necessários

1. iTunes 7.7
http://www.apple.com/itunes/download/

2. Firmware versão 2.0 (5A347)
http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-4956.20080710.V50OI/iPhone1,1_2.0_5A347_Restore.ipsw

3. WinPwn 2.0.0.3
http://www.megaupload.com/?d=YCJDFEHW ou
http://rapidshare.com/files/132425893/winpwn_2.0.0.3_Setup.zip.html

4. Bootloaders (3.9 e 4.6)
http://www.enkrypted.com/bootloaders.rar
http://rapidshare.com/files/104494661/bootloaders.rar

5. Paciência! MUITA PACIÊNCIA E TEMPO!

VAMOS ATUALIZAR!

ATENÇÃO!
O procedimento foi testado em um iPhone 2G e funcionou perfeitamente, porém, não me responsabilizo por danos ou perdas referente a qualquer informação disponível nesse tutorial.
USE POR SUA CONTA E RISCO!

1. Instale o iTunes 7.7, não é necessário remover o iTunes anterior;

2. Remova qualquer versão anterior WinPwn e instale a nova versão (WinPwn 2.0.0.3);

3. Crie uma pasta em sua Área de Trabalho com o nome WinPwn e copie para essa pasta o firmware (iPhone1,1_2.0_5A347_Restore.ipsw) e descompacte nessa pasta os arquivos do Bootloaders (BL-39.bin e BL-46.bin);

4. Conecte o iPhone no PC, abra o iTunes e cancele qualquer atualização que o mesmo oferecer;

5. Abra o software WinPwn, clique em Browse .ipsw e selecione o arquivo do firmware (iPhone1,1_2.0_5A347_Restore.ipsw) depois clique em IPSW Builder;

winpwn_01.jpg

6. Na tela que se abre faça as seguintes configurações:
- Guia Applications selecione as opções Install Cydia e YouTube activation fix;
- Guia Custom Images e Custom Payloads - não selecione nenhuma opção;
- Guia Advanced selecione as opções Activate Phone, Enable Baseband update, Neuter bootloader 3.9/4.6, Unlock baseband e ainda nessa guia, clique no botão Bootloader 3.9 file… e selecione o arquivo BL-39.bin e também no botão Bootloader 4.6 file… e selecione o arquivo BL-46.bin. Feito isso, clique no botão Build .ipsw e selecione a mesma pasta em que os outros arquivos estão e clique em Save;

winpwn_02.jpg

7. Paciência! Aguarde o processo ser finalizado e confirme clicando em OK na mensagem Successfully created IPSW file;

8. Clique no botão IPwen e selecione o novo firmware (Custom-iPhone1,1_2.0_5A347_Restore.ipsw). Feito isso, será mostrada a mensagem Your iTunes has been Pwned! e o iTunes será fechado automaticamente. Clique em OK;

9. Coloque o iPhone em modo DFU segurando por EXATOS 10 segundos o botão Sleep e o Home e depois soltando o botão Sleep e segurando por mais EXATOS 10 segundos o Home. O seu iPhone será detectado novamente pelo PC;

10. Abra o iTunes, caso ele não abra automaticamente, clique em OK na mensagem que ele mostra e depois, com a tecla Shift do teclado pressionada, clique em Restore no iTunes e selecione o novo firmware (Custom-iPhone1,1_2.0_5A347_Restore.ipsw);

11. MUITA, MAS MUITA PACIÊNCIA! Aguarde até que o iPhone esteja por completo restaurado! TENHA PACIÊNCIA!

12. Após a finalização, no iTunes, peça para restaurar suas configurações quando solicitado e aguarde (MAIS UMA VEZ, MUITA PACIÊNCIA) pelo final do processo.

Finalizado!
Você terá um super iPhone 2G com o firmware 2.0 funcionando corretamente!

BOA SORTE!

Compartilhe!
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votos)
Loading ... Loading ...
Imprimir Post

iPhone SDK - Primeiras Impressões

Como analista de mobilidade e programador de dispositivos móveis, fiquei me coçando por um bom tempo para colocar as mãos nas ferramentas utilizadas pelo pessoal da Apple para desenvolver os tão aclamados softwares utilizados no iPhone.

Assim que o produto saiu minha primeira reação foi “Será possível programar para o iPhone?”. Após meses de angústia eis que é lançado do SDK.

Infelizmente tive que esperar mais um tempo até que pudesse testá-lo afinal trabalho no mundo PC e utilizo Windows com Visual Studio para programar para dispositivos Windows Mobile com plataforma .NET Compact Framework, ou seja, não tenho um Mac!

Mas nada que um pulinho para o lado underground da coisa não resolvesse meu problema. Acabei instalando uma versão modificada do Mac OS X Leopard para rodar em PCs normais. Arrumei um Pentium 4 com suporte a SSE3 e mander ver.

Mac OS instalado e atualizado, instalei o SDK do iPhone. A instalação é bem simples, como todo o resto do sistema, e a plataforma fica disponível em menos de 15 minutos para o vôo!

Baixei o HelloWorld do site da Apple e rodei, PERFEITO! O emulador é muito rápido, praticamente o iPhone na tela do PC. É possível simular o multi toque, além de virar o equipamento e utilizar o acelerômetro.

O SDK é interessante e possui muitas ferramentas que auxiliam a produtividade no momento de programar. Algumas ferramentas são muito boas e úteis como o utilitário de depuração e de análise de performance.

Os contras são a linguagem Objective-C, a organização dos arquivos devido a sua compatibilidade com as linguagens C e C++ e o próprio paradigma Mac OS que para os que vêm do Windows é uma coisa muito complicada.

No mais o conjunto da obra é excelente e muito produtivo resta agora aprender a utilizar com agilidade a linguagem Objective-C e partir para o abraço!

Compartilhe!
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (Sem votos)
Loading ... Loading ...
Imprimir Post

Toda atividade possui os seus macetes e dicas para que seja desenvolvida da melhor forma possível. A marcenaria por exemplo tem suas melhores praticas para o aproveitamento de material e de tempo.

A programação não é diferente. Nesse artigo, separei dez dicas para uma programação mais produtiva e mais prazerosa.

 1. Conheça a fundo a linguagem que você utiliza
Essa dica é quase um mandamento. Se você não conhecer o máximo sobre a linguagem que você utiliza, hora ou outra gastará um enorme esforço e tempo para resolver problemas que poderiam nem existir caso você dominasse a linguagem de programação em questão. Você programa em linguagens procedurais como Cobol ou C, então trate de estudar e entender todos os tipos de dados, seus fundamentos, como funciona o compilador, a utilização de bibliotecas, os principais laços, os comandos de decisão e tudo o mais que envolva essa determinada linguagem. Você programa em linguagens orientadas ao objeto, então começe a estudar cada detalhe, os seus tipos de dados, as declarações de variáveis, eventos, herança e tudo que envolva a linguagem utilizada. Domine a linguagem para que ela não o domine! A propósito, você sabe o que é um delegate?

2. Utilize design patterns
Em linguagens orientadas ao objeto a utilização de design patters auxilia a reutilização de código e a abstração da solução, tornando a programação muito mais prazerosa e fácil. Os design patterns são soluções para os problemas recorrentes em programação, como a verificação de troca de estado de um objeto ou o tratamento de um evento.

3. Utiliza comentários em seu código fonte
A documentação de um projeto é algo muito utilizado quando precisa-se analisar a possibilidade de adicionar um novo recurso, porém na hora de implementar ou alterar um recurso, nada melhor do que os comentários no código fonte. Não tenha dó de seus dedos, capriche nos comentários e dê a preferência para os comentários que podem ser utilizados para gerar documentação de seu código fonte. Algumas IDEs permitem uma notação de comentário que é utilizada posteriormente para a geração da documentação das classes e de seus projetos. Algumas outras ferramentas como a doxygen, permitem documentar uma infinidade de linguagens e posteriormente gerar documentação impressa.

4. Seja claro com o nome das variáveis e métodos sem beirar o ridículo
Tirando algumas limitações da linguagem utilizada, a maioria delas permite que suas variáveis possuam vários caracteres e seus métodos ou funções tenham nomes mais coerentes como CarregaDadosCliente do que simplesmente CDC. Faça com que suas variáveis e nome de métodos sejam auto-descritivos, mas sem exageros como MetodoUsadoParaFiltrarClientesInativosAntesDoFinalDoAnoAtual.

5. Utilize modelos de implementação em camadas
Utilizar modelos de implementação em camadas como o MVC pode ser complexo no começo, mas permite que seu código fique muito mais claro e que o papel de cada parte do seu programa seja delineado além de permitir uma manutenção muito mais tranquila do que a programação macarrônica ou POG. Invista seu tempo estudando algum modelo de implementação em camadas e faça uso deles, mesmo que em pequenos projetos para ir pegando prática. Isso serve para qualquer linguagem de programação, mas alguns conceitos são melhores aproveitados por linguagens orientadas ao objeto.

6. Programe sempre pensando em performance
Não! Não precisa ser um carro da F1, mas quem sabe um da Fórmula Indi? Pense em performance sempre que estiver programando, acostume-se a criar algoritmos rápidos e que não consumam processamento à toa. O que é rápido ou aceitável hoje, pode se tornar inaceitável e acabar com todo o seu projeto em um ou dois meses. Invista um tempo analisando seus algoritmos e veja se é possível otimizá-los, MAS CUIDADO para não cair na tentação da otimização extrema ou precoce, em especial nos locais de pouco uso. Concentre o seu esforço em áreas do seu programa que terão uma utilização constante. Um relatório de fechamento de mês pode demorar um pouco mais para ser executado, mas a inclusão de um ítem no ato de uma venda não pode esperar nem 1ms!

7. Utilize controle de versionamento de arquivos
Parace estranho, mas depois que você passa a utilizar um sistema de versionamento de arquivos, mesmo que você trabalhe sozinho, o efeito “máquina do tempo” que esse tipo de ferramenta fornece é de extrema utilidade. Você consegue recuperar qualquer versão do seu código fonte ou documentação a qualquer momento, além de centralizar a rotina de backup (você tem um backup né? Ah é claro…) e permitir rastrear o seu desenvolvimento e ainda de quebra permitir restaurar qualquer erro durante a produção de um software além da possibilidade de comparar versões de uma forma extremamente fácil e rápida. A curva de aprendizado das ferramentas de versionamento é bem simples e sua produtividade agradece! Dê uma olhada na plataforma SVN e no software TortoiseSVN. Você irá me agradecer…

8. Crie pontos de verificação
Durante o processo de programação é muito fácil o foco ser perdido, ainda mais se você trabalha em equipe. Para que isso seja evitado, crie pontos de verificação ou marcos. Para cada nova funcionalidade a ser implementada, estabeleça o prazo para a sua finalização e a divida em várias tarefas, com prazo para serem finalizadas, e vá fazendo o acompanhamento dessas atividade e as devidas correções nos prazos, se necessário, para que as mesmas não consumam mais tempo do que o necessário. Crie o hábito de descrever cada funcionalidade nova a ser acrescentada e dividi-la em tarefas para que seja fácil analisar e definir prazos para um novo projeto. Caso ache interessante e em especial se você trabalha com uma equipe, verifique a possibilidade de adotar algum método de desenvolvimento ágil de software e uma ferramenta de acompanhamento como o open-source Trac, os ganhos são fantásticos!

9. Utilize dois monitores
Parece coisa de doido ou viciado em programação ou ainda um nerd muito introspectivo, mas a utilização de dois monitores para a tarefa de programação é algo fantástico e deveria ser utilizada por todos os programadores e pessoas que utilizam computadores diariamente como ferramenta de produtividade. Exceto se o seu trabalho é apenas codificar algo já elaborado o granho de produtividade é muito alto. A facilidade de se programar em um monitor e acompanhar a documentação em outro ou ainda a ajuda referente a uma API ou um componente em específico é fantástica. A grande sacada dos dois monitores é você não mudar o contexto. Quando utilizamos o papel coma documentação impressa e a tela para programar temos uma constante mudança de contexto entre o low-tech, papel, e o high-tech, monitor. Já com a utilização de dois monitores essa mudança de contexto não ocorre e a área maior disponível para a abertura de várias janelas e sua organização ajudam no ganho de desempenho. Faça essa experiencia, é fascinante!

10. Tenha um bom fone de ouvido
(e demais equipamentos como computador, monitor, teclado, mouse de excelente qualidade!)
Aqui pode estar o “pulo do gato”! Em muitos momentos durante a programação uma boa música pode dar o insight necessário para a finalização de um trabalho, além de ajudar a isolar os ouvidos e a atenção do mundo externo. Opte por fones confortáveis com armação regulável e invista uma boa grana neles, afinal de contas, você só tem esses dois ouvidos já os fones você poderá comprar outros. Além dos fones, invista em uma boa máquina, um ou dois monitores descentes de LCD, teclado e mouse confortáveis e de precisão, um ambiente bem iluminado e arejado. É claro que se você se sentir bem trabalhando ao lado de uma britadeira não deve perder seu tempo em uma sala silenciosa, caso contrário trabalhe o ambiente onde você irá ficar.

Dica bônus!
Seja feliz programando!

Espero que com essas dicas você consiga elevar o seu grau de satisfação com sua programação e produtividade!
Bom trabalho e mão no teclado!

Até a próxima!

Compartilhe!
1 Estrela2 Estrelas3 Estrelas4 Estrelas5 Estrelas (1 votos, média: 5 em 5)
Loading ... Loading ...
Imprimir Post

« Posts Anteriores
Fechar
Envie por e-mail