sexta-feira, 31 de maio de 2013

Camarão com Creme de Requeijão Acid Eaters


Essa receita estava guardada a alguns meses é bem fácil e rápida de fazer... é o Camarão com Creme de Requeijão Acid Eaters (em homenagem ao Ramones).
Então.. Hey ho let's Go !!

Itensbacklog - Ingredientes:

  • 500g Camarão sem casca.
  • 1/2 Cebola
  • 4 dentes de Alho
  • 2 Limões
  • Coentro
  • Cebolinha
  • Pimenta do Reino a gosto
  • Sal a gosto
  • Azeite
  • 120g Requeijão
  • 100g Creme de Leite

Modo de Preparo:
Sprint 1 - Tempero:

Mamífero! Tempere o camarão com o sal, a pimenta do reino, o coentro e cebolinha, o suco  dos limões e deixe descansar por uns 15min.

Sprint 2 - Esquentando o bucho no fogão:

Pique a cebola e os dentes de alho e leve ao fogo para dourar no azeite. 
Agora após os 15min de descanso pegue o camarão(o suco com o tempero tbm) , e coloque na panela para fritar junto com a cebola e o alho que foram dourados.

Sprint 3 - Creme + Requeijão:

Após alguns minutos fritando o camarão, adicione o Requeijão e o Creme de Leite, e deixe ferver um pouco.

Sprint 4 - Hora de matar a fome:

Agora ta valendo!! Um arroizim e bata palha para acompanhar.... Abra um vinho, e deguste-os!



quinta-feira, 30 de maio de 2013

Java Swing Drag and Drop - dnd

Depois da loucura nunca vi uma porra dessas que foi Newell's Old Boys 10 x 9 Boca Jr  nos penaltis, o chocolate que o Nautico levou e da amarelada do Florminense, estou nos acréscimos do meu dia, rindo e postando uma dica de Drap and Drop com Java.
É muito simples! Estou usando um JList habilitando o seu DRAG, e o JTable associado com DropTarget  para receber a String arrastada da JList.

package com.blogspot.receitastecnologicas.dnd;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.dnd.DropTarget;
import java.awt.dnd.DropTargetDropEvent;
import java.util.ArrayList;
import java.util.List;

import javax.swing.AbstractListModel;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.DropMode;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
import javax.swing.table.DefaultTableModel;

public class DragAndDrop extends JFrame {

 /**
  * 
  */
 private static final long serialVersionUID = 1L;
 private AbsModel listModel = new AbsModel<>();
 private JTable table;
 private DefaultTableModel tableModel;
 JList listDrag;

 public DragAndDrop() {
  super("DnD - Receitas Tecnologicas");
  listDrag = new JList(listModel);
  listDrag.setFocusable(false);
  listDrag.setDragEnabled(true); // habilitando o Drag
  listDrag.setBorder(BorderFactory.createLoweredBevelBorder());
  /***
   * @TODO NÃO USE DefaultTableModel - USE AbstractTableModel
   */
  tableModel = new DefaultTableModel(new Object[] { "TO DO", "DONE" }, 10);
  table = new JTable(tableModel);
  table.setRowHeight(48);
  // table.setEditingColumn(2);
  table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  table.setDropMode(DropMode.INSERT);
  
  //O javadoc já diz tudo: Associate a DropTarget with this component. The Component will receive drops only if it is enabled.
  table.setDropTarget(new DropTarget() {
   @Override
   public synchronized void drop(DropTargetDropEvent dtde) {
    try {
     Point point = dtde.getLocation();
     int column = table.columnAtPoint(point);
     int row = table.rowAtPoint(point);
     table.addRowSelectionInterval(row, row);
     table.addColumnSelectionInterval(column, column);
     // inserindo na tabela
     String text = (String) listModel.getElementAt(listDrag
       .getSelectedIndex());
     tableModel.setValueAt(text, table.getSelectedRow(),
       table.getSelectedColumn());
    } catch (Exception e) {
     e.printStackTrace();
    }
    super.drop(dtde);
   }
  });

  JPanel panel = new JPanel();
  panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
  JPanel wrap = new JPanel();
  wrap.add(new JLabel("Selecione e Arraste:"));
  wrap.add(listDrag);
  panel.add(Box.createHorizontalStrut(4));
  panel.add(Box.createGlue());
  panel.add(wrap);
  panel.add(Box.createGlue());
  panel.add(Box.createHorizontalStrut(4));
  getContentPane().add(panel, BorderLayout.NORTH);

  JScrollPane sp = new JScrollPane(table);
  getContentPane().add(sp, BorderLayout.CENTER);

  getContentPane().setPreferredSize(new Dimension(500, 500));
 }

 public static void main(String[] args) {
  SwingUtilities.invokeLater(new Runnable() {
   public void run() {
    UIManager.put("swing.boldMetal", Boolean.FALSE);
    DragAndDrop dragAndDrop = new DragAndDrop();
    dragAndDrop.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    dragAndDrop.pack();
    dragAndDrop.setVisible(true);
   }
  });
 }
}

@SuppressWarnings("hiding")
class AbsModel extends AbstractListModel {
 /**
  * 
  */
 private static final long serialVersionUID = 1L;
 List list = new ArrayList();

 public AbsModel() {
  list.add((String) "Sarapatel");
  list.add((String) "Buchada");
  list.add((String) "Rabada");
  list.add((String) "Carne de Sol com Macaxeira");
  list.add((String) "Pirão");
 }

 @Override
 public int getSize() {
  // TODO Auto-generated method stub
  return list.size();
 }

 @Override
 public String getElementAt(int index) {
  // TODO Auto-generated method stub
  return list.get(index);
 }

}

quarta-feira, 1 de maio de 2013

Ubuntu 13.04 Não abre algumas páginas (facebook, youtube, globo, etc)

Amigos do bacurau , recentemente foi lançado o Ubuntão 13.04 que é bom pra carambolas e percebi que algumas páginas(facebook, youtube, globo, etc) não estavam sendo carregadas em nenhum browser, pesquisei um  pouco e achei uma solução simples, alterar o MTU.
MTU, que significa Unidade Máxima de Transmissão, e refere-se ao tamanho do maior datagrama que uma camada de um protocolo de comunicação pode transmitir.(wiki).
Vamos lá:
Click no ícone de sua conexão de rede, depois selecione a opção Editar Conexão. Selecione sua conexão e edit o MTU de automático para 1400. Pronto!! Você ja poderá acessar os sites normalmente...

créditos para o pessoal aqui:  http://ubuntuforum-br.org/index.php?topic=105230.0

quarta-feira, 24 de abril de 2013

Notebook CCE, Virtualização, VT-X - Como resolver

Mamíferos!! o suporte da CCE é uma desgraça!! Comprei um notebook Onix 7810B+ core I7, e quando fui instalar maquinas virtuais 64bits, ... que maravilha... o suporte VT-X  estava desabilitado e não era possível habilita-lo. Confirmei isso com o software Hardware-Assisted Virtualization Detection Tool da microsoft.


Pois bem, entrei em contato com o suporte (30min de espera, sendo o primeiro da fila) e recebi uma notícia que precisaria levar o notebook a uma autorizada para eles resolverem o problema. Como eu já tinha pesquisado e visto que alguns modelos da CCE (IRON 745 e outros) estavam com esse problema, e que vários clientes estavam detonando a cce no reclame aqui: RECLAME AQUI CCE . Pedi que me disponibiliza-sem uma Bios que resolve-se esse problema, pois ja tinha visto em alguns forums, a resolução disso fazendo uma downgrade (mas não queria arriscar).

Como eles são mais lentos que os correios, eu resolvi arriscar e instalar uma versão antiga da bios. A placa mãe é uma Phoenix com a versão da bios 2.09 e instalei a versão 1.09, seguindo os seguintes passos:

OBS: NÃO ME RESPONSABILIZO POR ALGUM PROBLEMA QUE VENHA A APARECER!!!

  1. Faça o Download aqui e extraia para c:\Temp;
  2. Entre em modo Administrador: (iniciar digite cmd,  clique com o botão direito e depois clique em executar como administrador e quando o prompt do DOS abrir.  Digite: << net useradministrador /active:yes >> e presciona <ENTER>. Deve exibir uma mensagem comando executado com sucesso. Feche e efetue logoff.
  3. Entre na conta de administrador (agora sim esta dentro da conta de administrador real).
  4. Após estar logado como administrador, vá na pasta onde os arquivos foram extraídos e execute o arquivo "F.cmd".
  5. Aguarde a conclusão do backup e do downgrade da bios,  reinicie o notebook, e carregue as configurações default no setup.

Na minha maquina, a opção VT-x mesmo assim não era visivel, porém executando o programa 
 Hardware-Assisted Virtualization Detection Tool ele detectou o suporte ativo a VT-x.

Fiz o teste com o virtual box e consegui instalar SO 64bits.

Já que agora a virtualização esta funcionando, vamos desativar o Administrador:

Faça logof da conta ADMINISTRADOR, entre na sua conta normal de usuário, digite CMD no iniciar, clique com o botão direito em cima do cmd , clique em executar como administrador.
No prompt do DOS digite o seguinte:<<net user administrador /active:no>> e prescione <ENTER>
PRONTO JÁ DESATIVOU O ADMINISTRADOR

Obs: o detalhe que para desativar o administrador, você deve estar na conta de usuário, porque se você desativar dentro do usuário administrador, esse vai ficar desativado para sempre, ou até que a formatação o repare...(palavras e dicas do meu amigo Seba).

    sexta-feira, 12 de abril de 2013

    Configurando o Apache MAVEN - Windows e Linux


    Olá mamíferos!!! Neste post iremos mostrar como configurar a ferramenta Maven. \0/ \0/ \0/
    Para quem não conhece o Apache Maven é uma ferramente de gestão e compreensão de projetos de software, que pode gerir desde a sua criação até sua implantação em um servidor.
    Sua configuração é baseada no conceito de Project Object Model (pom.xml), onde são declaradas todas as dependências do projeto. O Maven tem como uma de suas característica, a analise das dependências declaradas e a automação de fazer o download das mesmas a partir de um repositório.
    Mais detalhes http://maven.apache.org/

    Bem, para configurar o maven precisamos somente fazer o download dos arquivos em http://maven.apache.org/download.html, e extrair em um diretório da sua escolha. Eu utilizei a unidade D:. Agora copie o caminho da pasta (D:\Apache-maven-3.0.5) , e agora crie as novas variáveis ambiente da seguinte forma:

     Após criar as variáveis, edite a variável Path, e no final do valor adicione: ;%M2%;
     Concluído o processo de criação de variáveis, abra o prompt e digite o comando: mvn -version  e você deve receber uma mensagem semelhante a da figura a baixo:

    Pronto você ja tem o Maven funcionando!!
    Para usuarios linux

    $ apt-cache search maven
    $ sudo apt-get install maven
    Testando a instalação:
    $ mvn -version
    ...
    e se tudo estiver certo, vai aparecer:
    Apache Maven 3.0.4
    Maven home: /usr/share/maven
    Java version: 1.7.0_07, vendor: Oracle Corporation
    Java home: /usr/lib/jvm/java-7-oracle/jre
    Default locale: pt_BR, platform encoding: UTF-8
    OS name: "linux", version: "3.2.0-38-generic", arch: "amd64", family: "unix"
    
    

    quarta-feira, 27 de março de 2013

    Windows Server 2008 - Conhecendo e instalando


    A presente postagem tem o objetivo de fazer uma breve introdução ao sistema operacional da Microsoft – Windows Server 2008. Apresentando seus requisitos mínimos para execução, versões do mesmo e por fim o processo de instalação.


    REQUISITOS MÍNIMOS
    Corresponde as necessidades básicas/mínimas de hardware que o sistema operacional necessita para ser executado. No caso do não cumprimento dessas exigências, há a possibilidade de falhas de execução, intermitência de serviços, paralisações ou simplesmente à não execução do sistema operacional. Os problemas decorrente do não cumprimento dos requisitos mínimos geram perda de tempo, consequentemente gastos operacionais, reflete falta de atenção e planejamento, além de ressaltar em mau qualidade da prestação de serviço.
    O ideal é sempre se reportar ao fabricante para obter informações sobre os requisitos mínimos necessário para a instalação de qualquer software, seja ele um aplicativo ou um sistema operacional. Mais adiante são apresentados os requisitos mínimos para instalação do Windows Server 2008, fornecidos no site da Microsoft. Obtenha mais informações em: http://technet.microsoft.com/pt-br/windowsserver/bb414778.aspx.


    Fonte: http://technet.microsoft.com/pt-br/windowsserver/bb414778.aspx.





    VERSÕES
    Para evitar a subutilização de recursos, gastos e implementações desnecessárias é que existe versões diferentes do sistema operacional, objetivando atender da melhor forma possível as necessidades do usuário/empresa. Para o Windows Server 2008, foram desenvolvidas várias versões, são elas:
    • Windows Server 2008 Standard: direcionado para empresas de pequeno e médio porte;
    • Windows Server 2008 Enterprise: direcionado para empresas de grande porte;
    • Windows Server 2008 Datacenter: direcionado para grandes empresas.
    • Windows Server 2008 Standard/Enterprise/Datacenter - Core: todas as versões anteriormente citadas possuem uma versão Core. Nessas versões Core a interação é toda via linha de comando, o que reduz consumo dos recursos, implicando em um sistema um pouco mais leve, e seguro.
    Maiores informações sobre as versões do Windows Server 2008, segue duas fontes para consulta:


    INSTALAÇÃO
    É possível obter a versão para avaliação do Windows Server 2008 no site da Microsoft. Com o instalador em mão, é possível fazer a instalação direto na máquina física via CD ou pendrive. E para aqueles que preferem realizar teste via máquina virtual, basta utilizar o instalador convertido em arquivo .iso.


    Inicialmente os arquivos de instalação serão carregados, como mostra a figura abaixo:

    Fonte: próprio autor.
    Nessa etapa é possível escolher o idioma, hora e configurações do teclado. Interessante observar a configuração correta para o teclado que estiver usado, nesse link é possível obter dicas para fazer essa identificação. Vale lembrar também que essas configurações podem ser alteradas após a instalação do sistema operacional. Depois das opções escolhidas, clique em avançar.

    Fonte: próprio autor.

    Clique em instalar agora.

    Fonte: próprio autor.

    Selecione a versão que mais se adequa as necessidade do ambiente que deseja administrar/gerenciar e depois clique em avançar. Caso tenha dúvidas sobre as versões, volte ao início desse post e faça uma releitura.

    Fonte: próprio autor.

    O correto é que seja lido todos os termos da licença de uso do sistema, essa é uma informação válida para todo e qualquer software. Depois marque a opção: aceito os termos da licença. E prossiga clicando em avançar.

    Fonte: próprio autor.
    Há duas opções de instalação:

    • Atualização: utilizado quando já existe um sistema operacional na máquina e deseja-se apenas fazer uma atualização de versão deste, ou seja, mantém arquivos.
    • Personalizada (avançado): utilizado nos casos em que se deseja fazer a instalação pela primeira vez do sistema operacional na máquina ou formatação, ou seja, não mantém arquivos.
    Obs.: em todos os casos deve-se fazer backup dos arquivos.


    Fonte: próprio autor.

    Nessa etapa é possível visualizar o tamanho do HD da máquina e criar partições, se desejado. Caso não haja interesse em fazer partições do HD, basta prosseguir clicando em avançar. Do contrário clique em opções de unidade (avançadas).

    Sabendo que o particionamento é uma boa prática, é que neste post será feita uma demonstração desse procedimento.

    Fonte: próprio autor.

    Perceba que outras opções passaram a ser apresentadas.
    Para criar uma partição no HD clique em novo.

    Fonte: próprio autor.

    Você informará qual o tamanho desejado para a criação da partição. Vale lembrar que a primeira partição será a unidade C: onde o sistema operacional será instalado. Deve-se considerar também que a partição onde será instalado o sistema operacional deve dispor de no mínimo 8 GB conforme a informação disposta no início deste post em requisitos mínimos. Depois de definir o tamanho da partição clique em aplicar.

    Fonte: próprio autor.

    Depois do procedimento anterior, será apresentada a partição criada.

    Obervações:

    • Caso tenha interesse em estender uma partição, basta selecionar a partição que deseja aumentar, clicar em estender, e informar o tamanho total que deseja para essa partição a partir de agora (nesse caso é necessário que haja espaço em disco não alocado).
    • Para excluir uma partição, basta seleciona-la e clicar em excluir.
    • Caso tenha interesse em criar outras partições, basta continuar criando-as no espaço ainda não alocado.
    • Sugiro que essas experimentações sejam feitas.

    Depois das partições criadas, prossiga em avançar.

    Fonte: próprio autor.

    Agora é só esperar o sistema ser instalado. Haverá um momento em que a máquina será reiniciada, mas prosseguirá a fase final da instalação.

    Fonte: próprio autor.

    Em seguida deverá clicar em ok, para atribuir uma senha ao usuário administrador do sistema, que possuirá esse nome por padrão.

    Fonte: próprio autor.

    Informe a senha que deseja atribuir ao usuário administrador e em seguida confirme-a digitando-a novamente. Tecle enter ou clique na seta para concluir.

    Fonte: próprio autor.

    Será retornada a mensagem de que a senha foi alterada. Clique em Ok para prosseguir.

    Fonte: próprio autor.

    E por fim seja muito bem-vindo a área de trabalho do Windows Server 2008.

    Fonte: próprio autor.

    Espero que possa ter contribuído com esse post, e mais configurações sobre o Windows Server 2008 serão postadas posteriormente.

    Bons estudos!











    terça-feira, 19 de março de 2013

    Entendendo um pouco sobre virtualização



    Para realizar uma abordagem mais explicita do que é a virtualização, é interessante fazer uma breve reflexão do que se entende por máquina e como ela atende as solicitações do usuário. É normal que um usuário comum enxergue a máquina como simplesmente um equipamento que atenda as suas solicitações, e não deveria ser diferente, o objetivo é fornecer o máximo possível de praticidade em sua utilização, sem que esse venha a ter a necessidade de conhecimentos técnicos e complexos sobre o funcionamento do hardware.
    Segundo Lowe (2009), um computador compreende do trabalho em conjunto do hardware e software. Em outras palavras, o hardware e software não trabalham separadamente, pelo contrário, eles são ligados e dependentes um do outro. Como já é esperado, em nível de hardware um computador possui vários componentes, como Central Processing Unit (CPU), memória, disco rígido, entre outros elementos. Agora em se tratando de software o computador requer um sistema que tenha a capacidade de gerenciar todos os recursos que o mesmo tenha a sua disposição e o torne prático de utilizar.
    Tanenbaum (2009) comenta que o sistema computacional é visto como uma série de camadas partindo da mais complexa (inferior) para a mais amigável (aplicativos). Nesse sistema hierárquico em camadas, quem se encontra na camada mais baixa é o hardware com todo o seu nível de complexidade a ser compreendido pelo sistema operacional que vem logo a acima, e mais adiante os programas de interação com o usuário e os softwares aplicativos como ilustrado na figura apresentada abaixo.

    Sistema computacional em camadas

    Ao lado esquerdo da figura são indicados dois modos de operação para os softwares, o primeiro equivale ao Modo Núcleo designado para o sistema operacional e para os demais softwares o Modo é Usuário. Tanenbaum (2009) diz ainda que no Modo Núcleo a CPU disponibiliza todas as instruções que pode executar, por outro lado no Modo Usuário são disponibilizados apenas um subconjunto das instruções que o mesmo pode executar. A diferenciação entre os modos de operação acontece porque o sistema operacional é um gerenciador de todos os recursos do hardware, funcionando como uma ligação entre os softwares do usuário e o hardware propriamente dito.
    Quando o usuário solicita, por exemplo, salvar um arquivo, o software usuário por si só nada faz, apenas envia uma requisição ao sistema operacional o qual interage com o hardware solicitando que esse por fim atenda ao pedido. Mas enquanto o usuário continua a utilizar o computador, o mesmo usa muito pouco da capacidade dos recursos disponíveis nesse equipamento, principalmente nos dias de hoje em que dispomos de máquinas cada vez mais robustas até mesmo para uso doméstico.
    Lowe (2009) explica que para compreender a ociosidade dos computadores é preciso saber os conceitos sobre Hertz (Hz). Um Hz é um cliclo de algo a cada segundo. O segundo ponteiro do relógio desloca-se na verdade de um tique por segundo. Cada movimento é um ciclo completo, portando o segundo ponteiro opera na velocidade de um ciclo por segundo ou 1 Hz.
    Associando a abordagem de Lowe e a ociosidade dos computadores, suponhamos que um usuário digite um caractere por segundo o que corresponde a 8 bits, equivalendo a uma velocidade de 8 bits por segundo ou ainda 8 Hz.
    Alegando que o processador do computador do usuário em questão tenha a capacidade de processar ao menos um bilhão (1.000.000.000) Hz, ou seja, 1 GHz, o mesmo estará usando apenas 0,000000008% dos seus recursos disponíveis.
    Sabendo da ociosidade das máquinas e como ocorre à interação homem-máquina, é chegada a hora de questionar o que pode ser feito para melhorar ainda mais a interação, otimização e eficiência dos recursos computacionais?
    Daí eis que surge o conceito de virtualização em meados de 1965 despertada pela ideia de compartilhamento de tempo entre os processos e mais ainda em 1972 quando a International Business Machines (IBM) produziu um Mainframe com capacidade de executar simultaneamente vários sistemas operacionais sendo esses controlados por um programa chamado de hypervisor.
    Inicialmente a experiência em virtualização não obteve muita demanda diante dos custos exorbitantes dos equipamentos, sem falar que pouco mais adiante foi posta no mercado a Arquitetura Cliente/Servidoro que influenciou o consumo de equipamentos com menos capacidade de processamento, menor custo e podendo trabalhar interconectados independentes de sua localização geográfica por meio dos sistemas distribuídos e VPN.
    O que trouxe a virtualização a ser retomada com tanto afinco nos dias de hoje, foi uma consequência da prática do padrão de utilização de máquina com apenas uma finalidade, esse procedimento é usado com o intuído de diminuir as possibilidades de falhas entre os softwares da mesma, o que pode comprometer os serviços disponíveis na rede. Lowe (2009) afirma que a prática de um serviço por máquina continuou porque ela limita os efeitos das falhas e as interrupções em um único aplicativo. Tendo por consequência a subutilização dos recursos computacionais, incentivando a indústria e retomar o foco em serviços direcionados a virtualização.
    A virtualização consiste em separar o hardware do software, a Virtual Machine (VM) é constituída da combinação entre aplicativos e o sistema operacional, sendo levada a pensar que possui um hardware próprio, quando na verdade esse é compartilhado com outras máquinas.
    Com a virtualização a máquina passa a usar melhor seus recursos computacionais, podendo serem executadas várias VMs e cada uma fornecendo um serviço diferente na rede. Caso uma VM venha a falhar, apenas o serviço disponibilizado por essa será paralisado e as demais permanecem funcional como se nada houvesse ocorrido, sem falar que a recuperação de problemas passa a ser resolvido em curto prazo.
    Além de resolver drasticamente os problemas envolvendo ociosidade, redução de custo com hardware e tempo de recuperação de falhas, a virtualização traz outros benefícios como economia em contratos de manutenção, refrigeração e energia, além disso, diminui o espaço físico, pois uma mesma máquina pode virtualizar várias outras, ou seja, mesmo ocupando o espaço físico de uma única máquina ela poderá servir  como várias máquinas virtuais, ficando as desvantagens presa apenas ao hardware onde as VMs estão alocadas, caso não haja redundância e backups para as mesmas.


    Referências bibliográficas: 


    LOWE, William J. VMware Infrastructure 3 para leigos. 1 ed. Rio de Janeiro: Alta Books, 2009.

    TANENBAUM, Andrew S. Sistemas Operacionais Modernos. 3 ed. São Paulo: Pearson, 2009.