1 de abril de 2010

Google Wave agora é pra valer

Google afirma nesta quinta-feira que irá transportar todos os usuários do seu serviço de e-mail, Gmail, para a mais revolucionaria ferramenta criada pela empresa, Google WAVE.

Esta migração deverá afetar todos os usuários do Gmail e ocorrerá da mesma maneira que foi feita com o novo Orkut, onde usuários serão escolhidos pela empresa e poderão enviar convites para outros usuários, isso durante 3 meses e depois deste período todos os usuários serão migrados automaticamente.

Os especialistas afirmam que é uma ótima estratégia do Google, pois o Wave possui diversas ferramentas que revoluciona a forma de se comunicar pela WEB.

Caso deseja ser um dos primeiros a migrar sua conta do Gmail para o Google Wave acesse o link abaixo, onde também encontrará a reportagem completa.

Acesse o link

\º/ - primeiro post



Feliz 1º de Abril

30 de março de 2010

Java vs .NET

 Meio velinho esse texto mas vale apena ler!

Escrito por Paulo Krieser:

Prosseguindo com a sequência de colunas sobre as comparações entre linguagens de programação, neste artigo vamos comparar o Java ao .NET.

Antes que sigam as críticas, cabe esclarecer que o .NET não é uma linguagem, e sim uma plataforma da Microsoft que permite a utilização de diversas linguagens, como C#, Visual Basic, J# e ASP. Vamos focar então a comparação na construção de aplicações web, utilizando J2EE e o framework ASP NET da Microsoft, que é onde as duas linguagens mais competem.

Comecemos pela questão das licenças de uso, que influenciam diretamente no TCO (para referência aos fatores sendo comparados, consultar na minha coluna Fatores para Escolha da Linguagem de Programação). Apesar da Sun deter a marca Java, a mesma tornou a linguagem open source, permitindo aos usuários efetuar alterações convenientes. Para a plataforma .NET, existem algumas iniciativas free, como os projetos Mono e DotGNU. Porém, para se aproveitar todo o potencial da plataforma, é praticamente necessário se adquirir o servidor Microsoft juntamente com o ambiente de desenvolvimento Visual Studio. Sem estas ferramentas, além de não se aproveitar tudo o que se tem, a velocidade de desenvolvimento fica fortemente prejudicada. Além disto, nada na Microsoft é open source.

No item escalabilidade, as implementações das duas plataformas provêem mecanismos de balanceamento de carga, permitindo habilitar um cluster de máquinas para servir às cargas dos usuários que forem aumentando ao longo do tempo. A grande diferença entre o J2EE e o .NET é que desde que o .NET suporta apenas Win32, um número maior de máquinas se faz necessário, comparando ao J2EE, devido às limitações dos processadores.

Em um fator de extrema importância, como velocidade de desenvolvimento, o .NET leva grande vantagem. A sua IDE proprietária, o Visual Studio, é baseado em RAD (Rapid Application Development), aumentando a agilidade na construção de aplicações. O Visual Studio .NET inclui várias ferramentas interessantes em termos de produtividade, como por exemplo o Web Forms. Estima-se que um projeto criado do zero, leve-se de 10% a 20% menos tempo para entrar em produção quando desenvolvido em .NET.

O Microsoft .NET oferece independência de linguagem, permitindo os componentes serem escritos em VB.NET, C# e J#, por exemplo. Para fazer isto funcionar, o código-fonte nestas diferentes linguagens é traduzido para um código intermediário (análogo aos bytecodes do Java) chamado Microsoft Intermediate Language, abreviado IL. O Common Language Runtime (CLR), análogo ao JRE (Java Runtime Enviroment) do Java, interpreta o IL e traduz em código de máquina.

Com um conjunto de linguagens rodando sobre a plataforma .NET, os desenvolvedores diminuem a habilidade de compartilhar as melhores práticas, diminuindo a assertividade do compartilhamento de informações. Assim, especula-se que um conjunto de linguagens rodando em CLR pode levar a uma combinação de código espaguete que fica difícil de manter. Com a liberdade para se utilizar diversas linguagens, a aplicação torna-se mais complexa, necessitando de experts em diferentes linguagens, o que também faz aumentar o TCO e a entropia do sistema.

As duas tecnologias apresentam uma curva de aprendizado parecida, com a diferença de que o Java possui mais material para aprendizado na internet do que o .NET, que é proprietário e a principal fonte de conteúdo é o MSDN.

Analisando o último quesito, portabilidade, praticamente não há o que comparar. Como já dito na coluna anterior, o Java segue o princípio write once, run anywhere, permitindo executar as aplicações na virtual machine em praticamente qualquer ambiente. O .NET roda apenas no Windows, no seu hardware suportado, e no ambiente .NET. Há algumas implementações adicionais do .NET que rodam em outras plataformas, porém que não permitem o uso de todo o potencial do framework.

Concluindo a análise, a plataforma J2EE, possuindo uma interoperabilidade melhor, permite mais facilmente integrações com o legado através de web services e JCA (Java Connector Architecture) e uma maior facilidade de portabilidade, podendo rodar em qualquer sistema operacional. A grande vantagem do .NET é a sua incrível ferramenta de desenvolvimento, que incrementa bastante a velocidade na construção de aplicações. Porém, esta vantagem apresenta o custo das licenças de uso e de se ter uma plataforma proprietária e fechada, seguindo a iniciativa monopolística da Microsoft.

Para a escolha de qual tecnologia utilizar, deve-se analisar o que já se tem de legado e os skills da equipe que irá trabalhar no projeto, aproveitando os conhecimentos já existentes nas linguagens.

Não perca a próxima coluna, onde vamos comparar Ruby on Rails com PHP (vamos deixar o Java um pouco de lado).

Fonte : JavaFree.org

Tricampeão de concurso de hackers "detona" Apple e Microsoft


Tricampeão de concurso de hackers "detona" Apple e Microsoft

Segundo Charlie Miller, único a vencer três vezes o desafio Pwn2Own, as empresas não fazem coisas básicas na área da segurança.

Ele é capaz de, em alguns segundos, invadir computadores explorando as mais diversas plataformas. E não entende como empresas como Apple, Microsoft e Adobe, com muito mais dinheiro e equipe, não conseguem achar tantos bugs e fazer melhores produtos na área da segurança.

Único hacker a vencer três vezes a competição Pwn2Own, Charlie Miller descobriu, recentemente, 20 falhas no Mac OS, Office e Adobe Reader, com o uso de uma ferramenta simples (utilizada por desenvolvedores para testar bugs), que procura vulnerabilidades nos sistemas.

E afirma estar cansado da defasagem na área de proteção de sistemas.  “Nós encontramos um bug, eles corrigem. Isso não melhora a segurança do produto. Eles precisam investir direito na melhoria de seus programas”, afirma.
Algumas dessas brechas ele usou para invadir um MacBook com o Snow Leopard e navegador Safari e faturar 10 mil dólares na edição 2010 da competição de hackers.
Ele afirma que seu processo de busca de vulnerabilidades não tem nada de inovador. “Não precisa ser muito esperto. Faço  o trabalho básico e continuo achando problemas de segurança”, afirma.

Durante a conferência CanSecWest (na qual acontece o concurso de hackers), no Canadá, ele fez uma apresentação demonstrando como encontrar vulnerabilidades. E convidou Apple, Microsoft e outras empresas a ouvirem e usarem o que ele tinha a dizer.

Miller tomou a decisão de não compartilhar as informações sobre as vulnerabilidades que descobriu. Ele afirma que faz mais sentido ensinar as empresas a acharem essas brechas do que continuar a dar a eles o serviço pronto.

Fonte : MacWorldBrasil

25 de março de 2010

[Urgente] Apresentação, sábado agora do pradooo!

Para entregar no moodle até dia 27 às 12h

Preparar uma apresentação sobre métricas, considerando os pontos:
  1. O que são métricas de processo, projeto e produto?
  2. Quem são os responsáveis pela obtenção das métricas?
  3. Qual é a importância de se obter métricas?
  4. Como calcular algumas métricas?
  5. Qual é o produto do tabalho de obtenção de métricas?
  6. Como garantir que se tenha obtido métricas utilizáveis?
O contexto do trabalho é gerência de projeto de software. Portanto estude os capítulo 1 e 2 do material disponibilizado no AVA. O trabalho deve ser apresentado em sala de aula pela dupla. Cuidado com copie e cole. Posso utilizar o farejador de plágios.

22 de março de 2010

Petrobras inicia instalação do BrOffice neste mês e BB começa implantar software livre no banco Nossa Caixa

Petrobras inicia instalação do BrOffice neste mês

A Petrobras iniciou neste mês a instalação em todos seus computadores do pacote para escritório baseado em software livre BrOffice.org. Segundo informações da estatal, a instalação será feita em 90 mil computadores, atingindo cerca de 100 mil pessoas, e a previsão é que seja concluída em dois meses.

Segundo a coordenadora de projetos de tecnologia da informação da Petrobras, Márcia Novaes, além da economia que o software de código aberto trará para a empresa, o programa foi escolhido por já ter maturidade tecnológica suficiente para se adequar às necessidades da empresa. Ela conta ainda que também foi decidida a mudança do padrão interno de documentos para ODF, também baseado em padrão aberto e suportado pelo BrOffice.org.

Para que os funcionários se adaptem de forma mais rápida ao novo software, o analista líder do projeto na empresa, Gil Brasileiro, conta que a implantação será feita em três fases: a primeira será a instalação do BrOffice.org em todas as máquinas e avisar os funcionários da mudança, depois haverá uma campanha de estímulo ao uso do novo software e um treinamento dos usuários. Por fim, será feita a adequação das licenças dos outros programas instalados nos computadores da Petrobras, para que o programa de código aberto possa ser usado por todas as áreas da petrolífera.

Outro passo importante para a adoção do código aberto na empresa foi a escolha do navegador de internet Firefox, cuja implantação foi iniciada em 2008. Os computadores da Petrobras também já rodam o sistema operacional Linux.


Fonte: TI INSIDE


BB começa implantar software livre no banco Nossa Caixa


Com uma política de TI voltada para o uso preferencial de software livre, o Banco do Brasil anunciou que iniciou a implantação de software de código aberto no Banco Nossa Caixa, o qual adquiriu em 2008. Segundo a instituição financeira, o primeiro software a equipar as máquinas da Nossa Caixa será o pacote de escritório BrOffice.org, que possui funções equivalentes ao Office, da Microsoft. A suíte já foi instalada em mais de 16 mil estações da Nossa Caixa, o que possibilita também a edição de documentos no padrão aberto ODF (open document format).

O Banco do Brasil afirma que economia gerada com a adoção de software livre desde 2003 já ultrapassa R$ 100 milhões. A instituição usa Linux em mais de 80 mil estações de trabalho e 6 mil servidores de agências, enquanto o BrOffice.org está instalado em mais de 100 mil computadores.

Em comunicado, a companhia informa ainda que está equipando todo o parque de caixas eletrônicos com o sistema operacional Linux. O processo ainda está em andamento e no total irá equipar mais de 40 mil terminais. "Atualmente, mais de mil caixas eletrônicos híbridos – que atendem clientes do BB e da Nossa Caixa – operam com o sistema Linux", diz o Banco do Brasil.


Fonte
: TI INSIDE

15 de março de 2010

Kit do Brasileiro

KIT DO  BRASILEIRO
 
*Vai  transar?*
O governo dá  camisinha.







 


*Já transou?*
O  governo dá a pílula do dia  seguinte.



 
 
 

 




O*Teve  filho?*
O governo dá o Bolsa  Família.




 




*Tá  desempregado?*
O governo  dá Bolsa Desemprego.






 


*Não tem terra?*
O governo dá o Bolsa Invasão e ainda te  aposenta.
  

 







 








*Fez merda e foi preso?*

O governo dá o Auxílio Reclusão de $798,30 "por filho" para sustentar a família, já que vc não pode trabalhar para sustentar os filhos por estar preso.
Esse é  o maior dos absurdos !!!!





*Mas experimenta  estudar e andar na linha pra ver o que é que te  acontece!*
 









 










"Trabalhe  duro, pois milhões de pessoas que vivem do  Fome-Zero e do Bolsa-Família,  sem  trabalhar, dependem de  você" 

12 de março de 2010

Presentes

Este problema envolve determinar, de um grupo de amigos que estão se presenteando, quanto a mais cada pessoa dá do que recebe (ou vice-versa para aqueles que vêem presentear com cinismo).

Neste problema cada pessoa coloca de lado algum dinheiro para presentear alguns de seus amigos no grupo. Este dinheiro é dividido de forma igual entre todos os presentes que a pessoa dará.

Entretanto, em qualquer grupo de amigos, algumas pessoas são mais generosas que outras e algumas pessoas têm mais dinheiro que outras.

Dado um grupo de amigos, o dinheiro que cada um do grupo gastou com presentes, e uma (sub)lista de amigos que cada um presenteará, você deve escrever um programa que determina quanto a mais (ou a menos) cada pessoa do grupo deu do que recebeu. Note que o valor de todos os presentes dados são inteiros. Cada pessoa dá a mesma quantidade inteira de dinheiro a cada amigo que presenteia, e dá o máximo possível.

Entrada

A entrada é uma seqüência de grupos de pessoas. Cada grupo consiste de muitas linhas:

o número de pessoas no grupo,
a lista de nomes das pessoas do grupo,
uma linha para cada pessoa do grupo, com o nome desta pessoa, a quantidade de dinheiro que ela tem para presentear, o número de pessoas que ela presenteou e o nome dos amigos que ela presenteou.
Todo nome é formado por uma única palavra, só usa letras minúsculas e não possui mais que 12 letras. Dinheiro é um inteiro positivo menor que 2000. Todo grupo tem pelo menos uma pessoa. A entrada consiste de um ou mais grupos e é terminada por um 0.

Saída

Para cada grupo de amigos, deve ser impressa uma linha para cada pessoa do grupo. Cada linha deve conter o nome desta pessoa, seguido do ganho (ou perda) líquida da pessoa, ou seja, a diferença entre o que ela recebeu e o que deu. Os nomes em um grupo devem ser impressos na mesma ordem em que apareceram pela primeira vez na entrada.

A saída para cada grupo deverá ser separada do próximo grupo por uma linha em branco.

Exemplo

Entrada

5 dave laura owen vick amr dave 200 3 laura owen vick owen 500 1 dave amr 150 2 vick owen laura 0 2 amr vick vick 0 0 3 liz steve dave liz 30 1 steve steve 55 2 liz dave dave 0 2 steve liz 0

Saída

dave 302 laura 66 owen -359 vick 141 amr -150 liz -3 steve -24 dave 27

import java.util.Scanner;
import java.util.ArrayList;

/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/

public class Presentes {
public static void main(String Args[]){

// Instancia Variáveis
int numPessoas;
ArrayList<Pessoa> Pessoas = new ArrayList<Pessoa>();
Scanner input = new Scanner(System.in);

// Solicita o número de pessoas
System.out.printf("\nDigite o número de pessoas: ");
numPessoas = Integer.parseInt(input.next());

// Laço para solicitar o nome das pessoas e instanciar seus objetos
for(int i=0;i<numPessoas;i++){
System.out.printf("\nDigite o nome da %d pessoa: ", i);
String nome = input.next();
Pessoa pessoa = new Pessoa(nome);
Pessoas.add(pessoa);
}

// Laço para percorrer a lista de pessoas
for(Pessoa pessoa: Pessoas){
// Imprime o nome da pessoa corrente do laço
System.out.printf("\n%s", pessoa.getNome());

// Solicita o valor dado pela pessoa
System.out.printf("\nDigite o valor a ser presenteado: ");
int valor = Integer.parseInt(input.next());
// Atualiza o valor dado no objeto
pessoa.setValorDado(valor);

// Solicita o número de pessoas presenteadas
System.out.printf("\nDigite o número de pessoas que serão presenteadas: ");
int numPessoasPre = Integer.parseInt(input.next());

// Laço para solicitar o nome das pessoas presenteadas
for(int i=0;i<numPessoasPre;i++){

// Solicita o nome da pessoa presenteada
System.out.printf("\nDigite o nome da %d pessoa: ", i);
String nomePre = input.next();

// Laço para percorrer a lista de pessoas a procura da pessoa presenteada solicitada
for(Pessoa pessoaPre: Pessoas){
// Verifica se a pessoa corrente é a pessoa solicitada
if(pessoaPre.verificaIgualdade(nomePre)){
// Adiciona a pessoa aos presenteados
pessoa.addPresenteado(pessoaPre);
// Sai do laço
break;
}
}
}
}

// Laço para percorrer a lista de pessoas atualizando o valor recebido
for(Pessoa pessoa: Pessoas){
// Recupera a lista de presenteados da pessoa corrente
ArrayList<Pessoa> Presenteados = pessoa.getPresenteados();
// Recupera o valor do presente
int valorPre = pessoa.getValorPresente();
// Percorre a lista de presenteados atualizando o valor recebido de cada um
for(Pessoa presenteado: Presenteados){
// Atualiza o valor recebido da pessoa corrente
presenteado.ValorRecebido(valorPre);
}
}

// Laçp para percorrer a lista de pessoas imprimindo o seu saldo
for(Pessoa pessoa: Pessoas)
System.out.printf("\n%s = %d", pessoa.getNome(), pessoa.getSaldo());
}
}

// Classe Pessoa
// Guarda dados como nome da pessoa, valor dado, valor recebido e uma lista dos presenteados por ela
class Pessoa{

// Propriedades
private String Nome;
private int ValorDado;
private int ValorRecebido;
private ArrayList<Pessoa> Presenteados = new ArrayList<Pessoa>();

// Construtores
protected Pessoa(){
this.Nome = null;
this.ValorDado = 0;
this.ValorRecebido = 0;
}
protected Pessoa(String Nome){
this.Nome = Nome;
this.ValorDado = 0;
this.ValorRecebido = 0;
}
protected Pessoa(String Nome, int ValorDado){
this.Nome = Nome;
this.ValorDado = ValorDado;
this.ValorRecebido = 0;
}
protected Pessoa(String Nome, int ValorDado, ArrayList<Pessoa> Presenteados){
this.Nome = Nome;
this.ValorDado = ValorDado;
this.ValorRecebido = 0;
this.Presenteados = Presenteados;
}

// Métodos SET
protected void setNome(String Nome){
this.Nome = Nome;
}
protected void setValorDado(int ValorDado){
this.ValorDado = ValorDado;
}
protected void setPresenteados(ArrayList<Pessoa> Presenteados){
this.Presenteados = Presenteados;
}

// Métodos GET
protected String getNome(){
return this.Nome;
}
protected int getValorDado(){
return this.ValorDado;
}
protected ArrayList<Pessoa> getPresenteados(){
return this.Presenteados;
}

// Adiciona um novo presenteado na lista
protected void addPresenteado(Pessoa Presenteado){
Presenteados.add(Presenteado);
}

// Atualiza(Incrementa) o valor recebido pela pessoa
protected void ValorRecebido(int ValorRecebido){
this.ValorRecebido += ValorRecebido;
}

// Retorna o valor dado como presente para cada pessoa de sua lista
protected int getValorPresente(){
return ValorDado / Presenteados.size();
}

// Retorna o saldo da pessoa
protected int getSaldo(){
return ValorRecebido - ValorDado;
}

// Verifica igualdade de nome da pessoa
protected boolean verificaIgualdade(String Nome){
if(this.Nome.equals(Nome))
return true;
return false;
}
}

Números Piramidais

Os segredos das pirâmides vêm instigando cientistas e místicos há séculos, dando asas à imaginação das pessoas. Uma dessas curiosidades são os chamados números piramidais. Dizemos que um número inteiro é piramidal se for igual à soma de três números primos consecutivos. Assim, por exemplo, o número 15 é piramidal, pois 15 = 3 + 5 + 7 . O número 10 também é piramidal, já que 10 =2 + 3+ 5 . O número 23 é piramidal, pois 23 = 5 + 7 + 11 .

Neste programa você deverá receber uma seqüência de números inteiros maiores que 0, terminada por um zero, e deverá verificar se cada um dos números da seqüência é ou não piramidal.

Entrada

A entrada é composta por uma seqüência de números inteiros positivos, cada um maior que 0 e menor que 10000, cada um deles em uma linha. Na última linha haverá um zero.

Saída

Para cada linha da entrada você deverá imprimir uma linha na saída, colocando a mensagem O numero ... e piramidal ou O numero ... nao e piramidal. A linha com o número 0 não deve causar nenhuma impressão.

Exemplo:

Entrada:

15 7 6 97 0

Saída:

O numero 15 é piramidal O numero 7 não é piramidal O numero 6 não é piramidal O numero 97 é piramidal

/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/
package NumerosPiramidais;

import java.util.ArrayList;
import java.util.Scanner;

public class piramide {

public static boolean VerifPrimo(int n){
for (int i=2; i<n; i++) {
if (n%i == 0)
return false;
}
return true;
}

public static void main(String arg[]){

ArrayList<Integer> num = new ArrayList();
Scanner input = new Scanner(System.in);

int i=-1;
while (i!=0){
i=input.nextInt();
if (i<0)
System.out.println("Numero Invalido, Menor que Zero");
else
if (i>0)
num.add(i);
}

int [] tresPrimos = new int[3];
for (i=0;i<num.size();i++){
int numAtual = num.get(i);

tresPrimos[0]=tresPrimos[1]=tresPrimos[2]=0;

boolean piramidal=false;
int n=numAtual;
while (n>0){
if (VerifPrimo(n)){
tresPrimos[2]=tresPrimos[1];
tresPrimos[1]=tresPrimos[0];
tresPrimos[0]=n;

//Só verifica se é piramidal Se existir valores nos tresPrimos
if ((tresPrimos[0]>0)&&(tresPrimos[1]>0)&&(tresPrimos[2]>0)){
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])==numAtual){
n=0;
piramidal=true;
}
else
//se a soma dos 3 numeros for menor que o Numero então já para
if ((tresPrimos[0]+tresPrimos[1]+tresPrimos[2])<numAtual)
n=0;
}
}
n--;
}
if (piramidal)
System.out.println("O numero "+numAtual+" e piramidal");
else
System.out.println("O numero "+numAtual+" nao e piramidal");
}

}
}

Atividade 3 - Strings

Utilizando linguagem C, resolva os problemas abaixo.
Cadastre e armazene em uma matriz o NOME, CURSO e IDADE de 10 alunos.
Ordene crescentemente a matriz de acordo com os nomes.


#include <string.h>
#include <stdio.h>
#include <conio.h>

void main(void){

int i,j,k;
char matriz[3][10][30];
char temp[3][30];

for(i = 0; i < 3; i++)
{
printf("\nNome: ");
gets(matriz[0][i]);
printf("\nCurso: ");
gets(matriz[1][i]);
printf("\nIdade: ");
gets(matriz[2][i]);
}

for(i = 0; i < 3; i++)
{
for(j = 0; j < 2; j++)
{
if(strcmp(matriz[0][j], matriz[0][j+1]) > 0)
{
strcpy(temp[0], matriz[0][j]);
strcpy(temp[1], matriz[1][j]);
strcpy(temp[2], matriz[2][j]);

strcpy(matriz[0][j], matriz[0][j+1]);
strcpy(matriz[1][j], matriz[1][j+1]);
strcpy(matriz[2][j], matriz[2][j+1]);

strcpy(matriz[0][j+1], temp[0]);
strcpy(matriz[1][j+1], temp[1]);
strcpy(matriz[2][j+1], temp[2]);
}
}
}

for(i = 0; i < 3; i++)
{
printf("\n\tNome: %s", matriz[0][i]);
printf("\tCurso: %s", matriz[1][i]);
printf("\tIdade: %s", matriz[2][i]);
}

getch();

}

3 de março de 2010

PHP ARTE

PHP ARTE seu curso de PHP online completamente gratuito passo a passo. Semanalmente estaremos colocando aulas para vocês seguindo o conteúdo programático para que você não se perca. Nossa intenção não é corrigir seu script ou criar um script para você, mas sim fazer com que você aprenda a criar e corrigir seus próprios scripts.

2 de março de 2010

Os Fulanos no Programa do Jô

Os Fulanos no Programa do Jô

Para descontrair.
=p




kkkkkkkkkkkkkkkkkkkkk

Reportagem sobre segurança na rede WiFi doméstica

Reportagem sobre segurança na rede WiFi doméstica

 

Estava vendo uns blogs com assuntos relacionados a Segurança, e achei esse vídeo da globo, que explica usn pontos importantes para você ter sua rede Wi-Fi segura, para que não haja intrusos vendo e lendo seus assuntos particulares. 

Espero que gostem.






Fonte: http://anchisesbr.blogspot.com/2010/02/seguranca-reportagem-sobre-seguranca-na.html

A Escala do Universo!

Aê pessoal!
Hoje de manha recebi um e-mail com esse conteudo de uma comunidade de astrônomos amadores que eu participo, muito interessante, espero que apreciem.

"Entre outras mil coisas da para ver a escala de 0,0000001 mm que é a que a precisão limite para se polir e ajustar espelhos de telescopios."
(To pensando se ainda vo fazer o meu. xD)

Segue o link:

http://www.newgrounds.com/portal/view/525347

Flw até a proxima.

26 de fevereiro de 2010

O que Abadía e Hello Kitty têm em comum ?

O que Abadía e Hello Kitty têm em comum ?

Você nunca mais verá a Hello Kitty com olhos inocentes. A culpa é do traficante colombiano Juan Carlos Ramírez Abadía. Quando foi preso em São Paulo, em agosto do ano passado, os delegados da Polícia Federal ficaram intrigados com a quantidade de imagens da gatinha japonesa que ele guardava nos computadores. Eram quase 200 imagens, quase todas enviadas por e-mail.

A surpresa maior foi a descoberta de que a Hello Kitty não era só uma Hello Kitty. Havia mensagens de voz e de texto escondidas nas imagens. Algumas delas podem mudar o destino de Abadía no Brasil: elas contêm ordens para movimentar cocaína entre países e para sumir com pessoas na Colômbia, segundo análise feita pelo DEA, a agência antidrogas dos EUA. Para os americanos, Abadía continuou a comandar o tráfico na Colômbia mesmo após se mudar para o Brasil.

A mulher de Abadía, Yessica, é fanática por Hello Kitty. Um dos quartos da casa em que ela vivia em Aldeia da Serra (Grande SP) tinha cadeiras, relógios e papel de parede da Hello Kitty.

O DEA ajudou a PF porque o Brasil não teria toda a tecnologia necessária para fazer a investigação. A técnica de computação usada para esconder uma mensagem de voz em uma imagem é conhecida como esteganografia. A Al Qaeda utilizou essa técnica para preparar os atentados de 2001.

Hello Kitty não era o único disfarce para as ordens de Abadía. Algumas mensagens continham fotos de crianças.

As ordens podem mudar a situação de Abadía no Brasil porque ele é réu num processo em que é acusado de lavagem de dinheiro, formação de quadrilha e falsificação de documentos.

A eventual comprovação de que ele continuou a comandar o tráfico a partir do Brasil pode levar o procurador-geral da República, Antonio Fernando Souza, a rever o parecer favorável à extradição do colombiano.

Caso fique provado que Abadía traficou no Brasil, o pedido feito pelos EUA ao Supremo Tribunal Federal poderá ser negado. Toda a argumentação pró-extradição é baseada na hipótese de que Abadía não praticou crimes graves no Brasil.

Nos Estados Unidos, o traficante é acusado de tráfico internacional e de ter ordenado a morte de 15 pessoas. A pergunta óbvia é: se ele praticou os mesmos crimes no Brasil, por que mandá-lo para os EUA?

Pesa na balança pró-extradição a informação de que Abadía enviou toneladas de cocaína para os EUA, o que lhe rendeu uma fortuna de US$ 1,8 bilhão, segundo estimativa do DEA.

Há outros indícios de que Abadía continuou a comandar o Cartel do Vale do Norte, na Colômbia, depois que chegou ao Brasil, em 2004, vindo de veleiro da Venezuela. Esse cartel é considerado pelos EUA como o mais poderoso da Colômbia.

A agência antidrogas dos EUA diz ter registros de que três aviões de Abadía foram abatidos na Colômbia, México e Caribe entre 2005 e 2007, quando ele vivia no Brasil. Cada um dos aviões abatidos transportava de duas a quatro toneladas de cocaína, segundo a agência. A tonelada é vendida por US$ 3 milhões nos EUA.

Os aviões derrubados haviam sido comprados no Brasil por Abadía, de acordo com os policiais americanos. Todos registram passagens pelo Campo de Marte, em São Paulo.

Os agentes citam o depoimento do próprio Abadía à Justiça para reforçar a informação de que os aviões eram comprados no Brasil. Abadía contou que o piloto André Luiz Telles Barcellos, que trabalhava para ele, comprou no Brasil um King Air B90, posteriormente vendido ""para um terceiro na Venezuela". O King Air cumpre um dos requisitos do narcotráfico: pousa em pistas de terra. Outro avião que o traficante teria usado era o Gulfstream G1.

Barcellos confirmou que levou o avião à Venezuela. A PF não pediu detalhes à Venezuela sobre a suposta venda.

O DEA acusa o presidente Hugo Chávez, da Venezuela, de ser conivente com o narcotráfico. Chávez, que expulsou o DEA do país, diz que os americanos usavam o tráfico como pretexto para espionar.
.
Fonte: Folha de São Paulo

Problemas A e B

Copa do Mundo


import java.util.Scanner;
import java.util.ArrayList;

/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/

public class Copa {
public static void main(String Args[]){
Scanner input = new Scanner(System.in); // Instacia classe scanner para ler as entradas do usuário
ArrayList<Jogo> Jogos = new ArrayList<Jogo>(); // Instancia um arraylist do objeto Jogo
int qtdTms = 1; // Quantidade de Times
int numPar = 1; // Quantidade de Partidas
boolean flag; // Flag de validação de entrada do usuário

System.out.printf("Copa\n\n");

// Faz a repetição até que a quantidade de times e pastidas sejam 0(zero)
while((qtdTms != 0) && (numPar != 0)){

flag = false;
// Faz repetição até que a quantidade de times e partidas sejam válidos
while(!flag){
// Tenta executar o código
try{
// Faz a leitura dos dados entrados pelo usuário
qtdTms = Integer.parseInt(input.next());
numPar = Integer.parseInt(input.next());

// Faz validações sobre os dados entrados pelo usuário
if(((qtdTms >= 2) && (qtdTms <= 200) && (numPar >= 0) && (numPar <= 10000)) || ((qtdTms == 0) && (numPar == 0)))
flag = true;
else
System.out.printf("Digite novamente a quantidade de times e partidas!\n");
// Se der algum erro na execução do código, envia mensagem para digitar novamente
}catch(Exception e){
System.out.printf("Digite novamente a quantidade de times e partidas!\n");
}
}

// Verifica se os dados são válidos para executar o programa
if((qtdTms != 0) && (numPar != 0) && (flag = true)){
// Instancia uma nova classe Jogo
Jogo Jogo = new Jogo(numPar);

// Faz repetição do número de times entrado pelo usuário
for(int i=0;i<qtdTms;i++){
String nomTme = "";
int sldGol = 0;

flag = false;
// Faz repetição até que o nome do time e o seu saldo sejam válidos
while(!flag){
// Tenta executar o código
try{
// Faz a leitura dos dados entrados pelo usuário
nomTme = input.next();
sldGol = Integer.parseInt(input.next());

// Faz validações sobre os dados entrados pelo usuário
if(nomTme.length() <= 10)
flag = true;
else
System.out.printf("Digite novamente o nome do time e seu saldo!\n");
// Se der algum erro na execução do código, envia mensagem para digitar novamente
}catch(Exception e){
System.out.printf("Digite novamente o nome do time e seu saldo!\n");
}
}

// Instancia uma nova classe Time passando por parametros os dados entrados pelo usuário
Time Time = new Time(nomTme, sldGol);

// Adiciona ao Jogo o novo time criado
Jogo.addTime(Time);
}

// Adiciona ao arraylist de Jogo o novo Jogo criado
Jogos.add(Jogo);
}
}

// Percorre Todos os jogos criados
for(Jogo Jogo:Jogos){
// Faz o cálculo para ver quantos empates teve o jogo
int empates = (3 * Jogo.getQtdPartidas()) - Jogo.getSaldoGols();
// Imprime a quantidade de Empates
System.out.printf("\n%d", empates);
}
}
}

// Classe Jogo
// Propriedades: ArrayList de Time e Quantidade de Partidas
class Jogo {
private ArrayList<Time> Times = new ArrayList<Time>();
private int qtdPartidas;

// Construtores
protected Jogo(int qtdPartidas){
this.qtdPartidas = qtdPartidas;
}
protected Jogo(ArrayList<Time> Times, int qtdPartidas){
this.Times = Times;
this.qtdPartidas = qtdPartidas;
}

// Métodos SET
protected void setJogo(ArrayList<Time> Times){
this.Times = Times;
}
protected void setQtdPartidas(int qtdPartidas){
this.qtdPartidas = qtdPartidas;
}

// Métodos GET
protected int getQtdPartidas(){
return qtdPartidas;
}
protected ArrayList<Time> getJogo(){
return Times;
}

// Métodos para adicionar um time ao jogo
protected void addTime(Time Time){
Times.add(Time);
}

// Método que retorna o saldo de gols do Jogo
protected int getSaldoGols(){
int saldo = 0;
// Percorre todos os times do Jogo recuperando seu saldo de gols
for(Time Time: Times){
saldo += Time.getGols();
}
return saldo;
}
}

// Classe Time
// Propriedades: Nome do time e Saldo de Gols
class Time {
private String Time;
private int Gols;

// Construtor
protected Time(String Time, int Gols){
this.Time = Time;
this.Gols = Gols;
}

// Métodos SET
protected void setTime(String Time){
this.Time = Time;
}
protected void setGols(int Gols){
this.Gols = Gols;
}

// Métodos GET
protected String getTime(){
return Time;
}
protected int getGols(){
return Gols;
}
}


Suco de Acerola


import java.util.Scanner;
import java.util.ArrayList;

/* Membros do Grupo
* Alberto Felipe Dias Rodrigues
* Leandro Hossaki Mielli
* Fernando Costa
*/

public class Suco {
public static void main(String Args[]){
Scanner input = new Scanner(System.in); // Instacia classe scanner para ler as entradas do usuário
ArrayList<Quantidade> Quantidades = new ArrayList<Quantidade>(); // Instancia um arraylist do objeto Quantidade
int Amigos = 1; // Quantidade de Amigos
int Frutas = 1; // Quantidade de Frutas
boolean flag;; // Flag de validação de entrada do usuário

System.out.printf("Suco\n\n");

// Faz a repetição até que a quantidade de amigos e frutas sejam 0(zero)
while((Amigos != 0) && (Frutas != 0)){

flag = false;
// Faz repetição até que a quantidade de amigos e frutas sejam válidos
while(!flag){
// Tenta executar o código
try{
// Faz a leitura dos dados entrados pelo usuário
Amigos = Integer.parseInt(input.next());
Frutas = Integer.parseInt(input.next());

// Faz validações sobre os dados entrados pelo usuário
if(((Amigos >= 1) && (Amigos <= 1000) && (Frutas >= 1) && (Frutas <= 1000)) || ((Amigos == 0) && (Frutas == 0)))
flag = true;
else
System.out.printf("Digite novamente o número de amigos e frutas!\n");
// Se der algum erro na execução do código, envia mensagem para digitar novamente
}catch(Exception e){
System.out.printf("Digite novamente o número de amigos e frutas!\n");
}
}

// Verifica se os dados são válidos para executar o programa
if((Amigos != 0) && (Frutas != 0) && flag == true){
// Adiciona ao arraylist de Quantidade a nova Quantidade criada
Quantidades.add(new Quantidade(Amigos, Frutas));
}
}

// Percorre Todas as quantidades criadas
for(Quantidade Quantidade:Quantidades){
// Faz o cálculo de qunatos litros cada amigos irá obter
float litros = (float) (Quantidade.getFrutas() * 0.05);
float qtd = litros/Quantidade.getAmigos();
// Imprime a quantidade de litros
System.out.printf("\nLitros = %.2f", qtd);
}
}
}

// Classe Quantidade
// Propriedades: Quantidade de Amigos e Frutas
class Quantidade {
private int Amigos;
private int Frutas;

// Construtor
protected Quantidade(int Amigos, int Frutas){
this.Amigos = Amigos;
this.Frutas = Frutas;
}

// Métodos SET
protected void setAmigos(int Amigos){
this.Amigos = Amigos;
}
protected void setFrutas(int Frutas){
this.Frutas = Frutas;
}

// Métodos GET
protected int getAmigos(){
return Amigos;
}
protected int getFrutas(){
return Frutas;
}
}

25 de fevereiro de 2010

Mundo Globalizado? Onde? Cadê?



Manila, Filipinas

 

O.o

Mundo globalizado!

EUA identificam autor de código de ataque ao Google

Os EUA acreditam que um homem ligado ao governo chinês tenha escrito grande parte do código de ataque usado contra o Google no ano passado, de acordo com o Financial Times. Segundo os analistas do governo norte-americano, trata-se de um indivíduo, na casa dos 30 anos, que publicou partes do programa num fórum de hackers. 
 
O criador de spyware, que afirmou estar «a desenvolver» o programa, trabalha como freelancer e não foi ele a lançar o ataque, mas disponibilizou-o às autoridades chinesas, que tinham «acesso especial» ao código, avança o jornal, que cita um investigador não identificado do governo dos EUA.

«Se ele queria ter pesquisas nos campos em que é melhor, precisa de seguir as instruções do governo de vez em quando», ironizou, acrescentando que o hacker «preferiria não ter sujeitos de uniforme a vigiar tudo o que ele faz, mas não há forma de alguém com as suas competências escapar a isso». Apesar de tudo, a reportagem não explica como é que os EUA descobriram as ligações do cibercriminoso à China.

Este é o mais recente episódio do conflito que opôs o Google e os EUA à China, que exerce um controlo apertado sobre a Internet e os cibernautas. Em Janeiro, o motor de buscas norte-americano ameaçou sair do mercado chinês e encerrar o seu portal no país, devido a queixas de censura e ataques sofisticados, alegadamente praticados por hackers chineses. Washington pediu então a Pequim para investigar as denúncias.


24 de fevereiro de 2010

Atividade 1 - Matrizes

Utilizando linguagem C, resolva os problemas abaixo. Entregue as respostas separadamente até o dia 19/02 as 23:55h

1- Calcular a determinante de uma matriz 4x4 através do método de Sarrus.


#include <stdio.h>
#include <math.h>
#include <conio.h>

int calcSarrus(int matriz[4][4], int coluna);

void main(void)
{

int matriz[4][4];
float dt;
int linha, coluna;

clrscr();

for(linha = 0; linha < 4; linha++){
for(coluna = 0; coluna < 4; coluna++){
printf("\nEntre com o valor de [%d][%d]: ", linha, coluna);
scanf("%d", &matriz[linha][coluna]);
}
}

printf("\nMatriz:\n");
for(linha = 0; linha < 4; linha++){
for(coluna = 0; coluna < 4; coluna++){
printf("\t[%d]", matriz[linha][coluna]);
}
printf("\n");
}

dt = 0;
for(coluna = 0; coluna < 4; coluna++){
dt += matriz[0][coluna] * pow(-1,(0+coluna)) * calcSarrus(matriz, coluna);
}

printf("\nValor da Determinante: %.0f", dt);

getch();

}

int calcSarrus(int matriz[4][4], int coluna){
int i, j, x, y, dt;
int m_temp[3][5];

x = 0;
y = 0;

for(i = 1; i < 4; i++){
for(j = 0; j < 4; j++){
if(j != coluna){
m_temp[x][y] = matriz[i][j];
if(y < 2)
m_temp[x][y+3] = matriz[i][j];
y++;
}
}
y = 0;
x++;
}

dt = (m_temp[0][0] * m_temp[1][1] * m_temp[2][2]) + (m_temp[0][1] * m_temp[1][2] * m_temp[2][0]) + (m_temp[1][1] * m_temp[1][0] * m_temp[2][1]) - (m_temp[0][0] * m_temp[1][2] * m_temp[2][1]) - (m_temp[0][1] * m_temp[1][0] * m_temp[2][2]) - (m_temp[0][2] * m_temp[1][1] * m_temp[2][0]);

return dt;

}


2- Resolver um sistema de duas equações a duas incógnitas através do método de Cramer.


#include <stdio.h>>
#include <conio.h>

void main(void)
{
int a1=0, a2=0, b1=0, b2=0, c1=0, c2=0;
float x,y,d,dx,dy;

clrscr();

printf("\na1: ");
scanf("%d", &a1);
printf("\nb1: ");
scanf("%d", &b1);
printf("\nc1: ");
scanf("%d", &c1);
printf("\na2: ");
scanf("%d", &a2);
printf("\nb2: ");
scanf("%d", &b2);
printf("\nc2: ");
scanf("%d", &c2);

d = (a1 * b2) - (a2 * b1);
dx = (c1 * b2) - (c2 * b1);
dy = (a1 * c2) - (a2 * c1);

if (d != 0.0){
x=(dx / d);
y=(dy / d);
}

printf("\nX: %.2f", x);
printf("\nY: %.2f", y);

getch();

}

22 de fevereiro de 2010

Ataques ao Google podem ter partido de instituições chinesas de ensino

E ai mais um capítulo do combate (Guerra) entre Google x Crackers Chineses ( ou quem sabe, o governo chiêns) O.o

Ataques ao Google podem ter partido de instituições chinesas de ensino

Por IDG News Service

Publicada em 19 de fevereiro de 2010 às 10h57
Investigação aponta que uma universidade e uma escola de vocação estão envolvidas nos ataques, que teriam começado em abril de 2009.
Especialistas em segurança investigaram os ataques feitos ao Google e outras empresas dos Estados Unidos e concluíram que computadores de instituições educacionais chinesas podem estar envolvidos, de acordo com relatos da mídia dos EUA.

Os ataques podem ter começado em abril, disseram fontes anônimas envolvidas na negociação ao jornal New York Times. O Google revelou em janeiro que seus sistemas foram atacados, mas disse que o começo dos eventos foi em dezembro.

As instituições supostamente envolvidas são a Universidade Shanghai Jiaotong e a Escola Vocacional Lanxiang, segundo o New York Times.

Crackers, porém, frequentemente disfarçam a identidade mandando comandos por diversos computadores até alcançarem o alvo. Assim, mesmo que investigações mais aprofundadas sustentem os resultados citados, elas podem não apontar para o envolvimento de chineses no ataque, já que a trilha pode ir além disso. Investigadores ainda trabalham com uma série de teorias, de acordo com o New York Times.

O Google anunciou em janeiro que crackers tentaram entrar em contas do Gmail de ativistas de direitos humanos na China. Durante a investigação, a empresa descobriu que companhias dos Estados Unidos de internet, finanças, tecnologia, mídia e químicas também foram atacadas.

19 de fevereiro de 2010

Inscrição em Disciplinas

Horário de Atendimento: Segundas, Quartas e Sextas (18h-19h) Campus Urbanova


INSCRIÇÃO EM DISCIPLINAS: TODOS OS ALUNOS DEVEM PREENCHER O FORMULÁRIO DE INSCRIÇÃO EM DISCIPLINA E ENTREGAR NO TUDO AQUI ATÉ 26 DE FEVEREIRO. SEGUE DOIS MODELOS:

- FORMULÁRIO PARA PREENCHIMENTO MANUAL

- FORMULÁRIO PARA PREENCHIMENTO DIGITAL

OBS: NO FORMULÁRIO DEVE CONSTAR TODAS AS DISCIPLINAS QUE DESEJA CURSAR NESTE SEMESTRE COM TODAS AS INFORMAÇÕES CORRETAS (CÓDIGO, NOME, TURMA E TURNO).