Sugestão de Nome para Firewall no Ubuntu

Buenas galera!

Hoje estou elaborando um post diferente! Estou desenvolvendo uma interface gráfica para o iptables, pois hoje todas disponíveis para GNOME são simples e, por exemplo, o Firestarter não apresenta a possibilidade de escolher em qual protocolo determinada porta deverá ser aberta/fechada.

Firewall

Firewall

Contudo, a interface gráfica é muito parecida com a do FireStarter, como pode-se ver acima, porém está sendo desenvolvida do zero utilizando a linguagem Python.

Preciso de um nome para o software. Portanto, quem tiver sugestões favor postar nos comentários!

Até mais pessoal!

GCJ Beta 2008 – Triangle Trilemma

Buenas galera!

Segue a resolução de mais um problema do Google Code Jam 2008!

#!/usr/bin/python
#
# Google Code Jam 2008 – GCJ Beta 2008 – Triangle Trilemma – Large Input
# Copyright (C) 2009 Tiago Hillebrandt <tiagohillebrandt@gmail.com>
#

import
os

f = open(“A-large-practice.in”)

def integer():
s = f.readline()
s = s.strip()
s = int(s)
return s

def array():
s = f.readline()
s = s.strip()
s = s.split()

for i in range(len(s)):
s[i] = int(s[i])

return s

def angleType(a, b, c):
if ((a == b + c) or (b == c + a) or (c == a + b)):
return ” right”
else:
if ((a > b + c) or (b > a + c) or (c > a + b)):
return ” obtuse”
else:
return ” acute”

def triangleTrilemma():
for i in range(integer()):
coords = array()

x1 = coords[0]
y1 = coords[1]
x2 = coords[2]
y2 = coords[3]
x3 = coords[4]
y3 = coords[5]

if ((x1 – x2) * (y1 – y3) == (x1 – x3) * (y1 – y2)):
triangle = “not a”
else:
a = (x1 – x2) ** 2 + (y1 – y2) ** 2
b = (x1 – x3) ** 2 + (y1 – y3) ** 2
c = (x3 – x2) ** 2 + (y3 – y2) ** 2

if ((a == b) or (b == c) or (c == a)):
triangle = “isosceles” + angleType(a, b, c)
else:
triangle = “scalene” + angleType(a, b, c)

print “Case #” + str(i + 1) + “: “ + triangle + ” triangle”

if __name__ == ‘__main__’:
triangleTrilemma()

E novamente, quem quiser baixar, clique aqui.

Um abraço e até a próxima.

Round 1A – Minimum Scalar Product

Buenas pessoal!

A partir de hoje vou postar, aos poucos e conforme for conseguindo resolver, a resposta de vários desafios apresentados no Google Code Jam 2008, com o objetivo de estudar para o desafio que ocorrerá este ano.

Esta resolução, em Python, funciona para o produto escalar mínimo com a entrada pequena (small), assim como para a grande (large), bastando apenas renomear o arquivo aberto na segunda linha para alternar entre as entradas.

#!/usr/bin/python
#
# Google Code Jam 2008 – Round 1A
# Minimum Scalar Product – Large Input
#
# Copyright (c) 2009 Tiago Hillebrandt <tiagohillebrandt@gmail.com>
#

import os

f = open(“A-large-practice.in”)

def integer():
s = f.readline()
s = s.strip()
s = int(s)
return s

def coordinates():
s = f.readline()
s = s.strip() # remove blank spaces

s = s.split() # convert to array
for
i in range(len(s)):

s[i] = int(s[i])
return
s

def minimumScalarProduct():
for i in range(integer()):
integer() # read only to ignore it

x = coordinates()
y = coordinates()

x.sort()
y.sort()
y.reverse()

result = 0

for j in range(len(x)):
result += x[j] * y[j]

print “Case #” + str(i + 1) + “: “ + str(result)

if __name__ == ‘__main__’:
minimumScalarProduct()

Se preferir, você pode baixar o código-fonte e a entrada grande diretamente aqui.

Um abraço e até mais.

Enviando uma notificação para o notificador (notify-osd) do Jaunty

Olá pessoal, tudo bem?

Hoje estou publicando um script implementado em Python que permite enviar uma notificação para o notify-osd do Jaunty! No meu caso, integrei o script com o plugin Song Change, do Audacious, para exibir uma notificação com o nome da música e o artista, como mostra a imagem abaixo.

Exemplo de notificação enviada pelo script

Exemplo de notificação enviada pelo script

enviar-notify.py

#!/usr/bin/python
try:
import gtk
import pygtk
import os
import os.path
import pynotify
import sys
pygtk.require(‘2.0′)
except:
print “Erro: necessarios python-notify, python-gtk2 e gtk”
if __name__ == ‘__main__’:
if not pynotify.init(“notificacao”):
sys.exit(1)

n = pynotify.Notification(sys.argv[1], sys.argv[2], “/usr/share/icons/Human/scalable/status/dialog-info.svg”)
n.set_timeout(5000) # 5 segundos

if not n.show():
print “Falhou ao enviar notificacao”

sys.exit(1)

Modo de uso:

$ chmod +x enviar-notify.py
$ ./enviar-notify.py “Titulo” “Seu Texto”

É isso então pessoal!

Se preferir, baixe o script completo neste link.

Um abraço e até mais ver.

Ativando o Notificador de Atualizações no Jaunty

Buenas galera!

Como vocês devem ter notado, no Ubuntu Jaunty o ícone do notificador de atualizações (update-manager) não está disponível na barra de tarefas (área de notificação).

No meu ponto de vista desabilitá-lo trata-se de um regresso, afinal para um usuário nada mais útil do que um aviso, na interface gráfica, de que há atualizações disponíveis para o seu computador!

Se você  deseja ativá-lo, é só abrir o Terminal (Aplicativos > Acessórios > Terminal) e digitar:

$ gconftool -s –type bool /apps/update-notifier/auto_launch false

Agora basta reiniciar seu computador e pronto, seu notificador de atualizações está ativo e funcional, como no Intrepid!

Ícone do Gerenciador de Atualizações na Área de Notificações

Ícone do Gerenciador de Atualizações na Área de Notificações

Valeu galera, até mais!

Microsoft Office ganha suporte a ODF

Junto com a recém-lançada atualização de Service Pack do Microsoft Office 2007, o SP2, já se encontra o suporte nativo ao formato ODF (Open Document Format), nativo do OpenOffice, conforme release notes disponibilizado no site da Microsoft.

A ODF Alliance comentou em seu blog, em uma nota, que “esta ação irá refletir na demanda do mercado global, particularmente nos governos, com base em padrões abertos para interoperabilidade através do ODF”.

Realmente acredito, e espero, que desta vez a Microsoft adote uma linha de desenvolvimento e atualização junto a comunidade, e não parta para o mesmo caminho do Internet Explorer, que inicialmente adotou o padrão da W3C e em seguida partiu para uma linha de desenvolvimento interna.

Enfim espero que esta ação da Microsoft, que “provavelmente” objetiva diminuir o número de usuários do OpenOffice, reflita na maior adoção do formato ODF e, ao contrário do estimado pela empresa, aumente a procura pela suíte de aplicativos para escritório open-source.

Ubuntu 9.04 – Jaunty Jackalope

Olá pessoal!

Aproveitando o lançamento oficial do Ubuntu 9.04, Jaunty Jackalope, que será anunciado hoje, publico este post para auxiliar os usuários das versões anteriores na avaliação da possibilidade de migrar ou não para a nova versão.

Novidades
Com interface mais amigável, o Brasero, acompanhando o GNOME, na versão 2.26.1.

Gravador de Discos Brasero

Gravador de Discos Brasero

Também na lista de mudanças, está uma nova tela de boot e para o GDM, ambas com aparência muito eleg Continue lendo ‘Ubuntu 9.04 – Jaunty Jackalope’

Limitar velocidade de download do apt no Ubuntu/Kubuntu

Buenas galera, tudo certo?

Segue uma simples dica para limitar a velocidade de download no apt, que envolve os programas synaptic, adept, apt-get e aptitude.

No Ubuntu, vá no menu Aplicativos > Acessórios > Terminal/Consola. Na janela que abriu, digite os seguintes comandos:

$ sudo gedit /etc/apt/apt.conf.d/01ubuntu

Já no Kubuntu, pressione Alt+F2, digite o comando abaixo e execute:

$ sudo kate /etc/apt/apt.conf.d/01ubuntu

Agora altere o arquivo de configuração aberto para:

APT {
};

Acquire
{
http {
dl-limit “25″; // onde 25 é a velocidade em kbps
}
};

Após alterá-lo, salve e feche-o. Pronto, seu apt já está configurado com limite de download =)

Até mais!

Próxima Página »