27
Mar 15
“Lista VIP” na Justiça, já!!
Esta 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
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.
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.
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.



Nesta ú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.
- Everyones a Comedian (original) (conferir data e o autor de uma das respostas)
- Thus the Journey Begins (original) (conferir data e a referência ao facto de o PUUG não providenciar acesso TCP/IP e portanto não ter webserver)
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.
03
Jun 14
“Swift” is Syntactic Sugar
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
}
==============================




