| D | S | T | Q | Q | S | S |
|---|---|---|---|---|---|---|
| « jan | ||||||
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | ||||||
A minha sogra tem hoje uma Ecosport e, pessoalmente, gosto muito mais da Eco que do que o Corolla que ela tinha.
Para quem não é entendido em carros não deve saber que o Corolla é um carro da Toyota. Sim, Corolla é um carro com excelente motor da Toyota e, inclusive, ele foi o substituto do Hashi-Roku.
Mas WF é Hashi-Roku??? Hashi-Roku significa AE86, um carro da Toyota (japonesa) que até virou mangá e anime (Initial-D) por conta do ótimo motor e da facilidade de modificá-lo. O Corolla chegou a ser o carro mais vendido no mundo. Mas nem sempre foi assim. Após a segunda guerra mundial, quem dominava o mercado era a Ford (americana) e eles faziam isso de modo fácil. A Ford comprava tudo, de aço ao volante, em toneladas, fabricava carros aos milhares e empurrava tudo aos americanos. A Toyota vivia num mundo bem diferente: em um país falido onde duas grandes bombas atômicas tinham explodido, um país que tinha perdido a guerra.
Então a Toyota decidiu comprar apenas o que precisava para fabricar os carros que seus clientes compravam, sem manter nada em estoque (just-in-time). Mas isso significava ter preços mais caros (pois todos sabem que comprar em quantidade reduz o preço). Desde modo, se a Toyota queria competir, ela precisava economizar e economizar significava, principalmente, evitar o desperdício.
Com isso, eles descobriram coisas que os americanos não sabiam. Descobriram, por exemplo, que “inspecionar seus produtos para encontrar erros” era desperdício. Um produto com defeito era um produto que ia pro lixo. Mas como fazer para manter a qualidade? O erro tinha que ser descoberto ANTES que o produto fosse feito, ou seja, era preciso impedir que o defeito ocorresse. Daí saiu o padrão “à prova de idiota”, ou seja, se antes tinha um parafuso que podia se encaixar em vários buracos (mas só um deles era o correto), fizeram o parafuso só entrar em um buraco.
Outra coisa legal que descobriram é que otimizar parte do carro enquanto este era construído era desperdício também. Pois muitas vezes se otimizava achando que aquilo era importante e no final apenas piorava o projeto do carro, pois aquilo não era tão importante quanto se imaginava no começo. Logo, começaram a construir os carros e otimizar no final apenas as peças que realmente precisavam ser otimizadas.
E, olha que interessante, todos esses conceitos podem ser aplicados em construção de software!
Clientes não querem projetos longos que levam seis meses, um ano para ficar prontos. Eles querem que a coisa seja feita exatamente no momento solicitado. E para este problema, metodologias como XP devem ser aplicadas (faço posteriormente um post apenas sobre isso).
Para que testar teu software depois que você fez? E se você primeiro fizesse o teste e depois criasse o aplicativo?
- Mas se eu testar antes do aplicativo ficar pronto vai dar erro! – e vai, de fato. E é para dar mesmo! Mas o interessante é que somente depois que o teste está pronto é que você codifica o programa, aí à medida em que você constrói o programa, você vai usando o programa de testes para verificar se de fato funciona. Isso impede que você vá por um caminho muito errado, descobrindo o erro antes do programa estar pronto.
Este era a principal razão deste post, e ela pode ser dividida em dois motivos:
Eu tive um curso de “Métodos Ágeis” na USP semana passada, em que muitas dessas coisas foram faladas. E eu sinceramente adorei o curso, pois vi que eram exatamente as conclusões a que eu estava chegando na prática, via tentativa e erro. Mas ali foram me passadas todas consolidadas, de uma vez e provavelmente para chegar nesse conhecimento eu ia levar mais dez anos batendo a cabeça.
Para quem quiser aprender algo sobre métodos ágeis eu recomendo muito o site da agilcoop.
Eu estava conversando via twitter com um amigo (Maximus) e ele disse todo empolgado:
“Eureka! Descobri que se fizer (valor<0)?-valor:valor é mais rápido que fazer Math.abs(valor)”
E aí eu respondi que, na realidade, era a mesma coisa. Claro que tem diferença, mas era uma provocação intelectual =P. Acontece que a diferença é tão pequena que você pode arredondar para zero e, desta forma, mesmo que você use 1 milhão de vezes, 1kk vezes zero é zero.
Então ele me disse que testou e que em 6kk vezes ele tinha economizado 1 segundo e meio de processamento. Neste ponto eu larguei a conversa pois o twitter não é lugar pra discutir. Não, não estou dizendo que sou chato e estou reclamando de quem discute no twitter, não é isso. É que vocẽ só pode discutir algo no twitter se você conseguir provar sua teoria em 256 caracteres. Einstein jamais conseguiria por exemplo demonstrar sua teoria =D.
Ok, mas o que pode ser dito além disso? O seguinte:
Primeiro que, se o seu programa roda isso 6 milhões de vezes por segundo, por favor não use Math.abs. MESMO!
Mas acontece que a maioria dos programas não usa com essa frequência, e é muito mais fácil você cometer um erro de programação escrevendo (valor<0)?-valor:valor do que Math.abs(valor). Ou seja, você pode estar incluindo erros no seu código para otimizar algo que não precisa ser otimizado. Já dizia Tony Hoare “Premature optimization is the root of all evil” (Pré-otimização é a raiz de todo mal).
Dentro da função Math.abs(valor) o que é feito é justamente (valor<0)?-valor:valor. Logo, o que você estaria economizando seria apenas o call da função. Ou seja, se é para economizar chamadas de função então uma linguagem orientada a objeto como java ou C# não são a opção correta para você. Escreva seu código todo em C e de preferência com “goto” sem função alguma. Pois, senão, toda função você terá esse tempo perdido que foi analisado ali em cima.
Se você é javeiro, você tem menos motivos ainda para fazer essa otimização. Pois quando você faz chamadas à função no java, ele começa a criar cache de respostas para ficar mais otimizado (em tempo de execução). É o que torna aplicativos feitos em java mais rápidos até que em C quando o aplicativo fica longas horas ligado (como em servidores). Mas, para ele fazer isso, é necessário que você crie seu projeto com muitas funções e bem orientado a objetos. Desse modo, se o teu programa pergunta quanto é Math.abs(-1) muitas vezes, logo ele vai cachear a resposta de que Math.abs(-1) é igual a 1 e ele vai retornar 1 em vez de chamar a função. Ocasionando um ganho de tempo absurdo. Logo, use funções e deixe o java te ajudar a otimizar.
Praticamente em todas as linguagens existem plugins ou programas que rodam o seu sistema e mede o tempo e quantidade de vezes que as funções são chamadas. Usando um programa assim, você chegará aos métodos que são gargalos no sistema e aí sim você deve otimizá-los.
Muitos que cursaram Ciências da Computação ou graduações semelhantes devem ter topado com alguma matéria semelhante à Otimização de Código. Nessas matérias você consegue aprender a contar a grandeza da função, se ela é de ordem logarítima ou exponencial. Quando você estuda isso, tem facilidade maior de otimizar código onde realmente precise. Removendo fors que estão dentro de fors. Chamadas de banco dentro de loops, e coisas assim. Mas novamente, só faça isso se você usou um Profile e mediu que era este o seu gargalo.
Então espero que vocês tenham aprendido algumas coisas sobre Toyota, carros e otimização. E, principalmente, se eu fugir de uma discussão via Twitter, aguarde um post explicando o motivo =D.
Fui assitir ao filme Avatar no iMax-3D. Eu sabia que o filme tinha uma história meia boca, não sabia nada sobre ela, mas sabia que era meia boca. Porém Avatar é, por muitos críticos, avaliado como o primeiro filme 3D, não que outros filmes 3D não existissem, afinal esta é uma velha técnica, mas este é o primeiro a mesclar 3D ao filme sem piedade, sem economia de modo a proporcionar uma experiência única. Então, fui ver meu primeiro filme 3D.
Logo nos trailers, Alice, Shrek 3 e Toy Story 3 deu para notar que 3D estava impregnado em todos os lugares. O chapeleiro maluco e o gato ficaram cara a cara comigo, sobre a pessoa que estava na minha frente. Não é um efeito “parece 3D”, não! É um 3D real, salta na cara, objetos saem da tela, tal como no filme “O Ultimo Grande Herói” de 93.
A sensação que tive foi a mesma de quando eu tinha 5 anos e entrei pela primeira vez no cinema, a diversão ampliada da tela da TV para a tela do cinema, foi a mesma do cinema pro cinema 3D. Decidi, jamais gastarei dinheiro em cinema novamente se não for 3D, a menos que eu tenha visto todos os 3D em cartaz.
Ver Avatar em DVD? Passo, não tenho interesse algum, história fraca, atores medíocres. Tudo somado leva nota 5 no máximo, mas o fato de ser totalmente 3D eleva a diversão para nota 10, comparado a grandes obras do cinema.
Agora acredito que todo grande filme Holywoodiano vai estar lotado de imagens e efeitos 3D, o que é ótimo! A tecnologia vai barateando, os filmes vão aderindo e em breve até filmes bons vão ter efeitos 3D. Aliás, Alice acho que será o primeiro filme bom com efeitos 3D fortes.
E os efeitos? Nunca me senti tão dentro do filme. Sem tirar nem por, jogaram agua na minha calça, levei ferpas de madeira na cara, chamas de fogo cairam sobre mim e ao meu redor. Você fica no meio do filme e não atrás, só vendo um filme 3D você percebe como o cinema tradicional 2D é falso, como a câmera estraga a imagem do filme, como tudo é falso na tela de TV ou mesmo na tela do cinema 2D. Quando é 3D você nota a fumaça em volta de você, o filme não termina na tela, mas em você e as vezes atrás de você. Você vê como se fosse real, como se o que separa você dos personagens fosse uma cortina de vidro e nada mais. A sensação de que você pode pegar no braço de um personagem, ou esticar a mão e pegar um folha que cai da árvore é real.
Sim, vi meu primerio filme no cinema, todo o resto nos 31 anos anteriores foram filmes visto em uma televisão em casa.
Eu pensei em fazer uma abertura falando sobre meu gosto de leitura de livros de romance mas percebi que faltaria algumas coisas. Acho interessante então começar do início, muito antes de eu entrar no Jardim de Infância talvez. Quando meus pais ainda liam livros e HQs para mim, em especial Turma da Mônica que eu adorava. Pela falta de tempo dos meus pais, obviamente derivado do trabalho deles, eu desejava muito aprender a ler para preencher as lacunas de quando eles não tinham tempo de me contar histórias.
Tanto que quando entrei no Jardim eu não demorei a perceber que não aprenderia ler ali e a frustração foi tão grande que entrei em depressão. Meus pais só me levaram novamente para a escola no 1º ano. Sim, por um cambalaxo eu pulei o jardim e pré-escola.
Ainda na infância, acredito que com 10 anos, eu troquei revistas de HQ por livros. Na época, eu devorava a Série Vagalume onde lia um livro a cada 3 ou 4 dias.
A lista de livros que li é tão grande e numerosa que outro dia ao deparar com uma lista antiga eu até duvidei de alguns títulos e precisei de um grande esforço mental para lembrar de que de fato tinha lido pelo menos parte de alguns dos livros.
A minha sobrinha, Fabi, puxou isto de mim. Ela devora livros como se fossem biscoitos.
Foi por conta disto que acabei lendo o Senhor dos Anéis em 1995 (sim, sou fã tolkiano pré-filme).
Porém meu cotidiano mudou quando entrei na faculdade. Devido ao trabalho, somado à faculdade e a enorme quantidade de livros técnicos que eu precisava ler, a leitura de romances caiu para zero. Sim, parei totalmente. E quando terminei a faculdade, há 2 anos atrás eu não tinha mais o hábito de leitura, e ler era um tédio (e como diria Oscar Wilde, alguns me corrigirão dizendo que foi Tomás de Aquino mas ele não usou estas exatas palavras ^^, “o tédio é o pior dos pecados”).
Mas com esforço consegui voltar ao prazer que tinha aos 20 anos, e agora voltei a ler livros seguidos, não tão rápido como naquela época, mas com o mesmo gosto.
Logo, vou falar dos seguintes livros que li neste tempo e a medida que irei postar, voltarei à este post e atualizarei colocando os devidos links:
Enfim, resumindo eu estava trabalhando na nova versão do Taulukko, até que passei num concurso da USP para trabalhar como Analista de Sistemas. Fora isto, eu tava fazendo um freela que entregarei dia 15.
Então imagina como eu estava sem tempo nem para respirar.
E para quem se interessar, estou adorando trabalhar na Cidade Universitária, de mais! Muito feliz e espero não sair de lá tão cedo ^^
Agora, a partir da semana que vem, creio que estarei de volta com maior frequência mas até lá tentarei soltar outro post.
Conheça e divulgue os direitos das mulheres vítimas da violência, em uma lista compartilhada pela Let.
Sendo ou não uma vítima direta da violência, acredito que todos nós temos o dever de aderir à essa causa, porque uma sociedade menos violenta beneficia a todos. Confira mais uma lista da Let, com 16 maneiras de assumir essa luta:
No dia-a-dia
Na sua empresa
8. Promovendo debates e reflexões sobre o tema;
9. Desenvolvendo uma política não discriminatória às mulheres.
10. Desenvolvendo uma política de apoio para as funcionárias vitimizadas.
11. Organizando grupos de discussão para debater o conceito de gênero e os tipos de violência recorrentes no trabalho (assédio moral, sexual).
12. Apurando e encaminhando para as autoridades competentes casos de assédio sexual e moral contra as mulheres.
Na sua cidade
13. Fortalecendo grupos e organizações que trabalham com o tema.
14. Divulgando a Campanha no seu bairro, grupo de amigos, trabalho.
15. Apoiando iniciativas de criação de serviços e políticas públicas de atendimento às mulheres vitimizadas.
16. Fiscalizando o funcionamento dos serviços locais de atendimento às mulheres vitimizadas.
Lembre-se sempre: Não existe mulher que gosta de apanhar, o que existe é mulher humilhada demais para denunciar, machucada demais para reagir, pobre demais para ir embora.
Se já é difícil aceitar que se é uma vítima da violência, tudo fica ainda mais complicado quando não se encontra apoio. Quando o parente diz que você provocou. Quando o amigo age como se você merecesse. Quando a polícia se recusa a registrar sua denúncia. Quando duvidam da sua versão. Mas é importante entender que é direito da mulher viver sem violência. É preciso ter força e exigir a postura correta de quem deve estar disponível para ajudar.
O Governo Federal tem um sistema de busca pela rede de apoio e atendimento à mulher. A Let nos ajudou com uma lista de 16 lugares onde buscar esse apoio. Confere só:
Depois de Mushishi, acabei perdendo o pé da seqüência de animes que assistimos. Intercalamos episódios de House, Dexter e Heroes e acabei não contando que vimos Claymore – ótimo – e Full Metal Alchmist. Volto aos dois depois, porque em seguida assistimos a Samurai Champloo e esse não quero deixar passar.
O Edson lembra que já tinha tentado me fazer assistir a Samurai Champloo lá no começo, um pouco antes da gente ver Vision of Escaflowne, e eu não tinha gostado. Na época, eu quase não conhecia nada de anime e só me rendi depois a Escaflowne por conta da excelente trilha sonora.
Depois um monte de animes excelentes e com medo de ver alguma coisa ruim, acabei cedendo. Ainda bem que só cedi agora. Champloo é ótimo. Mas ele é melhor ainda depois de já ter assistido um monte de animes diferentes e, mais ainda, depois de ter visto Cowboy Bebop, também do gênio Shinichiro Watanabe.
(Bebop e Escaflowne têm ainda mais uma ligação, que é a presença da maravilhosa compositora Yoko Kanno na trilha sonora. Ela está também em Wolf´s Rain.)
É que só depois de estar acostumada à linguagem dos animes bons e alguns ruins, e só depois de ter experimentado um anime regado à jazz como Cowboy Bebop é que é possível curtir de verdade um anime regado a hip-hop como Champloo.
Porque, para Watanabe, a trilha sonora não é apenas ilustração, ambientação. A trilha é a base de toda a narrativa. Em Bebop, não vemos apenas batalhas aéreas ao som de jazz (o que por si só já é surpreendente e único), mas personagens que vivem do improviso em um roteiro que segue o mesmo ritmo do bebop. Não entendo muito de música, mas uma característica que li desse estilo lembra bastante a estrutura da série:
“Os músicos tocavam o tema (”the head”) de uma peça, geralmente em uníssono, daí revezavam tocando solos baseados na progressão de acordes da peça, e finalmente tocavam a melodia novamente.”
Isso bate bastante tanto com a estrutura de cada episódio, que tem uma história independente, quanto da série como um todo: que tem uma história de fundo sustentando uma seqüência de solos e improvisos.
Imagino que assistir a Bebop e Champloo seja ainda mais interessante para quem entende muito de música.
Em Champloo, também experimentamos a surpresa do anacronismo quando ouvimos uma trilha de hip-hop sobre uma história que se passa no Japão da era Tokugawa. E esse anacronismo está também em todo o roteiro. Em um dos 26 episódios, por exemplo, um grupo de herdeiros de um dojo se sente desestimulado de seguir a vida samurai e encontra um outro meio de se expressar: o grafite. Sim, são samurais grafiteiros! Como uma boa cultura de rua deve ser.
A narrativa segue o ritmo do hip-hop. Nem sempre linear, intercalada com cortes em scratches e intervenções de um narrador, que atua como um MC, apresentando a história, contextualizando, dando opiniões e mandando mensagens. Aliás, vamos à história: Fuu é uma garçonete que cria coragem de ir atrás de um tal “samurai que cheira a girassóis” (sem spoiler sobre quem é ele, né?) quando dois samurais “fodões” aparecem em sua vida. Mugen e Jin são praticamente opostos: Jin é o clássico samurai. Mugen? Bem, veja mais abaixo. Ela convence ambos a irem com ela nessa jornada que atravessa o país. Essa é a história de fundo. A cada episódio, uma surpresa. Histórias de viagens são sempre boas, né? Kino-no-Tabi, Mushishi…
Assim como Spike é o personagem que mais traduz o jazz em Bebop, em Champloo é Mugen quem incorpora o espírito hip-hop. Ele luta com os movimentos da dança de rua, se veste com a moda larga que ajuda nesses movimentos e leva a vida com a atitude subsersiva da cultura das ruas. Mugen é um pirata hip-hop (porque tudo que tem piratas é mais legal!).
Mas não é só isso. Champloo é também o anime que tem o melhor episódio de recap existente. Desafio a me mostrarem um melhor. “Recap” é como chamam aqueles episódios que aparecem lá pelo meio do anime apenas para recapitular a história até ali. Em Wolf’s Rain é insuportável. São vários episódios apenas repetindo as cenas que já vimos. Não acaba nunca mais. O inferno. Em Champloo, Mugen e Jin encontram um diário de Fuu e somos reapresentados à história a partir da visão dela, com os comentários de Mugen e Jin. É hilário. Além de ser divertido ver tudo sob outra perspectiva, ganhamos de brinde alguns detalhes novos, que não haviam aparecido antes.
Champloo também é um anime que traz temas bem ousados para seus episódios, como a homossexualidade, o uso de drogas e religião, com um tratamento sóbrio, sensível e sensato.
Por fim, algumas semelhanças com Bebop que não conseguimos deixar passar:
Os personagens vivem morrendo de fome! Watanabe deve ser um cara para lá de faminto. rs
Champloo também tem o seu “episódio monstro da geladeira”. Aquele episódio totalmente nonsense no meio da série, fora da narrativa e da lógica do mundo, sabe? Muito bom! Conte qual você acha que é o “epi monstro da geladeira” de Champloo nos comentários!
As duas séries têm ótimas aberturas, apesar de Bebop ainda manter o topo no ranking de melhores aberturas de anime ever.
E ambos, no final das contas, falam da mesma coisa: um grupo que não é lá muito unido, mas que descobre o companheirismo ao longo das aventuras por que passam juntos.
Vai assistir, né?
Em mais um dos “16 dias de ativismo pelo fim da violência contra as mulheres”, compartilho mais uma lista da Let. Nesta, fica ainda mais claro o que falei em um post anterior da campanha, então vou me repetir.
Identificar a violência física é fácil. De um tapa a um espancamento, a agressão é nítida. O restante é mais complicado de se notar, mesmo quando se tem a informação. É difícil para qualquer pessoa aceitar que está saindo do grupo de “pessoas normais” e entrando para as terríveis estatísticas da violência. O mal está sempre no outro. É preciso se diferenciar bem desse grupo.
Em nossas discussões sobre o tema no último LuluzinhaCampSP, mais de uma lulu lembrou de histórias de violência muito próximas, entre mulheres bem formadas e bem informadas. Mas elas simplesmente não entendiam que estavam sofrendo uma violência.
É difícil aceitar que, na verdade, o mal está em todos nós, humanos. Aceitar, no entanto, não significa se submeter. Mas é importante entender e aceitar para admitir que algo errado está acontecendo e tomar uma atitude, não deixar que a situação de violência se prolongue ou piore.
Confira 16 manifestações da violência:
Hoje é o Dia Mundial de Combate à Aids (confira a programação nacional no link e saiba mais sobre o assunto aqui) e uma data chave da campanha “16 dias de ativismo pelo fim da violência contra as mulheres”.
Por aqui, seguimos com mais informações trazidas pela Letícia para as lulus.
O que fazer em caso de violência?
Lembre-se sempre: Você não pode ser obrigada a fazer o que não deseja. Qualquer ato sexual praticado contra a sua vontade pode configurar violência sexual, mesmo que o agressor seja seu marido ou companheiro!
E mais: se da violência sexual resultar uma gravidez é um DIREITO seu interromper essa gestação. Manifeste esse desejo para o/a Delegado/a de Polícia e peça informação sobre os serviços de aborto legal disponíveis em sua cidade.
Saiba: existem no processo de separação algumas ações para a solução de questões urgentes como pensão alimentícia, seqüestro de bens e o afastamento do agressor do lar conjugal. Essas ações têm o nome de medidas cautelares. Ao se consultar com um/a advogado/a pergunte sobre essa possibilidade.