Mac OS X: Sugestão de Programa

Essa semana recebi um novo celular, um Nokia 5310, e uma das funcionalidades presentes nele é a possibilidade de ver vídeos nele. Então, procurando um programinha para Mac OS X que fizesse o serviço de maneira simples e sem complicação encontrei o MPEG StreamClip, da Squared 5. Esse programinha freeware permite converter diversos formatos de audio/video, inclusive os utilizados no celular.

Já que o assunto é programas, convém conferir esse tópico do MeioBit que trata exatamente de programas pra Mac OS X.

Um Desktop para rivalizar com o Mac?

Hoje eu instalei o tão esperado KDE 4, que já está por ai a algum tempo, e devo dizer que fiquei incrivelmente surpreso com ele. Os desenvolvedores conseguiram fazer um desktop polido, bonito e prático que não tem precedentes na história das GUIs open source.

De maneira geral o que me impressionou foi a forma como o deskop ficou confortável em resoluções grandes (aquelas utilizadas por monitores com 19 ou mais polegadas). Ao contrário do Gnome que parecia desajeitado na minha resolução (1680×1050), o KDE se ajustou de maneira mais homogênea dando a impressão de utilizar melhor o espaço do desktop.

Continue reading “Um Desktop para rivalizar com o Mac?”

Dica: XPath

O XPath é uma linguagem para seleção de nós em um documento XML. Entre outas coisas, é bastante utilizada quando se trabalha com XSLT. Como ela também é suportada em diversas bibliotecas ela é comumente utilizada com C (libxml2), C++ (xalan, xerces, etc), Java (jaxp, etc), Python, e muitas outras linguagens
Hoje, precisei fazer uma expressão para obter um nó somente quando o nó pai fosse igual a um determinado valor e tivesse algum atributo específico.

<paises continente=”Europa”/>
<pais nome=”Portugal”/>
<pais nome=”França” />
</paises>
<paises continente=”Africa” />
<pais nome=”Angola”/>
</paises>

Vamos supor que você quisesse obter o nó referente a Angola. Você poderia faze-lo através da seguinte expressão:

[code]
//paises[@continente=’Africa’]/pais[@nome=’Angola’]
[/code]

No caso a expressão // representa os nós descendentes ou o próprio e a expressão @ representa um atributo. A expressão completa representa um caminho para o nó (de modo análogo /usr/share ou C:/windows representam um caminho no disco rígido).
Mais sobre XPath neste excelente tutorial.

eBook Gratis sobre desenvolvimento no Mac OS X

Peguei essa dica no OS News: o CocoaLab distribui um eBook grátis para quem quiser se aventurar no desenvolvimento para Mac OS X. O livro é voltado para desenvolvimento no Leopard com Xcode 3 usando Objective C e Cocoa e está disponível aqui. Não usa o Leopard? Então baixe a versão para o Tiger aqui. O livro está, obviamente, em inglês, então se você não conhece o idioma de Shakespeare considere esse mais um bom motivo para aprender.

Fontes: OS News e Fun Script.

VI minimamente utilizável

Antes de começar, um aviso: eu não sou fã do VI. Eu gosto do VIM (e só para algumas tarefas). Meu editores preferidos são o Notepad++ (Windows), TextWrangler (Mac OS X) e o Gedit (Linux – mas ando querendo testar o Geany).

Essa dica é para aqueles que como eu tem que, eventualmente, enfrentar um sistema Unix sem acesso ao VIM ou qualquer outro editor que não exige um manual de dezenas de páginas para ser utilizado e só tem disponível o VI. Aqui vão algumas configurações que você pode colocar no seu $HOME/.exrc para deixar o VI um pouco menos irritante:

[code]#Mostra em qual modo está
set showmode
# Quando em modo de procura, se torna insensível ao caso
set ic
# Mostra o número das linhas
set number
# Set o tamanho do tab para 4
set tabstop=4
# Mapeamento de teclas (use Ctrl+V depois pressione
# a tecla que vc quer mapear – ex:
# insert, delete, etc. Isso vai produzir algo do
# tipo ^[[2~, etc)
map ^[[2~ i
map ^[[1~ 0
map ^[[4~ $
map ^[[3~ x
map ^H X[/code]

Oracle: um pouco sobre PL/SQL

Continuando o último post sobre Oracle, agora falando sobre PL/SQL (Procedural Language/Structured Query Language). A PL/SQL é uma extensão, proprietária da Oracle, à linguagem SQL que adiciona construções comuns às linguagens procedurais, como por exemplo variáveis, condicionais, excessões, etc.

Se você nunca viu um código em PL/SQL ele é semelhante ao seguinte:

[code]set serveroutput ON size 2000 format WORD_WRAPPED;
DECLARE
v_hello VARCHAR(255);
BEGIN
SELECT ‘Hello World!’ INTO v_hello FROM DUAL;
DBMS_OUTPUT.PUT_LINE(v_hello);
END;
/
EXIT[/code]

Continue reading “Oracle: um pouco sobre PL/SQL”