Daily Archives: 2012/09/23

Uma das raras vias de intervenção política não-partidária: As “Iniciativas Legislativas de Cidadãos”

15 de setembro (http://thumbs.sapo.pt)

15 de setembro (http://thumbs.sapo.pt)

Estive na manifestação de 15 de setembro “Que se lixe a Troika”, eu e mais 200 mil cidadãos em Lisboa e pelo menos outro tanto em outras quarenta cidades do país. Em conjunto estes cidadãos declararam que não confiam nos políticos profissionais para conduzirem o país para fora da situação onde eles próprios o colocaram. E que estão fartos dos partidos e daqueles que vivem na sua sombra.

Mas o problema – o Bloqueio – está em que ao longo das últimas décadas os Partidos ergueram em torno de si camadas, atrás de camadas, de blindagem que torna o sistema “democrático” impermeável à participação dos cidadãos e lhes garante uma quase total monopólio da intervenção e ação políticas. É este Bloqueio que urge quebrar, usando as derradeiras vias que o sistema deixou abertas e inventando outras.

Uma dessas raras vias de intervenção política não-partidária são precisamente as “Iniciativas Legislativas de Cidadãos”.

E num contexto de Bancarrota e de redução severa de rendimentos existem muitas ILCs que se podem promover. Uma das mais evidentes sendo uma que levasse à revisão da lei que os antigos Presidentes da República usufruam regalias e benesses moralmente injustificáveis ou como diz a lei, tenham “direito ao uso de automóvel do Estado, para o seu serviço pessoal, com direito a motorista e combustível”, regalias incompreensíveis (e às quais à que somar uma confortável reforma) e às quais há ainda que somar um “gabinete de trabalho, sendo apoiados por um assessor e um secretário da sua confiança, nomeados a seu pedido”.

Uma tal ILC levaria a que, finalmente, os políticos profissionais “governassem pelo Exemplo”, devolvendo pelo menos por aqui alguma da autoridade Moral que perderam pelo usufruto e abuso sistemático deste tipo de regalias. IMORAIS num pais onde se têm retirado abonos de família e onde – pela primeira vez – se assiste a uma redução do salário mínimo e a um aumento da jornada de trabalho, mas onde estas regalias permanecem intactas.

Categories: Economia, Política Nacional, Portugal | 4 comentários

Proposta para um “Sistema Álibi” para condenados por crimes violentos ou de natureza sexual

Todos aqueles que tenham sido condenados por um crime violento ou de índole sexual serão obrigados a possuir um telemóvel com GPS, câmara e gravador de áudio. Esse equipamento (usando terminais comercialmente disponíveis a baixo custo), captara permanentemente o posicionamento GPS e os endereços IPs das redes WiFi vizinhas enviando essa informação em pacotes regulares para servidores centrais e seguros. De forma aleatória, fotografias e segmentos de som serão também capturados e enviados após compressão e encriptação para esta localização central.

Estes dados serão arquivados durante um período pré-especificado de tempo, findo o qual serão destruídos. O seu acesso será permitido apenas a Tribunais ou no decurso de investigações policiais (devidamente autorizadas por um juiz de instrução). Estes registos servirão um triplo propósito:
1. Dissuadirão o condenado de qualquer reincidência, já que sabe que a sua geo-localização será sempre conhecida e gravada.
2. Permitirão agilizar muitas investigações policiais, possibilitando o descartamento de suspeitos, reduzindo os erros judiciais e o tempo de investigação (pela eliminação de suspeitos)
3. O sistema será aberto a todos, mesmo aqueles que não sendo condenados, pretendem ter um álibi permanente contra falsas acusações. Nesse caso, o sistema será fechado e os seus registos poderão ser acedidos apenas pelo próprio.

Categories: Justiça, Política Nacional, Portugal | Deixe um comentário

Alguns Conceitos Básicos de Programação Android

O objetivo deste tutorial (uma tradução livre de http://mobile.tutsplus.com/tutorials/android/java-tutorial/) é o de treinar quem já esteja familiarizado com uma linguagem de programação (C++, VB, PHP, etc) para trabalhar com a linguagem de programação Java e a sua utilização no contexto de desenvolvimento de aplicação Android. O uso da língua inglesa é também aqui relativamente comum, porque – francamente – não acredito na tradução literal de termos técnicos e muito particularmente informáticos.

Pré-requisitos:
Conhecimentos básicos de programação são esperados assim como um ambiente de desenvolvimento (IDE) como o Eclipse, provavelmente o IDE mais utilizado em Android Development. O Eclipse é gratuito e está disponível para Windows, MacOSX e Linux. Igualmente útil será o Android SDK:
http://www.eclipse.org/downloads/
http://developer.android.com/sdk/index.html

O que é o Java?
As aplicações Android são desenvolvidas utilizando a linguagem Java. Originalmente criada pela Sun Microsystems, a Java inclui muitas das caraterísticas das linguagens de programação modernas. O Java é relativamente fácil de aprender, é independente da plataforma onde o seu código será executado, seguro graças ao uso de virtual machines e é uma linguagem de programação orientada por objetos. O Android SDK incorpora a maioria das libraries standard do Java (data structure libraries, math libraries, graphics libraries, networking libraries, etc) para além de várias Android libraries.
A linguagem Java é facilmente compreendida pelo leigo. Por exemplo:

char character = ‘a’;
if(character==’a’)
{
doSomething();
} else {
doSomethingElse();
}

Mostra que existe uma variável chamada “character” com o conteúdo “a”. Sendo este “a”, é chamado o método “doSomething()”, se não fosse, seria invocado o doSomethingElse()

Independente da Plataforma:
A maioria das linguagens de programação exigem um compilador para transformar o código fonte (como o acima) numa linguagem que a máquina possa interpretar. Isto significa que essa linguagem muda de sistema para sistema e de processador para processador, logo, não será portável… Isto não acontece com o Java. Os compiladores Java convertem o código fonte em algo chamado de “bytecode” que a Java Virtual Machine consegue ler e executar. A execução é relativamente rápida e eficiente, muito semelhante aos níveis de desempenho de um compilação C ou C++ tal é o nível de sofisticação implementado hoje pelas Java VMs.
As aplicações Android são executadas numa máquina virtual conhecida como Dalvik VM que permite que todo o código seja executado de forma muito idêntica (mas não completamente igual…) em todos os devices Android.

Segurança:
O Java é seguro porque tudo corre dentro da bolha que é a virtual machine, isolada do hardware do computador. A plataforma Android aumenta ainda mais este nível de segurança ao correr dentro de uma bolha mas também porque estão sempre sob monitorização do sistema operativo que as desliga se ultrapassarem determinados padrões de normalidade (excesso de uso de CPU, desperdício de recursos, etc).

Compilando:
Ainda que o Java não compile até ao ponto do código-máquina, o Java continua a ser uma linguagem compilada: isto é, o programador compila os projetos Android e faz o seu package até ao device. O Eclipse (com o plug-in Android) torna este processo relativamente simples. No Eclipse, a compilação automática está ligada por defeito, o que significa que cada vez que um projeto é guardado, ele é recompilado. O Eclipse também mostra erros de digitação à medida que se escreve o código. Com a opção “Build Automatically” ligada, é possível escolher o “Clean…” para realizar um full rebuild de todos os ficheiros. Se a opção “Build Automatically” estiver desligada, as opções “Build All” e “Build Prokect” tornam-se disponíveis. “Build All” significa fazer o build de todos os projetos situados no workspace, o que pode demorar muito tempo se tiver muitos projetos no workspace…
O processo de build, num projeto Java, produz um ficheiro com a extensão .JAR (Java ARchive) que depois resulta num Android PacKage (.apk) que tem o código Java compilado, assim como código Java compilado, texto, imagens e ficheiros de sons. Incluído está também o importante ficheiro AndroidManifest.xml requerido por todas as aplicações Android e que inclui os detalhes de configuração sobre a aplicação.

O que é uma linguagem de programacao orientada por objetos?
Uma linguagem “object oriented programing” é uma forma de programar em que, por exemplo um objeto “cão” terá nome, raça e género. Podemos criar várias instâncias do objeto “cão”, cada um dos quais tem que ser criado pelo método constructor (um método que tem o mesmo nome que o próprio objeto), nomeadamente, um objeto “cão” usa um constructor com três parametros: nome, raça e género:

Dog dog1 = new Dog(“Lassie”, collie, female);
Dog dog2 = new Dog(“Fifi”, poodle, female);
Dog dog3 = new Dog(“Asta”, foxterrier, male);

Este exemplo expõe alguns dos traços fundamentais da Java. Observa-se que uma classe oferece uma definição para um objeto e, consequentemente, existira algures uma classe “cão” algures, ou definida pelo programador ou em alguma library. Normalmente, uma classe será definida no seu próprio ficheiro (por exemplo dog.java). Existem algumas excepções a esta regra, como classes definidas dentro de outras classes (quando uma classe é declarada dentro de outra classe, estas são definidas na classe pai). Quando se deseja referenciar a um objeto a partir de outra classe, é necessário incluir um import statement no topo do ficheiro.

Uma classe tipicamente descreve os dados e o comportamento de um objeto. O comportamento é definido com class methods, sendo um method o termo comum para uma subrotina numa linguagem OOP. As classe comuns são definidas em shared class libraries como os software development kits (SDKs) ou pelo programador.

Um dos termos mais usados na Java é o de herança “inheritance”, que significa que as classes Java (e objetos) podem ser organizadas em hierarquias com as classes mais baixas recebendo por herança comportamentos (behaviour) e outros traços das classes mais altas e genéricas. Vamos ilustrar este conceito através do exemplo de um aquário: o aquário tem alguns peixes, logo, podemos definir uma classe que representa um ficheiro. Esta classe, chamada Peixe, inclui alguns data fiels (ou atributos) que descrevem um peixe: espécie, cor e tamanho; assim como o seu comportamento na forma de métodos (também chamados de subrotinas ou funções, noutras linguagens de programacao), como Come(), Dorme() e FazerBebesPeixe(). Um tipo especial de método, designado como Constructor é usado para criar ou inicializar um objeto. Os constructors sao nomeados da mesma forma que a sua classe podem incluir (ou não) parâmetros. A classe Peixe, por exemplo, tem dois constructors: um para criar e outro para construir um peixe específico com alguns dados iniciais.

O objeto Peixe pode ter dois métodos: um Comer() para comer aleatoriamente alguma coisa e outro para comer outros peixes, a saber, outras instâncias da classe Peixe:

public class Fish {

private String mSpecies;
private String mColor;
private int mSize;

Fish() {
// generic fish
mSpecies = “unknown”;
mColor = “unknown”;
mSize = 0;
}

Fish(String species, String color, int size) {
mSpecies = species;
mColor = color;
mSize = size;
}
public void eat() {
// eat some algae
};

public void eat(Fish fishToEat) {
// eat another fish!
};

public void sleep() {
// sleep
};

public void makeBabyFish(Fish fishSpouse, int numBabies) {
// Make numBabies worth of baby fish with Fish spouse
};
}

As Classes podem ser organizadas por hierarquias, onde uma classe derivada ou subclasse inclui todas as carateristicas da classe pai ou superclasse, mas refina e adiciona-as para um objeto mais especifico. A isto se chama de herança ou inheritance. Por exemplo, a classe Fish pode ter duas subclasses: FreshwaterFish e SaltwaterFish. Estas subclasse terão todas as carateristicas da classe Fish, mas vão levar mais longe os behaviours da classe pai Fish. Por exemplo, a classe FreshwaterFish pode incluir informação sobre o tipo de ambiente de água doce (rio, lado, ribeiro, etc). De forma idêntica, a SaltwaterFish pode personalizar o método makeBabyFish() de forma a que o peixe coma o seu par depois de procriar com ele usando um mecanismo de override:

public class SaltwaterFish extends Fish
{
@Override
public void makeBabyFish(Fish fishSpouse, int numBabies) {
// call parent method
super.makeBabyFish(fishSpouse, numBabies);
// eat mate
eat(fishSpouse);
}
}

Na linguagem Java é possível organizar comportamentos usando Interfaces:

Enquanto uma classe define um objeto, uma interface define algum behaviour que pode ser aplicado a um objeto. Por exemplo, podemos definir uma interface Swimmer (mergulhador) que providencia um grupo de métodos que são comuns a todos os objetos que podem nadar, quer sejam peixes, quer não. A interface Swimmer pode assim especificar quatro métodos: startSwimming(), stopSwimming(), dive(), e surface():

public interface Swimmer
{
void startSwimming();
void stopSwimming();
void dive();
void surface();
}

Uma classe como Fish pode assim implementar a interface Swimmer e oferecer implementações ao comportamento Swimmer:

public class Fish implements Swimmer {
// oferece implementacoes para os quatro métodos da Swimmer interface
}

Organizando Classes e Interfaces com Packages:

As hierarquias de classes, como as nossas Fish podem organizadas em packages. Um package é simplesmente um conjunto de classes e interfaces juntas. Os programadores usam namespaces para identificarem de forma única packages. Por exemplo, podemos usar com.mamlambo.aquarium ou com.ourclient.project.subproject como o nosso package para agregar todas as nossas classes relacionadas com peixes.

Em suma:

Os parágrafos anteriores foram relativamente intensos e extensos… ma segunda lição deste curso vamos abordar os detalhes da sintaxe da Java.

Fonte:
http://developer.android.com/sdk/index.html

Categories: Android, Informática | Deixe um comentário

Create a free website or blog at WordPress.com.

Eleitores de Portugal (Associação Cívica)

Associação dedicada à divulgação e promoção da participação eleitoral e política dos cidadãos

Vizinhos em Lisboa

A Vizinhos em Lisboa tem em vista a representação e defesa dos interesses dos moradores residentes nas áreas, freguesias, bairros do concelho de Lisboa nas áreas de planeamento, urbanismo, valorização do património edificado, mobilidade, equipamentos, bem-estar, educação, defesa do património, ambiente e qualidade de vida.

Vizinhos do Areeiro

Núcleo do Areeiro da associação Vizinhos em Lisboa: Movimento de Vizinhos de causas locais e cidadania activa

Vizinhos do Bairro de São Miguel

Movimento informal, inorgânico e não-partidário (nem autárquico independente) de Vizinhos

TRAVÃO ao Alojamento Local

O Alojamento Local, o Uniplaces e a Gentrificação de Lisboa e Porto estão a destruir as cidades

Não aos Serviços de Valor Acrescentado nas Facturas de Comunicações !

Movimento informal de cidadãos contra os abusos dos SVA em facturas de operadores de comunicações

Vizinhos de Alvalade

Movimento informal, inorgânico e não-partidário (nem autárquico independente) de Vizinhos de Alvalade

anExplica

aprender e aprendendo

Subscrição Pública

Plataforma independente de participação cívica

Rede Vida

Just another WordPress.com weblog

Vizinhos do Areeiro

Movimento informal, inorgânico e não-partidário (nem autárquico independente) de Vizinhos do Areeiro

MDP: Movimento pela Democratização dos Partidos Políticos

Movimento apartidário e transpartidário de reforma da democracia interna nos partidos políticos portugueses

Operadores Marítimo-Turísticos de Cascais

Actividade dos Operadores Marítimo Turísticos de Cascais

MaisLisboa

Núcleo MaisDemocracia.org na Área Metropolitana de Lisboa

THE UNIVERSAL LANGUAGE UNITES AND CREATES EQUALITY

A new world with universal laws to own and to govern all with a universal language, a common civilsation and e-democratic culture.

looking beyond borders

foreign policy and global economy

O Futuro é a Liberdade

Discussões sobre Software Livre e Sociedade