Powered By Blogger
Mostrando postagens com marcador Ruby. Mostrar todas as postagens
Mostrando postagens com marcador Ruby. Mostrar todas as postagens

sexta-feira, 19 de agosto de 2011

WhatWeb

Hoje vi uma pergunta no Stackoverflow de ruby relativa a como executar um script que chamava WhatWeb, fiquei curioso para saber do que se tratava e achei muito interessante.

Uma tradução rápida da descrição WhatWeb:

WhatWeb é uma ferramenta de identificação de sites. Seu objetivo é responder a pergunta: "O que é esse site?". Com isso ele reconhece as tecnologias web incluindo gerenciadores de conteúdo (CMS), plataformas de blog, pacotes de análises e estátisticas, bibliotecas javascript, servidores web e serviços embutidos. O WhatWeb possui mais de 900 plugins para reconhecer características diversas. Além disso o WhatWeb identifica números de versões, endereços de e-mail, IDs, módulos de frameworks, erros de SQL e outros.

WhatWeb pode ser executado em modo mais rápido ou minuciosamente e lento. Quando você visita um site no seu browser as transações incluem várias dicas de quais tecnologias web estão sendo usadas. Algumas vezes uma simples visita a um página web contém informação suficiente para indentificar um site, mas quando não é suficiente o WhatWeb realiza consultas mais detalhadas para encontrar dados sobre as tecnologias usadas. O nível default é chamado "passivo" e é mais rápido pois requer somente uma requisição HTTP de um site, o que é próprio para rastrear sites públicos. Modos mais agressivos foram desenvolvidos para testes de invasão.

A maioria dos plugins do WhatWeb são minuciosos e reconhecem características mais óbvias e ocultas como por exemplo: a maioria dos sites que usam WordPress podem ser identificadas pela tag meta. O plugin do WordPress possui mais de 15 testes que incluem: verificar o favicon; arquivos de instalação padrão; páginas de login e outros.

Algumas características:
  1. Mais de 900 plugins
  2. Plugins incluem exemplos de URLs
  3. Ajuste de desempenho
  4. Diversos formatos de log
  5. Web Crawler recursivo
  6. Cabeçalhos HTTP personalizados
  7. Autenticação HTTP básica
  8. Resultados obtidos por combinações de lógicas difusas
  9. Plugins personalizados por linha de comando
  10. Controle sobre redirecionamento de páginas

Informações sobre como instalar e uso em :

(source): http://www.morningstarsecurity.com/research/whatweb

repo github: https://github.com/urbanadventurer/WhatWeb

quarta-feira, 16 de março de 2011

Displaying pidgin received messages in Asus G50VT

I'm using a ASUS G50VT-X5 with Ubuntu 10.10,
recently I reinstalled the last version of "asusg50oled" as seen on
http://asusg50oled.sourceforge.net/

It installed perfectly fine, no errors, just followed the "Quick system preparation guide" and worked like a charm!

In my last installation I hacked the preferences file and thought about receiving chat messages through the oled display. I take a look at Telepathy Library because the default chat program in Ubuntu 10.10 is Empathy and it's based on Telepathy... Well my first thought is that using DBus with Pidgin was easier, although Telepathy may use DBus I didn't even make a deeper look in it because I think Pidgin had more examples of "How to write a plugin".
My preferred programming language is Ruby and I use 1.9.2-head and ruby-dbus gem to make this work.

links:
http://technomancy.us/83 (gsub to take out formatting tags)
https://lists.luon.net/pipermail/ruby-dbus-devel/2007-May/000015.html (DBus pidgin example)

doc:
http://developer.pidgin.im/wiki/DbusHowto
http://rubygems.org/gems/ruby-dbus

screenshot:
img

code:

require 'dbus'

bus = DBus::SessionBus.instance
@service = bus.service("im.pidgin.purple.PurpleService")
@purple = @service.object("/im/pidgin/purple/PurpleObject")

@purple.introspect
@purple.default_iface ="im.pidgin.purple.PurpleInterface"
@purple.on_signal("ReceivedImMsg") do |account, old, new|
new.gsub!(/\<[^\>]*\>/, '') # jabber messages have unnecessary XML
system("/opt/asusg50oled/utils/notify.sh","#{Pidgin:} #{old} #{new}")
#p [old, new]
end

m = DBus::Main.new
m << bus
m.run




Next thing to do is create a Pidgin plugin out of this... I think that'll be the hardest, and I need to know if you can write those in Ruby.

cya!

quarta-feira, 19 de janeiro de 2011

Euler problem #24

Resolvendo o problema #24 deparei com uma solução simples e vi que estava reimplementando o método permutation e que não era necessário. A solução mais simples que encontrei foi a seguinte:

p (0..9).to_a.permutation.to_a[999999]


sexta-feira, 30 de abril de 2010

Monokai theme for Netbeans 6.8

I just adapted the monokai TextMate theme for Netbeans, some functions are different in both editor so I couldn't make it works exactly equals, but it is similar to TextMate version.

download: http://sites.google.com/site/andreluisdurao/Home/monokai_nb.zip

sexta-feira, 12 de fevereiro de 2010

Instalando a gem mysql no macosx (leopard e snow leopard)

Apos instalar pelo arquivo de instalacao: mysql-5.1.37-osx10.5-x86.dmg

Instalar o auto-starter e arrastar o pref-panel para o system preferences.

depois setar o path no .profile

export PATH=$PATH:/usr/local/mysql

depois instalar a gem

sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config

+informacoes: fonte:
http://www.icoretech.org/2009/08/install-mysql-and-mysql-ruby-gem-on-snow-leopard-64-bit/

quarta-feira, 2 de dezembro de 2009

AND vs && em ruby

Bem, até ontem eu imaginava que o operador lógico em ruby "AND" funcionava de forma idêntica ao "&&".

Até que hoje de manhã me deparo com uma situação simplesmente inexplicável
onde TRUE AND FALSE = TRUE?????????????????????????

depois de parar de xingar e querer quebrar tudo a minha volta, Após uma pesquisa no google deparei com algumas explicação::
http://www.themomorohoax.com/2008/12/08/and-vs-amperand-in-ruby

logo AND != &&, é algo que ainda não entendi o processo de avaliação desses 2 operadores. Por enquanto vou usando então somente o &&.

terça-feira, 14 de abril de 2009

qual SO está sendo executado o script ruby?

Bem, tive + essa dúvida outro dia porque precisava ter 2versões do script, uma para windows e uma para linux. O principal problema era no path do arquivo
que ao invés de "/" tinha que ser "\"

eu usei a variável de plataforma do ruby

RUBY_PLATFORM, no linux ela me retornou::"i486-linux"

no windows retorna algo com "mswin" na string, essa bobeirinha me tomou 1hora pra descobrir o nome da const, affffffffff

Marcadores