tem som nas caixas?

palestrante fica falando ao microfone sem saber se etsao ouvindo.
Poderia ter um indicador de nivel de som nas saidas de som ou em certas regioes do teatro para palestrante ter ideia de que esta sendo ouvido ao inves de esperar a reacao do publico.

micro-pagamentos, pagando por coisas boas da internet

Ao usar a internet, encontro coisas realmente uteis ou interessantes (exemplo: software shutter, tira foto da tela e edita) e o autor pede uma pequena doação. Mas ai tenho que usar paypal ou pag-seguro por causa de alguns reais e acabo perdendo o incentivo pois tenho que fazer login, etc. Depois de um tempo, instalo de novo, em outra maquina de amiga ou reformato o meu . Surge o mesmo problema: o trabalho que dá contribuir com pouco valor. Ai que entra o flattr.

Flattr  (de “flattery”, significa elogio) funciona assim: Voce estipula que vai gastar, digamos, 10 reais por mês. Ai vai navegando pela internet, um video aqui, um blog ali, até encontrar algo que realmente gosta e que tem um link pro flattr. Então você clica (manda um flattr), como  forma de elogiar a obra do autor. Ao navegar mais pela internet, emcontra outra obra-prima e manda um flattr para a  autora. No fim do mês,  aqueles seus 10 reais são dividos entre todos aqueles cliques de flattr que você deu. O autor recebe alguns trocados de cada visitante. Se achou pouco o que os autores recebem, aumente o mensal, digamos 50 reais. Legal né? A idéia e ter uma economia ativa, compartilhando não só conteúdo mas dinheiro também. Você também pode receber por seu conteúdo.

Há também questões interessantes: se você não usa, os 10 reais vão pra caridade de sua escolha.   Além disso eles cobram 10% dos ganhos do autor para cobrir custos operacionais.

O twitter ficou  desconhecido por anos após sua criação, em 2006. Apesar de pequeno, esse serviço flattr promete, pois facilita o micro-pagamento e incentiva bom conteúdo na rede. É esperar pagar pra ver. Depende dos “early adopters”, para formar a bola de neve.

Saiba mais:

http://flattr.com.br/

leite de magnésia como desodorante

Os desodorantes comuns parecem atuar como uma espécie de rolha tampão que bloqueia a saída do suor. Sem considerar a polêmica relação entre o alumínio no desodorante  e doença de Alzheimer, esse modo de operação me parece um pouco ineficiente, pois essas impurezas têm que sair, sob pena de ficarem poluindo o corpo.

Uma alternativa é usar hidróxido de magnésio ( leite de magnésia), que inibe o mal cheiro, sem impedir que os líquidos fluam. O mecanismo da atuação parece ser a não proliferação dos germes que causam mal cheiro. As bactérias nas axilas  não conseguem viver em um ambiente com pH alterado. Uso algumas gotas embaixo do braço, as vezes à tarde também.

Outra vantagem é não ter cheiro, permitindo que se use perfume em separado, se quiser.

Saiba mais:

http://pt.wikipedia.org/wiki/Hidr%C3%B3xido_de_magn%C3%A9sio (veja a versão em inglês também)

http://www.peoplespharmacy.com/2006/03/13/milk-of-magnesi/

jaxb, xjc with java 1.4

 

While doing a xml project, I was stuck with an old java 1.4 that I could not  update :-(.

So I used jaxb  with java 1.4 which lacks annotation. Little information on the intertubs so I made this post on howto use jaxb with java 1.4 . Hope it is useful.

You will need  old [JAXB1] libs , compatible with java 1.4.

 

//// ANT COMMAND

$ pwd
/xjc-java14

$ant xjc-compile-1
Buildfile: build.xml

xjc-compile-1:
[echo] Compiling the schema (source version 1.0)…
[mkdir] Created dir: /xjc-java14/src/org/xjctest1
[xjc] Compiling file:/xjc-java14/xsd/sample.xsd
[xjc] removing old output files
[xjc] Writing output to /xjc-java14/src

BUILD SUCCESSFUL
Total time: 3 seconds

///// ANT FILE – please: edit it to your tastes.

<?xml version=”1.0″ standalone=”yes”?>
<project basedir=”.” default=”xjc-compile-1″>
<description>
test xjc: generate class suitable for older java, without annotations (eg 1.4)
</description>
<property name=”jaxb.home” value=”jaxb/” />
<path id=”classpath”>
<pathelement path=”src” />
<pathelement path=”classes” />
<pathelement path=”schemas” />
<fileset dir=”${jaxb.home}” includes=”lib/*.jar” />
</path>
<taskdef name=”xjc” classname=”com.sun.tools.xjc.XJCTask”>
<classpath refid=”classpath” />
</taskdef>

<!–xjc compile source version 1–>
<target name=”xjc-compile-1″ description=”Compile xsd 1.0″>
<echo message=”Compiling the schema (source version 1.0)…” />
<mkdir dir=”src/org/xjctest1″ />
<xjc extension=”true” schema=”xsd/sample.xsd” source=”1.0″ removeOldOutput=”yes” package=”org.xjctest1″ target=”src”>
<produces dir=”src/org/xjctest1″ includes=”* impl/*” />
</xjc>
</target>

<!–xjc compile source version 2–>
<target name=”xjc-compile-2″ description=”Compile xsd 2.0″>
<echo message=”Compiling the schema (source version 2.0)…” />
<mkdir dir=”src/org/xjctest2″ />
<xjc extension=”true” schema=”xsd/sample.xsd” source=”2.0″ removeOldOutput=”yes” package=”org.xjctest2″ destdir=”src”>
<produces dir=”src/org/xjctest2″ />
</xjc>
</target>

<target name=”clean” description=”Deletes all the generated artifacts.”>
</target>
</project>

 

//// XSD –  sample.xsd

<?xml version=”1.0″?>
<xsd:schema xmlns:xsd=”http://www.w3.org/2001/XMLSchema”&gt;
<xsd:element name=”helloWorld” type=”HelloWorldType”/>
<xsd:complexType name=”HelloWorldType”>
<xsd:attribute name=”msg” type=”xsd:string”/>
</xsd:complexType>
</xsd:schema>

//// TEST CALSS – App1.java

package org.xjctest;

import java.io.File;
import java.util.Date;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

import org.xjctest1.HelloWorld;
import org.xjctest1.ObjectFactory;

//simple class for testing jaxb/xjc
public class App1 {

/**
* @param args
*/
public static void main(String[] args) {
try {

testVersion1();

} catch (Exception e) {
e.printStackTrace();
}

}

//depends on java >= 1.4
private static void testVersion1() throws JAXBException {
JAXBContext context = JAXBContext.newInstance(“org.xjctest1”);
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, new Boolean(true));
marshaller.setProperty(Marshaller.JAXB_ENCODING, “ISO-8859-1”);

HelloWorld hello = new ObjectFactory().createHelloWorld();
hello.setMsg(“hello world 1.0″);

String outFile=”bin/out1.xml”;
marshaller.marshal(hello, new File(outFile));
p(“xjc version 1.0 saved in “+ outFile);
}

//poorman logger
public static void p(Object o){
System.out.println(“[“+new Date()+”] “+o.toString());
}
}

//// RESULT – XJC

/xjc-java14/src/org/xjctest1$ ls
bgm.ser  HelloWorld.java  HelloWorldType.java  impl  jaxb.properties  ObjectFactory.java

//// RESULT – XML

out1.xml

<?xml version=”1.0″ encoding=”ISO-8859-1″ standalone=”yes”?>
<helloWorld msg=”hello world 1.0″/>

//// JAXB DIR
$ ls xjc-java14/jaxb/lib
activation.jar  jaxb1-impl.jar  jaxb-api.jar  jaxb-impl.jar  jaxb-xjc.jar  jsr173_1.0_api.jar

////LINKS:

[XJC-ANT] http://jaxb.java.net/nonav/2.0.2/docs/xjcTask.html

[JAXB1] download old jaxb libs: http://jaxb.java.net/2.1.2/ (version I used)

serviços de manutenção: cobram muito, fazem pouco

A qualidade dos serviços prestados em São Paulo deixa a desejar. Será que se repete em outas cidades? Será pior ? Nos acostumamos com a baixa qualidade dos serviços? Temo que sim, infelizmente :-(.

Paguei caro para mandar arrumar o carro. R$460,00: a vista, em dinheiro e sem pedir desconto. É, tenho essa mania de honestidade sendo uma das minhas frases preferidas  “always try to do the right thing”, dita por  Da Mayor, um personagem do filme de Spike Lee  – faça a coisa certa, embora eu tenha minha própria interpretação do sentido da frase.

Mas a qualidade nao foi das melhores. Arrumaram o óleo vazando, mas quebraram a mangueira de gasolina e fiquei sem gasolina depois de alguns quilômetros.Parei em outra oficina pois não dava para voltar na que fez o des-serviço. Desconfio ate de má fé, racismo , etc. Mas nesses casos é dificil provar pois é tudo muito velado, discreto.

Outro problema foi a nota fiscal, quero dizer, o recibo. Uma foto cópia meio apagada, com pouca tinta, quase ilegivel. Da a impressao que foi feito para se desgastar com o tempo,  nao servindo como prova do que foi feito.

O mecânico fez o serviço tão rápido que até esqueceu uma ferramenta no carro.

Por outro lado, é o que recebemos por procurar alternativas rápidas: pequenas oficinas, mal equipadas e com pessoal  pouco qualificado.

Deveria ter uma especie de pague-seguro na vida real. Pagamos , mas só recebem se o serviço for bem executado. Ou recebem tudo , mas aos poucos, pois dá tempo de verificarmos a qualidade do serviço. Isso pode ser feito com cheques pré-datados, mas parece ser  um mau uso do recurso bancário.

Um sistema de pagamento lento, com possibilidade de acionamento na justiça ou procon, com pontuação de devedor/pagador, logs (registros) das ocorrências (fotos, documentos, etc) seria ideal, pois aumentaria a qualidade do serviço e tornaria o processo menos estressante. Seria bom até para o prestador de serviço, que teria sua credibilidade aumentada.

Mãe educando sua filha no ônibus

Vi no ônibus ontem (177p na casa verde, são paulo) uma mãe conversando com sua filha sobre como foi a aula no dia anterior.

É dificil ver pais falando com filhos, com interesse.

Nesse caso, ela perguntava detalhes sobre a disposicao da sala, quantas crianças estavam juntas etc.

Parecia querer incentivar a memória e o raciocinio da menina.Parece que funciona pois a criança tinha uma boa dicção, falava bem, raciocinava antes das respostas.

Mas a mãe parecia exagerar na dose pois fazia questões com cobrança, um pouco brava na entonação. Parecia que estava falando com uma adulta. Notei que a criança não ria muito, era um pouco séria. Isso não  é bom. Sentia a cobrança sem se dar conta de que aquilo não é normal, de que poderia ser de outra maneira.

Sei que não é fácil dar palpite na vida alheia, mas na minha opinião, a mãe deveria perguntar, mas tambem elogiar, com um sorriso no rosto, como se agradecesse o presente que tem. Em um mundo de ignorantes ela tem uma filha inteligente mas que pode ser melhor ainda com apoio e elogios.