domingo, 1 de setembro de 2013

O boçal

(...) Já alguém se lembrou de perguntar aos 900 mil desempregados de que lhes valeu a Constituição até hoje?

Pedro Passos Coelho no discurso de encerramento da Universidade de Verão do PSD, 1/9/2013.

#edit 2/9/2013:

Pergunte-se aos desempregados

quinta-feira, 22 de agosto de 2013

terça-feira, 20 de agosto de 2013

Divulgando

Segundo o próprio Ministério de Educação e Cultura (MEC)”a capacidade de resposta dos estabelecimentos de ensino público do concelho (de Caldas da Rainha)é de 162 turmas” (1). Acontece porém que no ano letivo de 2012/2013 apenas funcionaram nessas escolas 150 turmas. Não por falta de alunos, mas porque nos dois colégios do concelho com contrato de associação (Rainha D. Leonor e Frei S. Cristóvão) funcionaram pelo menos 56. Ou seja, mesmo atendendo aos dados do MEC, há pelo menos 12 turmas que caberiam perfeitamente mas escolas públicas do concelho, pelas quais o MEC – isto é, os contribuintes, – pagaram, com grave prejuízo para o interesse público,1020000 euros a colégios privados.

A situação porém é ainda mais escandalosa se tivermos em linha de conta o não aproveitamento da requalificação levada a cabo em 2010/2011 na Escola Secundária Rafael Bordalo Pinheiro, quer quanto ao número de turmas que comporta (45) quer quanto à qualidade dos recursos oferecidos. De facto, apesar de esta Escola estar apetrechada com laboratórios de elevada qualidade e ter professores de Física e de Química com horário-zero, o MEC terá atribuído duas turmas do 10º ano de Ciências e Tecnologias ao colégio Rainha D. Leonor. De igual modo, havendo 5 docentes de Economia que irão para horário zero na Escola Secundária Rafael Bordalo Pinheiro, nesta escola não abrirá nenhuma turma de 10º ano de Economia e que, ao que tudo indica, estão a ser encaminhados para o supracitado colégio! (O secretismo na constituição da rede escolar concelhia e a ausência de dados relativamente ao número de turmas de 5º, 7º e 10º anos autorizadas aos colégios não nos permite ter certezas relativamente ao próximo ano letivo)

Nesta mesma linha de ilegal proteção destes colégios e do desbaratar de dinheiros públicos, denuncie-se o encaminhamento de alunos que completaram o 1º CEB, não para as escolas dos agrupamentos a que pertenciam – D. João II, Bordalo Pinheiro e Raul Proença – mas para os referidos colégios, contrariando de forma clara a lei e a argumentação que o MEC tem vindo a utilizar para justificar os mega-agrupamentos: a continuidade pedagógica.

Reconhecendo que a oferta pública se estava a tornar praticamente suficiente para as necessidades do concelho (o número de alunos tem-se mantido constante) o anterior governo de Isabel Alçada determinara, por acordo assinado com a AEEP em fevereiro de 2011, baseado em estudos de rede feitos pela Universidade de Coimbra, a redução de 5 turmas até ao ano 2013/2014 no colégio Rainha D. Leonor. Dava assim o governo de então um evidente sinal de respeito pela legislação e pelo dinheiro dos contribuintes, reduzindo de forma cautelar – de modo a salvaguardar os vários interesses em jogo – os contratos de associação onde eles se vinham a tornar desnecessários. Pelo contrário, o atual governo, que enche a boca com a necessidade de poupar na despesa pública e para isso não hesita em cortar salários e pensões, desbarata, por mera razão ideológica ou compadrio de interesses, muitos milhões de euros em contratos de associação absolutamente dispensáveis. (Recorde-se aliás que a instalação destes colégios privados no concelho foi ela mesma uma decisão marcadamente ideológica da Câmara Municipal da cidade e do governo da altura que os preferiram à construção, no mesmo espaço, de escolas públicas como estava previsto).

A comunidade educativa do concelho tem-se batido com firmeza e inteligência em defesa da Escola Pública e contra estes privilégios e compadrios em torno destes colégios.

Razões de eficácia jurídica aconselham a que, em vez da previdência cautelar inicialmente admitida, o SPGL avance com um processo em tribunal contra o MEC por mau uso de dinheiros públicos, proteção ilegítima de interesses privados e não respeito pela legislação que rege a celebração dos contratos de associação. (2) O que o SPGL fará de imediato.

A Direção do SPGL

Notas

(1) Números que constam da resposta enviada pelo MEC, em 13 de Junho de 2012, a questões apresentadas pelos deputados do PCP Bruno Dias e Miguel Tiago.

(2) Nomeadamente o DL 553/80, de 21 de novembro, artº 14: “Os contratos de associação são celebrados com escolas particulares situadas em zonas carenciadas de escolas públicas” e pela Portaria nº 613/85, de 19 de agosto: “Para efeitos de celebração de contratos de associação, a expressão” áreas carenciadas de escolas públicas” significa a não existência de estabelecimentos de ensino oficial na localidade ou situação de ruptura ou saturação dos existentes”

Publicado por Paulo Guinote
in A Educação do meu Umbigo, 20/08/2013.

# edit 01/01/2014:

Outros links relevantes:
- Repórter TVI: "Verdade Inconveniente" sobre os colégios privados
- Menos 17,3 milhões de euros para a educação especial

domingo, 18 de agosto de 2013

Debian Linux: actualizações automáticas de segurança via cron-apt

OS: Debian 7 "Wheezy"

0.- Instalar update-notifier (opcional)
~$ su
~$ apt-get install update-notifier


1.- Instalar cron-apt
~$ apt-get install cron-apt

2.- Editar o ficheiro /etc/cron-apt/action.d/3-download de modo a actualizar apenas os pacotes (e não a distro):
~$ nano /etc/cron-apt/action.d/3-download
autoclean -y
#dist-upgrade -d -y -o APT::Get::Show-Upgraded=true
upgrade -d -y -o APT::Get::Show-Upgraded=true


3.- Criar os seguintes ficheiros para permitir as actualizações automáticas de segurança:
~$ nano /etc/cron-apt/action.d/5-security
upgrade -y -o APT::Get::Show-Upgraded=true

~$ nano /etc/cron-apt/config.d/5-security
OPTIONS="-o quiet=1 --no-list-cleanup -o Dir::Etc::SourceList=/etc/apt/security.sources.list -o Dir::Etc::SourceParts=\"/dev/null\""


4.- Criar o ficheiro security.sources.list com base na sources.list:
~$ cp /etc/apt/sources.list /etc/apt/security.sources.list

... e apagar tudo excepto:

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main


[Nota: Não esquecer de editar este ficheiro quando actualizarmos o sistema -- substituir "wheezy" pelo novo nome da distro].

5.- Configurar o ficheiro /etc/cron.d/cron-apt de acordo com o horário pretendido. Por defeito, corre às 4 da manhã.
~$ nano /etc/cron.d/cron-apt
#
# Regular cron jobs for the cron-apt package
#
# Every night at 4 o'clock.
0 4 * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt
# Every hour.
# 0 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2
# Every five minutes.
# */5 * * * * root test -x /usr/sbin/cron-apt && /usr/sbin/cron-apt /etc/cron-apt/config2


6.- Executar o cron-apt via anacron criando um atalho no /etc/cron.daily:
~$ ln -s /usr/sbin/cron-apt /etc/cron.daily/

Para mais informações, consultar:
- http://www.the-art-of-web.com/system/cron-apt-wheezy/
- https://help.ubuntu.com/community/AutoWeeklyUpdateHowTo
...
- http://naoimporta.com/blog/cron-vs-anacron-como-configurar-o-anacron-no-linux/
...
- http://v1.corenominal.org/howto-setup-a-crontab-file/

quarta-feira, 31 de julho de 2013

back to the future (ii)

Savages - "City's Full" (2012)

quarta-feira, 17 de julho de 2013

O BPN

Alguém pôs no Memorando de Entendimento uma data limite para a venda do BPN. O Governo ainda em funções fez da venda do BPN um ponto de honra e assinou um contrato para tal, na véspera do fim do prazo estabelecido. Era obrigatória, dizia, quando tempos depois o cancelamento da venda da TAP mostrou a margem de manobra que sempre há nestas coisas. O acordo de venda do BPN envolveu comprovados telefonemas entre o actual Primeiro-Ministro e responsáveis políticos angolanos, país de onde veio o capital para a compra. Foi uma venda com fins políticos, politicamente enquadrada. Desde que o negócio foi feito, fomos sabendo pormenores. Hoje ficámos a saber que os actuais donos do BPN estão a resolver problemas legais herdados e a mandar a conta ao Estado (ver Público). Podemos não perceber nada desses problemas e até pode acontecer que os actuais donos estejam a fazer um serviço ao Estado. Tudo pode ser. O que é verdadeiramente estranho é que o Estado seja obrigado a pagar contas sobre actos que não pode controlar, sobre cujo preço não se pode sequer pronunciar. Não é estranho? É. Mas outra coisa não seria de esperar de um contrato feito nas circunstâncias descritas, por um Governo que não olhou a meios para atingir determinados fins, quase todos contraproducentes. Pode-se passar uma esponja sobre actos destes? Ou tudo isto é normal e só o povo é que não está a ver bem a coisa?

Pedro Lains, 15/07/2013.

# edit 20/07/2013:

Nicolau Santos, "Contas do Dia" Antena 1, 18/07/2013 [.mp3]

domingo, 7 de julho de 2013

Mac OS X: notificações automáticas de actualizações do sistema para utilizadores standard

UpdateCheck, Mac OS X Software Update notifications for non-admin users
Ideia/script original de Sven Anderson. Modificado por mim para ser compatível com o Mountain Lion. Usa o Finder em vez do Growl para notificar o utilizador; descarrega e instala as actualizações via terminal em vez de abrir a App Store por causa disto.

1.- Aceder à conta administrator.

2.- Abrir o ficheiro "sudoers" via visudo:
~$ sudo visudo

2a) Premir a tecla 'i' para editar.

2b) Adicionar o seguinte:
username ALL=NOPASSWD:/usr/sbin/softwareupdate
(ex: paulo_ ALL=NOPASSWD:/usr/sbin/softwareupdate)

2c) Premir a tecla 'Esc' para sair do modo edição.

2d) Escrever ':w' para gravar o ficheiro.
 
2e) Escrever ':q' para sair.

Nota: Se por qualquer motivo for preciso sair sem gravar, escrever ':q!'.

3.- Voltar à conta standard.


4.- Criar o ficheiro updateChecker.scpt via AppleScript Editor...
 set theList to every paragraph of (do shell script "sudo softwareupdate -l")  
 set updates to ""  
 repeat with anItem in theList  
      if anItem starts with "  * " then  
           if updates is not "" then  
                set updates to updates & return  
           end if  
           set updates to updates & (characters 6 thru -1 of anItem)  
      end if  
 end repeat  
 if updates is not "" then  
      tell application "Finder"  
           set answer to button returned of (display dialog "Software Update available:" & return & updates with title "Software Update available" buttons {"Cancel", "Launch Terminal"} default button {"Launch Terminal"} cancel button {"Cancel"} with icon file ":System:Library:CoreServices:Software Update.app:Contents:Resources:SoftwareUpdate.icns")  
           if answer is equal to "Launch Terminal" then  
                tell application "Terminal"  
                     do script "sudo softwareupdate -i -a"  
                     activate  
                end tell  
           end if  
      end tell  
 end if  
... e copiá-lo para ~/AppleScripts

5.- Criar o ficheiro de.anderson.sven.updateCheck.plist
 ~$ nano ~/Library/LaunchAgents/de.anderson.sven.updateCheck.plist
 <?xml version="1.0" encoding="UTF-8"?>  
 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
 <plist version="1.0">  
 <dict>  
      <key>Label</key>  
      <string>de.anderson.sven.updateCheck</string>  
      <key>LowPriorityIO</key>  
      <true/>  
      <key>Nice</key>  
      <integer>1</integer>  
      <key>ProgramArguments</key>  
      <array>  
           <string>osascript</string>  
           <string>/Users/username/AppleScripts/updateChecker.scpt</string>  
      </array>  
      <key>RunAtLoad</key>  
      <true/>  
      <key>StartInterval</key>  
      <integer>86400</integer>  
 </dict>  
 </plist>  
Nota 1: Substituir 'username' pelo nome do utilizador. (Atenção: Não funciona se metermos '~'. É mesmo preciso pôr a path toda...).
(ex: /Users/paulo_/AppleScripts/updateChecker.scpt)

Nota 2: A directoria "AppleScripts" é, obviamente, apenas uma sugestão. Se decidirem copiar para outra directoria, não se esqueçam de fazer a respectiva alteração no ficheiro.

6.- Sair da sessão e voltar a entrar.
Ou executar no terminal:
~$ launchctl load ~/Library/LaunchAgents/de.anderson.sven.updateCheck.plist

# edit 23/07/2013

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