Time your shell script operations

This is a note to self (so I don’t forgot about it) – it is not rocket science 😉

If you need to check how long it takes to run part of your bash script you can use the use PS4 trick, as explained partially here, but it is a bit messy and I don’t like to do the math by hand 😛

In order to test the performance bottleneck of one of my shell scripts I draft a small set of functions.
One to start the clock ticking, another to check how long it passed since the last mark and another to reset the clock.

You can download/copy into a file of your choice and then source it inside your script. The output is the nanoseconds passed between operations. If you make (any) use of it please let me know. I don’t think it will blow up your computer, but you’re at your own risk 😉

#######################################
# Bruno Lucas – v1.0 – 2012/10/22 #
#######################################
TIME_TICKER=0

echoerr() { echo -e “$@” 1>&2; }

function time_start()
{

TIME_TICKER=`date “+%s%N”`

}

#You can pass a message delimited by single quoted
function time_mark()
{

CURR=`date +%s%N`
DIFF=`echo “$CURR – $TIME_TICKER” | bc`
echoerr “$DIFF\t$1”
TIME_TICKER=$CURR

}

function time_reset()
{

TIME_TICKER=0

}

To use:

source timer.sh

time_start

some_op_of_mine 1 2 3 4

time_mark ‘After x’

and you’ll get something like ‘13789137   After x’ telling the elapsed time.

PS: The echoerr function was stolen from here, it echos the content to STDERR, instead of STDOUT.

PS1: Copy/paste from HTML can sometimes come with errors, always check the source code prior to execution.

 

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Linux, Tech. Tags: , , , , . No Comments »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Pub.

Download Youtube Playlist with youtube-dl

To download a full playlist from Youtube with youtube-dl do the following:

youtube-dl.py -A -t -c “http://www.youtube.com/p/1234567890ABCDEF”

-A makes youtube-dl auto-number the files downloaded in order (0001, 0002, …)

-t uses the title page, otherwise the file name will be non-understandable

-c continues in case of failure

In case your playlist url is something like: http://www.youtube.com/playlist?list=1234567890ABCDEF transform it into the format: http://www.youtube.com/p/1234567890ABCDEF otherwise you’ll get an error.

One can specific also the quality of the video by using the -fmt FMT or –max-quality=FMT where FMT is number as can be seen here, 34 is 360p, 35 480p, 37 is 1080p …

youtube-dl can be installed in your Linux distro using the normal package managers or you can download it by hand to your favorite directory from here. On this directory executing youtube-dl -U makes the script get auto-updated to the latest version – important because sometimes Youtube changes things that make elder versions of the script not work.

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Linux, Tech. Tags: , , . 1 Comment »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Pub.

Twitter

Criei uma conta no Twitter, já à algum tempo, mas não lhe dei uso até há umas semanas atrás.

Tenho lá escrito umas coisas, são uns estados de alma instantâneos, que seriam curtos demais para um post no blog.

Tenho também acompanhado uns amigos e gente mais ou menos famosa. É uma espécie de IRC adaptado à web 2.0.

O meu username é brunolucas.

Até já …

(uma curta explicação sobre o que é o Twitter)

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Tech. Tags: , , . 1 Comment »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Pub.

Raposa de Fogo toma conta do Mundo

Como qualquer bom Português gosto sempre de participar num Record do Guinness 🙂 Aqui está o meu certificado de participação:

O recorde ainda não está completo, ainda vão a tempo de participar também.

Os certificados podem ser obtidos aqui.

[via bit.ate]

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Tech. Tags: , , , . No Comments »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Corrector Ortográfico no Pidgin

O meu instant messenger, em qualquer plataforma, é o Pidgin, suporta multi-protocolos, é simples e com um design limpo, como eu gosto.

O Pidgin tem várias características interessantes, entre as quais, um corrector ortográfico integrado. Quando este está activo os erros ortográficos aparecem sublinhados no já tradicional ponteado vermelho.

Correcção Ortográfica no Pidgin

Na realidade o Pidgin, à boa maneira Unix, usa outro programa para fazer a correcção ortográfica, o aspell. E este nem sempre vem configurado por omissão para Português, o que significa que o Pidgin acha que todas as palavras que escrevemos estão erradas 🙁

Como alterar isto? Nada mais fácil: Basta editar o ficheiro o ficheiro de configuração do aspell, por exemplo com o vim:

vim ~/.aspell.conf

nesse ficheiro basta colocar o seguinte:

lang pt-pt

E pronto já está 🙂

aGoRa ce eXkrevem aXiM est Poust não é para vós 😉

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Linux, Tech, Tutorial. Tags: , , , , , , , . 1 Comment »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

TVAnts no Ubuntu Linux

Este post é a continuação deste [Como ver emissões de TV via P2P em Linux].

Outro dos protocolos/programas que permitem ver transmissões televisivas em directo, via P2PTV, é o TVAnts. Este programa é exclusivo dos sistemas Windows, mas o nosso amigo Wine ajuda-nos a superar esse pequeno obstáculo 😉

Vendo um canal TVAnts com o mplayer

Uso o TVAnts sobre o Wine como backend e o mplayer para a visualização da stream de vídeo.

Instalação do TVAnts

Depois de descarregar o programa, é necessário instala-lo no Wine, se o duplo-clique no executável não lançar o ecrã de instalação pode-se sempre iniciar a instalação a partir da consola:

wine TvantsSetup.EXE

Agora é só carregar nos botões “Next” e a instalação fica terminada. O TVAnts pode agora ser iniciado a partir do menu das aplicações do Ubuntu, normalmente aparecerá na pasta do Wine.

O TVAnts pode também ser executando na consola:

wine ~/.wine/drive_c/Programas/TVAnts/Tvants.exe

A localização de um programa nosso pseudo-Windows, é um bocado variável, depende muito da versão e do idioma do Wine instalado, mas a base será sempre ~/.wine/drive_c/.

facebooktwittergoogle_plusredditpinterestlinkedinmail

Pages: 1 2

Posted in Linux, Tech, Tutorial. Tags: , , , , , , , , , . 1 Comment »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Sopcast (P2PTV) em Linux

Este post é a continuação deste [Como ver emissões de TV via P2P em Linux].

Como havia dito, um dos programas/protocolos que permitem visualizar emissões televisivas P2PTV é o sopcast. Este programa é composto por duas partes, um back-end que trata das ligações a outros pares, e um front-end que permite visualizar o estado a emissão, ver a lista de canais, lançar e parar o player, etc.

Em Debian/Ubuntu normalmente bastaria fazer um “sudo aptitude install X” e ficaria tudo a funcionar, mas como estamos a falar de versões bleending edge vai ser mesmo preciso fazer umas quantas coisas à pata.

Back-end

Para instalar o back-end é necessário descarregar o ficheiro comprimido que contém o executável, extraí-lo e coloca-lo numa directoria que esteja na $PATH. Eu que sou fã do terminal fiz assim:

wget -c  http://download.sopcast.cn/download/sp-auth.tgz
tar zxvf sp-auth.tgz
cp sp-auth/sp-sc-auth ~/bin/

A partir de agora já é possível ver uma emissão P2P, basta por exemplo fazer o seguinte:

sp-sc-auth sop://broker.sopcast.com:3912/6001 3908 8908 > /dev/null &

mplayer  http://localhost:8908/tv.asf

Front-End

Instalei uma versão alterada do frontend qsopcast, esta versão permite tratar as URLs adicionadas a partir do Firefox. Esta versão não estava disponível como um .deb por isso foi necessário compila-la, para tal é preciso instalar os pacotes de desenvolvimento de software (compiladores, bibliotecas, etc):

sudo aptitude update
sudo aptitude install qt3-apps-dev build-essential

Depois é só descarregar o código-fonte alterado, descomprimir, entrar na directoria e compilar, ou seja:

wget -c http://www.linux.ryukent.co.uk/download/qsopcast-0.3.5.rkmod.tar.gz
tar zxvf  qsopcast-0.3.5.rkmod.tar.gz
cd   qsopcast-0.3.5/src
sudo qmake ; sudo make ; sudo make install

e pronto já está quase, só falta associar no Firefox o protocolo sop:// ao qsopcast, eu fiz assim:

  • abri o endereço “about:config” (sem as aspas);
  • criei uma nova string, (clicar com o botão direito);
  • dei-lhe o nome  “network.protocol-handler.app.sop“;
    • e o valor “qsopcast“.

A partir de agora sempre que se clicar numa URL começada por sop:// abre-se o qsopcast.

O funcionamento deste front-end é bastante simples, depois de escolhido o canal (via lista de canais ou via URL do Firefox), é só clicar “Lauch”,  esperar que o status passe pelos modos “Conecting”, “Waiting”, e depois começam a aparecer uma série de números, o único valor a que ligo é o primeiro, creio ser a percentagem de qualidade da emissão, quanto mais alto melhor. Se clicar “Player” é lançado o player com a emissão P2PTV, se carregar “Stop” o player é parado. Bastante simples não? 🙂

qsopcast status bar

Este meu tutorial é muito baseado neste outro.

Edit: Tal como o A.E. disse: Estou a assumir que têm o mplayer instaldo, se não tiverem têm de ir  às configurações do qsopcast e alterar o player.

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Linux, Tech, Tutorial. Tags: , , , , , , , , , . 9 Comments »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...

Como ver emissões de TV via P2P em Linux

Descobri que é possível ver uma miríade de eventos on-line e em directo usando protocolos P2P. Normalmente a palavra chave P2P aparece associada a programas como o Emule ou BitTorrent. Aqui o conceito é o mesmo, trocar partes da transmissão com outros pares que estejam a ver a mesma emissão, invés de fazer streaming de um servidor central.

Tudo começa com alguém a disponibilizar uma emissão televisiva, por vezes as próprias TVs¹, depoisP2P TV o sinal é propagado para um par que o passa a outros pares e estes a outros… Passam então a existir milhares de trocas par a par (P2P) e o”servidor” inicial só teve de transmitir a uma meia-dúzia, mas chegou a milhares 🙂

Existem diversos protocolos/programas (não me parece que exista uma clara distinção entre ambos) que são utilizados para ver os eventos [desportivos]:

Creio serem [todos] de origem asiática, mas P2P TVnão os experimentei a todos, só aos 2 primeiros da lista. O Sopcast corre em Linux de forma nativa e o TVAnts precisa de ser executado em cima do Wine, mas corre sem problemas 🙂

Cheguei a experimentar o TVU em Windows, na altura do Mundial de 2006, sei que versões mais antigas corriam sobre o Wine, mas a sua versão mais recente deixou-se disso 🙁

Com os dois primeiros programas apanha-se [quase] tudo, por isso não senti a necessidade de descobrir se os outros funcionavam bem ou mal em Linux.

[actualização] Irei fazer Fiz um post sobre como instalar e correr o Sopcast em Linux e outro sobre o TVAnts.

Para já ficam uma série de links de onde são disponibilizadas os eventos e canais transmissores. Estes sites não são os únicos (de forma alguma), mas são os que costumo visitar:

  • MyP2P [EN]
    • O meu site favorito, muito completo, muito organizado e mostra logo os protocolos e a qualidade das emissões – é o que recomendo!
  • Roja Directa [ES]
    • Site espanhol bastante conhecido no meio, quando o MyP2P não me dá a resposta que quero é neste que costumo procurar.
  • Tuga Live [PT]
    • Bastante completo e em português, mas não costumo lá parar muito.

¹ A RTP disponibiliza a emissão da RTPi num outro programa/protocolo chamado Octoshape, também tem suporte nativo de  Linux. A minha rádio on-line favorita, Radio Paradise, disponibiliza a emissão via P2P neste mesmo protocolo. Pode ser que um dia destes mereça um post completo 🙂

facebooktwittergoogle_plusredditpinterestlinkedinmail
Posted in Linux, Tech, Tutorial. Tags: , , , , , , , , , , . 2 Comments »
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading...