www.tirinhas.com

sábado, 15 de março de 2008

Apagar Versões Antigas de Programas no Gentoo

No fórum do Gentoo foi postado um script para deletar os arquivos antigos em /usr/portage/distfiles. Segue o código:


#!/usr/bin/perl
-w

use strict;

my $lastname = 0;
my $lastversion;
my $lastext;
my @stalefiles;
my @files;

# Insert your exclusions here with trailing '-'
my %maskedfiles = (
'X420src-' => 1,
'gcc-' => 1,
'freetype-' => 1
);

# Root check
if ($< != 0) {
print "You must be root to run this script.\n";
exit 0;
}

# Determine sources present on the system
print "Determining available tarballs in /usr/portage/distfiles ...\n";
opendir(DIR, "/usr/portage/distfiles");
@files = sort(readdir(DIR));
closedir(DIR);

# Grab names/versions, checking each time whether current distfile
# has been superceded. Push anonymous array ref containing required
# info into @stalefiles array.
print "Determining stale versions ...\n";
foreach (@files) {
my $name;
my $version;
# Only operate on tarballs
if
(/(.+?\-)([0-9r\.\-]+)(\.tar\.gz|\.tgz|\.tar.bz2)/s) {
$name = $1;
$version = $2;
next if
($maskedfiles{$name}); # Ignore "masked" files
if ($lastname
&& $name eq $lastname) {
if
($version gt $lastversion) {
push (@stalefiles, [$name, $version,
$lastversion, $lastext]);
}
}
$lastname = $name;
$lastversion = $version;
$lastext = $3;
}
}

if (@stalefiles == 0) {
print "\nNo stale distfiles have been detected on
your system!\n";
exit 0;
}

if ($ARGV[0] && $ARGV[0] eq '--nopretend') {
# User requested deletion so here goes ...
print "*Nopretend* mode, deleting stale
files:\n\n";
foreach (@stalefiles) {
my ($name, $version,
$lastversion, $ext) = @{$_};
unlink('/usr/portage/distfiles/' . $name . $lastversion .
$ext);
print "Deleted:
$name$lastversion in favour of $name$version\n";
}
}
else
{


# Safe mode (default)!
print "\7*Pretend* mode, will only pretend to
delete files.\nTo
actually delete the files, reinvoke with the --nopretend
parameter.\n\n";
foreach (@stalefiles) {
my ($name, $version,
$lastversion, $ext) = @{$_};
print "Would delete:
$name$lastversion in favour of $name$version\n";
}
}
1;

Executando o script sem parâmetros, ele apenas listará os arquivos a serem deletados. Para apagá-los, deve-se executar o script com a opção --nopretend


referência: http://www.gentoobr.org/2003/12/07/apagar-verses-velhas-de-programas/

segunda-feira, 10 de março de 2008

Bluefish - Um Ótimo Editor Para Webdesigners



O Bluefish é um editor HTML/PHP não-visual, apontado como um dos melhores existentes para Linux. Por ser gratuito, é uma alternativa o Dreamweaver.

Alguns recursos:

-Leve - consome de 40 a 45% menos que outros editores na inicialização
-Desfazer/refazer ilimitados
- Traduzido para o Português
- Fechamento automático de tags HTML e XML
- Janela de pré-visualização
- Suporte a PHP

Como desvantagem, justamente o fato de não ser visual, entretanto, o programa possui muitos assistentes.

No debian, pode ser instalado com:

# apt-get install bluefish

Seu download também pode ser feito aqui:

http://bluefish.openoffice.nl/

domingo, 9 de março de 2008

Monitorando a saúde do HD com o SMART

Este artigo do guiadohardware.net, ensina a usar o smartmontools. Através dessa ferramenta, descobri que meu hd não está tão bom assim....

sexta-feira, 7 de março de 2008

Lazarus - O Delphi Livre



O Lazarus é uma ferramenta feita em código aberto para programadores. O seu ambiente é desenvolvido em Pascal e é idêntico ao Delphi. Possui um TForm onde você cria as suas janelas e coloca vários componentes diferentes de acordo com a ocasião.

Para aqueles que estão pensando em começar a programar, com certeza o Lazarus pode ser muito útil para entender um início da programação. Basta conseguir alguma Apostila de Delphi e seguir à risca, afinal, os dois são idênticos.

O Delphi sempre levou a fama de trazer muita coisa já pronta. No Lazarus a situação não muda muita muito. Há vários componentes como você pode conferir a seguir, que realmente facilitam a sua vida.

Muitos programadores abominam componentes assim pelo fato de fazer com o que o programa aumente muito o tamanho. Outros adoram, afinal, se você deseja economizar tempo, componentes assim tornam-se uma mão na roda.

Componentes

Com o Lazarus certamente seu programa vai ter todos os ícones e componentes necessários para deixar de uma visão atraente e bem competitiva se comparada outros programas. Há uma infinidade de abas com muitos componentes para você escolher qual ficará melhor ajustado à sua necessidade. Confira abaixo o que você pode encontrar em cada aba e repare a semelhança comparada ao Delphi:

Aba Standard:
Aqui estão presentes os componentes mais comuns para construir um programa simples, são campos de texto, ferramentas para escrita, painéis entre outros. Lista de componentes:

# TMainMenu, TPopupMenu, TButton, Tlabel, TMemo e TToggleBox.

# TCheckBox, TRadioBurron, TListBox, TComboBox TScrollBar e TGroupBox.

# TRadioGroup, TCheckGroup e TPanel. TActionList.


Aba Additional:

Na aba Additional, você poderá encontrar os componentes parecidos com os da aba Standard, porém com muito mais capricho e algumas funções a mais. Lista de componentes:

# TBitBtn, TSpeedButton, TImage, TShape, TBevel e TPaintBox.

# TNotebook, TLabeled Edit, TSplitter, TMaskEdit, TCheckListBox e TScrollBox.

# TApplicattionProperties, TStringGrid, TDrawGrid, TPairSplitter e TColorBox.


Aba Common Controls:

Aba especial para você ter controle sobre o seu programa. É possível criar uma barra com atalhos para alguma função do seu programa ou controlar o tempo que leva para executar alguma determinada ação. Lista de componentes:

# TTrackBar, TProgressBar, TTreeView, TListView, TStatusBar e TToolBar.

# TUpDown, TPageControl, TTabControl e TImageList.


Aba Dialogs:

Representada pelos ícones, aqui você adicionará componentes como, por exemplo, um campo que você clica em uma basta e escolhe um arquivo para anexar o seu programa. Também há outras funções presentes na aba que você poderá usar no seu programa. Lista de componentes:

# TOpenDialog, TSaveDialog, TSelectDirectoryDialog, TColorDialog e TFontDialog.

# TFindDialog TReplaceDialog, TOpenPictureDialog e TSavePictureDialog.

# TCalendarDialog, TCalculatorDialog, TPrinterSetupDialog, TPrintDialog e TPageSetupDialog.


Aba Misc:

Mais adicionais poderão ser encontrados na aba Misc. É possível adicionar uma calculadora, um calendário, caixa de cores e até botões como OK, cancelar já com figuras próprias dentro do botão incrementando mais ainda seu programa. Lista de componentes:

# TColorButton, TSpinEdit, TFloatSpinEdit, TArrow, TCalendar e TEditButton.

# TFileNameEdit, TDirectoryEdit, TDateEdit, TCalcEdit, TFileListBox e TXMLPropStorage.

# TIniPropStorage, TBarChart, TButtonPanel e TIDEDialogLayoutStorage.


Aba Data Controls:

Figuras, editores, gráficos, calendário e tabela. Essas são alguns dos componentes que você vai poder utilizar por meio da aba Data Controls. Lista de componentes:

# TDBNavigator, TDBText, TDBEdit, TDBMemo, TDBImage, TDBListBox e TDBComboBox.

# TDBCheckBox, TDBRadioGroup, TDBCalendar, TDBGroupBox e TDBGrid.


Aba Data Acess:

Para facilitar alguns atributos banco de dados, confira alguns componentes que podem ser usados nessa aba. Lista de componentes:

# TDataSource, TMemDataSet, TSdfDataSet, TFixedFormatDataSet e TDbf.


Aba System:

Para configurar XML, HTML e o tempo de execução de alguma parte do programa, não deixe de conferir a aba System. Lista de componentes:

# TTimer, TIdleTimer, TlazComponentQueue e THTMLHelpDatabase.

# THTMLBrowserHelpViewer, Tprocess e TXMLConfig.


Aba SynEdit:

Faça alterações para arquivos em HTML, ferramentas para Unix e Shell, PHP entre muitas outras opções. Lista de componentes:

# TSynEdit, TsynAutoComplete, TSynExporterHTML, TSynMacroReader e TSynMemo.

# TSynPassSyn, TSynCppsyn, TSynPerlSyn, TSysnHtlmSyn e TSynXLMsyn.

# TSynFMSyn, TSynUnixShellScriptSyn, TSynCssSyn, TSynPHPSyn e TSynTeXSyn.

# TSynSQLSyn, TSynPhotoSyn, TSynAnySyn e TSynMultiSyn.


Aba RTTI:

Uma aba que você encontrará praticamente de tudo: botões, caixas de texto auxiliares para números com casas decimais, imagens entre outros. Lista de componentes:

# TTIEdit, TTIComboBox, TTIButton, TTICheckBox, TTILabel, TTIGroupBox e TTIRadioGroup.

# TTICheckGroup, TTICheckListBox, TTIListBox, TTIMemo, TTICalendar e TTIImage.

# TTIFloatSpinEdit, TTISpinEdit, TTITrackBar, TTIProgressBar, TTIMaskEdit e TTIColorButton.

# TMultiPropertyButton, TpropertyGrid e TTIGrid.



Aba IPro:

Aba para você alterar dados em HTML e arrumar data. Lista de componentes:

# TipFileDataProvider e TipHtmlPanel.


Aba SQLdb:

Se você usar SQL como seu banco de dados, confira a aba SQLdb que vai lhe trazer muitos pontos positivos para aperfeiçoar o seu banco. Também é possível fazer a ligação com o ODBC. Lista de componentes:

# TSQLQuery, TSQLTransaction, TIBConnection, TODBCConnection e TmySQL40Connection.

# TmySQL41Connection, TmySQL50Connection e TPQConnection.


Banco de Dados:

Como dito anteriormente, o Lazarus possui muitos componentes prontos. Para banco de dados, você poderá conectar sem problema algum. Até fica um pouco mais fácil mexer com as tabelas e com os atributos por esse fato, use e abuse dos componentes para fazer um banco de dados com uma boa validação.

Quanto às ferramentas para banco de dados, você pode usar várias opções como Oracle, MySQL, Interbase entre outros.

Recomenda-se fazer uma modelagem de dados para fazer um perfeito banco de dados, entre muitos programas que ajudam a modelar, confira o DBDesigner que chega até a gerar scripts prontos para você usar.

Object Inspector:

Como no Delphi há uma barra de objetos com várias opções para você alterar os componentes. Com muita freqüência você vai usar essa guia, afinal na guia Properties é possível mudar nome, trocar cor, fonte entre muitos.

Na guia Events, você colocará eventos em determinado objetos, por exemplo: quando você clicar no botão “Open”, abra a janela com a foto “a”. Existem variadas maneiras de você alterar os componentes, use com mais frequência o programa e descubra outras formas.

Por fim, há a guia Favorites que você poderá fazer mais uma infinidade de alterações para que seu programa fique de acordo com o seu gosto.

Messages:

Abaixo das suas linhas programadas, há uma caixa de texto chamada Message, aqui você poderá ver erros de sintaxe ou de digitação no meio do seu programa.

Enfim, com tantas opções, o Lazarus é um programa completo para você testar e aprovar, vale a pena ter uma ferramenta como esta para quem tem interesse em aprender a programar ou então para quem é da área de tecnologia.

Funcionalidade:

Com o Lazarus é possível fazer programas fantásticos de uma maneira simples e prática. Se você tiver um pouco de conhecimento sobre algoritmos, é possível fazer qualquer programa imaginável.

Por exemplo, é possível construir programas para ler códigos de barras com o Lazarus. Se você quer algo mais avançado, você pode fazer um programa executando Threads e habilitando a execução de um único programa em várias máquinas.
(Descrição retirada do Baixaki)


Apesar dessa descrição, a wiki do projeto diz: "Lazarus "não" é um 'clone do Delphi de código aberto'. Não espere 100% de compatibilidade"

A documentação pode ser encontrada através do link: http://wiki.lazarus.freepascal.org/Lazarus_Documentation/pt

Neste blog, também há dicas sobre o programa.

quinta-feira, 6 de março de 2008

Trigger

O Trigger é um jogo de rally bem interessante. Não tem oponentes, sua missão é passar por todos os pontos determinados, no tempo previsto. Possui suporte a joystick.
No debian pode ser instalado com:

#apt-get install trigger

Emuladores no Linux - Visual Boy Advance

o Visual Boy Advance é um excelente emulador de VBA. Sua configuração é bem simples, mas ele não oferece a opção de configurar joystick. Para resolver isso, existe o VBAExpress, um configurador para o VBA com mais opções.





No Gentoo, eu baixei o arquivo http://vbaexpress.tuxfamily.org/vbaexpress-1.2-1.i386.rpm, e instalei com o comando:

# rpm -ivh --nodeps --nosignature vbaexpress-1.2-1.i386.rpm

quarta-feira, 5 de março de 2008

terça-feira, 4 de março de 2008

Ilusões de Ótica





Neste blog, há vários efeitos de ilusão de ótica. Muito interessante....
http://opticalillusions4kids.blogspot.com/

Motivos para usar o Gentoo

Ter os programas atualizados, sem dificuldades
No debian, querer instalar os programas mais recentes, implica em atualizar muitos pacotes.

Wine "stable" - versão 0.9.25:




Agora, a versão "testing", 0.9.41.




E, finalmente, a versão "unstable" - 0.9.55



No Gentoo, o atual "stable" é a versão 0.9.49, e a "testing", a 0.9.56
Querer usar a versão mais recente de um programa no Kurumin 7, por exemplo, significa atualizar o sistema "stable" para "unstable", perdendo-se a estabilidade do Debian Etch.

Instalar softwares otimizados para meu hardware - perfomance
Determinam-se as CFLAGS e CXXFLAFGS, que passam parâmetros para o compilador usar as otimizações que você quiser, resultando em um aumento na performance. No meu caso:

CFLAGS="-O2 -pipe -march=athlon-xp -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

As CFLAGS podem ser encontradas aqui
Controlar o que será instalado
Diferentemente de outras distros, o usuário não instala um ou vários cds com um monte de aplicativos que nunca vai usar. Determina-se o programa a ser instalado, e o portage, automaticamente, baixa e compila todas as dependencias necessárias ao programa.

domingo, 2 de março de 2008

Internet Explorer no Linux - IEs 4 Linux

o IEs4Linux é um script que baixa e instala automaticamente o Internet Explorer no Linux, ou em outro sistema rodando o Wine.
É destinado a Webdesigners e pessoas que precisam acessar sites que só funcionam no IE.
Sua instalação é simples:

$ wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
$ tar zxvf ies4linux-latest.tar.gz
$ cd ies4linux-*
$ ./ies4linux

Havendo problemas no uso da versão mais recente, tente usar uma versão anterior:

http://www.tatanka.com.br/ies4linux/downloads