Opt-out versão “jumping through hoops”
Outubro 14, 2009 on 5:36 pm | In procself | 2 CommentsAcabei de receber um e-mail de SPAM com o seguinte rodapé:
Se nao quiser receber este tipo de mensagens queira por favor informar-nos atravas do contacto de email geral incluido na pagina “Contactos” do nosso site vatranquilo.com . A sua mensagem devera conter a palavra ANULAR no assunto. Obrigado.
Sugiro uma alteração:
Podiam começar a incluir perguntas de cultura geral que teriam que ser correctamente respondidas para que o e-mail fosse removido. Assim continuava a ser difícil fazer o opt-out, mas pelo menos podia ser que fosse interessante!
E agora cá vou eu adicionar um filtro para o domínio atm-sgps.pt…
Horas-Extraordinárias em Desenvolvimento de Software
Outubro 12, 2009 on 11:29 am | In procself | 3 CommentsPubliquei recentemente um inquérito que tinha por objectivo determinar se as pessoas que têm uma profissão ligada ao Software (programador, consultor, …) são normalmente recompensadas pelas horas-extraordinárias que realizam, e se sim de que forma.
Para os mais apressados, as conclusões mais imediatas são bem ilustradas pelas imagens seguintes:


Os resultados completos do inquérito, que agora se encontra encerrado, podem ser consultados aqui:
Convém ressalvar que a amostra é muito pequena (pouco mais de 200 respostas) e os resultados são seguramente muito enviesados. Encarem-nos como uma curiosidade e não como dados com relevância estatística.
Para quem quiser explorar os resultados em detalhe e fazer as suas próprias estatísticas, os links abaixo disponibilizam os resultados do inquérito em Google Spreadsheet.
Lapsed Listeners
Outubro 6, 2009 on 1:55 pm | In Sem categoria | No CommentsSó uma nota muito rápida a propósito de uma memory leak que tive que identificar recentemente.
Até encontrar esta situação, todos os casos com que me tinha deparado eram sempre causados por uma colecção static que não estava a ser devidamente mantida. Esta situação, é ligeiramente diferente, no sentido em que a colecção em causa não é mantida directamente pela aplicação, mas sim pelo SWT. É um problema conhecido como “Lapsed Listeners” e está bem descrito aqui:
http://www.javaworld.com/javaworld/javatips/jw-javatip79.html?page=1
Resumidamente: lembrem-se sempre de remover os listeners que já não são acessíveis, ou então implementem-nos com uma WeakReference.
Application Bundle Info.plist
Agosto 24, 2009 on 5:25 pm | In mac | No CommentsTenho estado a portar uma aplicação Java/SWT para Mac OSX e as coisas até têm estado a correr bem (depois de me ter resignado a usar Carbon em vez de Cocoa…). Isto claro, até me passar pela cabeça que precisava de alterar o comportamento do .app que o Product Export Wizard do Eclipse estava a gerar.
Basicamente queria que em vez de ser invocado o executável que lança a JVM fosse primeiro chamado um shell script para fazer umas validações antes de chamar o executável. Pareceu-me que a forma correcta de o fazer seria editar o ficheiro:
Info.plist
dentro do application bundle, nomeadamente a propriedade:
CFBundleExecutable
que como o próprio nome sugere, indica qual é o executável que deve ser lançado quando o utilizador faz duplo-clique na aplicação em causa.
Infelizmente, por muito que alterasse a bendita propriedade, nada. O sistema continuava tranquilamente a invocar o executável. Aparentemente a alteração estava a ser ignorada por algum motivo.
Não foi fácil de encontrar, mas já alguém tinha tentado fazer o mesmo e obtido o mesmo resultado:
Hi,
I’m trying to customize the behavior of certain application bundles by editing the Info.plist preferences. The idea is to change the CFBundleExecutable key to point to a different file. Unfortunately, my changes seem to be ignored. — by Chadrik in Apple Support Forums
E felizmente alguém tinha respondido:
Some of those things are only read at startup or logiin, hence no change will happen until you logout or restart. — by BDAquain Apple Support Forums
Enfim, só foi pena as horas perdidas… as caches são umas gajas lixadas… sobretudo quando não se sabe que elas existem
Mas ainda assim, não há quem me convença que a coisa está mal feita… seria assim tão difícil ao leopardo, no momento em que guarda o ficheirito em cache registar-se na FAM (ou no kqueue que parece ser a alternativa em Mac / BSD…) para receber notificações de alteração?
Progressive Price Brackets em Excel
Julho 2, 2009 on 11:03 am | In excel | No CommentsApenas uma nota muito rápida sobre como calcular valores em Excel com base em escalões progressivos.
Um exemplo prático é calcular o valor de uma encomenda em que o preço unitário varia (progressivamente) com o número de unidades encomendadas.
Está aqui explicadinho como é que se faz, mas para referência rápida ficam as anotações principais:
=SUM(IF(IF(B$5>=F6:F10,F6:F10-F5:F9,$B$5-F5:F9+1)>0,
IF(B$5>=F6:F10,F6:F10-F5:F9,$B$5-F5:F9+1),0)*G5:G9)em que a tabela com os escalões está em F5:G10 e o número de unidades cujo valor se quer calcular está em B5.
© procself. Este blog está alojado no FEUP Blogs.
Crie também o seu blog.
Subscreva os Artigos (RSS)
e os Comentários (RSS) do procself.