06
Apr 15

47

f685bdab141682205652816909_700wa_0


27
Mar 15

“Lista VIP” na Justiça, já!!

18137694_hhbGjEsta coisa da “lista VIP”, nomeadamente o sistema de alertas, não seria de usar na Justiça para proteger os processos em segredo de Justiça?

Ah, esqueci-me. Os processos são muito mais seguros em papel. Assim o juiz leva o papel para casa e voilá: because segurança.

Embora o grande mecanismo de segurança dos processos em tribunal é o serem cosidos. Sim, cosidos, com fio e agulha, à mão.

Isto porque, notem, impede a consulta indevida. As folhas estão todas cosidas umas com as outras e assim não dá para tirar fotocópia.

Quando alguém devidamente autorizado precisa de consultar o processo, descosem-se as folhas. No fim, volta-se a coser. À mão. Com fio e agulha. Não acreditam? Ampliem a imagem: http://observador.pt/wp-content/uploads/2014/08/processos-tribunais11.jpg

A “coisa” podia ser informatizada. Mas os juizes e magistrados só o permitiriam se pudessem construir um datacenter na cave do palácio Raton. No datacenter do MJ é que não. Os servidores estão mais seguros num “datacenter” em Évora que é numa cave (because segurança!!). O ter uma janela virada para a rua, sem protecção, e o ar condicionado ser uma ventoínha não são problemas de maior.

Muito menos é aceitável que esteja tudo centralizado em servidores num datacenter. A segurança é muito maior se os processos de cada tribunal, cada vara, estiverem armazenados num servidor local. Mais uma vez, o facto de muitas vezes haverem janelas viradas para a rua, sem protecção, não é problema. Aliás, até ajuda: quando a ventoinha falha abre-se a janela.

Se se precisar de estatisticas na Justiça, não há problema: em cada um dos +400 servidores faz-se um export para Excel e depois alguém junta os 400 ficheiros num só. O Excel ajuda bastante.

Quanto às gravações dos julgamentos e os ficheiros audio, estamos falados.

E não há cá cartões de ID e autenticação num sistema de PKI (infraestrutura de chaves públicas) atribuidos pelo Ministério da Justiça. Para haver esses cartões tinham os próprios juizes e magistrados de ter uma PKI só deles. E impressoras de cartões só deles. Na cave do palácio. A Casa da Moeda fazer isso não é de confiar.


03
Feb 15

O Ovo, a Galinha e a Internet

LNEC

 Um amigo enviou-me ontem uma digitalização de uma página da Exame Informática, vide abaixo. Não sei porque é que a questão se continua a levantar. Quem veio primeiro, o ovo ou a galinha? E quem tem uma pilinha maior? Eu acho que sou eu (e o Luis Sequeira). Quem tiver uma maior, GIF or it didnt happen.

ScreenShot_046

Vamos começar um bocado atrás, 1991/1992. Estas páginas sobre a “Historia da Internet em Portugal“, criadas pelo prof. Legatheaux Martins (de quem fui aluno), esclarecem uma série de coisas sobre o principio da Internet em Portugal. Sendo certo que as informações dadas têm algumas falhas. Vide imagem abaixo, retirada de um trabalho que fiz para o PUUG no fim de 1992. Quando este documento foi entregue já eu estava a estagiar no LNEC onde tinha acesso Internet permanente. Deve ser por isso que o professor não estará lembrado deste trabalho.

1509204_10201848229785705_987641102_n

O meu estágio no LNEC era na área de “Multimédia e Hipertexto” consistia em criar um sistema de gestão de documentos, incluindo comparação com outros sistemas. Um desses, usando o formato HTML e o protocolo HTTP, acabou por se tornar no que hoje designamos por Web. Vidé abaixo algumas páginas do meu trabalho final de estágio, desenvolvido entre 1992 e 1993, ano em que foi apresentado.

0001000200030004Nesta última página poderão notar o Mosaic (o primeiro Web browser) com a Welcome Page do LNEC. Isto foi mais ou menos pela altura dos dois posts  seguintes nas news (Usenet), que comprovam adicionalmente o facto de já estar a usar a tecnologia HTML/HTTP no site do LNEC algures a meio de 1993. Antes portanto, de qualquer das datas mencionadas no artigo da Exame Informática.

Para fechar estas datas, podem ver a lista de cerca de 3.000 webservers que existiam a 1 de Julho de 1994 (em .PT são onze servidores; um deles o S700 e nenhum deles do PUUG ou da Telepac ou etc…).

E agora quem tiver uma pilinha maior chegue-se à frente.


28
Aug 14

O Business Plan da Esoterica

esoterica business plan


03
Jun 14

“Swift” is Syntactic Sugar

download The “new” Swift programming language from Apple is nothing more that syntactic sugar on top of Javascript.

A few examples from Swift Welcome page and Swift Tour page

Example 1:

Swift code:

============================
let people = ["Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25]
for (name, age) in people {
println("\(name) is \(age) years old.")
}
==============================

JS code ( http://jsfiddle.net/SSD9Y/1/ ) :

============================
var people = {"Anna": 67, "Beto": 8, "Jack": 33, "Sam": 25}

for ( person in people ) {
alert( person + " is " + people[person] + " years old.")
==============================

Example 2:

Swift code:

============================
let cities = ["London", "San Francisco", "Tokyo", "Barcelona", "Sydney"]
let sortedCities = sort(cities) { $0 < $1 }
if let indexOfLondon = find(sortedCities, "London") {
println("London is city number \(indexOfLondon + 1) in the list")
}
==============================

JS code ( http://jsfiddle.net/pYWb9/1/ ) :

============================
var cities = ["London", "San Francisco", "Tokyo", "Barcelona", "Sydney"]
var sortedCities = cities.sort()

indexOfLondon = sortedCities.indexOf("London")+1
alert("London is city number " + indexOfLondon + " in the list")
==============================

Example 3:

Swift code:

============================
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"

var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
==============================

JS code ( http://jsfiddle.net/p3FM6/1/ ):

============================
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"
var occupations= {Malcolm: 'Captain',Kaylee:'Mechanic'}
occupations["Jayne"] = "Public Relations"
==============================

Example 4:

Swift code:

============================
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
teamScore
==============================

JS code ( http://jsfiddle.net/s9DF5/1/ ):

============================
var individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for (score in individualScores) {
if (score > 50) {
teamScore += 3
} else {
teamScore += 1
}
==============================