sábado, 22 de junho de 2013

terça-feira, 28 de maio de 2013

Mac OS X: Samba 3, versão open source (II)

1.- Confirmar que a opção "File Sharing" está desactivada (System Preferences, Sharing).

2.- Desactivar o serviço com.apple.netbiosd (Apple's SMB server)
~$ sudo mv /System/Library/LaunchDaemons/com.apple.netbiosd.plist com.apple.netbiosd.bak

ou...

... editamos o ficheiro /etc/services e modificamos as entradas correspondentes às portas 137, 138, 139 e 445 para 19137, 19138, 19139 e 19445 de forma a que os serviços não entrem em conflito caso activemos acidentalmente a opção "File Sharing":

Criar backup do ficheiro original
~$ sudo cp /etc/services /etc/services.bak

~$ sudo nano /etc/services

netbios-ns      19137/udp     # NETBIOS Name Service   
netbios-ns      19137/tcp     # NETBIOS Name Service   
netbios-dgm     19138/udp     # NETBIOS Datagram Service
netbios-dgm     19138/tcp     # NETBIOS Datagram Service
netbios-ssn     19139/udp     # NETBIOS Session Service
netbios-ssn     19139/tcp     # NETBIOS Session Service
microsoft-ds    19445/udp     # Microsoft-DS
microsoft-ds    19445/tcp     # Microsoft-DS


3.- Instalar o Samba (3.6.20) via Homebrew
~$ brew install samba

4.- Criar ficheiro org.samba.smbd.plist:
~$ sudo nano /Library/LaunchDaemons/org.samba.smbd.plist
 <?xml version="1.0" encoding="UTF-8"?>  
 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
 <plist version="1.0">  
   <dict>  
     <key>Label</key>  
     <string>org.samba.smbd</string>  
     <key>OnDemand</key>  
     <false/>  
     <key>ProgramArguments</key>  
     <array>  
       <string>/usr/local/Cellar/samba/3.6.20/sbin/smbd</string>  
       <string>-F</string>  
     </array>  
     <key>RunAtLoad</key>  
     <true/>  
     <key>ServiceDescription</key>  
     <string>samba</string>  
   </dict>  
 </plist>  

5.- Criar ficheiro org.samba.nmbd.plist:
~$ sudo nano /Library/LaunchDaemons/org.samba.nmbd.plist
 <?xml version="1.0" encoding="UTF-8"?>  
 <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
 <plist version="1.0">  
   <dict>  
     <key>Label</key>  
     <string>org.samba.nmbd</string>  
     <key>OnDemand</key>  
     <false/>  
     <key>ProgramArguments</key>  
     <array>  
       <string>/usr/local/Cellar/samba/3.6.20/sbin/nmbd</string>  
       <string>-F</string>  
     </array>  
     <key>RunAtLoad</key>  
     <true/>  
     <key>ServiceDescription</key>  
     <string>netbios</string>  
   </dict>  
 </plist>  

6.- Criar a directoria "private" (O Homebrew não cria automaticamente...):
~$ mkdir /usr/local/Cellar/samba/3.6.20/private

7.- Configurar smb.conf (com acesso "guest"):
~$ sudo nano /usr/local/Cellar/samba/3.6.20/etc/smb.conf

[global]
  workgroup = WORKGROUP
  server string = Samba 3.6.20
  netbios name = gandalf
  security = user
  Map to guest = Bad User
  smb passwd file = /usr/local/Cellar/samba/3.6.20/private/smbpasswd
  private dir = /usr/local/Cellar/samba/3.6.20/private
  passdb backend = tdbsam
  client NTLMv2 auth = Yes
  log level = 2
  debug timestamp = No
  debug hires timestamp = Yes
  max open files = 16384
  ldap ssl = start tls
  lock directory = /usr/local/Cellar/samba/3.6.20/var/locks
  pid directory = /usr/local/Cellar/samba/3.6.20/var/locks
  usershare path = /usr/local/Cellar/samba/3.6.20/var/locks/usershares
  idmap cache time = 604800
  wide links = No

[share]
  comment = MacBook
  path = /Users/Shared/share
  guest ok = yes
  wide links = no
  writeable = Yes
  force create mode = 0755
  force directory mode = 0755


8.- Verificar se há erros:
~$ testparm /usr/local/Cellar/samba/3.6.20/etc/smb.conf

se houver, é quase de certeza por causa da inexistência das directorias mencionadas acima. Por isso, criamos manualmente:
~$ mkdir /usr/local/Cellar/samba/3.6.20/var
~$ mkdir /usr/local/Cellar/samba/3.6.20/var/locks
~$ mkdir /usr/local/Cellar/samba/3.6.20/var/locks/usershares

9.- Iniciar serviço
~$ sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist
~$ sudo launchctl load /Library/LaunchDaemons/org.samba.nmbd.plist

Et voilà.

Mais informações:
- http://www.x2416.com/2012/06/samba-on-osx-lion-server.html
- http://blog.rubbingalcoholic.com/post/39412902216/fix-smb-windows-sharing-permissions-issue-in-os-x-10-7
...
- http://penadigital.blogspot.pt/2012/09/mac-os-x-samba-3-versao-open-source.html

#edit 16.11.2013

terça-feira, 21 de maio de 2013

Mac OS X: como instalar o FFmpeg

... via Homebrew com as principais opções activadas:

~$ brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass --with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

Alguns exemplos:
Converter .wav para .mp3:
~$ ffmpeg -i ficheiro.wav -f mp3 ficheiro.mp3

Converter .avi para dvd (com legendas):
~$ ffmpeg -i ficheiro.avi -vf subtitles=legendas.srt -target pal-dvd -aspect 16:9 ficheiro.mpeg

Mais info:
- FFmpeg Documentation
- FFmpeg Wiki
...
- 19 ffmpeg commands for all needs

# edit 14/06/2013

quarta-feira, 15 de maio de 2013

Imbecilidade é isto

(...) Se a troika diz que precisamos cortar quatro mil milhões estruturais pela e para a sustentabilidade do Estado, então o que a minha geração tem de dizer é que se corte os milhões que forem precisos - porque se a troika define os mínimos do sustentável é obrigação dos jovens exigir um país que seja muito para lá dos 'mínimos' da sustentabilidade.

Joana Barata Lopes, presidente da JSD/Lisboa
in DN, 15/05/2013

sábado, 4 de maio de 2013

Sacana do mais reles que há

Conta de Twitter de Passos Coelho (@passoscoelho), 02 de Maio de 2011.

domingo, 28 de abril de 2013

Samsung Galaxy Ace: compilar CyanogenMod 7

OS: Ubuntu Linux 12.04

Requisitos:

1) Para os sistemas de 32 e 64 bits:
~$ sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool libxml2 libxml2-utils xsltproc

Para os sistemas de 64bits:
~$ sudo apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib

2) Sacar o Android SDK em http://developer.android.com/sdk/index.html

3) Acrescentar a respectiva directoria na PATH:
~$ export PATH=${PATH}:~/adt-bundle-linux-x86/sdk/platform-tools

Instruções:

1) Criar as seguintes directorias:
~$ mkdir -p ~/bin
~$ mkdir -p ~/android/cyanogenmod7


2) Sacar o "repo" e torná-lo executável:
~$ cd bin
~$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
~$ chmod a+x ~/bin/repo
~$ export PATH=${PATH}:~/bin


3) Sincronizar código fonte do CM7:
~$ cd android/cyanogenmod7
~$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
~$ repo sync -j4


4) Definir CM7 para o SGA:
~$ cd android/cyanogenmod7
~$ source build/envsetup.sh
~$ lunch

- Seleccionar "cm_cooper-userdebug". Se por algum motivo não aparecer na lista, experimentar:
~$ lunch cm_cooper-userdebug (ou "lunch full_cooper-userdebug")

Alternativa:
~$ cd android/cyanogenmod7
~$ cd device/samsung
~$ git clone https://github.com/vo-1/android_device_samsung_cooper cooper


5) Extrair códigos proprietários:
- Conectar o SGA ao computador via USB (activar "Depuração USB").
~$ cd ~/android/cyanogenmod7/device/samsung/cooper
~$ ./extract-files.sh


Alternativa:
~$ cd android/cyanogenmod7
~$ cd vendor/samsung
(não existe? criar manualmente)
~$ git clone https://github.com/vo-1/android_vendor_samsung_cooper cooper

6) Sacar o ROM Manager (requisito necessário para compilar o CyanogenMod):
~$ cd android/cyanogenmod7/vendor/cyanogen
~$ ./get-rommanager


---
Este passo é só para quem escolheu a via "Alternativa" -- ver 4) e 5)
~$ cd android/cyanogenmod7
~$ . build/envsetup.sh

---
Em Debian 7 "Wheezy", criar o atalho python2 para o python2.7:
~$ su
~$ cd /usr/bin
~$ ln -s python2.7 python2

---

7) Iniciar compilação:
~$ brunch cooper

Depois de algumas horas a queimar a CPU, eis que finalmente temos a nossa versão do CyanogenMod (~/android/cyanogenmod7/out/target/product/cooper/cm-7-2013XXXX-UNOFFICIAL-cooper.zip) :)


Desde a última versão "nightly", lançada oficialmente em 01 de Março de 2013, que já foram feitas correcções e alterações importantes (ver changelogs aqui). Ao compilarmos o CyanogenMod directamente da fonte, ficamos com a garantia de ter o sistema sempre actualizado sem estar à espera que alguém o faça por nós ;)

Para mais informações, consultar:
- http://wiki.cyanogenmod.org/w/Build_for_cooper
- http://forum.xda-developers.com/showthread.php?t=2241832
- http://source.android.com/source/initializing.html
...
- http://wiki.cyanogenmod.org/w/Install_CM_for_cooper

Links úteis:
- android-wired-tether

Google Drive/cooper

# edit 01/06/2013:
- ver "Alternativa" do ponto 5.
- adicionado link para a pasta partilhada no Google Drive.

# edit 14/06/2013:
- ver nota para Debian 7 "Wheezy".

O carácter de "Cavácuo"

Cavaco Silva fez a vida negra aos governos da AD de Pinto Balsemão em 1981 e 1982,  um ano antes da assinatura de mais um pacote de ajuda do FMI a Portugal (o primeiro tinha sido em 1978).Os executivos Balsemão tinham uma maioria no Parlamento mas Cavaco não se importou com isso.
Conspirou, escreveu cartas abertas, fez reuniões secretas no Banco de Portugal, na sua vivenda algarvia Mariani (de Maria e Anibal). Até em traineiras de pesca com sardinhada ao almoço conspirou.
Destruiu mas nunca apresentou alternativas. Na hora da verdade, não apresentava listas nos órgãos nacionais do PSD.
Contribuiu fortemente para a instabilidade política, que levou os governos Balsemão à queda, e nesta medida, é também responsável pela degradação na altura das condições económicas do país e pelo recurso inevitável ao FMI para se evitar a bancarrota. 
Em Fevereiro de 1983, com o PSD em fanicos e o país aflito, a três meses de ser resgatado, Cavaco nem se dignou ir ao Congresso laranja de Montechoro. Preferiu ficar no bem-bom da Mariani, a 200 metros da assembleia magna do PSD.
Nem quis participar na campanha para as eleições de 25 de Abril de 1983.
Durante o governo do Bloco Central, entre 1983 e 1985, Cavaco recusou negociar enquanto quadro do Banco de Portugal com as equipas do FMI que estiveram no país.
Quando Mota Pinto lhe pediu para expor, num Conselho Nacional do PSD,  a politica económica do governo, primeiro não quis e depois acabou por fazer um discurso muito crítico para a política do governo, que fez tremer o executivo e ameaçou o  cumprimento do programa de assistência internacional.
    
De vez em quando Cavaco dava apoio mitigado à direcção do PSD, fazendo jogo duplo com Mota Pinto e o governo do Bloco Central. Tinha o único objectivo de se manter à tona, à espera do melhor momento para aparecer, após os outros terem feito o trabalho difícil da recuperação do país.
Em 1985 chegou essa hora. Venceu o Congresso da Figueira da Foz e rompeu o acordo do Bloco Central, o que conduziu à realização de eleições antecipadas que já sabia que ia ganhar, esmagando o PS com a ajuda de Ramalho Eanes e do seu novo PRD.
É este homem, hoje Presidente da República, que fala no 25 de Abril na necessidade imperiosa de acabar com a crispação política,  gerando consensos e "condições estruturais de governabilidade" para evitar um segundo pacote de resgate e critica quem explora "politicamente a ansiedade e a inquietação dos nossos concidadãos"...

Paulo Gaião, "O conspirador da Mariani queria lá saber do FMI"
in Expresso, 26/04/2013

(via Arrastão)

terça-feira, 9 de abril de 2013

O material tem sempre razão (5)

Há várias  coisas que nunca se devem esquecer: esta gente é vingativa e não se importa de estragar tudo à sua volta para parecer que tem razão. Já nem sequer é por convicção, é por vaidade e imagem.
Outra coisa, ainda mais complicada, que também não deve ser esquecida: o governo considera bem-vindas as ameaças da troika. São a chantagem que precisam, pedem e combinam. Não são uma voz alheia, nem dos "credores", nem da troika, nem de ninguém, são o auto falante agressivo que o governo necessita para tornar a sua política inquestionável e servir de ameaça a todas as críticas.
E por último, e não é de menos, esta gente é perigosa e, na agonia, muito mais perigosa ainda.

(A propósito do despacho do ministro Vítor Gaspar de 8 de Abril que pára o funcionamento do estado português, atribuindo essa decisão ao Tribunal Constitucional. O governo entrou numa guerra institucional dentro do estado, em colaboração com a troika, para abrir caminho a políticas de duvidosa legalidade e legitimidade baseadas no relatório que fez em conjunto com o FMI. Não conheço nenhum motivo mais forte e justificado para a dissolução da Assembleia da República por parte do Presidente do que este acto revanchista contra os portugueses.)

José Pacheco Pereira
in Abrupto, 09/04/2013

sábado, 6 de abril de 2013

Windows Update atrofiado (II)

Windows 8: erro 8024800A

Solução (obtida aqui):

1.- Correr o "Command Prompt" (Linha de comandos) como administrador.
(Botão dto. do rato > Executar como administrador)

2.- Parar o serviço do Windows Update (WUAgent).
C:\Windows\system32>net stop wuauserv

3.-  Mudar o nome da directoria "SoftwareDistribution" para "SoftwareDistribution.old", criando assim um backup "just in case".
C:\Windows\system32>ren c:\windows\SoftwareDistribution softwaredistribution.old

4.- Iniciar o serviço do Windows Update.
C:\Windows\system32>net start wuauserv

5.- Voltar a "Procurar actualizações".