quarta-feira, outubro 14, 2009

politiquices

Acabo de ler este e-mail.


Caros colegas:

Nós, membros discentes da Comissão Pedagógica do DEETC, informamos-vos da nossa demissão colectiva. Passados quase dois anos desde a nossa eleição em Dezembro de 2007, tivemos de encarar o facto de que não existem condições nem estabilidade para que possamos defender os vossos interesses, motivo principal da nossa candidatura.

Ao longo do nosso mandato o departamento dificultou o cumprimento das nossas tarefas, ao ponto de nos deixar numa posição anímica. Dessas tarefas, destacamos a elaboração dos horários.

No seu artigo 33º, os (antigos) estatutos do ISEL conferem ao Conselho Pedagógico a competência para a elaboração dos horários de funcionamento das turmas, tarefa que é delegada nas Comissões Pedagógicas de cada departamento. No DEETC é adoptada, de acordo com o artigo 13º do seu regulamento, uma colaboração com a Comissão Executiva, que tem a seguinte forma (sendo a que faz mais sentido, mas podendo ser outra): apresentamos à Comissão Científica o número de turmas a vigorar no semestre e, com base nesse documento, a Comissão Científica elabora e entrega-nos a distribuição do serviço docente (de acordo com o artigo 9º na secção 4 do regulamento do DEETC). A distribuição de serviço docente não é absoluta nem inquestionável, sendo nossa responsabilidade interceder em nome dos alunos quando o consideramos pertinente. Uma competência da Comissão Pedagógica é, aliás, fechar ou abrir turmas conforme a proporção de alunos face aos docentes destacados.

Nos últimos três semestres tem-se verificado um atraso na entrega da distribuição de serviço docente, não sendo respeitado o prazo que a Comissão Pedagógica indica como razoável para que o trabalho subsequente possa ser realizado sem pôr em causa o início das aulas. Como consequência, trabalhamos dia e noite para que o atraso do início das aulas não seja ainda mais grave, muitas vezes à custa de deixarmos por resolver certos problemas patentes nos horários. Há um ano, o início atempado das aulas só foi assegurado porque alguns membros da Comissão abdicaram das suas férias para durante o mês de Agosto construírem os horários. No semestre corrente, a distribuição de serviço docente foi-nos entregue, incompleta e insuficiente, no final de Julho, tornando-se frutífera apenas na segunda semana de Setembro e por fim completa já depois do início das aulas. Estes sucessivos atrasos mostram uma despreocupação em relação ao bom funcionamento do departamento e um desrespeito pelo nosso trabalho/responsabilidades, estando subjacente a ideia de que "depois a Comissão Pedagógica desenrasca".

O departamento crê que os horários são fáceis de elaborar, esquecendo-se que estamos perante cinco cursos, transversais entre si, onde uma UC de 3º semestre pode interferir com uma UC de mestrado num outro curso. Esta dificuldade natural é ainda agravada pela mancha de inconveniência de cada docente. A "mancha de inconveniência" (que pode ser consultada juntamente com o horário do docente) é uma cortesia que estendemos aos nossos docentes e que tentamos respeitar. Durante o nosso mandato tentámos minimizar a sua utilização abusiva, já verificada em mandatos anteriores. Apesar disso, estas "manchas" complicam em muito a elaboração de horários, especialmente por serem interpretadas por parte de muitos docentes como uma obrigação que temos de cumprir ou pelo menos negociar.

Não obstante a estas dificuldades e independentemente de quando nos é entregue a distribuição de serviço docente, o departamento entende que temos sempre tempo suficiente para os fazer, seja esse período de apenas duas semanas (no caso do semestre corrente) ou uma (no caso do semestre passado). Estas são semanas de trabalho intensivo acrescentado às 5 UC que temos de fazer por semestre e cuja única regalia é o acesso à época especial de exames. Já nos foi dito que consideramos aquelas 1 ou 2 semanas curtas porque temos excesso de zelo em relação aos horários. Não se trata de excesso de zelo mas do cumprimento das nossas responsabilidades para convosco, tentando aplicar critérios de utilidade calculada na elaboração dos horários (por exemplo, aulas da mesma UC não serem agendadas para dias consecutivos). Além disso, durante este período já de si reduzido, ainda temos de lidar com os problemas da distribuição de serviço docente já referidos.

Além dos horários, ficamos muitas vezes reduzidos a trabalho administrativo (por falta de meios), que nos afasta do mais relevante: a componente pedagógica. Por outro lado, o departamento não assume uma posição coesa perante o ISEL, deixando transparecer ideias como a presente no cartaz afixado à porta do departamento até 30 de Setembro. Apesar de tudo, tentámos sempre defender os interesses dos alunos e estamos convictos que fizemos sempre o melhor trabalho possível face às condições existentes. Relembramos, por exemplo, que até ao início do nosso mandato as datas nos calendários de testes eram extremamente instáveis e as sobreposições entre UCO eram feitas sem critério.

Atendendo ao exposto e a tudo o que ficou por relatar, decidimos renunciar ao nosso mandato. Apesar disso, a elaboração de mapas de testes e exames para o presente semestre – trabalho mais relevante a ser realizado – não está comprometida.

Esperamos que compreendam,

Os alunos membros da Comissão Pedagógica do DEETC:

Luís Gonçalves

João Neto

Carlos Vicente

Eduardo Loureiro

Duarte Nunes

João Antunes

#################################

Quem frequenta o ISEL sabe da vergonha que foi o inicio do periodo lectivo este semestre. A actual comissão pedagogica já não via as boas graças dos discentes desde pelo menos ultimo o semestre de verão. Caindo a principal critica na elaboração dos horarios que matavam a habitual facilidade com que se intercalavam cadeiras, abdicando da regra: cadeiras do mesmo semestre sao sempre de manha, ou sempre há tarde. Culminou este semestre com o atraso da entrega dos horarios, que por sua vez atrasou o inicio das aulas. Deu direito a montanhas de papel a correr em requerimentos ao concelho directivo, à causa de atrasos nas inscriçoes que levaram a multas... (muitas pessoas estao limitadas aos horarios para escolher as cadeiras que vao frequentar). Se a má disposição se visse o ISEL teria estado sob tempestade com direito a trovoes e raios fulminantes.

Como eu gostava de ser mosquinha e saber o que realmente se passou. É que nestas coisas.. da politiquice.. é sempre dificil uma pessoa ter a real noção dos factos. O subalterno aponta o dedo a quem dá a cara, que neste caso é comissão pedagógica. Interface entre docentes e alunos.... Como em todas as interfaces, só vemos o que é publico e o lado dos docentes não é nada publico. Lá estão eles nos seus gabinetes, e comunicação é com o CD ou com a CP. Não há ligação (publica)aos discentes.

Na realidade tanto alvoroço, vem de uma raiz comum: O abanar de direitos adquiridos. Por um lado dos alunos que gosavam da conveniencia da não sobreposiçao de cadeiras de semestres consecutivos. (com a regra da manha tarde, acrescida de outra que obriga a que se um semestre é de manha o seu consecutivo é à tarde) Por um lado dos docentes, com a sua mancha de inconveniencia.. e o habitual atraso na entrega, que não é dos docentes.. é do povo portugues que tem fama de ser calão à nascença. Estranha-me francamente, a fazer uma graçola de baixo nivel, que ainda ninguem se tenha lembrado de testar o genoma tuga, á procura do gene...

Eu continuo a dizer que do ponto de vista estatistico as pessoas fazem sempre aquilo que podem. Há sempre um esperto que encontra um buraquinho onde se enfiar e estragar tudo.

Como eu gosto de ser programadora... e de saber onde andam as minhas variaveis, o que fazem as minhas funções, de ter tratamento de excepções...

É que a agravar a coisa a comissão pedagógica é constituida por alguns dos alunos mais brilhantes que já passaram no ISEL. Brilhantes do ponto de vista académico pois claro.

Não sei que ligações teem com o “poder instituido”. A minha teoria perante o actual cenário é esta: a inexistencia destas ligações. É que neste dança dança de: o que é que tu podes sem que me pises os calos, conta muito o parlare, a influencia, o conhecimento profundo das regras do jogo e em ultima instancia o “descaramento”. Que é o tipo ter vontade, ter confiança que pode o que tem vontade... e ter jogo de cintura para o fazer, de preferencia, como dizia o patrão hoje na reunião “resolvendo o conflito sem confronto”.

Conclusão: O que é que correu mal aqui? Foi falta de politiquice?

É provavel que esta carta venha a ter consequencias nefastas. É que levar isto a hasta publica, vai levantar muita poeira. Faz-nos falta um mediador... eu não gosto deles.. geralmente são tipos com excesso de auto-confiança, bom português, pouca competencia em todas as outras areas e que só encontram expressão nestes bicos de obra, nas orlas da massa, entre o fogo e a chama.... Ter de suportar a sua presença é um sapo daqueles... verdes e gordos como as vacas de quinta.

Muitos sapos tem uma pessoa de engolir nesta vida... mas ás vezes é melhor engoli-los. Se os deixamos á solta os gajos fazem um cagaçal que se ouve daqui a Orion.

terça-feira, outubro 13, 2009

Estava a tentar adormecer e a pensar no codigo do post anterior.. e acabo de reparar que é ineficiente! No limite desperdicará sempre memoria, porque se compromete a conhecer á cabeça a dimensão dos arrays que vai alocar.

A solução elegante seria a inexistencia à priori do chunk de memoria que guarda os arrays e alocar a pedido um chunk para cada nova source, fazendo uma copia desta lá para dentro.

É irritante continuarem a escapar-me estes detalhes.
complicometro.

Problema:
Alocar um array de arrays de chars.

Desde que fiz picc à trinta milenios que sonho com escrever este código.

tudo é simplificado por ter uma funçao que recebe um ponteiro para um array de ponteiros de char , um ponteiro para um chunk de memoria onde estou a escrever o conteudo do array, e um ponteiro para o conteudo.

posto isto sempre que me apetecer escrever qualquer coisa para lá posso simplesmente:
char ** myArray = malloc(sizeof(char**)* MyArrLength);
char *myChunk = malloc(MAX_STRLEN * nElems);

addStringToArray(&myArray, &myChunk, "uma string completamente ao acaso"); addStringToArray(&myArray, &myChunk, "ai que contentamento!!");

printf("%s", *(myArray+1));

vai expor na consola "ai que contentamento!!"


void addStringToArray(char*** arrP, char** chunk, char * source){
char ** i = *arrP;
char * dst = *chunk;
*dst='\0';
mystrcat(dst,source); //copiar para o chunk
*i=dst; //guardar o endereço de inicio desta string
//acertar o i
*arrP=i;
//avançar esse pointer
++(*arrP);
//acertar o p
*chunk = dst + strlen(source)+1;//+1 pk queremos guardar o '\0'
}


Enfim... divirto-me com estas coisas. =)

quarta-feira, setembro 30, 2009

cvs? svn?

Algo com que qualquer tipo que tenha uma distribuição de linux e que goste de brincar com ela já ouviu falar são estas duas coisas CVS e SVN.

Pelo menos tem o tal tipo a ideia de que são coisas que permitem organizar o desenvolvimento de software. Provavelmente até fez copy paste de algum comando que lhe descarregou a source para o disco.

Bom o que são? CVS significa Current Version System e é um sistema de controle de versões. Na pratica aquilo que permite é:
# Manter um repositório centralizado com o código
# Desenvolvimento em paralelo (se dois ou mais indivíduos estão a trabalhar sobre o mesmo código, quando um deles dá ordem de atualização (commit ou update) o cvs sabe verificar que ficheiros foram modificados e quando, permitindo por isso alertar o developer que ele está a submeter uma versão modificada de determinado ficheiro que já foi atualizado depois de ele o ter descarregado do servidor) Melhor, até há uns brinquedos que se poe por cima e que fazem o diff dos ficheiros permitindo ver lado a lado uma versão e a outra e fazer merge das duas.
# Um registo sem perdas de cada uma das versões do código
... etc

SVN significa subversion, e é uma evolução do CVS. Não me vou alongar nas diferenças porque confesso que nunca usei. O leitor curioso pode encontrar informação na infame Wild Wild Web. Se tiver tempo e paciencia até recomendo que o faça, porque o cvs está a "morrer" em detrimento de outras soluções. Este artigo refere ainda e dá destaque ao cvs porque é o mais simples, pretendendo apenas servir projectos de pequena dimensão e ser fácil de usar.

Este post vem a propósito do espanto que sinto por nunca ter usado isto para os trabalhos da faculdade. Especialmente agora que trabalho.... a maior parte do tempo não estou com os colegas de grupo.

A coisa da troca de ideias é muito porreira, mas chega a um ponto em que um tipo tem de ser capaz de trocar ideias, definir um plano e a partir dali evoluir em paralelo esse é o desempenho óptimo.O desempenho óptimo é sempre o objectivo de um engenheiro [coff por inferência do futuro engenheiro também] note-se: se este não tiver um comercial ás costas.


Fica a ideia dada. É muito simples de instalar e usar.

SERVER SIDE:
http://www.linux.ie/articles/tutorials/cvs.php

CLIENTES:
windows:
tortoise O interface é muito intuitivo e agradável
linux:
a propria linha de comandos para os amantes da consola
tkcvs está disponivel como pacote para o fedora. Será bom de verificar se não existirá também um para o vosso sabor preferido de linux.
cervisia provavelmente o ui mais divulgado. Eu não aprecio particularmente.

and that's all folks
Happy Coddings ;)

terça-feira, setembro 22, 2009


What a ride.. life is.

I believe somehow if neurons are the hardware of my ethereal existence, my designer implanted a pattern module with it. Like a CPU cache it decodes the virtual address of a situation and looks for a hit. I guess today I got a cache-miss.

I've been trying to survive the conclusion that people do what do, just because they can. It's not they're error. It's mine - Because I allow it.

Life is like chess. Every time you make a move and leave a major peace unguarded, sooner or latter it will perish un-reclaimed.

Don't know if I can really explain it. It's a matter of goal, every person has a goal. It may be financial recognition, knowledge, pure procrastination... but it has a goal. And it acts towards that goal, it ponders the variables around it, and it pursues it like a hunter and like a general hunter it uses what ever weapons it's got intelligence, strength, camouflage...

The problem you see.. is to identify what kind of a hunter you got near you. Because sometimes, while you are distracted, the hunter may hunt you. It's not that it wants to harm you personally, it just happens that you are in the way of it's goal. Like in chess, not every move is a direct move. I may be just diverging...

misdirection...

I demand so much of my self... maybe sometimes I demand to much of the people around me. I expect them to be as honest, as straight forward, as clear, as humanly just as I want to be. But I forget that's part of my goal... it's mine and it's not my task to convert people to the idea that you're not supposed to give because of what you get return, and you are not supposed to expect to be given because of what you give, you're not supposed to ask for recognition! It would only work if it where the goal of both sides.

I guess business relationships are not so different from human relationships after all. Maybe it's because they are still relationships between people.

So I'm computing the variables.... like a weighted graph... Sometimes ethics gets in the way... Maybe It's time to let my self go of the weight of preaching righteousness. I'm not a saint and that's not my goal.



My goal...

terça-feira, julho 14, 2009

um apontamento

Estou chateada porque 90% do semestre não dormi mais de 7 horas por noite. Esforcei-me que nem uma louca por garantir os prazos no trabalho e no ISEL e neste ultimo mês tudo descambou! Um dos colegas de grupo teve de assumir um segundo trabalho, além do isel e o outro.. enfim.. não teve resistencia, teve problemas, não consegui perceber. Pensei que eramos amigos... Não sei, não percebi, não importa para o caso. As ultimas duas partes de um tal trabalho de uma tal cadeira... fui eu que fiz à volta de 80% e claro que a fazer por tres pessoas, não tive tempo para fazer nada de jeito! Faltam terminar ou fazer por completo mais 3,5.

Estou chateada porque detesto a filosofia da microsoft. Abomino tecnologias microsoft, seja do ponto de vista dos sistemas operativos (mais a sua: do all, for everything, with backwards compatibility and always our way without any respect for standards we don't write), seja do ponto de vista das outras coisas que fazem para por a correr lá em cima.... a sua .Net que nos obrigam a aprender... enfim... ao nivel dos 8bytes!

Estou chateada porque não encontro documentação de jeito. Porque os livros da bibliografia são estupidamente superfulos e NÃO cobrem aquilo que sai nos exames. Alguém me diga onde é que está no "papel" a descrição do funcionamento do viewsate em ASP. E por amor da santa, não é ao nível do é a coisa que mantem o estado, é encriptado quando é enviado para o cliente, pode ser enabled ou disabled, na página ou componente a componente... Eu queria era saber porque é que tenho de criar componentes, quando faço adição dinamica para o ASP adivinhar que é para preencher nestes a mesma informação que eu enviei e que está guardada no tal mistério do viewstate. (Eu sei que eles não existem, mas porque é que ele vai assumir que são os que criei agora? o que é que faz se eles não lá estiverem? descarta? como é que ele os procura? quando é que os procura? Faz comparação por tipo? ) É que a coisa que melhor encontramos sobre isso era um artigo da msdn de um gajo qualquer que pelos vistos ajudou a escrever o código da coisa e mesmo esse era relativamente superfulo.... dizia que era assim, mas não explicava porque, nem como era feito. Há ali uma mancha negra, entre receber o pedido com a string encriptada e a transformação disso na tal coleção de pares chave valor, que deve estar no cofre dos grandes segredos, ou nalguma veia rasgada no cerebro de alguem.

O viewState é um nó na garganta a juntar a não sei quantos... e depois vamos para as aulas e dizem-nos para fazer disassembly. Mas como é que é suposto eu gostar de uma plataforma que me obriga a ler o ASSEMBLY para a compreender. Se trabalhar com isso todos os dias durante não sei quantos anos sou capaz de o tolerar, mas do ponto de vista académico? a fazer 5 cadeiras? a trabalhar? Eu não pedia mais nada que era bibliografia de jeito, documentação de jeito. As aulas foram fantásticas, exemplos para tudo... mas.. perdoem-me se sou humana e retenho aproximadamente 10% da nova informação que me é facultada. Sim.. é capaz de estar no msdn.... é a mesma coisa que dizer que a terra também faz parte do universo. No meio de tanto calhau, onde está este? É para aprendermos a pesquisar?

Lá uma coisa é certa, saimos dali preparados para o pior que pode haver. Coisas mal documentadas (descrições estupidamente sucintas... para não falar nas vezes que o msdn têm codigo com erros!!! ás vezes de compilação inclusivé que se veem à distancia, nem é coisa que pudesse ser distração), constantemente em mutação, pacotes gigantes de alterações de umas versões para as outras, com bugs... a unica razão racional que encontro para ser tão amplamente usado é o facto de ser windows, o que quer dizer quer toda a gente usa, toda a gente tem um primo que diz que sabe mexer.

Francamente. Se for eu a vetar a tecnologia para determinado projecto.Net só se não tiver volta a dar. O php dá mais trabalho? Pelo menos não manda a página toda de volta ao servidor de cada vez que o user dá um peido. [os belos componentes da microsoft... o calendario por exemplo... cada vez que o user manda mudar o mes vai e volta A página toda! Se tiver 10000 pessoas a mudar o mes sao 10000 pedidos. O programadorzeco vai-se preocupar com isso? ele está à espera que o .net seja um espectáculo... aquilo até é tão bom... foi o que aprendeu na escola... arrasta a caixinha pois claro.] O php serve perfeitamente para 90% das aplições... as pequenas, a página da tia que tem a loja de flores sem compras online, a página do tio que está a compor uma base de dados sobre derrames cerebrais ás terças feiras, a gestão do canal coorporativo na intranet.Aii que horror!!! O php é inseguro... É assim assim. Para o resto ainda há as JSP antes de haver .net. E do ponto de vista didatico até está bem "mais próximo do HTTP" que o ASP.NET que lhe poe tanta porra em cima, que eu bem vi os colegas que cairam ali sem saber nada, sairem dali sem saber nada na mesma... depois chumbam... pois claro que chumbam... desgraçados mal tiveram tempo de aprender que raio era uma arquitectura cliente servidor, o que é um pedido http... quanto mais, explorar as não sei quantas classes e interfaces envolvidas NUM PEDIDO. Sim porque.. Não bastando tudo o que está para trás a fazer wrap a estes conceitos, o HTTPContext, O HTTPRequest, HTTPAplication... o desgraçado ainda tem de saber tudo até ao Controlo, Page, webControl, userControl, serverControl... E convem distinguir entre eles... porque.. enfim.. dizer que se usou este ou aquele só porque sim.. é capaz de cair mal. ([string sarcasmo]) E nem vou falar dos eventos que isso é outro nó. arff... Ahh façam debug, passinho a passinho... isto é facil.... e tempo? é para fazer PI só num semestre? entao mas... não estao previstas 5 cadeiras?

Francamente.. ás vezes apetece-me deixar de me importar com as notas. Olho para a pauta... penso no tempo em que lá estou.. .e... só me apetece dizer. Que se f*** a hipotese de fazer mestrado. Quero é sair dali o quanto antes!

Para que? Já não sei se acredito neste modelo de certifação.

Eu vejo o código que me cai nas mãos ás vezes... jogo as mãos à cabeça e penso: Mas esta gente fez uma licenciatura? Não é possível! Devem ter sido dos tais panhonhas que ficam ali a recitar as merdas, empinam aquilo tudo ... depois fazem cadeiras e se for preciso com boas notas que os exames nao diferem assim tanto entre si... E eu ali ando.. feita parva a indagar...

Para quê?

Estou triste. Estou mesmo triste.

quinta-feira, junho 04, 2009

Não ao ECPDESP

Há muito que este blog está parado.

Creio que deva iniciar este post por dizer que detesto politica. Ainda não sou mas quero ser engenheira. Há um aspecto na engenharia que me fascina particularmente: A linha ténue onde esta se cruza com a arte, por procurar incessantemente soluções pragmáticas e eficientes impossíveis de alcansar sem criatividade. A politica por outro lado, procura soluções aprazíveis.


aprazível

Que apraz; agradável.

A palavra per si é ingrata em ilustrar o sentido da anterior premissa uma vez que esconde outra: subjectividade. Este é o cerne. Aprazível para quem?


A politica é a arte da laranja espanhola. Ali está ela, lado a lado com a Algarvia, reluzente e pomposa. O freguês compra a olho mas ao chegar a casa, a casca esconde um fruto deslavado e sem sabor.


Parece que cada vez mais se segue por um caminho de “vê de longe” e compra a impulso. O comentário é para o critério de curriculo a peso que se quer impor pelo ECPDESP.


Espanta-me que seja assunto para escapar à atenção dos alunos. (do ISEL eramos dois na manifestação hoje).


Silenciar o descontentamento é dizer sim ao desprestigio da instituição que nos certifica, é dizer sim à percariedade no trabalho das PESSOAS que nos ensinam, é deixar lesar o nosso futuro!


Não é muito difícil de demonstrar as consequencias práticas:

Prof = t_aulas + t_investigação + t_formação


o estatuto impõe que:

t_investigação + t_formação aumente! Vamos chamar a esse aumento alfa

Prof = t_aulas + (t_investigação + t_formação + alfa)


Esta equação NÃO tem significado no conjunto dos Reais a menos que alfa seja um imaginário puro!

Se Prof é o mesmo t_aulas tem de diminuir e diminuirá tanto quanto a relevância de alfa, que pelos critérios apresentados é virtualmente absoluta. quod erat demonstrandum


Algebra elementar....