logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Out 31

Dicas para-palestras

Escrito por Daniel Lopes em .NET, 1, 3g, 4, 6, Air, app, apple, AR, arte, BI, blog, bug, class, código, control, Curso, Cursos, dados, demo, Design, Dica, Dicas, e-genial, efeito, efeitos, egenial, encontro, err, erro, escritório, event, Evento, Eventos, Excel, Ferramenta, FISL, Flex, fonte, for, fundo, git, ide, IE, if, int, internet, iphone, kit, live, Mac, Mate, menu, mg, monitor, O, on, online, padrão, Palestra, Palestra Online, Palestras, player, problema, problemas, Projetos, pt, rails, Reclamação, reference, rest, RIA, Ria’s Geral, ruby, Ruby e Rails, screen, Scroll, Tema, TextMate, UI, variados, Vídeo, Vídeos, VOZ, web, XP, zend @ 10 31st, 2010 | via http://blog.areacriacoes.com.br/ | Sem comentários
Daniel Lopes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Nesta semana que passou estive na RubyConf Brasil. Um excelente evento, sinceramente eu não tenho nada a reclamar, só tenho elogios para o Fábio Akita e a Locaweb (na verdade 2 palestras me incomodaram, mas isso não tem relação com a organização).

Apesar do evento ter sido fantástico sempre existem reclamação. E este ano a reclamação ficou em dois pontos, wifi inexistente e projetores.

Reclamando do WIFI

A primeira reclamação eu acho totalmente sem sentido, já que o único motivo para eu ir aos eventos é assistir palestras e conversar com as pessoas. Internet eu tenho no escritório e para urgências o 3G do meu iPhone atende perfeitamente.

Eu não consigo prestar atenção em duas coisas e notebook/ipad durante as palestras me distrai. Por isso já nem levo notebook mais quando não vou palestrar. Então não dou a mínima para internet e sinceramente acho que os eventos já deveriam anunciar que não vai ter internet, assim ninguém reclama.

Reclamando dos Projetores

Os palestrantes reclamarem dos projetos acho que faz um pouco de sentido, mas só um pouco.

Seria muito legal a organização deixar tudo regulado mas qualquer palestrante sabe que organizar um evento é um trabalho colossal e se você quer que sua palestra corra bem não é bom depender de pontas que a organização pode ter deixado passar (isso é totalmente aceitável e esperado).

Mais uma vez: não culpe a organização pelo projetor, culpe a si mesmo. Em um evento o mais importante é ter gente na platéia (quanto mais melhor) e o projetor é uma coisa mínima. Você se propôs a palestrar, então deve ter um plano de contingência para essas situações.

Acho que nos últimos 3 anos acumulei algumas horas de palestras e também umas 300 horas de aula. O legal (ou nem tanto) é que deu tempo para muita coisa dar errado e algumas darem certo.

Meu amigo Carlos Eduardo da e-Genial sabe como a minha primeira aula de Flex em 2007 foi ridícula, um fiasco total (obrigado por não ter me demitido de imediato :) .

Então aprendi algumas coisas que tento seguir em meus cursos e palestras. Talvez isso possa ser útil para você também.

Palestras/Aulas Online

Uma palestra presencial é completamente diferente de uma palestra online.

Online você tem mais controle do seu ambiente e não depende de microfone e projetor. Assim você pode usar qualquer cor nos seus slides e tudo vai aparecer perfeito (isso se a ferramenta for boa como o Treinatom).

Por outro lado aprendi quem em eventos online você tem que falar bem mais e com muito menos pausa que eventos presenciais, do contrário as pessoas começam a ficar cansadas (nesse caso, é melhor você ficar cansado do que a platéia).

Não cometa erros online. Um erro online tem uma proporção muito maior e sua credibilidade vai pelo espaço muito mais rápido. Cinco minutos encontrando um bug ao vivo não parece nada, online é uma eternidade.

Palestras Presenciais em Eventos

Ao presencial as coisas são bem diferentes e como não é possível ter controle nenhum do ambiente sempre tomo alguns cuidados.

A primeira coisa é a resolução, raramente encontro projetores com resolução de 1024 ou superior, então sempre uso 800×600 nos slides.

A segunda coisa é a calibragem do monitor. Sempre que plugo meu Mac no projetor vou em System Preferences/Displays/Color escolho o sugerido pelo S.O. (as vezes ajusto manualmente o perfil também).

A terceira coisa é em relação ao contraste dos slides. Como você não tem controle da iluminação é bom criar seus slides com bastante contraste entre o conteúdo e o fundo. Não precisa tirar os efeitos e usar slide branco com texto preto, só cuidar do contraste. Sempre uso dezenas de transições, efeitos e as vezes desenho meu próprios ícones para os slides mas fico atento para que o conteúdo contraste bastante do fundo.

A quarta coisa que sempre tomo cuidado é com a centralização. Nunca espero que o projetor esteja alinhado (nunca está), então coloco tudo centralizado. Se vai ter código coloque-o em um box mais para o centro do slide. A mesma coisa para vídeos, deixe-os centralizados.

Use fontes grandes no seu código, com fundo branco e texto com muito contraste. Eu também uso o Copy as RTF no Textmate para colar código no Keynote.

Outra coisa é que não importa o que aconteça, em um evento grande eu não passo do tempo de forma alguma. Acho uma falta de respeito um palestrante atrasar o evento todo porque não preparou sua palestra direito (a final de contas foi você aceitou o convite ou enviou uma proposta).

Para evitar problemas com tempo eu sempre uso o “Presenter Display” do Keynote do Mac. Nele você vai ver o próximo slide e o tempo gasto (acho isso fundamental).

Caso você plug seu Mac e não apareça “Presenter Display” basta ir em System Preferences/Displays e “des-espelhar” os monitores. Se os monitores ficarem trocados bastar arrastar o menu para o que você deseja que seja o primário (como abaixo).

Live Coding

Live Coding é um caso a parte pois é uma fonte gigante de problemas. Parta do princípio que você vai errar tudo ao vivo, mesmo que seja o criador do Rails você vai errar uma demo com ele!

Nas aulas online eu sempre tenho um guia para seguir. Em aulas presenciais normalmente levo um papel e coloco em cima da mesa, não tem nada de errado em levar um cola. Mas não escreva uma bíblia na cola pois você se “ferrar” da mesma forma, a cola é para você saber a ordem do que fazer e não para aprender as coisas ao vivo.

Abaixo a minha cola para o curso de 6h do Fisl:

Se for uma palestra de 50 minutos então não faça live-coding, prefira um vídeo. Você não vai querer atrasar o resto da sua palestra se demorar de mais em algum ponto do código.

Para gravar os vídeos eu uso o ScreenFlow e gravo com voz. Depois removo a voz e refaço o vídeo algumas vezes, dessa forma vou saber exatamente a ordem das coisas no vídeo.

Caso você não tenha como gravar um vídeo então treine o que será mostrado várias vezes. Não tem nada mais frustrante do que cometer um erro para um auditório que não te conhece.

Palestras são diferentes de aulas e a por padrão a platéia é totalmente cética com você e com o seu tema. Você precisa ser convincente, se passar um bug e não conseguir resolver (rápido), vai pairar aquele pensamento de “hehehe, se F*eu” ou “iiih, isso não é lá grandes coisas”.

Outra coisa que é muito importante em live-coding é o tema do seu editor, como eu já disse anteriormente. Use sempre fundo branco mas caso você tenha feito um vídeo e mesmo com fundo branco e fonte grande não tiver dado certo tente inverter as cores com Ctrl+Option+Command+8.

Síndrome da Faculdade

Em computação não tem nada mais comum do que pessoas tendo se mostrar inteligentes. Ninguém vai assistir uma palestra querendo saber como você é inteligente e “bomzão”. Ninguém quer saber se você sabe 20 linguagens ou sabe “zilhões” de termos técnicos. Você não tem que se mostrar inteligente para um professor.

Não digite “zilhões” de coisas rápido de mais, não faça scroll do código para cima e para baixo, não grite ou fale correndo de mais. Se vai digitar algo ao vivo explique cada coisa que está digitando e com bastante calma, a final de contas você sabe o que está fazendo mas as pessoas não.

As pessoas assistem uma palestra para aprender algo e não estão nem aí para o que você é. Então foque em ensinar alguma coisa.

Nessa última RubyConf a palestra do Norman Clarke me deixou de queixo caído como ele conseguiu explicar um tema complexo como encoding como se fosse um “Hello World”. Parecia que ele tinha conseguido abrir a minha cabeça e colocar as palavras no local correto. Uma aula de como priorizar os ensinamentos.

Você não precisa falar dezenas de termos técnicos difíceis para ser convincente. Assuma que as pessoas sabem muito pouco do que você está falando, assim os que já sabem algo vão entender e o que não sabem também.

O que é mais agradável e convincente?

  • Nosso MP3 Player vem com 2gb de RAM e sincroniza com seu computador via USB
  • “O mais legal do iPod é que sua playlist inteira cabe em seu bolso.” – Steve Jobs 2001

Treine Antes

Não importa o quanto você domine o tema, pratique antes. Várias vezes, eu normalmente ensaio uma palestra de 50 min umas três vezes. Essa é a única forma de saber quanto tempo você gasta com esses slides e como pode enxugar as coisas para ajustar o tempo, caso seja necessário.

Não me venha com o papo de que treinar não dá certo para você. Se Steve Jobs treina seus Keynotes exaustivamente e Michael Jackson ensaiava suas próprias músicas centenas de vezes não caia no erro de achar que você não precisa ensaiar.

Conclusão

Meu checklist:

  • Não confie no projetor
  • Não confie na iluminação
  • Não confie em mic’s (as vezes vai ter que ser no gogó mesmo)
  • Leve sua própria garrafa d’água (as vezes não tem)
  • Centralize o conteúdo dos slides
  • Use conteúdo bem contrastado do fundo
  • Ajuste o perfil do projetor
  • Use código com fundo branco e fonte grande
  • Prefira vídeos ao invés de live-coding
  • Em cursos faça muito live-coding mas tenha um rascunho
  • Ensaie antes várias vezes
  • Use “Presenter Display” do Keynote
  • Explique as coisas com calma e fale devagar se forem coisas técnicas

Eu não sou nenhum expert e nem um Steve Jobs mas essas coisas tem me ajudado a fazer minhas palestras e aulas não serem um completo fiasco. Talvez possam te ajudar.

E da próxima vez não reclame da organização, esteja preparado para tudo dar errado. Se estiver tudo perfeito então melhor ainda.

Out 15

Hotfix – Rolagem “menu de contexto” do Visual Studio 2010

Escrito por Igor Musardo em .NET, 1, 4, 6, AR, back, bar, blog, Blogs, class, Download, fonte, for, image, menu, mg, Microsoft, MSDN, O, on, problema, pt, Ria’s Geral, Scroll, TAT, Visual Studio, Visual Studio 2010, vs, window, windows @ 10 15th, 2010 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Visual Studio 2010

Se você assim como eu não entende porque o menu de contexto do Visual Studio 2010 você precisa rolar mesmo quando tem espaço na tela, agora você pode corrigir esse detalhe.

Faça o download e instale os dois HotFixes abaixo e pronto, resolvido o problema, o menu de contexto agora se estende até a barra de tarefas.

  1. Visual Studio 2010 patch: http://code.msdn.microsoft.com/KB2345133
  2. Windows Presentation Foundation 4.0 patch: http://code.msdn.microsoft.com/KB2413613
    1. X86: NDP40-KB2413613-x86.exe.
    2. X64: NDP40-KB2413613-x64.exe.

Fonte: The Visual Studio Blog

Divirta-se!

Set 10

Universo do .NET Framework 4 em Deep Zoom

Escrito por Igor Musardo em .NET, 1, 4, 6, AR, class, classe, classes, deep zoom, deepZoom, Dica, dotnet, Download, framework, if, Microsoft, O, on, pdc, Ria’s Geral, Scroll, Tecnologia, Visual Studio, window, windows, XP @ 09 10th, 2010 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Navegue pelo diagrama de classes do .NET Framework 4 utilizando o Deep Zoom (use o scroll do mouse e função clicar/arrastar), é show de bola!

Para experimentar em tela cheia: http://tinyurl.com/DotNetFramework4PosterDeepZoom

Ou faça o download do Poster .NET Framework 4 em  PDF.

Divirta-se!

Set 8

Teste se seu site é compativel com dispositivos movéis no Adobe Device Central CS5

Escrito por Leonardo França em 1, 3d, 3g, 4, 6, Adobe, after effects, Android, api, AR, arte, BI, blog, Blogs, botão, browser, class, collection, dados, Design, Desktop, DRE, Dreamweaver, flash, flash lite, for, html, IE, if, image, int, internet, iphone, lista, lite, Livro, Livros, mg, mobile, novidade, O, on, photoshop, PHP, Plugin, produto, pt, Review, RIA, Ria’s Geral, Scroll, serviço, site, SmartPhone, Software, Teste, UI, uint, web, Wordpress @ 09 8th, 2010 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



Site visto no Adobe Device Central CS5Não é novidade o crescimento do uso de dispositivos movéis como smartphones, tablets etc. Contando com o aumento do acesso a rede dados 3G, temos um novo ramo de usuários que necessitam de atenção especial. Por acaso seu site é compativél com dispositivos movéis? se não é, deveria ser pois o usuário movél pode ser justamente aquele que irá adquirir seu produto ou serviço.

Por acaso seu site é compativél com dispositivos movéis? se não é, deveria ser pois o usuário movél pode ser justamente aquele que irá adquirir seu produto ou serviço.

Os principais bancos já perceberam isso e a maioria já tem uma versão de seu internet banking para dispositivos movéis, inclusive para executar operações que você faz normalmente pelo site como pagar boletos, ver saldo, recarga do celular etc.
O Adobe Device Central é um software parte da familia Creative Suite da Adobe que tem como objetivo emular o funcionamento de dispositivos movéis em seu desktop. É usado principalmente para testar o funcionamento do Flash Lite nos smartphones. Mas pode ser usado também para testar suas páginas html e simular o funcionamento em algum dispositivo movél.

Para abrir uma página ou site no Adobe Device Central CS5, basta seguir os seguintes passos:

  • Após abrir o programa, vá em “Device Profiles” e clique em “Browse Devices”. Aparecerá uma lista de profiles de modelos de smartphones, selecione alguns para seus testes,(clique com o botão direito e peça “Add to Test Devices”)
  • Deve aparecer o dispositivo selecionado e sua especificação tecnica. Agora basta ir em “File->Open File…” para abrir um arquivo ou “File->Open URL…” para abrir um site diretamente. No meu caso, pedir para abrir a url do meu blog no Nokia 5230:
    Adobe Device Central CS5

    Adobe Device Central CS5

Você também tem a opção de chamar o Adobe Device Central CS5 diretamente pelo Adobe Dreamweaver, bastar pedir “File->Preview in Browser->Device Central”.
Em meu blog, uso o plugin WordPress Mobile Edition que formata o blog para ser acessado em dispositivos movéis.

O Adobe Device Central vem incluído nos seguintes produtos do Creative Suite 5:

  • Adobe Creative Suite® 5 Design Premium
  • Adobe Creative Suite 5 Design Standard
  • Adobe Creative Suite 5 Web Premium
  • Adobe Creative Suite 5 Production Premium
  • Adobe Creative Suite 5 Master Collection
  • Adobe Photoshop® CS5 Extended
  • Adobe Photoshop CS5
  • Adobe Illustrator® CS5
  • Adobe Flash® Professional CS5
  • Adobe Dreamweaver® CS5
  • Adobe Premiere® Pro CS5
  • Adobe After Effects® CS5

Mais:
http://www.adobe.com/br/products/creativesuite/devicecentral/

Livros recomendados:

Ago 27

Detectando movimentos da webcam com Adobe Flash

Escrito por Leonardo França em 1, 2009, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Actionscript3, Adobe, Adobe Air, Adobe Flex, Air, api, app, AR, back, bar, builder 4, class, classe, classes, código, Componente, control, cs4, Curso, Cursos, dados, Desktop, Download, event, EventListener, Evento, exemplo, filter, flash, flash builder, Flash Builder 4, Flash Player, Flex, Flex 3, Flex 4, fonte, for, framework, function, gc, Google, handle, html, ide, IE, if, image, int, interface, Java, Javascript, label, library, lite, live, Livro, Livros, lógica, menu, mg, motion, movimento, MXML, O, on, PHP, platform, player, produto, programação, progress, pt, reference, RIA, Ria’s Geral, Scroll, spark, swf, tag, Tema, Treinamento, UI, Ved, wave, web, WebCam, window, XML @ 08 27th, 2010 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



Um recurso interessante e que pouca gente conhece no Flash Player ou Adobe AIR, é que além de acessar recursos como a webcam do usuário, ele pode também detectar se há ou não movimentos na camera. Isso pode ser útil se você está implementando um sistema de stream ao vivo e quer economizar a banda usada. Por exemplo, só será publicado o stream se a camera tiver algum movimento.

O Flash Player ou Adobe AIR, além de acessar recursos como a webcam do usuário, pode também detectar se há ou não movimentos na camera.

Vamos ver um exemplo usando o Adobe Flash Professional CS5 e com Flash Builder 4(usando o framework Flex 4).

Adobe Flash Professional CS5

  • Crie um arquivo do tipo ActionScript 3.0
  • Aperte F11 para abrir a library, peça para criar um novo simbolo do tipo “video”:

    Library->New Video

  • Aparecerá uma nova janela, de o nome de “cam” e deixe a opção “Video (ActionScript-controlled)” selecionada:

    cam

  • Arraste o componente que você acabou de criar para o stage e de o nome de instância de “cam”, depois redimesione para 320×240.
  • Arraste um componente do tipo ProgressBar da library User Interface. Dê o nome de instância “pbar”.
  • Feito isto, você deve ter algo parecido com isto:

    Stage pronto para começar a programação

Temos nosso stage pronto para começar a programação ActionScript 3.0. Vamos começar com o Flash Player pedindo para ter acesso a webcam e em seguida colocar a imagem da webcam em nosso componente de video.

PLAIN TEXT
ACTIONSCRIPT3:

  1. myCam = Camera.getCamera();
  2. cam.attachCamera(myCam);

Agora basta fazer com que nosso filme escute o evento “ActivityEvent” da webcam.

PLAIN TEXT
ACTIONSCRIPT3:

  1. myCam.addEventListener(ActivityEvent.ACTIVITY,handlerMotion);

E no método handlerMotion, implementamos as ações na ProgressBar.

PLAIN TEXT
ACTIONSCRIPT3:

  1. function handlerMotion(evt:ActivityEvent):void
  2. {
  3.     trace(evt.target.activityLevel);
  4.     pbar.setProgress(evt.target.activityLevel,100);
  5.     if(evt.target.activityLevel <10)
  6.     {
  7.         trace("muito quieto! =õ(");
  8.     }
  9.     else
  10.     {
  11.         trace("eba! festa!!! \o/\O/\o/");
  12.     }
  13. }

Veja o exemplo em funcionamento:

Adobe Flex 4
Agora veremos um exemplo usando o Adobe Flex, vou capturar a camera usando o componente VideoDisplay.

  • Crie um projeto do tipo web(Flex) ou desktop(AIR).
  • Arraste um componente do tipo VideoDisplay e outro do tipo ProgressBar para o palco.
  • Devemos ter algo parecido com isso:
    PLAIN TEXT
    MXML:

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    3.                xmlns:s="library://ns.adobe.com/flex/spark"
    4.                xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="450" minHeight="400" width="450" height="400">
    5.     <s:VideoDisplay id="cam" x="48" y="38" width="360" height="240"/>
    6.     <mx:ProgressBar id="pbar" x="125" y="297"/>
    7. </s:Application>

Basta implementar a programação ActionScript agora, é bem parecido com o modo de como fizemos no Flash. Mudaremos pouca coisa no código ActionScript 3.0.

PLAIN TEXT
ACTIONSCRIPT3:

  1. protected function application1_creationCompleteHandler(event:FlexEvent):void
  2. {
  3.     pbar.mode = "manual";
  4.     myCam = Camera.getCamera();
  5.     var vd:Video = new Video(320,240);
  6.     vd.attachCamera(myCam);
  7.     cam.addChild(vd);
  8.     myCam.addEventListener(ActivityEvent.ACTIVITY, handlerMotion);
  9. }
  10.  
  11. private function handlerMotion(evt:ActivityEvent):void
  12. {
  13.     trace(evt.target.activityLevel);
  14.     pbar.setProgress(evt.target.activityLevel,100);
  15.     if(evt.target.activityLevel <10)
  16.     {
  17.         pbar.label = "muito quieto! =õ(";
  18.     }
  19.     else
  20.     {
  21.         pbar.label = "eba! festa!!! \o/\O/\o/";
  22.     }
  23. }

Agora é so aplicar a lógica para que seja transmitido ou não o stream da webcam do usuário.

DOWNLOAD SOURCE FLASH

DOWNLOAD SOURCE FLEX

Para saber mais:
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html?allClasses=1

Livros recomendados:
Adobe Flash CS4 Professional Como Fazer 100 Técnicas Essenciais
Flex 3 em Ação
Adobe Flex 3 Treinamento Direto da Fonte

Ago 25

1º #HoraExtra Ágil em Curitiba

Escrito por Igor Musardo em 1, 2009, 4, 6, api, AR, auto, bar, BI, Curitiba, demo, Desenvolvedor, Desenvolvimento, Desenvolvimento Ágil, Desenvolvimento de Software, Diversos, DRE, embedded, encontro, Evento, for, geo, Google, IE, if, int, Links, lista, map, mapa, maps, Metodologia Ágil, mg, Motivação, O, on, Outros, Pessoal, pt, Qualidade de Software, Ria’s Geral, Scroll, Software, tag, Tema, tv, utf8 @ 08 25th, 2010 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

HoraExtra

Como surgiu o #HoraExtra…

O #HoraExtra nasceu em meados de 2008 de uma iniciativa de Alexandre Novelo e Vinícius Teles em reunir o pessoal do projeto Lucidus. Eles convidaram alguns amigos que rapidamente aceitaram o compromisso de se encontrar toda segunda-feira no Informal do Leblon.

Na virada para 2009 o projeto acabou e o pessoal do Lucidus dispersou, mas a galera que entrou posteriormente manteve o costume de se encontrar, desta vez no Centro do RJ, pois era mais conveniente para todos.

A persistência nesta idéia fez com que pouco a pouco mais pessoas aderissem ao grupo. As conversas que começavam no bar acabavam na lista de discussão do #HoraExtra e em diversos links interessantes do momento.

Pessoas de outros estados e de até outros países já participaram desta reunião.

E agora é a vez de Curitiba entrar na lista de cidades que realizam o #HoraExtra, para o primeiro encontro, o tema será Ágilidade em Desenvolvimento de Software.

Faça sua inscrição gratuíta e vá bater um papo alto nível sobre Agilidade em Desenvolvimento de Software regado a bons pestiscos e cerveja gelada.

O nosso primeiro encontro será dia 1º de Setembro de 2010 às 19:00hrs no Bar Aos Democratas, Rua Dr. Pedrosa, 485.

Confira o mapa do local:


Exibir mapa ampliado

Ago 25

Cinemática Inversa no Adobe Flash

Escrito por Leonardo França em 1, 3d, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Adobe, Animação, api, app, AR, BI, Blend, botão, class, cs4, dados, Download, efeito, err, exemplo, Ferramenta, flash, for, gc, html, ide, IE, if, image, Livro, Livros, menu, mg, movimento, O, on, Outros, PHP, produto, pt, RIA, Ria’s Geral, Scroll, Software, swf, tag, Teste, tool, Tutorial, UI, wave, window, XP @ 08 25th, 2010 | via http://www.leonardofranca.com.br | Sem comentários
Leonardo França
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



Em Física, Cinemática é o ramo responsável por estudar o movimento dos corpos. Cinemática Inversa (IK) é uma tecnica muito utilizada em engenharia, robotica e animação. Consiste no movimento de um objeto ou de um conjunto de objetos em relação a outros objetos, usando uma estrutura articulada de bones. Os bones permitem a movimentação de forma complexa e natural permitindo criar animação de personagens, como braços, pernas e expressões faciais com muito mais facilidade, a imagem mais simples para ilustra isso é do movimento de uma alavanca. Quem já trabalha com softwares de modelagem 3D como o 3D Studio MAX já conhece essa tecnica. A partir do Adobe Flash CS4, temos a possibilidade de se trabalhar com cinemática inversa na própria IDE do Flash e uma biblioteca em ActionScript 3.0.

Cinemática inversa (IK) é um método de animação que consiste no movimento de um objeto ou de um conjunto de objetos em relação a outros objetos, usando uma estrutura articulada de bones. Os bones permitem a movimentação de forma complexa e natural permitindo criar animação de personagens, como braços, pernas e expressões faciais com muito mais facilidade, a imagem mais simples para ilustra isso é do movimento de uma alavanca.

Agora vamos ver um exemplo utilizando o Adobe Flash Professional CS5, será bem simples para entender o funcionamento dessa ferramenta.

  • Crie um novo arquivo do tipo ActionScript 3.0
  • Crie três simbolos graficos em forma retangular para que o efeito seja melhor visualizado. Deixe-os lado a lado formando uma fileira.
  • Selecione a ferramenta Bone
  • Clique na estremidade do primeiro simbolo e arraste ate o final dele. Será formado um bone com uma estremidade maior sendo a base.
  • Faça a mesma coisa com o segundo simbolo de modo que comece arrastando a partir da estremidade menor do bone do primeiro simbolo.
  • Seu stage deve ser parecido com isto:
    IK Adobe Flash

    IK Adobe Flash

  • Note que foi criado uma nova camada com o nome de Armature. Selecione por exemplo o frame 20, clique com o botão direito sobre o frame e selecione “Insert Pose”. Feito isso, movimente de alguma forma os simbolos no stage. Faça a mesma coisa para o frame 40 e 60.
  • Agora teste o filme “Ctrl+Enter”.

DOWNLOAD SOURCE

Para saber mais:
http://help.adobe.com/pt_BR/flash/cs/using/WS58BD3A02-DA25-488f-B534-AE5463A24833.html

Livros recomendados:

Adobe Flash CS4 Professional Como Fazer 100 Técnicas Essenciais

Jul 3

DataValidation – Silverlight 4

Escrito por Robson Fernandes em 1, 4, 6, app, AR, back, BI, blog, C#, camp, carregar, case, class, classe, cliente, código, control, Controles, CSharp, Curso, Cursos, dados, demo, Design, Dica, Dicas, Download, err, erro, error, exemplo, fonte, for, Google, ide, IE, if, image, int, interface, Java, Javascript, layout, library, mg, Microsoft, MSDN, NaN, News, O, on, override, padrão, Pessoal, pt, Review, RIA, Ria’s Geral, RoR, Scroll, silverlight, Silverlight - Core, SilverLight - Design, Silverlight - Dicas, SilverLight - News, Silverlight - XAML, Silverlight 3, Silverlight 4, Software, string, TAT, UI, validação, vs, wow, XAML, XML @ 07 3rd, 2010 | via http://www.riasoftware.com.br/blog/ | 3 comentários
Robson Fernandes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



INTRODUÇÃO

Boa noite galera!
Veremos neste post, como se trabalhar com validações de campos no Silverlight 4. Há várias maneiras de se validar um campo no Silverlight, seja por DataAnnotations , ou através da interface IDataErrorInfo, que nos fornece métodos para validar dados de forma personalizada.

PREVIEW

Abaixo, temos o exemplo que será demonstrado. Os campos validados serão, campo “Nome” e “Idade”, sendo que a regra aplicada, teremos:

Nome ::    Será um campo obrigatório.
Idade ::    Aceitará somente valores maiores que zero.

DataValidation - Silverlight 4


Observe na imagem abaixo, o momento de validação de um dos campos, e o feedback ao usuário pelo erro encontrado.

robson_fernandes_riasoftware_datavalidation_silverlight_02

CÓDIGO C#

Abaixo, temos o código em C# que irá constituir a classe Cliente, sendo que ela terá duas propriedades, “Nome” e “Idade”. A classe Cliente implementa a interface IDataErrorInfo, que nos fornece métodos para validação de dados.
Abaixo temos um método que valida as propriedades da Classe, nele passamos como parâmetro qual a propriedade que desejamos validar, e posteriormente criamos nossas regras de negócio referente a mesma, retornando uma “string” do erro personalizado que adotarmos.

    public class Cliente : IDataErrorInfo
    {
		//Propriedades da Classe
        public string Nome        { get; set; }
        public int Idade          { get; set; }

		//Método implementado através da
		//interface IDataErrorInfo
		//Retorna uma mensagem de erro indicando o que
		//está errado com esse objeto.
        public string Error
        {
            get { return null; }
        }
		//Método implementado através da
		//interface IDataErrorInfo
		//Através dele, passamos o nome da propriedade
		//que desejamos validar
        public string this[string columnName]
        {
            get
			{
                switch (columnName)
                {
					 //Validando a Propriedade Nome
					 //e retornando a mensagem de erro
                     case "Nome":

							if ((Nome.Length == 0) || Nome.Trim() == "")
                                   return "O campo Nome é obrigatório.";
                            else
                                   goto default;

					//Validando a Propriedade Idade
					//e retornando a mensagem de erro
                    case "Idade":
                            if (Idade < 0)
                                    return "O campo Idade deve ser maior que 0.";
                            else
                                    goto default;

					//Por padrão, retorna null
                    default:

                                     return null;

                }
             }
        }
    }

CÓDIGO XAML

No código XAML abaixo, temos os dois elementos TextBox que serão validados, observe que o primeiro elemento, o “textBoxNome”, está com a propriedade “Text” vinculada através de Binding, com a Propriedade “Nome”, da classe Cliente; E a propriedade “Text” do elemento “textBoxIdade”, vinculado através de Binding, com a Propriedade “Idade”.
Ambos os elementos estão com as meta-propriedades do Binding, “ValidatesOnDataErrors” e “ValidatesOnExceptions”, setados para “True”, pois é através dessa ativação, que os controles estarão aptos a utilizar os recursos de validação do Silverlight.

		 <!-- Elemento TextBox, vinculado
		  por Binding, a propriedade Nome -->
		<TextBox x:Name="textBoxNome"
				Margin="80,40,16,0"
				Height="25"
				VerticalAlignment="Top"
				Text="{Binding Nome,
					   Mode=TwoWay,
					   ValidatesOnDataErrors=True,
					   ValidatesOnExceptions=True}"
				d:LayoutOverrides="GridBox" />

		  <!-- Elemento TextBox, vinculado
		  por Binding, a propriedade Idade -->
		<TextBox x:Name="textBoxIdade"
				Margin="80,90,190,34"
				Height="25"
				Text="{Binding Idade,
					   Mode=TwoWay,
					   ValidatesOnDataErrors=True,
					   ValidatesOnExceptions=True}"
			   d:LayoutOverrides="GridBox" />

CÓDIGO C#

No código C# abaixo, vamos carregar o DataContext da nossa MainPage, através de alguns dados de exemplo, utilizando a classe “Cliente” implementada, para que os elementos TextBox possam ter suas propriedades “Text”, carregadas e possam utilizar os recursos de validação personalizada que implementamos.

	public partial class MainPage : UserControl
	{
		public MainPage()
		{

			InitializeComponent();
			//Adiciono objeto ao DataContext, para
			//carregar elementos que estão na View,
			//por Binding
            DataContext = new Cliente() {	Nome="Robson Fernandes",
				                            Idade = 21
				                        };
		}
	}


APLICAÇÃO – RUN

Abaixo temos a aplicação final executando.

DOWNLOAD

Fontes Silverlight Completo-> DataValidationApp

Abraços pessoal!

Robson Fernandes


Jul 2

PrintDocument – Silverlight 4

Escrito por Robson Fernandes em 1, 4, 6, api, app, AR, Beta, blog, botão, C#, class, classe, código, CSharp, demo, Dica, Download, event, Evento, exemplo, fonte, for, Google, IE, if, image, impressão, int, Java, Javascript, layout, mg, Microsoft, Microsoft Silverlight, NaN, O, on, Pessoal, print, pt, Review, RIA, Ria’s Geral, Scroll, silverlight, Silverlight - Core, SilverLight - Design, Silverlight - Dicas, SilverLight - News, Silverlight - XAML, Silverlight 3, Silverlight 4, Software, UI, window, windows @ 07 2nd, 2010 | via http://www.riasoftware.com.br/blog/ | Sem comentários
Robson Fernandes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



INTRODUÇÃO

Boa noite galera!
Hoje irei falar sobre a API de impressão, que foi adicionada ao Microsoft Silverlight 4, usarei um exemplo para demonstrar as funcionalidades da classe PrintDocument. Todos os fontes estarão disponíveis para download.

PREVIEW

Abaixo, temos uma imagem do projeto que será utilizado como exemplo, entretanto eu não irei me prender tanto ao aspecto visual neste post, mas sim, na API de impressão em si. Observe, que o projeto terá um botão com um título “Imprimir”, sendo que ao acionar o evento Click, será invocado o método Print(), da classe PrintDocument.

PrintDocument - Silverlight 4


CÓDIGO C#

Abaixo, temos o código em C#, que irá acionar a impressão. Observe, que ele está contido no evento Click do botão do projeto, o código se inicia com a instância da classe PrintDocument, para que possamos fazer o uso da API, abaixo temos a ação quando a página for impressa, através do evento PrintPage, abaixo, passamos qual o conteúdo será impresso, para a propriedade PageVisual, sendo que o objeto “Content” é uma instância de um Grid, que agrupa o layout da aplicação, e por fim, temos o método “Print”, que recebe o nome do documento como parâmetro.

Obs: Nesta versão final do Silverlight 4, a classe PrintDocument não possui mais a propriedade “DocumentName”, que havia em versões Beta do mesmo, a propriedade foi substituída por um parâmetro que é passado ao método “Print”, como observamos abaixo.

private void buttonPrint_Click(object sender, System.Windows.RoutedEventArgs e)
{
      //Instância do PrintDocument
      PrintDocument document = new PrintDocument();

      //Adicione a região, no qual desejo realizar
      //a impressão
      document.PrintPage += (s, args) =&gt;
      {
           args.PageVisual = ContentPrint;
      };

      //Invoco o método imprimir, passo como parâmetro
      //o nome do documento
      document.Print("PrintDocument - Silverligth 4");
}


APLICAÇÃO – RUN

Abaixo, temos a aplicação executando no Microsoft Silverlight 4, clique no botão “Imprimir”, e confira.

DOWNLOAD

Fontes Silverlight Completo-> PrintDocumentApp

Abraços pessoal!

Robson Fernandes


Jun 30

BusyIndicator – Silverlight 4

Escrito por Robson Fernandes em 1, 4, 6, app, AR, back, Banco de Dados, BI, blog, botão, C#, class, codeplex, código, Componente, control, CSharp, dados, demo, Dica, dispatch, Download, event, Evento, exemplo, Experiências, fonte, Google, IE, if, image, int, Java, Javascript, kit, lógica, mg, Microsoft, Microsoft Silverlight, NaN, O, on, Partilha, Pessoal, POO, pt, Review, RIA, Ria’s Geral, Scroll, silverlight, Silverlight - Blend, SilverLight - Design, Silverlight 4, Software, state, TAT, tool, toolkit, UI, window, windows, XAML, XML, XP, zend @ 06 30th, 2010 | via http://www.riasoftware.com.br/blog/ | Sem comentários
Robson Fernandes
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



INTRODUÇÃO

Boa noite pessoal!
Novamente estou aqui, graças a deus, podendo compartilhar com vocês algumas experiências que tenho passado com o Microsoft Silverlight. Neste post, irei abordar o componente BusyIndicator.

O QUE É O BusyIndicator

O BusyIndicator é um controle que acompanha o SilverlightToolKit, e é utilizado como um meio de mostrar feedbacks ao usuário, sobre o tempo de aguardo de operações que são realizadas, e que exigem alto processamento.
Como por exemplo: Imagine que você queira efetuar uma pesquisa de um usuário em banco de dados com meio milhão de registros, é muito provável que isso demore um pouco, então, nós podemos utilizar o BusyIndicator, que poderá apresentar uma notificação ao usuário, indicando o tempo que faltará para realizar o processamento.

ONDE ENCONTRAR?

Você irá encontrá-lo no CodePlex, clique aqui

PREVIEW

Exemplo do controle BusyIndicator, que será apresentado neste Post, e disponibilizado para download.

Exemplo do controle BusyIndicator

CÓDIGO XAML

Abaixo, temos o código XAML do BusyIndicator, sendo que a propriedade BusyContent, refere-se ao texto que será apresentado ao usuário, como neste exemplo, “Aguarde por favor…”; A propriedade IsBusy, que indica se o controle está em modo operante ou não, como neste caso, “False”, pois faremos com que ele entre em modo operante, somente quando o usuário efetuar uma ação, que envolva alto processamento.

<toolkit:BusyIndicator x:Name="busyIndicator"
                               BusyContent="Aguarde por favor..."
                               IsBusy="False"
/>

CÓDIGO C#

Abaixo, temos o código em C#, que foi implementado no evento Click do botão Entrar. Neste exemplo não houve nenhuma interação com o banco de dados, ele foi implementado para que vocês possam entender a lógica do controle BusyIndicator. Percebam que ao clicar no botão, ele ativa o modo isBusy do controle, e inicia uma Thread em paralelo, que aguarda um tempo de 3 segundos, e posteriormente inativa o modo isBusy, fazendo então, uma simulação de consulta do usuário ao banco de dados.

private void btnEntrar_Click(object sender, System.Windows.RoutedEventArgs e)
{
         //Inicia modo operante
         busyIndicator.IsBusy = true;

         //Inicia Thread
        ThreadPool.QueueUserWorkItem((state) =>
        {
              //Aguarda 3s
             Thread.Sleep(3 * 1000);
             //Altera BusyIndicator, para modo inoperante
             Dispatcher.BeginInvoke(() => busyIndicator.IsBusy = false);
        });

}


APLICAÇÃO – RUN

Abaixo, temos a aplicação executando em Microsoft Silverlight 4, clique no botão “Entrar”, para ativar o BusyIndicator


DOWNLOAD

Fontes Silverlight Completo-> BusyIndicatorApp

Abraços pessoal!

Robson Fernandes


« Entradas anteriores | Entradas recentes »

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com