Skip to content

Category: Uncategorized

Grupo da Caravana Campus Party Fortaleza

Já está rolando uma organização cearense para irmos para o Campus Party em Fevereiro.

Foi criado um Google Groups para discutir os detalhes operacionais, o endereço é:

http://groups.google.com/group/caravana_campusparty_fortaleza

O evento já está chegando, vamos correr para conseguir organizar tudo a tempo! Se você também quer ir para a maior festa tecnóligica do mundo, junte-se a nós.

Café com Tapioca de Dezembro

O evento do Café com Tapioca desse mês foi realizado dentro da UFC, no auditório da geografia. A palestra principal foi Teste unitário com JUnit com o Fabrício Lemos.



Na foto um segurança da Planop, vários estiveram transitando por perto para garantir a segurança do evento. Alguns dias antes eu havia entregue um ofício solicitando um esquema de segurança.

Quase virei a noite terminando os preparativos e acordei e cheguei bem cedo no campus. Uma chuva pesada caiu logo no inicio do dia mas felizmente logo parou.



Muito cedo da manhã o auditório já estava funcionando e o coffee break já estava encaminhado. O pessoal do departamento da Geografia foi muito gentil e me ajudou muito nos detalhes da organização.

O PET Computação possibilitou o nosso coffee break, a eles o meu muito obrigado.



Delícia…

Foram tapiocas, salgadinhos, café, café com leite, bolos, torradas e refrigerantes. Um belo e farto coffee break.

As 8 horas da manhã algumas pessoas já começavam a chegar. Por volta de 9 horas servimos o coffee break.


Suando a camisa?

Em seguida começamos a palestra do Fabrício Lemos.

Depois da palestra do Fabrício foi o meu primeiro Tech Demo como embaixador da Sun.

Silveira Neto
Olha eu ali no fundo. Foto gentilmente cedida pelo Handerson Frota

Infelizmente as coisas não saíram como planejadas, me restou muito pouco tempo para a palestra e o notebook não funcionou corretamente durante minha apresentação. O mouse não funcionava nem nos slides nem no Netbeans, o que comprometeu completamente a apresentação.

Tudo bem, são coisas que acontecem 🙂 Na próxima oportunidade eu já devo estar com o meu próprio notebook e ter uma variável a mais sobre meu controle.

Houve o sorteio de vários brindes, os brindes da Sun que eu já havia comentado e também vários brindes que o cejug trouxe, assinaturas da Java Magazine, um boné da Sun, etc. Acho que todo mundo conseguiu sair com algum brinde.

Outra coisa, pela lista de presença, a contagem foi de 52 participantes.


Alimentos arrecadados que serão encaminhados pelo CEJUG para uma instituição carente.


Pelo feedback que tivemos, o evento foi um sucesso e eu estou muito feliz que tenha dado tudo certo. Eu espero que em 2008 o evento se fortaleça ainda mais e possa voltar a UFC.

Eu pretendo refazer o tech demo em janeiro dentro da UFC. Provavelmente janeiro vai ser bem agitado porque eu vou fazer os techdemos de Netbeans, Sun Academic Initiative e algum outro tema, talvez JavaFX. Também há o convite para que eu refaça o demo no próximo café com tapioca, que já está marcado.

Até lá.

Observações:

  1. Os slides que eu usei estão aqui.
  2. Eu estou fazendo alguns screencasts com o conteúdo que eu iria apresentar. O primeiro já está no ar aqui.
  3. O restante das fotos que eu tirei estão aqui.

Métodos Numéricos para resolução de sistemas lineares

Seja um sistema

Sistema

podemos escreve-lo na forma matricial A·x = b

Matriz sistema

onde:

  • A é a matriz de coeficientes,
  • x é a matriz de incógnitas,
  • b é a matriz de termos independentes.

Triangular superior: Se tivermos a forma matricial A’·x = b, onde A’ é uma matriz triangular superior

matriz triangular superior

Logo xn = bn/an,m . Com xn em mãos podemos achar xn-1 e assim por diante.

O método de Gauss para resolução de sistemas lineares e os outros métodos derivados deste, tentam transformar o sistema A·x = b em um sistema equivalente A’·x = b onde A’ é uma matriz triangular superior.

Métodos Numéricos para zeros reais de funções reais

Um resumo de revisão sobre métodos numéricos para zeros reais de funções reais. Como é um resumo não há nenhuma dedução desses métodos.

Isolamento: para um f(x) contínuo no intervalo [a,b] tal que f(a)·f(b) < 0 e que ε ∈ [a,b], onde ε é tal que f(ε) = 0.

Métodos de zeros reais de funções reais: o objetivo é encontrar um valor x o mais próximo possível de ε.

  • Escolhemos um intervalo [a,b] tal que ε∈[a,b] e f(a)·f(b) < 0.
  • No passo k encontramos uma aproximação xk (como obter essa aproximação varia de acordo com o método e é feito usando o valor da iteração anterior).
  • Fazemos um teste de parada. Se |xk+1-xk | < Ea ou f(xk) < Eb, paramos. Os valores de Ea e Eb são dados pelo problema.

Método da bisseção:

  • Iteramos fazendo biseção
  • Na próxima iteração escolhemos um novo intervalo
    • Se f(x)·f(b) < 0, então escolhemos o mesmo b e fazemos a ← x.
    • Se f(a)·f(x) < 0, então escolhemos o mesmo a e fazemos b ← x.

Método do ponto falso:

  • No passo k achamos uma aproximação ponto falso
  • Na próxima passo escolhemos novos valores para a ou b da mesmo forma que fizemos no método da bisseção.

Método do ponto fixo:

  • Encontramos uma função de iteração φ(x) tal que φ(x) = x + A(x)·f(x) com a condição que em ε, ponto fixo de φ(x), se tenha A(ε) ≠ 0.
  • xk+1 = φ(xk).

Método de Newton-Raphson:

  • Método de Newton-Raphson
  • Para que o método convirja
    • φ(x) e φ'(x) devem ser contínuas no intervalo [a,b] escolhido.
    • |φ'(x)| ≤ M < 1, ∀x ∈[a,b].

obs: Como newton-raphson é necessário calcular derivadas analiticamente, há uma boa tabela de derivadas na Wikipédia aqui.

Método da Secante:

  • Aplicamos o método de newton-raphson mas usando uma aproximação para a derivada
    Secante

Screencast: Novidades no editor do Netbeans 6.0

Continuando minhas aventuras no mundo dos screencast eu preparei mais um mostrando algumas das novidades no editor de código-fonte do Netbeans 6.0.

Esse screencast cobre o que eu consegui mostrar no café com tapioca de dezembro e eu ainda quero fazer outros mostrando o Matisse (editor gráfico do NB) e o Collaboration (pluggin multiusuário).

Makingoff: Eu usei o Istambul, uma ferramenta para captura de screencasts no Linux. Infelizmente eu ainda não estou conseguindo gravar áudio com ele. Depois eu converti de ogg pra flv com o memcoder e usei o Flash Media Player para criar a página que toca o vídeo.

Brindes da Sun

Chegou de surpresa uma caixona recheada de brindes aqui em casa. A Sun me mandou vários brindes e veio bem na hora do Café com Tapioca que acontece nesse sábado. Eles serão sorteados lá e para participar você deve se inscrever e estar presente no evento.

Esses são os itens:

  • Kits de dois DVDs com várias ferramentas da Sun.
  • Chaveiros do OpenSolaris.
  • Canetas da Sun.
  • Livros “Introdução a Sistemas Operacionais” do OpenSolaris, ZFS e DTrace.

Esse chaveiro é bem legal. Ele é um chaveiro e também um abridor de garrafas! Ideal para várias situações :p

Muito bonita essa. Ela tem uma ponta (tinta preta) que se retrai com um botão de deslize no meio. Do outro lado há um marcador de texto laranja.

No primeiro DVD:

  • NetBeans IDE 5.5.1
  • NetBeans Visual Web Pack 5.5.1
  • NetBeans Profiler 5.5.1
  • NetBeans Mobility for CLDL 5.5.1
  • NetBeans Mobility for CDC 5.5.1
  • NetBeans C/C++ Development Pack 5.5.1 update 1
  • Java Application Platform SDK Update 3 Preview 2
  • Sun Web Developer Pack Release 2
  • Java Plataform Standard Edition 6 Update 2
  • Sun Java Wireless Toolkit 2.5.1 for CLDC
  • Sun Training
  • Sun Support

No segundo DVD:

  • Sun Studio 12
  • Sun HPC ClusterTools 7
  • Sun Training
  • Sun Support

Junto com os DVDs vem também esses 5 adesivos.

Além desses brindes o CEJUG também vai sortear também:

Só lembrando: inscreva-se e participe do evento!

Quem mais comenta no seu blog?

Uma brincadeira de mão na massa com SQL e as tabelas do WordPress.

Logomarca do WordPress

Você vai precisar de:

  • Um blog em WordPress num servidor próprio.
  • Uma lugar onde você possa se conectar ao banco de dados (provavelmente o MySQL). Um terminal SSH no seu servidor ou mesmo o PhpMyAdmin servem.

Se você tiver acesso por SSH no servidor onde está seu blog, chame o prompt do mysql assim:

$ mysql -u USUÁRIO -p -h URL_DO_BANCO DATABASE

Trocando USUÁRIO por seu login no mysql, URL_DO_BANCO por a url do seu banco (geralmente 127.0.0.1) e DATABASE por a base de dados (geralmente wordpress). Em seguida será perguntada a sua senha.

Uma vez conectado dentro do seu banco de dados você pode executar algumas queries legais.

Os 10 maiores comentaristas do seu blog: você seleciona da wp_comments (a tabela de comentários do WordPress) selecionando só os nomes e agrupando pelo email do autor e fazendo uma contagem que chamados de quantidade. Também é feito uma ordenação usando o campo contagem. Aqui eu supondo que a pessoa sempre coloque seu próprio email, mas as vezes mude o nome, o que realmente acontece.

SELECT comment_author AS autor, COUNT(*) AS quantidade
   FROM wp_comments
   GROUP BY `comment_author_email`
   ORDER BY quantidade DESC
   LIMIT 10
;

Usando isso lá no banco de dados do eupodiatamatando.com que tem uns 3 mil comentários, deu o seguinte:

+---------------------------------------------+------------+
| autor                                       | quantidade |
+---------------------------------------------+------------+
| Silveira                                    |        511 |
| 2007 Janeiro 21 » Eu Podia Ta Matando       |        174 |
| Kct                                         |        133 |
| Filho                                       |         91 |
| Dora                                        |         83 |
| Leonardo                                    |         67 |
| manero                                      |         58 |
| Esdras                                      |         52 |
| Marlany                                     |         51 |
| Roney Marques                               |         50 |
+---------------------------------------------+------------+
10 rows in set (0.12 sec)

Ou seja, em primeiro lugar deu eu mesmo, com 511 comentários. Em segundo, o próprio blog com seus pingbacks. O maior comentarista mesmo foi o comentarista que se identifica como Kct.

Os 10 posts mais comentados: É necessário fazer uma junção entre a tabela dos comentários (wp_comments) e a tabela dos posts (wp_posts) usando o ID do post.

SELECT wp_posts.post_title, COUNT(*) AS quantidade
   FROM wp_comments JOIN wp_posts
   ON wp_comments.comment_post_ID = wp_posts.ID
   GROUP BY wp_posts.ID
   ORDER BY quantidade DESC
   LIMIT 10
;

A saída que eu tive:

+-----------------------------------------+------------+
| post_title                              | quantidade |
+-----------------------------------------+------------+
| Sobre o vôo 3054                        |        104 |
| Chegou o boneco do Capitão Nascimento!  |         80 |
| Vamos trocar links?                     |         74 |
| O celular Linux já está a venda         |         64 |
| O Que o Emo disse pra Ema?              |         57 |
| Bichos grandes. Falsificações?          |         46 |
| Esse ainda tem muito pra upar           |         45 |
| Entenda Heroes                          |         42 |
| Aqui pro iPhone!                        |         40 |
| Ganhe créditos de graça no celular      |         39 |
+-----------------------------------------+------------+
10 rows in set (0.11 sec)

Qual o post você mais comentou: Basta colocar um WHERE e pegar o autor que você quer, no caso, Silveira (eu). Eu coloquei um limite de 10, para pegar só os 10 posts que eu mais comentei.

SELECT wp_posts.post_title, COUNT(*) AS quantidade
    FROM wp_comments JOIN wp_posts
    ON wp_comments.comment_post_ID = wp_posts.ID
    WHERE wp_comments.comment_author = 'Silveira'
    GROUP BY wp_posts.ID
    ORDER BY quantidade DESC
    LIMIT 10
;

O resultado no meu blog foi:

+---------------------------------------------+------------+
| post_title                                  | quantidade |
+---------------------------------------------+------------+
| Vamos trocar links?                         |         20 |
| Regnum, RPG online gratúito                 |         11 |
| Promoção: Estamos Dando 97 dólares!         |          7 |
| Aqui pro iPhone!                            |          6 |
| Vamos escrever um livro?                    |          6 |
| Democracy TV Player                         |          5 |
| Formatura, novidades                        |          5 |
| Como eu consegui cancelar minha conta na Oi |          5 |
| Chico Buarque em Fortaleza                  |          4 |
| Livro Python Guia de Bolso                  |          4 |
+---------------------------------------------+------------+
10 rows in set (0.02 sec)

Se você quiser ir mais fundo nas consultas eu recomendo dar uma olhada na sintaxe do select do Mysql.