sábado, junho 30, 2012

Virtual Box–Quebrando a sincronia de data entre a máquina hospedeira e a VM.

   

     As vezes você precisa, por diversas razões, que a data da máquina virtual fique congelada, ou que mostre uma data diferente da máquina hospedeira.

     Para fazer isso no Virtual Box, execute o seguinte comando:

VBoxManage setextradata <Nome da maquina virtual> “VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled” “1″


Aí é só ajustar a data na máquina virtual que ela não sincroniza com o hospedeiro!

Use o argumento final como “1” para desabilitar a sincronia, e “0” para habilitar a sincronia.

segunda-feira, janeiro 09, 2012

Aumentar tamanho do HD virtual no Virtual Box–complemento


   Complementando o post anterior, sobre aumentar o tamanho do HD virtual no Virtual Box, vai ocorrer que, ao iniciar a GUI do Virtual Box, você verá que ele informa o novo tamanho que você definiu, porém ao acessar a máquina virtual você descobre que o tamanho continua o mesmo de antigamente, e que a sua alteração não surtiu efeito.

    Isto se deve ao fato de que, quando você aumenta o tamanho do seu HD virtual, o espaço adicional aparece como uma nova partição na máquina virtual, no exemplo que demos anteriormente, com Windows XP, se você for em Meu Computador / Gerenciar e ir em Gerenciamento de discos verá que há um espaço extra não alocado, justamente o aumento de tamanho que você fez.

          Para resolver isso é simples, você vai necessitar de um gerenciador de partições, existem vários (Partition Magic, Norton Partition, etc), eu uso e indico um gerenciador de partição Open Source e free, chamado GParted, que pode ser obtido no endereço http://gparted.sourceforge.net/ , ele é baseado em uma distribuição linux, mas como informado no site, pode ser usado em Linux, Windows, MacOS, você baixa um arquivo *.iso, inicia a sua máquina virtual e monta este arquivo ISO no drive de CD, e faz o boot por este CD, isto vai iniciar o GParted, nào se preocupe com a aparência inicial, ele depois inicia uma interface gráfica extremamente fácil e simples de operar, onde você de aumentar o tamanho da sua partição atual para preencher todo o tamanho desejado, ou alocar o espaço extra como uma nova partição, o processo é rápido, intuitivo e bem fácil.

         Se você desejar apenas que a sua partição atual preencha todo o espaço novo que você definiu, apenas arraste a barra para preencher todo o espaço e pronto, depois clique em Apply (Aplicar), depois você sai do GParted, pelo botão exit, e reinicia a máquina virtual.

         Detalhe: Lembre-se de retirar do drive de CD/DVD virtual o arquivo ISO do GParted.

         Quando reiniciar a máquina, o Windows vai verificar a integridade do HD, e estará pronto para utilização.

         Bem fácil, rápido e intuitivo.

sexta-feira, janeiro 06, 2012

Aumentar tamanho do HD virtual no Virtual Box.


     Problema: Você estimou um tamanho para o seu HD virtual, afinal era só para alguns testes. Porém dos testes se passou a produção, daí para mais testes, e acabou ficando um HD permanente, e agora o espaço está pequeno, e precisa de um HD virtual maior.

       Vários tutoriais encontrados na internet nos ensinam a fazer alguns malabarismos para incrementar o tamanho do seu HD virtual, que incluem até mesmo criar um novo HD maior, e transferir para o outro HD o que você tem neste, acrescentar um segundo HD ao sistema, fazer um ghost do HD virtual (esta uma manobra realmente bem arriscada e complicada), e outras receitas que incluem mil e uma peripécias.

          Pois bem, na verdade nada disso é necessário, e aumentar o tamanho do seu HD virtual na realidade é uma tarefa corriqueira de manutenção, e que pode ser feita de forma rápida e muito fácil, sem a necessidade de grandes malabarismos ou soluções improvisadas.

O comando é modifyhd, e este comando possui várias opções, sua sintaxe é:

VBoxManage modifyhd <comando> <arquivo.vdi>

onde <comando> pode ser:

-- type normal / writethrough / immutable / shareable / readonly / multiatach

Este comando modifica o tipo de armazenamento que você está utilizando.

-- autoreset on / off
Determina se o disco deve se reinicializar a cada novo carregamento da máquina virtual.

-- compact
Como o próprio nome sugere, compacta a máquina virtual, eliminando espaços e blocos que contem apenas zeros, é uma desfragmentação da máquina virtual, normalmente reduz o tamanho físico ocupado pelo HD virtual.

-- resize megabytes / bytes
Este é o comando que nos interessa neste post, que é o comando que irá modificar o tamanho do HD virtual. Informamos o novo tamanho que desejamos.

          Vamos lá, mãos à obra:

           Primeiro identifique o disco virtual que você deseja aumentar o tamanho, aqui cabe uma informação, o utilitário vboxmanage não trabalha muito bem com nomes de discos virtuais que incluam espaços e hífens, ele simplesmente não consegue localizar, e se você colocar o nome entre aspas também não vai dar certo. Mas calma, para tudo existe solução, e neste caso é bem fácil.

           No nosso exemplo nós vamos ter dois discos virtuais, ambos de 10GB que vamos passar para 25GB, para exemplificar os dois casos, vamos ter um com nome de arquivo simples e outro com nome de arquivo que o vboxmanage se perde para gerenciar.

          Os dois discos virtuais:

          WinXPSimples.vdi (10Gb).
          WinXP – para testes.vdi (10 Gb).

          O primeiro não tem problemas o vboxmanage consegue trabalhar de forma fácil, o segundo é que será problema e teremos que resolver, vamos à tarefa.

          - Para o primeiro disco WinXPSimples.vdi de 10Gb.

           VBoxManage modifyhd --resize 25600 WinXPSimples.vdi

   O VBoxManage irá nos informar que estará reconfigurando o HD, para isso irá informar na tela:
0%…10%…20%…30%…40%...50%...60%…70%…80%…90%…100%    

           Pronto, você pode acessar o Virtual Box pela interface gráfica e verá que o HD virtual agora passou de 10Gb para 25Gb.

          O processo é bem  rápido.

          - Vamos para o segundo caso, WinXP – para testes.vdi (10 Gb).

         Neste caso, se você tentar o mesmo procedimento anterior, irá obter erro, dizendo que o arquivo WinXP – para testes.vdi não foi localizado, ou que a opção – não é válida.

          Neste caso podemos fazer o mesmo procedimento, não pelo nome, mas pelo UUID que é o número individual gerado pelo Virtual Box para cada HD.

         Para saber o UUID do HD, use outro comando do VBoxManage que lista os Hds instalados.

VBoxManage list hdds

Com isto pegamos o UUID do segundo HD, que no meu caso é d83f649f-c68c-3657-82f4-2e615be4307e, basta agora utilizarmos este UUID para informar ao VBoxManage qual o HD que queremos modificar.

VBoxManage modifyhd --resize 25600 d83f649f-c68c-3657-82f4-2e615be4307e

Pronto, o segundo HD também foi aumentado seu tamanho.

Fácil e não precisa de nenhum malabarismo.

Até a próxima.

sábado, março 05, 2011

Criando um aplicativo para iPhone no xCode - Parte 2 -

Continuando nossa série de posts sobre desenvolvimento para iOS, vamos dar continuidade no nosso projeto da calculadora.

Primeiro uma palavra sobre o quesito resolução, o iPhone 3 tem a tela de resolução de 320 x 480, já o iPhone 4 tem resolução de 640 x 960, e o iPad tem resolução de 768 x 1024,  considerando que as medidas referem-se sempre a Largura x Altura, pode-se notar que a diferença de resolução pode fazer com que um aplicativo feito para o iPhone 3, irá ficar com uma resolução no minimo horrível, no iPhone 4 e no iPad.
Como só tenho o iPhone 4 para testar, e o iPhone 3 o meu teste é no emulador, tenho dúvidas sobre como abordar esta questão, estou pesquisando isto e posto aqui tão logo tenha uma resposta correta, por enquanto a minha abordagem está sendo desenvolver para a resolução do iPhone 4, tendo em mente que, para o iPad a tela ficará menor, mas isto não é necessariamente um problema para uma calculadora, creio que para outros aplicativos que necessitem usar tela cheia, deveremos fazer uma versão específica para iPad.
     Já o caso do iPhone 3, a minha tentativa será ver se ele ajustará automaticamente o tamanho da tela, o que acho que não vai ocorrer, e nesse caso teríamos que ter uma versão específica para esta resolução de tela.
     Se algum de vocês, que estão acompanhando estes posts, tem acesso à um iPhone 3 (Qualquer versão, 3G, 3GS, a resolução de tela é a mesma), e puder testar, será uma preciosa contribuição.

     Vamos iniciar o xCode, e ao abri-lo veremos a tela inicial, como esta:


  
      Escolheremos "Create a new xCode Project", a seguir você deverá escolher o tipo de aplicativo que deseja desenvolver, note que você pode escolher desenvolver para o iOS (se você instalou o SDK, como mencionamos no primeiro post desta série, caso contrário você só terá a possibilidade de desenvolver para o MacOS), e vamos escolher em iOS a opção View-based application conforme você pode ver na tela a seguir:


    Uma view no iOS, é como se fosse um formulário no desenvolvimento para Windows (a grosso modo), na verdade um aplicativo pode ter várias views, ou seja, uma view é uma tela que o usuário vê e interage durante o uso do aplicativo, contém os controles que aceitam comandos do usuário e campos e figuras que mostram ao usuário as respostas aos seus comandos (feedback para o usuário).

     Como a nossa calculadora terá apenas uma tela, terá apenas uma view, pois na mesma view o usuário irá digitar os números, escolher as operações e verificar visualmente o resultado da operação realizada.
      Note que, escolher um modelo de aplicativo nesta fase do projeto, não quer dizer que o seu aplicativo esteja engessado, fadado a usar esse modelo sem alternativas, na realidade você pode mudar o formato inicial na medida que seus requisitos de projeto mudarem.

       Ao escolher para criar o aplicativo, será solicitado um nome para o aplicativo, e um local onde o mesmo deverá ser gravado, no nosso caso escolhi o nome Calculator_01, como você pode ver na tela abaixo.


     Se você pretende desenvolver aplicativos e vender na AppStore, o meu conselho é que você habitue-se a desenvolver o seu aplicativo todo em inglês, incluindo nome e mensagens, você pode depois criar uma opção multi idioma, mas como o mercado mais rentável é o mercado internacional, não pense que um consumidor americano, inglês ou australiano vai sequer olhar para um aplicativo que não esteja no idioma de Shakespeare. Também esteja preparado para dar suporte em inglês.
      Se o idioma do grande bardo é um problema para você, e sua intenção é realmente ganhar dinheiro com o mercado de aplicativos para o iOS, o melhor investimento nem será um hardware Mac, mas um curso de inglês urgente, ou você ficará limitado ao mercado de língua portuguesa, provavelmente mais especificamente ao Brasil, que é uma fração bem pequena no mercado potencial total.
       Nestes tópicos criaremos o aplicativo todo em inglês, como se fosse um aplicativo voltado para comercialização na AppStore internacional da Apple. Mais uma vez meu conselho: habitue-se à isto, ou você ficará frustrado com a baixa saída dos seus aplicativos.
           Quando terminar de criar o aplicativo, será mostrada a tela de projeto do xCode, com o projeto de Calculator_01 e seus arquivos, conforme abaixo:


      Veja que, se você está habituado com outras IDEs como Eclipse, Visual Studio, Delphi, o xCode não é assim tão estranho, basicamente você tem na parte esquerda da tela a visualização do projeto em esquema de árvore, onde você pode ver os arquivos que compõem o projeto, quando você selecionar um arquivo ou pasta nesta árvore, no painel a direita, na parte superior são mostrados os arquivos que estão sob esta pasta, e ao selecionar um arquivo neste painel superior à direita, você verá o arquivo no painel inferior, se for possível mostrar-lo.
         Ou seja, o esquema é relativamente simples.

          Já temos o nosso projeto iniciado, os arquivos básicos que devem fazer parte dele já foram gerados de forma automática pelo xCode, iremos adiante complementar os arquivos e recursos e começar a produzir código.

          Como o Objective C é uma linguagem orientada a objetos, iremos trabalhar dentro desta filosofia para produzir o nosso aplicativo. Iremos criar uma classe que irá fornecer as funções básicas de uma calculadora, ou seja armazenar os operadores, fazer as quatro operações básicas e armazenar o resultado. Nesta primeira aproximação não trabalharemos com agrupamento de operações, iremos utilizar as operações par a par a medida que forem sendo realizadas, ou seja, iremos armazenar um valor, aceitar um operador e outro valor, e fazer a operação entre estes dois operadores e guardar o resultado, que será o nosso valor armazenado para prosseguir as operações, à menos que o usuário clique em C (Clear) para zerar o acumulador e começar uma nova operação a partir do zero.


Posts anteriores desta série:
Criando um aplicativo para iPhone no xCode - Parte 1
Criando um aplicativo para iPhone no xCode - Parte 1 - Adendo.

terça-feira, março 01, 2011

Criando um aplicativo para iPhone no xCode - Parte 1 - adendo

Em complemento ao post anterior, segue aqui um mapa das teclas de atalho para o xCode, muitas vezes é mais produtivo ir direto na tecla de atalho do que usar o mouse. É uma boa idéia você baixar a imagem e imprimir para ter a mão quando estiver trabalhando no xCode.


Criando um aplicativo para iPhone no xCode - Parte 1

Muitos desenvolvedores gostariam de saber como desenvolver aplicativos para o mercado do iOS, o sistema operacional para o iPhone, iPad e iPod.

Na busca por isso, descobre-se que a linguagem nativa para isso é o Objective C, a parte boa é que a IDE para esta linguagem, e o SDK para o iOS é free e pode ser baixado direto do site da apple em http://developer.apple.com/devcenter/ios/index.action, você pode se inscrever no programa de desenvolvedores da apple sem custo inicial.
Você só irá pagar as taxas da apple quando (e se) decidir comercializar seus aplicativos na appStore, na época da postagem deste arquivo, a taxa estava em U$ 99,00 /ano.
A idéia desta série de postagens é demonstrar o que é necessário para se desenvolver para o iOS, como se faz isto, e os meandros da linguagem e da IDE para os gadgets da Apple.
      Sempre fui partidário que a melhor forma de aprendizado é: 
1 - Mão na massa - ou seja, se aprende melhor na prática mesmo.
2 - Na medida que aprender, você deve ensinar, disseminar conhecimento é a melhor forma de evoluir.

    Dito isto, o que pretendo fazer é um tutorial passo a passo, desde a instalação do ambiente, e desenvolver um programa básico, para fixar os conceitos da IDE e da linguagem. Nosso programa de exemplo não será nenhum prosaico Hello World, acho que isso funcionou muito bem para Dennis Ritchie quando mostrou ao mundo a linguagem C, mas hoje em dia apelar para isso é uma completa perda de tempo. Na minha opinião, isso é para quem não quer se comprometer com o que escreve. Com isto, vamos desenvolver um programinha um pouco mais pretensioso, mas igualmente simples: uma calculadora, que servirá para ilustrar uma série de conceitos da IDE e da linguagem. 
Depois de pronta, vamos aos poucos implementando outras funcionalidades nela, espero que com a colaboração de todos que acharem esta série de posts útil.

    No artigo anterior, mostramos como instalar o MacOS X em uma máquina virtual em Virtual Box, pretendo disponibilizar aqui também um link para uma máquina montada em VMWare. 
    Novamente destaco que, isto é bom para você conhecer o ambiente, aprender um pouco, mas quando for desenvolver a sério, considere adquirir um hardware Apple, a diferença na sua produtividade será fantástica, acredite em mim (todos estes posts estão sendo escritos direto do MacBook que estou usando para desenvolver, acredite seria muito penoso fazer isto de uma VM).

    Uma vez instalado o MacOS X (no momento você precisa, no mínimo, do Snow Leopard para usar o SKD 4 do iOS), acesse o site de desenvolvedores da Apple, no link postado no inicio deste artigo, baixe os pacotes (é grande, a imagem do DVD é aproximadamente 3,5 Gb), e instale no Mac.

     Primeira questão: Qual a linguagem que vamos utilizar?

     Vamos utilizar Objective C que, para quem acha que por saber bem C estará em casa, convém antes fazer uma pequena apresentação do ObjC.
      Primeiro, ObjC algumas vezes será igual a C, outras vezes será igual a Smalltalk, mas na maioria das vezes será apenas levemente parecida com uma ou outra destas linguagens, sendo diferente de ambas. Coisas da Apple (quem teve que ralar com o Apple Basic nos primórdios da programação vai entender de cara o que estou escrevendo)!
      A origem é lá nos idos dos anos 90, quando Steve Jobs fez um acordo com a Apple, onde ele entrou com o traseiro e os executivos da Apple na época entraram com os pés. Na rua, com alguma grana que ele e Wozniak haviam recebido (sim, Jobs não fundou a Apple sózinho, mas isso é outra história) realizou alguns investimentos em startups de TI, um destes investimentos foi a aquisição de parte de uma startup chamada Next, que vinha trabalhando duro em workstations para processamento gráfico pesado, e assim acabou incorporando uma linguagem dedicada para isto, que foi criada por Brad Cox e Tom Love para a empresa de ambos, a StepStone, que foi posteriormente licenciada pela Next. 
Exato, se você pensou que esta linguagem era Objective C, acertou.
Quando Jobs voltou para a Apple, para tirá-la da quase falência para o Olimpo que desfruta hoje, uma das condições foi a aquisição da Next, que era a sua "menina dos olhos".
Ao assumir a direção dos negócios, verificou a necessidade da reformulação de vários produtos, incluindo o próprio sistema operacional, que nessa época estava bem defasado e padecia de um certo atraso tecnológico. Para toda essa empreitada foi escolhido o Objective C, e o resto faz parte da história.

     A primeira barreira que o desenvolver novato na plataforma Apple vai se deparar, é com a própria IDE xCode. No inicio pode parecer meio estranho, é bem diferente das outras IDEs que você possa estar acostumado, estou comparando com NetBeans, Eclipse, Visual Studio, Delphi. Mas depois de 1 ou 2 horas de uso você pega o "jeitão" da coisa, e quando for ver, já estará dominando o xCode.
      O xCode vem por padrão junto com o sistema operacional MacOS, para desenvolver direto para o MacOS você não precisará de mais nada, mas para desenvolver para o sistema operacional iOS, dos gadgets da apple, você precisa baixar o SDK no link do inicio do artigo.
      Se você não estiver visualizando o xCode na sua barra de aplicativos, vá em /Developer/Applications e você deverá encontrar o xCode. Pode ocorrer também que o xCode não tenha sido instalado quando você instalou o sistema operacional na máquina, neste caso basta rodar novamente o DVD de instalação do MacOS X e instalar o aplicativo, depois disso, o xCode deverá estar no diretório mencionando anteriormente.
      
       Atenção, depois do xCode instalado você deverá instalar o SDK para o iOS, se você instalou o SDK e depois instalou o xCode, deverá refazer a instalação do SDK para que essa opção apareça no xCode, caso contrário você só terá a opção de desenvolvimento para o MacOS.

        IDE instalada, vamos definir o nosso projeto:
  • Será uma calculadora para fazer as 4 operações básicas.
  • Não terá, pelo menos nesta primeira versão, alguns recursos como: memória adicional, persistência dos resultados, modo alternativo além do decimal.
  • Sem grandes sofisticações visuais, porém vamos cuidar para que, embora simples, seja ao menos bonitinha. Leve em conta sempre que, o design é tão importante quanto a funcionalidade, você estará desenvolvendo para um público acostumado ao belo design dos equipamentos e aplicativos da Apple, um público bem mais exigente neste quesito. Se pretende desenvolver a sério e tentar ganhar algum dinheiro no mercado do iOS, cuide sempre do design, e no fim do projeto, cuide novamente do design, e antes da publicação final, reveja novamente o design.

       Bom, no próximo post vamos iniciar a mão na massa de verdade, definindo visualmente como será o nosso aplicativo e vamos começar a fazer um pouco de código de verdade. See you guys!

segunda-feira, fevereiro 21, 2011

MacOS X Snow Leopard no Virtual Box

apple-mac-os-x-snow-leopard-box-topOK, você está querendo conhecer ou experimentar o MacOS X Snow Leopard, quer ver o que tem de especial o gatinho das neves do tio Jobs, ou quer apenas matar a curiosidade.

Então, o que fazer? A opção legal é comprar um Mac, a opção para quem quer apenas travar conhecimentos com o SO da maçã é montar uma máquina virtual, e experimentar.

Existem muitos tutoriais na net sobre virtualizar o MacOS X no VMWare, mas encontrei poucos, e um tanto incompletos, em inglês, para Virtual Box.
Pessoalmente prefiro o Virtual Box, ele consome bem menos recursos da máquina do que o VMWare, todas as vezes que tentei o VMWare, ele consumiu memória e capacidade de processamento com o apetite de um tigre siberiano em jejum prolongado.

Obs.: Estarei disponibilizando este material em formato PDF no site da empresa (www.spectrus.com.br).

Antes de iniciar, um aviso legal:
A Apple não permite que o seu sistema operacional seja instalado em outro hardware que não seja Apple. Portanto, legalmente, se você deseja usar o MacOS deverá comprar um hardware Apple.
Se você pretende usar o MacOS para algo além de simplesmente matar a curiosidade, eu recomendo enfaticamente que você compre um hardware Apple, no meu caso, cuja finalidade é para desenvolvimento para o iOS (iPhone, iPad, iPod), eu iniciei virtualizando o MacOS para experimentar, e depois parti para comprar um MacBook, a diferença é bem grande em termos de desempenho, lembre-se de que você está rodando uma máquina Virtual, que usa apenas uma parcela dos recursos do hospedeiro.

Requisitos do sistema:
    O que você precisa para fazer a brincadeira funcionar:
1 – MacOS X Snow Leopard (lógico) – Você pode baixar de várias fontes na net, inclusive torrents. Porém recomendo que você adquira um DVD do MacOS X, esse é o caminho legal, até se você desejar usá-lo mais seriamente depois. R$ 79,00 na saraiva completinho.

2 – Computador com, pelo menos, 2 Gb de memória RAM, recomendo 3 ou mais, para não ficar lento.

3 – 20Gb de espaço no HD, no mínimo.

4 – CPU com suporte a tecnologias de virtualização (verifique isto na sua Bios), se não tiver, esqueça, não funciona.

5 – O Virtual Box, em sua última versão (www.virtualbox.org).

Montando a máquina virtual….

   O processo é exatamente o mesmo da montagem de qualquer máquina virtual no Virtual Box, vamos a ele.

1 – Acionar o Virtual Box, clicar em Máquina/Novo ou Ctrl + N ou no botão Novo na barra de ferramentas.
VBoxMacOS_01
2 – Irá abrir o assistente para criação de máquina virtual, clique em Próximo.

3 – Escolha como sistema operacional Mac OS X, em versão escolha MAC OS X Server, eu dei o nome de MacOSX_SL para a nova máquina virtual.

VBoxMacOS_02

4 – Defina a quantidade de memória RAM necessária para a nova máquina virtual. O valor mínimo é 1Gb para uma utilização apenas para testes, apenas para sentir o “cheiro” do SO, por assim dizer. Se você tiver mais memória, recomendo designar pelo menos 2Gb para o novo SO ou mais.

   Para ambientes Windows, como regra, deixe pelo menos 1Gb para o Windows.

Obs.: Lembre-se de que tio Jobs e seus garotos são exigentes, o Snow Leopard exige um hardware de boa qualidade, é normal placas de rede ou de video, de marcas menos “conceituadas” não funcionarem com o novo SO. No meu caso, quando montei a VM, eu fiz no meu notebook, é um HP Pavillion DV6000 com uma placa de vídeo GeForce Go 8400, processador Intel. Tenho relatos de amigos que tentaram o mesmo em máquinas com processador AMD e não obtiveram sucesso.

5 – Escolha um novo disco rígido virtual na tela que segue.

VBoxMacOS_04

6 – Clique em avançar, e escolha a forma do novo disco rígido, escolha Armazenamento dinâmicamente expansível, isto fará com que o Virtual Box crie um arquivo com o tamanho mínimo necessário e irá expandi-lo a medida que for surgindo a necessidade de mais espaço. Mas atenção, o tamanho só irá crescer até o limite que você determinar para o HD, no caso que recomendamos (20GB).
VBoxMacOS_05

7 – Mantenha o tamanho mínimo de 20Gb, não é recomendável diminuir este tamanho, ou você poderá ter erros durante a instalação e a VM não funcionará.
VBoxMacOS_06

8 – O Virtual Box irá lhe apresentar uma tela de resumo da instalação, com as opções que você determinou até aqui, confira e clique em Finalizar se as opções estiverem corretas, ou clique em Cancelar para rever as configurações.

9 – Uma nova máquina virtual será criada, e você poderá vê-la na lista de máquinas do Virtual Box, seu status estará como desligada.
VBoxMacOS_07

10 – Antes de instalar o MacOS, é necessário efetuar alguns ajustes, para que a instalação possa ocorrer normalmente e a máquina rodar sem maiores problemas.

11 – Com a nova máquina virtual selecionada, clique em CONFIGURAÇÕES, para abrir os ajustes desta máquina.
11.1 – Clique em Sistemas, desmarque a opção Habilitar EFI (sistemas especiais apenas).

VBoxMacOS_08
11.2 – Na aba MONITOR, você pode ajustar a quantidade de memória de vídeo que vai destinar ao novo SO e habilitar a aceleração de vídeo em 2D, convém destinar no mínimo 32Mb de memória para a placa de vídeo para uma instalação sem traumas.

11.3 – Na aba ARMAZENAMENTO, você deve indicar ou “montar” o CD de boot que irá inicializar o SO para que possamos instalá-lo. Se você seguiu o meu conselho e comprou o DVD do MacOS X Snow Leopard, ajuste o drive de CD/DVD para apontar para o drive do seu computador. Se você optou por baixar um ISO da internet, configure o drive de CD/DVD para apontar para este arquivo ISO que contém a imagem do DVD do MacOS X Snow Leopard.
Dica: Para escolher o arquivo ISO que você deseja, clique no ícone de um CD no campo ao lado do drive de CD/DVD (veja abaixo):

VBoxMacOS_09

Feito isso, Clique em OK, e já temos a nossa máquina virtual preparada e pronta para o primeiro boot e instalar o MacOS X Snow Leopard.

12 – Coloque o DVD do MacOS X no drive e na janela principal do Virtual Box, selecione a nova máquina virtual e clique em INICIAR.
     Após isto, basta seguir as instruções de instalação do MacOS X, se tudo ocorrer OK, você terá a tela de seleção de idiomas do MacOS X Snow Leopard.

    Os passos seguintes são bastante simples, limitando-se a escolher o idioma, escolher a imagem de fundo, e algumas informações sobre o usuário e o ambiente, e aceitação dos termos da licença de uso da Apple.

Quando chegar na tela de Seleção do destino, em que pergunta: “onde você deseja instalar o Mac OS X”, clique na barra de menus em Utilitários / utilitários de disco, selecione o disco de 20Gb do Virtual Box que criamos, certifique-se de que o formato do volume está marcado como MAC OS X EXPANDIDO, defina um nome para o novo disco, clique em Apagar e confirme a operação toda.

Com isso você criou a partição de disco, pode fechar o utilitário de disco, basta clicar no menu UTILITÁRIO DE DISCO / SAIR DO UTILITÁRIO DE DISCO, clique no disco récem criado e clique em continuar.

Atenção: Agora você deve configurar alguns aspectos específicos do MacOS X, que será necessário para prosseguir sem sobressaltos. O principal é marcar os pacotes mais atuais para atualizar, mas atenção, em KERNELS, para processadores INTEL marque a opção Legacy_Kernel, veja abaixo como ficaria para um computador com processador Intel:

mac_options_intel
   Se o seu processador for AMD, marque a caixa de seleção nomeada como AMD mais abaixo nas opções, geralmente após a opção System_Support.

Atenção, apenas estas opções deverão estar marcadas.

Hardware configurado, opções marcadas, clique em CONCLUÍDO, em seguida clique em INSTALAR.

O instalador irá efetuar uma checagem da integridade da mídia de instalação, passo que pode seguramente ser ignorado. Depois disso é aguardar a instalação, que dura aproximadamente 10 minutos.
Uma vez concluída a instalação, será mostrada a contagem regressiva para que a máquina reinicialize.

IMPORTANTE: Antes do reinicio, vá no Virtual Box, menu Dispositivos / CD / DVD devices, e desmarque a opção em que o drive de CD/DVD aponta para o arquivo ISO ou para a midia de instalação do MacOS X, para que o boot seja dado normalmente pelo HD montado.

Pronto, depois do boot, o MacOS X Snow Leopard irá lhe perguntar sobre os dados de usuário, localização, configuração de teclado, vídeo, etc.

Pronto, bem-vindo ao seu novo MacOS X Snow Leopard, ou um MacPobre.

Recomendo que, se você for usar de forma séria o MacOS X, compre um hardware da Apple, verá que a diferença de performance é grande, principalmente se você for usar para desenvolvimento.

No próximo post: Iniciar a desenvolver para iOS com o Objective C e xCode.

quarta-feira, dezembro 01, 2010

Duplicar Máquinas Virtuais no Virtual Box

image

O problema: você configurou uma máquina virtual com tudo instalado, ajustado e está rodando afinadíssima, 100%.
Agora você precisa criar uma nova máquina idêntica, para fins de laboratório, ou para permitir que algum membro da sua equipe trabalhe no mesmo ambiente que já está configurado.

Reinstalar toda a máquina virtual leva tempo, refazer todos os ajustes também, e afinal você virtualizou uma máquina com outro SO (Windows XP, Linux, Solaris, MacOS, FreeBSD, etc), justamente para ter a praticidade de manter a máquina virtual o mais afinada possível e economizar tempo em eventuais reinstalações, mudança de computador, etc.

A solução está em um utilitário de linha de comando que acompanha o Virtual Box, o VBoxManage. Este utilitário tem tudo o que a interface gráfica possui e mais uma penca extra de recursos, na verdade o VBoxManage explora todas as potencialidades de uma máquina virtual, leia o manual do Virtual Box e verifique tudo o que é possível fazer com o VBoxManage, acredite vale a pena.

No nosso caso em questão, duplicar a máquina virtual, mãos à obra:

Ambiente:
Host: Windows 7 Ultimate.
Guest (vm) a ser duplicada: Windows XP SP3.
Nome físico do arquivo da vm: WinXPSP3.vdi

Vamos clonar a nossa máquina virtual chamada WinXPSP3.vdi para WinXPLab.vdi, que será uma máquina laboratório.

Acesse o prompt de comando (rode como administrador), vá até o diretório em que está instalado o Virtual Box, usualmente em C:\Arquivos de programas\Oracle\VirtualBox, no prompt de comando digite:

VBoxManage clonevdi WinXPSP3.vdi WinXPLab.vdi

O VBoxManage irá iniciar o processo de clonar a máquina virtual, demora um pouco, ele vai informando o processo, no final a mensagem dever ser mais ou menos isto abaixo:

Oracle VM VirtualBox Command Line Management Interface Version 3.2.10
(C) 2005-2010 Oracle Corporation
All rights reserved.

0%…10%…20%…30%…40%…50%…60%…70%…80%…90%…100%
Clone hard disk created in format ‘VDI’. UUID: c5aa9c35-7774-4505-9163-9cdb8661844

Pronto, a sua máquina virtual está clonada, preste atenção, que nas novas versões o comando na realidade é clonehd, apesar de clonevdi funcionar também no Windows, não irá funcionar no Linux, preste também atenção que, se o seu SO Hospedeiro for Linux, este faz diferenciação entre letras maiúsculas e minúsculas (assim vboxmanage é diferente de VBoxManage).

Agora para utilizar esta nova máquina clonada, é simples, vá até o gerenciador do Virtual Box, desta vez usando a interface gráfica, crie uma nova máquina virtual (Máquina / Novo ou Ctrl N ).

image

Quando o Virtual Box solicitar se você gostaria de criar um novo disco ou usar um já existente, escolha um já existente. Irá abrir uma tela para você escolher o disco, veja que não irá aparecer o clone que você criou, para que você consiga acessar, clique no botão “ACRESCENTAR”, então adicione o disco que você clonou.

Pronto, sua nova máquina virtual já está pronta.

Uma boa idéia, que eu normalmente uso, é montar uma máquina virtual enxuta, bem afinada, e manter ela como máquina mestre, e a partir dela fazer os clones para as necessidades pontuais (laboratório, verificar vírus, etc).

Bom, pessoal, espero que tenha ajudado a quem precisa duplicar suas vms.

sábado, outubro 30, 2010

Vai dar rolo!!!!!!!!!!!

image Vai dar caca, da grande!!

   Na verdade torço para estar totalmente errado e pagar o mico de queimar a língua, mas tudo o que tenho visto, lido, ouvido e que conheço sobre a Sra. Dilma Roussef, me leva a acreditar piamente que, a se confirmar a vitória dela nas urnas, estamos ferrados, teremos um período bem sombrio pela frente.
   O povo que vota nela, a maioria principalmente, não parou para pensar nem analisar onde está se metendo, parece estar achando divertido brincar de provocar o leão faminto na jaula, mas ninguém fez a volta para ver se a jaula estava trancada, e a () notícia é que sequer existe porta a ser trancada.
   Todos os sinais foram dados, nenhum dos eleitores da Sra. Dilma poderá depois reclamar e usar a desculpa de Lula : "Eu não sabia", sabia sim, assim como Lula sabia, estão ali todos os sinais, indeléveis que são, do que nos espera.
   O ruim disso tudo é que, não serão só os que votarem nela que pagarão a fatura, mas todos os brasileiros, ou pelo menos os que não fazem parte da "cumpanherada", ou seja, a maioria absoluta do povo, incluindo os que viram os sinais, entenderam o que vem pela frente, e optaram por não votar em Dilma, estes também pagarão a fatura, como se tivessem sido tão irresponsáveis quanto os outros, como se não tivessem gritado e avisado que a jaula não tinha porta.
   O PNDH 3, depois retirado dos holofotes diante da gritaria da mídia (pelo menos da midia não amestrada), continua valendo, apenas foi retirado DO PROGRAMA DE DILMA, mas continua valendo, em todas as suas cláusulas. Franklin Martins, o censor-mór da república, continua esperando, a espreita e esfregando as mãos, antevendo o gozo da vitória final.
   As intenções do foro de São Paulo, continuam valendo e a militância continua com o firme propósito de implantá-lo.
   Qual a diferença? Tiveram 8 anos para implantar e não o fizeram, diriam os que acham que a jaula tem tranca.
   Ocorre que Lula tem ascendência sobre o PT, sobre os militantes, e é raposa velha, seu objetivo é o poder e, claro, faturar unzinho para a familia e amigos, e com toda a sua história a frente do PT, consegue controlar a militância, e os movimentos à la MST.
   já Dilma é bem mais perigosa, um extremista com ideologia e com poder é o muito mais perigoso, e terá a insuflar-lhe idéias uma turma que pode querer tudo, menos liberdade e o bem do povo:
   - Zécabum Dirceu - nem precisa explicitar as falcatruas e o perigo deste senhor no governo.
   - Franklin Martins - que tem nutrido um profundo amor pelo "controle social" (leia-se censura) à imprensa, e um ódio não menos profundo pela liberdade e pela crítica, qualquer opinião que não seja elogiosa a sua turma e ao seu projeto de poder, merece ser sumariamente amordaçado, e olha com idéias bem nefastas até mesmo blogueiros e sites de internet com opiniões que não sejam pelego do governo.
   - Marco Auréio "Top Top" Garcia - Que não faz segredo para ninguém sobre suas opiniões a cerca de pessoas, órgãos ou entidades que não tenham uma opinião de servilidade canina à sua turma.
   Só para citar alguns, sem falar na turma e na ideologia do MST, Stédile e sua turma aguardam apenas o leão sair da jaula, que lembre-se não tem porta, para iniciar seu projeto de expansão, com toda a sua nefasta ideologia e métodos stanilistas.
   A militância, principalmente a turma que endeusa Castro, Chavez, Evo Morales, Ahmadinejah, terá desta feita uma força que não teve com Lula, e uma oportunidade que não irá desperdiçar de colocar em prática suas idéias.
   Somando-se isso à notória incapacidade administrativa da Sra. Dilma Roussef que, pasmem, conseguiu ser vendida como competente gestora pelo marketing, mas a Dilma do Marketing é uma coisa, a da realidade é muito, mas muito diferente.
   Por tudo isso, e mais motivos explícitos, que só não vê quem preferer ignorar, prevejo para um eventual governo Dilma um período muito sombrio e nefasto para o Brasil, com um desempenho pífio em termos de infraestrutura e economia, e um período trevoso em termos de liberdades, tanto para a imprensa quanto para os indivíduos, incluindo perseguições as mais abjetas contra tudo e todos que não forem pelegos do governo.
   E ninguém ignora isto, os que nela votam, preferem acreditar na Dilma do marketing, na Dilma inventada pela propaganda, mas sabem sim que a Dilma de verdade é outra, mas tem esperança que a jaula esteja trancada, mas a jaula está SEM PORTA!

    ESPERO COM TODA A VONTADE ESTAR TOTALMENTE ERRADO E TER QUE ESCREVER OUTRO POST ME DESCULPANDO DISTO, MAS O PROBLEMA É QUE O PRG (PARTIDO DA REALIDADE GOLPISTA) INSISTE EM DEMONSTRAR O CONTRÁRIO.

quinta-feira, agosto 19, 2010

Backup full agendado em HD Externo no Ubuntu Server 10.04

image

Bom, vamos lá.

Cenário: Servidor instalado com Ubuntu 10.04 LTS Server, rede com máquinas Windows (Vista e Seven), no servidor rodando Samba como servidor de arquivos e gerenciador de impressão (Ainda com problemas para detectar os grupos secundários, mas funcionando na base da lista de usuários direto).

Problema: fazer o backup full dos arquivos do samba, agendado.

Comprei um case da Akasa, para conexão via USB, que pode receber HDs externos SATA 2,5” ou 3,5”, montei um HD de 2,5” de 160Gb, para ser o HD para guardar os backups, que era o meu antigo HD do notebook que foi trocado por outro de 750Gb, este HD está com sistema NTFS pois rodava Windows Vista, o novo agora roda Windows 7 Ultimate, nem me dei ao trabalho de formatar com ext3 ou outro sistema de unix, mantive o mesmo, só apaguei todos os dados do HD.

O case da Akasa é este aqui:

image

Akasa Duo Dock, ref: AK-IC008B-BKAM, custa por volta de R$ 130,00, suporta HDs de 2,5”e 3,5”, tem conexão eSata ou USB, funciona 100% no Ubuntu.

O bixinho é bão, viu?

 


   O processo é bem simples, conecta o Akasa via USB do servidor, ele reconhece automaticamente, aí é só descobrir onde que ele conectou, no meu servidor, conectou com /dev/sdc1 pois o servidor já tem 2 HDs de 500Gb.
   Para descobrir onde está o seu HD externo, basta digitar o comando fdisk –l:
# sudo fdisk –l

   Ele vai listar as unidades conectadas, e você poderá identificar o HD, aí é só montar o dito cujo, no meu caso eu decidi chamar de akasa mesmo, para saber que é o dock que está montado:
# sudo mount /mnt/akasa /dev/sdc1

  Ok, agora o HD externo será acessível sempre via /mnt/akasa, porém teremos um problema, teremos que verificar quando o HD externo estará montado, pois isso só vai ocorrer nos dias do backup, nos outros dias o HD estará armazenado fora da empresa, lógico, mas graças ao comando mountpoint podemos verificar quando o case estiver conectado, vamos agora fazer o script para rodar o backup periódicamente:

Obs.: procurei comentar o script para facilitar a compreensão.

-----------------------------------------------------------------------------
#/bin/sh

# Para conter a data do arquivo de backup que sera gerado
DTABKP=`date +%Y-%m-%d`
# Para conter o nome do mes para o arquivo de log - vamos fazer um log por mes
MESLOG=`date +%B`

# Diretorio que deve ser origem para o backup.
DIRORIGEM="/home/rede/ServPat"

# Arquivo para gravar o log do backup
ARQLOG="/var/log/backup/bkpServPat_log.$MESLOG"

# Verifica se o case esta montado no ponto definido, ou seja
#    se o HD externo esta conectado no case via usb

if mountpoint -q /mnt/akasa
then

# A sintaxe do TAR e : tar [parametros] [-f arquivo] [-C diretorio] [arquivos...].

#Parametros:

#    * -c - cria um novo arquivo tar;
#    * -M - cria, lista ou extrai um arquivo multivolume;
#    * -p - mantem as permissoes originais do(s) arquivo(s);
#    * -r - acrescenta arquivos a um arquivo tar;
#    * -t - exibe o conteudo de um arquivo tar;
#    * -v - exibe detalhes da operacao;
#    * -w - pede confirmacao antes de cada acao;
#    * -x - extrai arquivos de um arquivo tar;
#    * -z - comprime ou extrai arquivos tar resultante com o gzip;
#    * -j - comprime ou extrai arquivos tar resultante com o bz2;
#    * -f - especifica o arquivo tar a ser usado;
#    * -C - especifica o diretorio dos arquivos a serem armazenados.
     # Compacta a pasta da rede e joga para o diretorio do HD que esta no case USB
     tar -czvf /mnt/akasa/Backups/bkpServPat_$DTABKP.tar.gz $DIRORIGEM

    # Variavel para retorno das operacoes, para pegar algum erro
    RETORNO=$?

    # SE o retono de erro != 0, esta com erro

    if [ $RETORNO != "0" ]
           then
    # Grava o LOG com o codigo do Erro encontrado

      echo "================================================" >> $ARQLOG
      echo "            ********  E R R O ********" >> $ARQLOG
      echo "Erro na gravacao do backup da rede = $RETORNO" >> $ARQLOG
      echo `date` >> $ARQLOG
      echo "================================================" >> $ARQLOG

   else
      # Senão  esta sem erro
      # Grava no log informando que esta tudo OK
      echo "================================================" >> $ARQLOG
      echo "Backup da rede esta OK" >> $ARQLOG
      echo `date` >> $ARQLOG
      echo "================================================" >> $ARQLOG

   fi

fi

     Pronto, agora é só colocar o script no cron do Linux, e voilá, é sossegado.
      Não é um sistema de backup a prova de furacões e quedas de meteoros, mas é bem seguro.

Dica: Além do webmin (o meu preferido) para administrar o servidor remotamente, uso também o putty que permite um acesso direto ao terminal do server, baixe de http://www.putty.org .

terça-feira, abril 06, 2010

Administrando seu servidor Linux via webmin

webmin-blue

Ok, você decidiu montar um servidor para a sua empresa ou para a sua casa, para as tarefas comuns de um servidor, compartilhamento de arquivos, impressoras, banco de dados, servidor web, etc.

Eu particularmente prefiro uma interface amigável para administração, não tenho problemas com linha de comando, simplesmente encontro meios mais úteis para investir meu tempo, além do que, me é muito mais agradável uma interface amigável do que a linha de comando, que por longos anos me acompanhou na administração de servidores dos mais diferentes tipos e sabores de SO.
Aqui vamos ver como administrar o servidor Linux de maneira remota, via navegador internet, com interface amigável, bonita e poderosa, de forma que mesmo que você necessite de linha de comando, pode usar via o navegador.

Mãos à obra então:

Meu servidor foi montado com o Ubuntu Linux Server 9.10, e baseado neste é que faremos esta explicação.
Primeiro, infelizmente o webmin não vem nos repositórios padronizados da distribuição do Ubuntu Server, você terá que instalar o dito cujo, e usar a linha de comando para isso, mas é muito fácil, veja abaixo:

  1. Cheque se você tem todas as bibliotecas para rodar o webmin, para fazer isto, digite o comando abaixo no prompt de comando:
    sudo apt-get instala perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl libmd5-perl
  2. É interessante você atualizar o repositório do APT:
    1. abra o arquivo de fontes de pacotes em /etc/apt/sources.list
    2. Adicione, no fim deste arquivo, as duas linhas a seguir:
      ## Repositório Debian Sarge do WebMin
      deb
      http://download.webmin.com/download/repository sarge contrib
  3. Atualize o APT, para isto digite o seguinte comando:
    sudo apt-get update

  4. Agora basta instalar o webmin, com o comando:
    sudo apt-get instala webmin
Depois de instalado o webmin estará disponível no diretório
/usr/share/webmin, os arquivos de configuração do webmin
junto com todos os módulos dele estarão em
/etc/webmin.

Pronto, para usar o webmin, basta digitar no seu
navegador:
https://<servidor>:10000
   10000 é a porta padrão de instalação do Webmin,
troque o <servidor> pelo nome do seu servidor
ou pelo endereço IP do mesmo.
Para acessar via internet, você deverá fazer um NAT no seu
roteador para direcionar as requisições na porta 10000 para o
servidor a ser administrado.
   Note que o protocolo padrão para acesso ao
webmin é HTTPS e não HTTP.
Nota: Quando você instalar o Ubuntu Server, o único editor de
textos que ele instala é o vi, que eu pessoalmente acho terrível,
desta maneira para editar o sources.list você pode usar o mcedit,
para instalar o mcedit, que é um editor bem melhor que o vi,
basta usar o apt-get, veja abaixo:
  sudo apt-get instala mc

sábado, abril 03, 2010

O futuro do combate ao câncer.

994-davis_micrograph_medium
Esta imagem de microscópio eletrônico mostra nano partículas entregando sua carga letal a células cancerosas.                                                [Imagem: Caltech/Swaroop Mishra] 

    Preste bem atenção, você está vendo acima o futuro do combate eficiente ao câncer, a qualquer tipo de câncer. Os pequenos pontos pretos na imagem acima são nanobots, robôs em escala de nanômetros, entregando uma carga letal para células cancerosas, e só para elas. Na verdade esta carga é um cavalo de tróia, ela irá matar a célula com câncer.
    A noticia mais incrível é que isso aí acima não é ficção, a primeira fase de testes em humanos foi um estrondoso sucesso, e o que é melhor ainda, sem efeitos colaterais.
     O exército de robôs anti-câncer foi criado no Instituto de Tecnologia da Califórnia (Caltech), pela equipe do Dr. Mark Davis. De acordo com o estudo publicado na prestigiada revista científica NATURE, a equipe do Dr. Davis desenvolveu uma maneira segura, limpa e eficiente de entregar sequencias de RNAi para células cancerosas, o RNAi é a sigla para Interferência ácida ribonucléica, uma técnica que ataca genes específicos de células malignas, desabilitando funções internas destas células e matando-as.
     É como um pequeno exércitos de ultra-eficientes e bem treinados agentes especiais, que se infiltram dentro da fortaleza do inimigo, sabotando-a e fazendo com que funções vitais desta fortaleza parem de funcionar, efetivamente levando estas estruturas à morte.
    Para quem é fã de ficção científica, deve se lembrar do Dr. Leonard McCoy da série Jornada nas Estrelas, no filme de 1986 intitulado “O Retorno à Terra”, quando ele injetava em um paciente em um hospital uma dose de nanobots para curar o paciente vitima de uma doença terminal, e resolvia o problema.
    Pois é, mais uma vez a ficção antecipa a realidade.


988-Davis_nanoparticle_schematic_medium

Os pequenos robôs de ataque tem o tamanho de 70 nanômetros, são feitos com 2 polímeros e 1 proteína, que se conecta na superfície das células com câncer, e só nestas.
    Estes pequenos robôs carregam uma peça de RNA chamada de siRNA, sigla para RNA de pequena interferência (small-interfering RNA), este é que desativa a produção de uma proteína nas células com câncer, efetivamente desencadeando a morte da célula.
    O melhor de tudo é que, depois de entregar sua carga letal para a célula cancerosa, o pequeno robô se desmonta, quebrando-se em partes inofensivas que são posteriormente eliminadas pelo corpo através da urina.
   Os pequenos exércitos de nanobots podem ser injetados no paciente via injeção intravenosa, dispensando procedimentos cirúrgicos extensos e caros, uma simples injeção no consultório basta para inserir os pequenos exércitos no campo de batalha, ou seja, no corpo humano.
   Tudo isso de forma eficiente, sem nenhum efeito colateral e preservando a qualidade de vida do paciente.
   Para saber mais, visite a página do estudo na CalTech (obs: a página está em inglês, abre em nova janela).

sábado, janeiro 09, 2010

Quando se morre…

vidaMorte2

Quando se morre realmente? Quando todas as funções vitais param? Quando os aparelhos já não marcam mais nada? Quando o biiiiiiiip continuo do monitor cardíaco soa?

Esta semana pensei muito sobre isso, e concluí que se pode morrer muito antes disso, se pode passar pela vida como um espírito arrastando um cadáver. O que me fez pensar sobre isso é que assisti uma entrevista de um sujeito de 35 anos de idade, que deve ter morrido lá pelos 27, senti muita dó pelo sujeito.

  • Se morre quando o tédio e a rotina já não suscitam mais revolta, apenas conformismo.
  • Se morre quando se tem muito mais respostas do que perguntas.
  • Se morre quando julgamos que apenas o que é antigo é que é bom e que o novo é só lixo, mas também se morre quando se acha que só o novo é que é bom e o antigo é que é só lixo.
  • Se morre quando se pensa que alguém que possua apenas metade da sua idade não pode ter nada para lhe ensinar, mas também se morre quando se acha que alguém com o dobro, ou mais, também não tem nada a ensinar.
  • Se morre quando as certezas suplantaram em muito as dúvidas.
  • Se morre quando se diz “eu te amo” apenas com a boca, e não mais com o coração.
  • Se morre quando o aperto de mão é apenas um gesto, e não um compromisso.
  • Se morre quando novos amigos deixam de acontecer.
  • Se morre quando se faz sempre o mesmo caminho, sem explorar novos lugares, novas cores.
  • Se morre quando o comodismo impede de fazer novos planos.
  • Se morre quando se ri cada vez menos, mas se lamenta cada vez mais.

   Enfim, se morre de muitas maneiras, ainda em vida, pode-se morrer um pouco a cada dia (como já escreveu João Cabral de Melo Neto), basta não viver, basta recusar-se ao mundo.

terça-feira, janeiro 05, 2010

É realmente uma vergonha!

microfone_email

    Todo mundo que trabalha em rádio e televisão sabe, microfone é um bicho prá lá de bandido, quando tudo o que você não quer é transmitir o que está falando, ele está lá, aberto, funcionando, esquecido e pronto para jogar para o mundo as besteiras que você falar perto dele.

   Bóris Casoy provou desta máxima ao apagar das luzes de 2009, em 31 de dezembro no encerramento do Jornal da Band, do qual ele é o âncora, dois garis de São Paulo aparecem, devidamente uniformizados, desejando um feliz 2010 ao povo brasileiro. Na volta do jornal, sem perceber que o áudio estava aberto para o mundo, Boris Casoy faz uma observação com um colega de bancada, para lá de preconceituosa: “Que merda… dois lixeiros desejando felicidades… do alto de suas vassouras… dois lixeiros… o mais baixo da escala do trabalho.

    O comentário do apresentador foi repugnante, as desculpas oferecidas e o comentário sobre as desculpas, foi pior ainda, melhor nem ter feito nada, demonstra que foram apenas desculpas protocolares, “para limpar a barra” por assim dizer, em uma entrevista à Folha de S.Paulo revela que na verdade ele apenas sente muito por o microfone estar aberto, não pelo comentário proferido, diz ele: “Foi um erro, vazou, era intervalo e supostamente os microfones estavam desligados.

    Porém tão repugnante quanto o comentário de Boris, são muitos dos artigos que estão sendo escritos condenando-o, uma grande maioria cheios das expressões preferidas dos pseudo-intelectuais e ofensas gratuitas, como “fascista” – nem ao menos esses escribas possuem a noção da exata dimensão deste termo, do contrário não o empregariam a torto e a direito. Até as críticas (justas, diga-se de passagem) que Bóris já fez ao governo Lula são desqualificadas e tratadas como recalque das elites (outro termo que estes escribas adoram usar, mas que empregam sem noção), usam o lamentável e infeliz episódio como se isso pudesse desculpar todos os desmandos, roubos e safadezas que a turma do PT, do mensalão e tantos outros safados já fez ao país, como se um único comentário infeliz apagasse todos os escândalos ocorridos na vida pública brasileira.

     Uma pequena amostra das críticas tão repugnantes quanto o fato em si: http://www.correiodobrasil.com.br/noticia.asp?c=161861 (destaque especial para os empregos de “fascistóide”, “colunistas elitistas”, “mídia hegemônica”, “oposição de direita”, “discurso raivoso”, “movimentos grevistas”, “posições imperialistas dos EUA”, e outras pérolas que pululam por todo o texto).

    Agora parece que o governo Lula e a quadrilha que infelizmente se instalou no poder devem ser desculpados de todos os roubos e desmandos, apenas porque um jornalista fez um comentário preconceituoso.

    Bem, eu não acredito nisso, e acho que uma grande parcela do povo brasileiro também não, assim como os benefícios das privatizações também não desculpam a farra e os escândalos que foi o apagar das luzes do governo FHC, um comentário infeliz de um jornalista não invalida as denúncias de corrupção e os escândalos do atual governo.

    Muito ainda hão de gritar contra as elites, os golpistas, e tantos outros termos que usam contra quem não concorda com os desmandos. Até porque no jargão destes pseudo defensores do povo, qualquer aglomerado de arruaceiros que se reúnam para tentar ir contra a propriedade privada ou os setores produtivos é chamado de “forças democráticas populares”, até os quadrilheiros facínoras do MST merecem destes pseudo-intelectuais desculpas (leia a íntegra do texto no link anterior), como se isso fosse possível.

O fato não se altera, Boris Casoy foi repugnante em seu comentário, mas também são repugnantes as invasões e assassinatos do MST, o mensalão, a roubalheira na saúde, nos orçamentos da união, a compra de votos por parte do governo, as mentiras de Lula e Dilma Roussef, o aparelhamento da máquina estatal pela quadrilha que lá se instalou (e não é só o PT), os dólares na cueca, o escândalo do mensalão de Brasília (este uma obra da oposição, provando que não precisa ser do governo ou do PT para fazer bandidagem neste país).

segunda-feira, janeiro 04, 2010

PRAZOS, PRAZOS – Como cumpri-los?

AQUA ICONS FOLDER SCHEDULED TASKS   Confesso, tenho um problema crônico com prazos, sou ruim com eles (já melhorei muito, eu era péssimo), principalmente em um área como TI, que é (mal) falada por conta do problema dos prazos.
      O que tenho feito é uma lista de tarefas, na mão mesmo, pois as do computador nenhuma funcionou para mim, sei lá por que motivo mas não funcionou. Divido as tarefas em:

  • URGENTES – são aquelas que vão te ferrar se não ficarem prontas, ou o cliente vai cancelar o serviço, ou você não vai receber e as contas vão atrasar, ou teu fígado vai ser saboreado cru pelo cliente, e que já estão atrasadas.
  • IMPORTANTES – São aquelas que se você não fizer vão te dar um problemão, tanto quanto as urgentes, mas ainda não estão atrasadas, ou seja, o garfo ainda não chegou no teu fígado.
  • NECESSÁRIAS – Aqui entram aquelas que você precisar fazer para ter alguma perspectiva de futuro (pagar a luz, aluguel, reunião com um prospect, evento para fazer contatos, etc.).
  • OUTRAS – São aquelas que você pode delegar para outras pessoas ou pode postergar por um longo período sem maiores consequências.

   Estou fazendo o seguinte, divido o dia em resolver 60% de urgentes, 25% de importantes (para que não se tornem urgentes), e divido os 15% restantes entre as necessárias e outras.

   Está dando certo, o meu problema agora é aprender a classificar as tarefas na categoria certa (rsss, nem tudo é perfeito no mundo né?). Mas não sei porque, mesmo eu sendo um cara de TI, de ter aversão à papel, só funcionou quando coloquei a lista no papel!!! Vai entender.

     O meu contador ficou feliz, disse que finalmente conseguiu fazer uma reunião comigo de mais de 30 minutos. Sinal de que as coisas estão melhorando (pelo menos para ele).

sábado, outubro 10, 2009

A desgraça cubana pelos cubanos.

yoani-sanchez

   A moça aí ao lado é Yoani Sanchez. Pois esta dona é cubana, nasceu, cresceu, foi educada, casou e (ainda) vive em Cuba, aquela ilhota dos irmãos Castro no Caribe.

   Para aqueles que ainda acham que a ilha dos Castro pode servir de bom exemplo para alguma coisa (acredite, tem gente que ainda acha isso), a moça dá um relato realista da situação por lá, sem as maquiagens e ideologias dos pseudo-intelectuais que acham que aquilo lá é uma maravilha (mas não estão dispostos a se mudar para lá e nos poupar de suas chatices né?), a entrevista dela nas páginas amarelas da Veja é um relato realista das precárias condições da ilha.

     Pois a dona aí recebeu vário prêmios por conta do seu blog que relata o dia-a-dia de Cuba, só que não pode recebe-los, pois sair da ilha nem pensar né?

   Mas para o Brasil ela pode vir, o Coma Andante da ilha pode ficar tranquilo, pois aqui temos alguns canalhas no poder que se encarregam de, covardemente, repatriar qualquer servo dos Castro que ouse tentar se livrar do jugo, como fez o Tarso Genro no caso dos Boxeadores Cubanos, de forma abjeta e vil.

   E, se você acha que não existem mais idiotas no mundo que acreditem que Cuba e Coréia do Norte (sim, aquela mesma do baixinho amalucado com cabelo punk) sejam paraísos na terra, você não conhece o povinho deste site aqui.

   Eu acho que esse povo que acha Cuba uma maravilha deveria se perguntar porque o povo quer fugir desesperado do paraíso, arriscando até virar comida de tubarão na travessia do golfo do México, seria por masoquismo???

terça-feira, agosto 25, 2009

DbTreeView no Delphi - JvDbTreeView

Bom, depois de apanhar um pouco para conseguir colocar para funcionar, aqui vai a dica de como fazer um plano de contas ser mostrado numa TreeView, no caso vamos usar a jvDbTreeView que é uma TreeView dbaware no Delphi.

Como vamos usar o componente na JVCL, aqui vai o link para baixar http://sourceforge.net/projects/jvcl/, é um excelente pacote de componentes, praticamente tudo que você precisar, acaba descobrindo que tem lá.

Criei a minha tabela no Firebird, a estrutura abaixo:

Campo Tipo Descrição
Cta_ID integer Numero da conta
Cta_Master integer Conta “pai”
Cta_Descricao Varchar(30) Nome da conta

Coloque um componente JvDbTreeView no formulário, conecte-o via a propriedade DataSource à tabela do banco de dados.

Ajuste as suas propriedades do JvDbTreeView como abaixo:
Obs.: No meu caso o dataSource chama-se dsPlanContas.

Propriedade Valor
DataSource dsPlanContas
DetailField Cta_Master
ItemField Cta_Descricao
MasterField Cta_ID

   Pronto, já está OK e pronto para funcionar.

A explicação das propriedades é a seguinte:
DataSource: Obviamente é a conexão à base de dados;

DetailField: É o campo que contém o valor que aponta para a conta pai.

ItemField: é o texto que vai aparecer na TreeView.

MasterField: é a chave única da tabela.

       Quem reescreveu o componente deve ter problemas sérios para atribuir nomes às propriedades, custei para conseguir entender, mas aí está o mapa da mina.

Abaixo um exemplo do que está no banco de dados:

Cta_Id Cta_Master Cta_Descricao
1 0 DESPESAS
2 1 DESPESAS FIXAS
3 2 PESSOAL
4 11 ALUGUEL
5 11 CONDOMINIO
6 0 RECEITAS
7 6 RECEITAS DIRETAS
8 3 CLT
9 3 FREES
10 2 CUSTOS DIRETOS
11 10 IMÓVEIS
12 1 DESPESAS VARIAVEIS
13 12 COMBUSTIVEIS
14 12 COMISSÕES
15 12 MATERIAL DE EXPEDIENTE
16 12 MANUTENÇÕES
17 12 EXAMES MÉDICOS

sábado, agosto 22, 2009

A volta da proposta de regulamentar a profissão no mercado de informática.

Bom, eu já escrevi diversas vezes, em newsgroups e fóruns sobre este tema, infelizmente nunca no blog. Vou sanar agora esta falha, para que o texto pelo menos fique registrado, e eu possa depois mencionar sem precisar reescrever tudo.

Em primeiro lugar, convém esclarecer que, caso seja aprovada a regulamentação da profissão, eu estaria dentro dessa reserva de mercado, portanto a minha posição nada tem de inveja (como alguns mais exaltados defensores dessa sandice propalam) ou outro sentimento, digamos… “menos nobre”.

Mas sou RADICALMENTE CONTRA a regulamentação da profissão de analista de sistemas, como também de outras como leiloeiro oficial (sim também querem regulamentar), flanelinha (acreditem, é verdade, veja aqui), capoeirista (duvida? então veja…), corretor de imóvel, contador, e várias outras.

Mas a discussão aqui é sobre analista de sistemas, aliás o próprio termo já é um tanto antigo e esta praticamente caindo em desuso, até porque as competências para construir um software como produto vão bem além disto.

Sou contra por várias causas, algumas:

- Regulamentação não é garantia de competência, o mercado já se encarrega de separar o joio do trigo, hoje vale muito mais uma certificação do que a regulamentação. Os defensores argumentam que software lida também com vidas humanas, como software de aviônicos, equipamentos hospitalares, usinas nucleares, etc.

   Oras, alguém pensa seriamente que a regulamentação fará alguma diferença nisso? Nenhuma empresa contrata um programador ou analista de sistemas para fazer software para incubadoras neo-natal por exemplo, isso é desenvolvido por empresas estabelecidas, com certificações CMM, ISO e por aí afora vai, o software tem que ser homologado e certificado, não interessa se o analista é diplomado ou não, o mesmo para softwares de avionica, para usinas e por aí afora vai.

   Pensam muitos que é necessário para frear a competição desmedida, que avilta os ganhos dos profissionais. Eu tenho a minha empresa de software, a competição no mercado é tanto com outras empresas quanto com profissionais independentes, eu não baixo o meu preço aquém do que considero justo e que minha planilha de custos mostra ser o razoável, e tem concorrentes no mercado cobrando 5% do meu preço final. Há mercado para eles e há mercado para a minha empresa também, tudo depende do cliente, e não será uma regulamentação que irá banir os camelôs de sistemas do mercado. Isso é competição, é concorrência, é saudável e bem vinda, graças à esta competição a qualidade aumentou (pelo menos a minha).

   Regulamentação é apenas reserva de mercado, e quem se beneficia disso, historicamente comprovado, são os incompetentes, vide a famigerada, nefasta e de triste lembrança, reserva de mercado de informática. Os bons profissionais, diplomados ou não, tem espaço no mercado, são disputados por empresas e pelo mercado. Apenas as empresas de fundo de quintal, ou a quitanda da esquina, e mesmo assim olhe lá, é que vão contratar o sobrinho do amigo do cunhado para fazer um programinha para controlar o estoque, esta é uma fase já passada, a realidade é outra.

    Hoje temos inclusive carência de bons profissionais no mercado, veja bem, de bons profissionais, profissionais diplomados ou não tem aos montes, mas qualidade é algo que anda raro, e é muito valorizada.

    Existem excelentes profissionais oriundos das faculdades, mas infelizmente existe também uma grande parcela que sai da faculdade sem noção de mercado, com parcas idéias teóricas, sem embasamento na realidade, sem falar nos que são incapacitados intelectualmente para exercer a profissão, e falo com conhecimento de causa, já perdi a conta de estagiários oriundos de várias faculdades que passaram pela empresa, e as estatísticas comprovam que mais de 80% não possuem condições mínimas para trabalhar, falta-lhes capacidade de raciocínio, ainda mais em uma área extremamente dinâmica como TI, aonde o conhecimento que tenho hoje é nada amanhã, temos que pesquisar, aprender, descobrir e manter-se em dia com as novas tendências e tecnologias, e esse ciclo se renova a cada semana, portanto não é um diploma que vai dar o estofo necessário para atuar nessa área.

    A regulamentação vai apenas onerar um pouco mais nossa atividade, com anuidades para conselhos, federações, e por aí afora vai, além de abrir um bom número de cargos para serem preenchidos por apaniguados políticos, e sustentados por nós.

    Um dos maiores entraves do Brasil é o custo trabalhista, e com a regulamentação estaremos burocratizando e onerando ainda mais uma área em que o dinamismo deveria operar. O que vai ocorrer é que grandes empresas de software, que hoje são grandes contratantes, vão acabar migrando a contratação de seus serviços para Índia, Paquistão, China, etc.

    Argumentam que só os relaxados, que nunca foram atrás de um diploma estão preocupados com isso. Bom, eu não me considero um relaxado, e como já expliquei no inicio do texto, eu estaria na turma dos “beneficiados”, mas discordo deste argumento, isso é uma desculpa esfarrapada de quem deseja ardentemente a regulamentação, para estabelecer uma reserva de mercado para si, ou por ter medo de encarar a competição do mercado, ou por comodismo mesmo.

    A regulamentação vai criar uma classe comodista, como já ocorre em algumas outras, e quem vai perder com isso é a sociedade como um todo, menos competição, menos desenvolvimento, preços maiores, enfim prejuízo para todos.

   Argumentam que os que “se acham competentes” mas não possuem diploma, que corram atrás do diploma, e que não precisam se preocupar com isso. É uma falácia, muitas vezes quem tem longa experiência e não é formado na área, não tem tempo de voltar para os bancos de uma faculdade.

   E quando se volta para os bancos de uma faculdade, chega a ser irritante o nível primário do corpo docente, que parece viver no mundo de Alice (com exceções é claro), com muito pouca noção de mercado, prazos, SLAs e como se produz software como produto.

   Com a quantidade cada vez maior de faculdades que não conseguem as notas mínimas, imagino o nível de profissionais que serão regulamentados, e com isso enganando o mercado. Sim, porque hoje o mercado sabe que existe tanto o picareta quanto o competente, mas com profissionais regulamentados, com a carteira na mão, muitos pensarão que isso será garantia de qualidade, o que não é.

    Sem falar que o legislador propõe regulamentar uma categoria que está em franca extinção. Não se faz mais software como produto apenas com Analista de sistemas e programadores, hoje precisamos das competências de um Engenheiro de software, um analista de negócios, e muitas outras competências, que vão muito além de um simples analista de sistemas.

   Então, eu não vejo nenhuma real vantagem para os profissionais e para o povo, em ter a profissão regulamentada e uma reserva de mercado, vejo isto sim uma tentativa de explorar o nosso bolso, criando mais um custo para bancarmos, além de proteção para os incompetentes que não conseguem se manter no mercado.