Páginas

quarta-feira, 29 de dezembro de 2010

Social Network: a nova seção do blog

Visando uma maior interação entre os leitores do blog e também proporcionar um canal direto de contato entre o blog e os leitores, resolvi criar a uma nova seção que denominei "Social Network". Tudo bem, poderia estar em português né?! Poderia, mas acho a sonoridade em inglês bem mais interessante. =)

Pois bem, essa nova seção encontra-se na barra lateral direita do blog, logo abaixo da nuvem de Temas de postagens. Utilizei de gadgets do Google Friend Connect API para oferecer essa pequena rede social para os leitores. Nesse local todos poderão comentar a respeito de diversos temas, fazer sugestões de novidades para o blog, realizar críticas, elogios, responder a comentários anteriores e disponibilizarem links e vídeos relevantes as leituras realizadas. 

Para postar nessa rede social é necessário primeiramente segui-la, sendo que para isso basta ter apenas uma conta do Google (Gmail) ou Twitter por exemplo, coisa que todos os leitores do blog devem ter (acredito que sim!).

Não é bem uma novidade a utilização desses gadgets do Google em blogs para criação de pequenas redes sociais, pelo contrário, é algo que esta sendo cada vez mais normal. Espero alcançar no mr. BIN o mesmo sucesso que outros blogs estão tendo ao utilizarem esses recursos. Aproveitem!

Seção Social Network mr. BIN

Meu Ambiente de Trabalho em 7 Itens

Dando continuidade ao meme (entenda o que é meme aqui) postado pelo amigo @welingtonveiga, estou fazendo essa postagem para tentar de forma rápida e resumida descrever meu ambiente de desenvolvimento. Confesso que em alguns pontos devo estar um pouco desatualizado pois neste ano que se passou acabei me dedicando a atividades menos técnicas, embora tenha paixão por programar.

Após a essa breve explicação, vamos lá tentar descrever meu ambiente de trabalho em apenas 7 itens.

1. Sistema Operacional
  • Windows 7: Embora ele realmente não seja necessário para o ambiente de desenvolvimento, visto a forma rápida como o Ubuntu, por exemplo, evoluiu, ainda não consegui abandonar o Windows do meu ambiente de desenvolvimento. Acho que o principal fator para isso se chama COMODISMO... =). Brincadeiras a parte, após o fiasco que foi o Windows Vista, embora não seja um defensor do tio Bill, temos que reconhecer a evolução que o Windows 7 representou em relação ao seu antecessor.
  • Ubuntu: Meu primeiro contato com ambiente Linux foi com sétima versão do Conectiva já a alguns anos. Não me lembro exatamente, mas com certeza eu ainda não estava na faculdade. A partir dai me tornei um curioso da plataforma e após conhecer o Ubuntu, ainda na versão 7.04, não abandonei mais. 

Devido a ter tanto um ambiente linux, quanto um ambiente windows devidamente configurados para programar, acabo utilizando os dois, sendo meu humor o fator determinante para definir em que ambiente irei trabalhar em um projeto.

Durante esse semestre tive que fazer alguns testes com a iOS SDK (Ambiente de desenvolvimento para iPhone) para a disciplina de Computação Móvel no mestrado, entretanto esse ambiente só é compatível com o Mac OSX. Sendo assim utilizei o VirtualBox para virtualizar o Mac OSX em PC e assim fazer um "hackintosh". Foi uma experiência muito interessante, embora eu não tenha evoluído muito no desenvolvimento para esse tipo de plataforma devido sua curva de aprendizagem ser bem íngreme e o tempo que eu tinha para o desenvolvimento do trabalho nessa plataforma ser bem curto(acabei optando por desenvolver um web app...). 
  
2. IDE - Ambiente de Desenvolvimento Integrado
Uso Eclipse para programar com quase todas linguagens que utilizo, principalmente Java e PHP. Embora haja corajosos que ainda ousem a questionar a real utilidade de uma IDE, para mim, além de proporcionar um ganho considerável de tempo, me auxilia bastante no constante aprendizado das linguagens (afinal de contas não da pra saber tudo!).
     
3. Browser 
Atualmente adotei o Google Chrome de vez como meu browser padrão. Fui usuário do Firefox desde 2004, quando ele lançou sua primeira versão e já a mais ou menos um ano vinha lutando para migrar dele para o Chrome e não conseguia devido a algumas extensões que me prendiam ao Firefox, como por exemplo o FireFTP. Entretanto já a uns 4 meses minha paciência com o alto consumo de memória do Firefox acabou e migrei para o Chrome de vez, adicionando assim mais um aplicativo Google aos tantos outros que eu já utilizava.
    
4. Modelagem
  • DBDesigner 4: Embora o software já tenha sido descontinuado e a equipe de desenvolvimento esteja trabalhando atualmente no MySQL Workbench, ainda sou usuário do DBDesigner 4, uma excelente ferramenta de modelagem de banco de dados que gera a DDL a partir do diagrama entidade relacionamento construído nela pelos usuários. 
  • StarUML:  A pouco tempo passei a utilizar principalmente o StarUML para documentar meus projetos. Ela é uma excelente ferramenta livre com suporte a UML 2.0, controle de versão, etc. Por muito tempo utilizei o Rational Rose para tal função (versão pirata que ainda não pertencia à IBM).
    
5. Ferramenta para Banco de Dados
Nesse tópico não há muito o que falar. Quando trabalho com o MySQL, impreterivelmente utilizo o PHPMyAdmin para fazer a gestão do banco de dados. Utilizo essa ferramenta por julga-la poderosa e simples ao mesmo tempo. Fico tanto tempo o com Browser aberto que pra mim torna-se bem prático utiliza-la. 

Andei utilizando o Oracle em um projeto meses atrás e pude comprovar que a ferramenta baseada em Browser fornecida por ele para fazer sua gestão também é bem interessante, mesmo sendo uma versão Lite.
     
6. Multimídia
  • iTunes: Durante o trabalho é muito natural colocar uma musiquinha para relaxar e fazer as idéias fluírem melhor. Já a um bom tempo adotei o iTunes como meu player padrão. Tive a paciência de organizar bem meus mp3 utilizando os ricos recursos que essa ferramenta da Apple oferece e agora fica fácil escutar músicas de estilos compatíveis ao humor do dia. Em ambiente Linux uso bastante o Rhythmbox para essa finalidade, afinal de contas ele é o "genérico" do iTunes.
  • Photoshop: Toda aplicação com visual agradável tende a chamar mais atenção dos usuários, pelo menos no primeiro momento. Pensando nisso prezo muito pelas interfaces das aplicações web que desenvolvo. Para tal, me aventuro bastante com edição de imagem, sendo que para isso utilizo principalmente o Photoshop. Por um bom tempo utilizei o Paint Shop Pro, ferramenta hoje pertencente a Corel.
7. Extras ( Aplicações em nuvem )
Cada vez mais me torno adepto de aplicações em nuvens devido a portabilidade e possibilidade de trabalhos colaborativos oferecidos por elas. Acho que não seria interessante citar e explicar todas aqui pois a postagem já está ficando bastante extensa, porém vou listar as principais que utilizo e linkar:
Caso alguém tiver alguma dúvida sobre elas, sugestão, crítica ou afins...comente por ai.

quinta-feira, 23 de dezembro de 2010

Discussão: Como escrever bons artigos científicos

Para dar uma quebrada no ritmo de postagens sobre discussões científicas e evitar que o conteúdo do blog ficasse massante, resolvi fazer a postagem da semana passada sobre o filme "The Social Network", entretanto optei retomar rapidamente às discussões dado o sucesso que elas estão tendo a nível de acesso e procura.

Para essa postagem iremos discutir um tema importante para TODAS as áreas: Como escrever e estruturar bem artigos científicos. 

Embora algumas pessoas da área de computação nem dêem a devida importância para desenvolver suas habilidades de escrita por julgarem não ser tão importante, após a leitura do resumo ficará claro que esse é um pensamento errado e que deve ser combatido.

obs: Essa será a última postagem que vou realizar antes do Natal, portanto desde já desejo um feliz natal repleto de muita fartura e alegrias a todos os leitores.

- Ilustração do post: Alexandre Araújo - Estúdio Chanceler



Universidade Federal de Viçosa
Departamento de Informática
Mestrado em Ciência da Computação
INF 600 - Técnicas de Pesquisa em Ciência da Computação
Resumo nº. 04

Os artigos estudados referem-se a maneiras de escrever melhores artigos em um âmbito geral e também especificamente no campo da ciência da computação.

Geralmente boa parte dos estudantes e profissionais da área de computação não têm muita afinidade com a escrita. Muito desse mau costume deve-se a falta de prática da escrita ou mesmo pelo desinteresse em escrever bons textos. Desde a graduação, muitos alunos de computação deixam de dar valor a qualidade dos textos que produzem por julgarem ser desnecessário ter tal habilidade bem desenvolvida para exercerem seus futuros cargos como profissionais de computação. Essa visão é completamente errada, pois é pura ilusão achar que o profissional de computação passará todo seu tempo sentado ao computador apenas programando. Profissionais de computação atuam em atividades que requerem habilidades de comunicação e conseqüentemente escrita, como levantamento e descrição de requisitos, elaboração de projetos, documentação clara de software, elaboração de manual do usuário, atas de reuniões e etc. Sendo assim, dependendo do cargo exercido pelo profissional de computação, pode ser que ele passe muito mais tempo executando atividades que envolvem a escrita do que programando por exemplo.

Nesse sentido, fica claro que além de habilidades computacionais, é muito importante também ter habilidades em escrita para um profissional de computação ser bem sucedido em sua carreira corporativa.

No artigo [3], os autores relataram um projeto voltado para quebrar essa barreira que alunos ainda não graduação costumam ter de que é desnecessário ter habilidades em escrita para ser um bom profissional em computação e a partir do uso de taxonomias de escrita e conselhos gerais, passaram preparar melhor os alunos no que diz respeito a escrita para ensino, comunicação acadêmica e profissional. Várias atividades de escrita foram destinadas aos alunos, sendo que estas utilizavam um modelo estrutural de redação pré-estabelecido que juntamente com o apoio do Centro de escrita da Universidade, permitiu que os alunos se concentrassem principalmente em aprendizagem e análise, em vez de organização e conteúdo.

Para alunos de mestrado e doutorado, escrever bem tem uma importância ainda maior. Dentre os vários critérios utilizados para avaliação de planos de pós-graduação no Brasil, 50% está envolvido diretamente com a produção científica do mesmo. Sendo assim, quanto mais publicações em revistas e conferências de alto nível um plano tiver, maiores serão suas chances de ser avaliado com notas altas e conseqüentemente ter acesso a uma quantidade de recursos financeiros maiores. Quanto mais recursos têm um plano de pós-graduação, mais ele pode investir no seu pessoal e equipamentos, que logo tendem a resultar em pesquisas melhores.

Somente bons artigos submetidos a veículos de alto nível conseguem ser publicados, e para melhorar a qualidade dos artigos escritos, várias dicas foram apresentadas nas leituras realizadas. De maneira geral, os artigos escritos devem ser claros e objetivos, possuírem uma boa revisão bibliográfica de trabalhos relacionados, apresentarem o problema que propõem solucionar, a relevância de tal problema e de forma bem fundamentada apresentar suas reais contribuições para solucionar o problema proposto, assim como o que difere tal contribuição das já realizadas em trabalhos anteriores.

Um método interessante para escrever artigos foi apresentado em [1]. Chamado de método de escrita por Scripts, esse método basicamente divide o processo de criação de um artigo em quatro etapas, sendo que após a realização de cada uma delas, o texto fica cada vez mais detalhado e refinado, estando praticamente pronto após a realização da ultima etapa. Na primeira etapa desse método é criado o chamado Outline, que é basicamente a estrutura do artigo proposto, ficando definidas assim as seções e subseções que compõe o mesmo. Na segunda etapa é feito o chamado Script 1, onde em cada seção e subseção definida no Outline, são enumerados pontos chaves que serão detalhados na terceira etapa do método. Esses pontos são frases curtas e claras. Na terceira etapa é feito o Script 2, que nada mais é do que o detalhamento dos pontos estabelecidos da etapa anterior, colocando uma marcação entre chaves ao final de cada um deles. A quarta e última etapa basicamente é composta pela retirada das marcações feitas no Script 2 e nas adaptações para dar sentido ao texto final.

Todas essas questões que relatei até o momento são voltadas para aspectos técnicos de um artigo de qualidade, porém alguns aspectos não-técnicos também necessitam de atenção para evitar que bons artigos sejam rejeitados após submissão. Alguns aspectos não-técnicos que valem ressaltar são:

  • Verificar se o artigo obedece à formatação exigida pela revista/conferência no qual será submetido;
  • Verificar se a revista/conferência para a qual o artigo será submetido é apropriada;
  • Usar sempre vocabulário formal;
  • Certificar-se de que todas as figuras e tabelas do artigo estão legíveis;
  • Cuidar para que o texto esteja claro;

Cada avaliador pode utilizar de critérios pessoais para avaliar um artigo submetido, porém de formas gerais, os aspectos técnicos e não técnicos que citei são sempre levados em consideração. Depois de realizada as avaliações, sempre os avaliadores fazem considerações que são muito valiosas para uma melhor adequação do artigo proposto, portanto essas considerações merecem muita atenção por parte dos autores.

Após a leitura dos artigos ficou claro que escrever bem é tão importante para o profissional de computação quanto pra profissionais de outras áreas. Independente da escolha pelo meio acadêmico ou corporativo, sempre os profissionais de computação serão exigidos com relação a suas habilidades de escrita e a falta de tais habilidades poderá influenciar negativamente em suas carreiras.

Referências

[1] BRAGANHOLO, V., HEUSER, C., REIS, A. (2004) “Redigindo artigos de Ciência da Computação: uma visão geral para alunos de mestrado e doutorado”, In: WTDBD - Workshop de Teses e Dissertações em Banco de Dados, Brasília, Brasil

[2] Mary Shaw, "Writing Good Software Engineering Research Papers," Software Engineering, International Conference on, p. 726, 25th International Conference on Software Engineering (ICSE'03), 2003

[3] Dugan, R. F. and Polanski, V. G. 2006. Writing for computer science: a taxonomy of writing tasks and general advice. J. Comput. Small Coll. 21, 6 (Jun. 2006), 191-203.

[4] R. Levin and D. D. Redell. An evaluation of the ninth sosp submissions or how (and how not) to write a good systems paper. Operating Systems Review, 17(3):35--40, July 1983.

quarta-feira, 15 de dezembro de 2010

E a mesma história se repete...

Essa semana tive a oportunidade de assistir ao filme "The Social Network", ou "A Rede Social", que refere-se a história da criação do Facebook.

Confesso que tive uma surpresa agradável com o filme, pois geralmente sou meio oposto as críticas e como li algumas elogiando-o muito antes de assistir, imaginei que não seria tão bom. Alguns críticos já estão inclusive classificando o filme como um clássico do cinema contemporâneo, não sei se é pra tanto, mas de fato é um excelente filme.

Para quem ainda por ventura não ouviu falar sobre o filme (de que planeta você é?), ele está em cartaz nos cinemas brasileiros desde 3 de dezembro e foi indicado hoje a 6 globos de ouro. O filme basicamente conta a história da criação da rede social com maior número de usuários do mundo, o Facebook. É uma história repleta de reviravoltas e traições, envolvendo mulheres, drogas, muita astúcia e ganância. O filme  foi baseado na história real contada no livro "Bilionários por acaso: A criação do Facebook", escrito por Ben Mezrich.

Como o objetivo dessa postagem não é contar a história do filme, mas sim discutir questões a respeito da forma como o Facebook foi criado, vou contar apenas uma dose homeopática para efeito de contextualização. Tudo se passa em Harvard onde inicialmente os irmãos Cameron Winklevoss e Tyler Winklevoss tiveram a idéia de desenvolver um site de relacionamentos nos moldes de uma rede social, entretanto não tinham habilidades em programação para desenvolverem essa idéia. Sendo assim eles buscam por Mark Zuckerberg, jovem programador estudante também de Harvard, para compartilharem tal idéia e formarem uma parceria para a criação do site de relacionamentos. Zuckerberg topa de cara participar, entretanto passa a perna nos irmãos Winklevoss e inicia em 2004 o desenvolvimento do Facebook. Em pouquíssimo tempo o Facebook foi se espalhando pelas universidades americanas e posteriormente pelo mundo, porém para um projeto iniciado no alojamento de uma universidade tomar tais proporções, alguém teria que oferecer aparato financeiro para tal, e esse alguém foi Eduardo Saverin, brasileiro estudante de economia e melhor amigo de Zuckerberg.

Embora Eduardo a Mark fossem melhores amigos, quanto mais o Facebook foi expandindo, maior era a ganância de Mark pelo dinheiro. Sob influência de Sean Parker, co-fundador do Napster, que também passou a ter participações no Facebook, Eduardo foi forçado a assinar contratos tendenciosos que acabaram por praticamente retirar seus direitos na empresa, embora tenha sido quem mais injetou dinheiro na criação da mesma.

Resumidamente o que aconteceu em toda essa história: Duas pessoas tiveram uma idéia, alguém roubou a idéia e se junta outro que financiou a mesma. No final quem roubou a idéia inicial passa a perna em quem financiou e fica com toda a fatia do bolo, acumulando uma fortuna estipulada em 25 bilhões de dólares em apenas 6 anos!

Coincidências ou não, essa história nos faz lembrar de outras grandes empresas de tecnologia como Microsoft e Apple, que hoje são símbolos, entretanto iniciaram suas histórias também a partir de idéias roubadas e posteriormente aperfeiçoadas. Será que para ter uma empresa de tecnologia desse porte é necessário ser tão antiético? Bom...isso já é história para outra postagem.

O que mais me surpreende nessa história toda é o fato de tantas empresas de base tecnológica surgirem na academia americana (Google, Facebook, Yahoo!, Microsoft, Apple..etc) e conseguirem uma penetração tão grande na sociedade mundial e países do porte do Brasil não conseguirem alcançar feitos semelhantes. Será que eles são tão mais inteligentes assim? Sinceramente não acredito que seja esta a questão. 

Ainda falta muito incentivo ao desenvolvimento tecnológico e fomento a inovação no nosso país, pensa-se muito pequeno. Enquanto que nos EUA um moleque de 19 anos consegue ficar bilionário com um projeto iniciado no alojamento da sua universidade, no Brasil alguém com tal ambição seria considerado louco atualmente... Essas coisas acabam enraizando na nossa sociedade, desencorajando inclusive mentes de muito potencial, fazendo-as também pensar pequeno e assim não chegarem a níveis como os citados anteriormente.

Não sou dono da verdade e acredito que opiniões divergente às minhas podem acabar surgindo por aqui, mas o objetivo é esse mesmo, debater. Sintam-se a vontade em comentar.

Como aperitivo, assistam ao trailer de "A Rede Social":



terça-feira, 30 de novembro de 2010

Discussão: Plágio em publicações científicas

Dando continuidade às nossas discussões científicas, hoje a postagem trata de um tema realmente polêmico e controverso: Plágio.

Embora não seja um tema novo, o resumo trata de alguns pontos específicos da ocorrência do mesmo que acabam sendo interessantes para formação de senso crítico a respeito.

Façam bom proveito da leitura e fiquem a vontade para comentar!

Universidade Federal de Viçosa
Departamento de Informática
Mestrado em Ciência da Computação
INF 600 - Técnicas de Pesquisa em Ciência da Computação
Resumo nº. 03

Os artigos estudados referem-se à ocorrência de plágio. Embora essa prática possa ocorrer em qualquer espécie de obra que envolva direitos autorais, os artigos referem-se mais especificamente a ocorrência dessa prática em publicações científicas.

De maneira geral, plágio significa tomar posse de uma criação da qual os direitos autorais pertencem à outra pessoa e passar-se como criador da mesma. O plágio em publicações científicas pode se manifestar de várias formas, como a cópia integral ou parcial de uma obra e cópia de elementos de uma obra sem citar os devidos autores originais. Alguns autores também cometem plágio mesmo citando as fontes originais, pois acabam não deixando claro o que é de sua autoria e o que está sendo referenciado, podendo acabar assim se passando como autor de algo que ele não fez de fato.

O ato de plagiar uma obra fere conceitos legais e éticos do meio científico, porém a partir da leitura dos artigos, é possível perceber que a prática do auto-plágio no meio acadêmico é um tanto quanto comum. O auto-plágio nada mais é do que aproveitar trabalhos anteriores integralmente ou parcialmente, e republicá-los sem fazer citação, fazendo assim os mesmos se passarem por trabalhos inéditos. Muitos problemas podem ser gerados a partir dessa prática, como por exemplo, visões distorcidas da sociedade em relação à forma como o capital investido em pesquisa é aplicado e desconforto no meio acadêmico por profissionais que não republicam seus trabalhos serem menos valorizados que outros que teoricamente produzem mais, porém estão repetindo publicações.

As vezes é um pouco confuso pensar que um pesquisador não tem o direito de reaproveitar seus próprios trabalhos para de repente enriquecerem o contexto de trabalhos futuros, porém, muitas revistas tornam-se detentoras dos direitos autorais de um trabalho quando o mesmo é publicado por ela. Nesse sentido, o reaproveitamento descontrolado de um trabalho, mesmo que tenha sido feito pelo próprio autor, acaba gerando um problema legal, pois o mesmo não é mais dono dos seus direitos.

O reaproveitamento de trabalhos anteriores em publicações futuras é permitido e pode inclusive ser uma prática saudável para contextualizar os novos trabalhos, porém qual é o limite de reaproveitamento? Não existe uma norma geral para isso. Nos próprios artigos estudados vimos medidas diferentes para o nível permitido de reaproveitamento, segundo [2], pelo menos 25% da publicação deve ser inédita para não configurar plágio. Já segundo [3], usualmente é utilizada a “regra dos 30%”, onde é permitido um reuso de até 30% de uma publicação anterior.

É muito complicado estabelecer e mensurar tais valores, afinal de contas isso tudo acaba sendo um fator muito pessoal, sendo que determinados avaliadores podem achar que um trabalho está plagiando outro, enquanto outros avaliadores mais maleáveis enxergam por outra ótica.

Outro fator que acaba facilitando a ocorrência de plágio é a falta de punições severas. Dentre as possíveis punições que vimos nos artigos, a maioria são punições brandas, como por exemplo, cartas de retratação admitindo o erro cometido.

Não há problema em reutilizar trechos de trabalhos anteriores que sejam relevantes a trabalhos futuros, porém o que fica ruim são os abusos cometidos por alguns autores para ganharem volume de publicação. É de certo ponto até desagradável ler artigos diferentes de um mesmo autor tendo a sensação de que aquilo já foi lido anteriormente. Dentre os artigos estudados no Resumo 2, podemos exemplificar essa sensação com algumas publicações do Victor Basili. Em todos os seus artigos estudados, curiosamente o autor que ele mais cita é ele próprio e muitas das coisas que ele escreveu nesses artigos são claramente idênticas a de outros artigos de sua autoria, como é o caso dos artigos [5] e [6], onde trechos consideráveis dos mesmos são idênticos, sem ao menos mudar uma palavra e não existe citação de [6] para [5].

Quando a reutilização é considerada legal e ética, a mesma não traz problemas a ninguém, porém quando ela é considerada ilegal e/ou antiética, passa a ser tratada como plágio. Mesmo no meio acadêmico, as opiniões a respeito do que é ético e o que não é variam muito, como ficou claro em [2], portanto fica muito complicado fazer esse tipo de classificação. Essa falta de padronização de critérios e punições acaba dando abertura para a ocorrência de plágios e ao menos que seja dada uma maior atenção a esses pontos, essa prática continuará acontecendo tanto no meio acadêmico, quanto no meio de desenvolvimento de software e demais meios.

Referências

[1] ACM policy and procedures on plagiarism, October 2005.

[2] Collberg, C. and Kobourov, S. 2005. Self-plagiarism in computer science. Commun. ACM 48, 4 (Apr. 2005), 88-94. DOI= http://doi.acm.org/10.1145/1053291.1053293

[3] Samuelson, P. 1994. Self-plagiarism or fair use. Commun. ACM 37, 8 (Aug. 1994), 21-25. DOI= http://doi.acm.org/10.1145/179606.179731

[4] Siponen, M. T. and Vartiainen, T. 2007. Unauthorized copying of software: an empirical study of reasons for and against. SIGCAS Comput. Soc. 37, 1 (Jun. 2007), 30-43. DOI= http://doi.acm.org/10.1145/1273353.1273357

[5] Basili, V. R. “The Experimental Paradigm in Software Engineering”. In H. D. Rombach, V. Basili, R. Selby, editors, Experimental Software Engineering Issues: Critical Assessment and Future Directions, Lecture Notes in Computer Science #706, Springer-Verlag, August 1993

[6] Basili, V. R. The Role of Experimentation in Software Engineering: Past, Current, and Future, Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, March 25-29, pp. 442-449, 1996.

quinta-feira, 18 de novembro de 2010

Discussão: Experimentação em Ciência da Computação é possível?

Olá pessoal. Já faz mais ou menos um mês que fiz uma postagem a respeito da discussão Computação e a Ciência. Achei muito legal a forma como a discussão foi muito bem aceita por vocês leitores. Nessa postagem eu tinha explicado a origem daquele texto e dito que haveriam mais 11 postagens com discussões a respeito de engenharia de software e técnicas de pesquisa em computação, sendo que eu tentaria manter uma periodicidade se possível semanal. Infelizmente devido aos meus compromissos com o mestrado, não pude dar seqüência a essas postagens com a periodicidade desejada, entretanto hoje estou dando continuidade a essa idéia postando a discussão Experimentação em Ciência da Computação é possível?

Espero que façam bom proveito da leitura e também comentem como na discussão anterior, lembrando que para os mais interessados em se aprofundar no assunto, vale a pena pelo menos passar o olho pelas referências bibliográficas.

Universidade Federal de Viçosa
Departamento de Informática
Mestrado em Ciência da Computação
INF 600 - Técnicas de Pesquisa em Ciência da Computação
Resumo nº. 02


Os artigos estudados referem-se à experimentação no âmbito da Ciência da Computação, porém o paradigma experimental é utilizado é vários campos do conhecimento para gerar modelos a partir de estudos empíricos.

Estudos empíricos são realizados por observação de um dado campo, coletando e analisando dados para entender melhor um problema específico, gerando hipóteses para solucionar o problema e validando as mesmas a partir de experimentos para então gerar modelos que podem ser reproduzidos e aperfeiçoados futuramente. É seguindo esse ciclo que o conhecimento avança.

Aplicar experimentação no processo de desenvolvimento de software sem dúvida não é algo trivial. Nesse processo existe uma grande quantidade de variáveis envolvidas. Algumas delas são as técnicas de programação, metodologias e métodos, paradigmas e linguagens de programação utilizadas, características do ambiente de trabalho e principalmente o fator humano (programadores, analistas, testadores... etc.). Considerando tantas variáveis, torna-se muito complicado a geração de um modelo genérico que atenda qualquer processo de software.

Para realização de pesquisas experimentais em engenharia de software, é de fundamental importância que ela aconteça analisando problemas reais e não realizando meras simulações. Para isso, é essencial que as pesquisas aconteçam em laboratórios de P&D (Pesquisa e Desenvolvimento) da própria indústria. Os autores dos artigos estudados dizem que a relação entre a academia e a indústria em pesquisas experimentais de engenharia de software é simbiótica, ou seja, a indústria necessita de melhorias no seu processo de desenvolvimento de software para minimizar erros e maximizar tempo de produção e qualidade do produto, enquanto que pesquisadores necessitam de dados reais que possam ser analisados e um ambiente propício para fazer seus experimentos, validar suas hipóteses e gerar assim os modelos de conhecimento utilizados pela indústria.

Embora um dependa do outro, não é fácil conseguir espaço para pesquisar na indústria. Inicialmente a tendência é o profissional de desenvolvimento de software achar que a presença do pesquisador no seu ambiente de trabalho será prejudicial, sendo assim, ele tende a não colaborar devidamente com a pesquisa. De fato, por envolver questões culturais e por influência dos experimentos, algumas mudanças na forma de trabalhar podem ocorrer, e devido à curva de aprendizagem, essas mudanças inicialmente tendem a causar prejuízos no processo de desenvolvimento, porém traz benefícios futuros.

Objetos de pesquisa não são problema para Victor Basili, haja vista que todos seus experimentos citados nos artigos estudados foram realizados no NASA Goddard Software Engineering Laboratory (SEL), que é um laboratório de pesquisa no qual ele comanda.

No SEL é utilizado o conceito de “Fábrica de Experiência” para gerar modelos a partir de pesquisas em engenharia de software experimental. Para tal, dados são coletados e interpretados com a abordagem Goal Question Metric (GQM) e a partir da aplicação do paradigma da melhoria da qualidade (QIP), modelos empacotados anteriormente são reutilizados e evoluídos para construir novos sistemas.

Com essa forma de unir pesquisa e desenvolvimento, o SEL conseguiu aumentar bastante o nível de reutilização de código, diminuir consideravelmente os custos de desenvolvimento e aumentar em muito as funcionalidades dos softwares lá desenvolvidos.

Embora os resultados apresentados no SEL sejam muito animadores, eles são fruto de muitos anos de estudo e experimentação. Além disso, todos esses experimentos foram realizados em projetos do próprio laboratório, portanto não é possível afirmar com base nas informações contidas nos artigos estudados que esses modelos gerados pelo SEL seriam eficientes quando aplicados em outro local que envolva profissionais diferentes, com conhecimentos e culturas diversas, trabalhando em um ambiente completamente diferente.

Nos artigos estudados de sua autoria, Victor Basili reconhece que para gerar modelos básicos e métricas de negócio e científicas, é necessário que existam laboratórios de níveis diferentes realizando experimentos em engenharia de software.

Após a leitura dos artigos, ficou claro que pesquisas experimentais em ciência da computação, mais especificamente em engenharia de software, não são muito comuns por envolverem vários fatores limitantes. Geralmente o que vemos são pesquisas voltadas para ambientes específicos, porém também é possível alcançar resultados generalistas, como ficou provado em pelo autor em [5] ao descrever a pesquisa experimental que resultou em um modelo genérico que auxilia na prevenção e correção de erros no desenvolvimento de software de forma eficiente.

Referências

[1] Basili, V. R. “The Experimental Paradigm in Software Engineering”. In H. D. Rombach, V. Basili, R. Selby, editors, Experimental Software Engineering Issues: Critical Assessment and Future Directions, Lecture Notes in Computer Science #706, Springer-Verlag, August 1993.

[2] Basili, V. R. and Zelkowitz, M. V. 2007. Empirical studies to build a science of computer science. Commun. ACM 50, 11 (Nov. 2007), 33-37. DOI= http://doi.acm.org/10.1145/1297797.1297819

[3] Basili, V. R. The Role of Experimentation in Software Engineering: Past, Current, and Future, Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, March 25-29, pp. 442-449, 1996.

[4] Dror G. Feitelson. Experimental Computer Science: The Need for a Cultural Change. Disponível em: < http://www.cs.huji.ac.il/∼feit/papers/exp05.pdf > Acesso em 05 set. 2010.

[5] Weyuker, E. J. 2007. Software engineering research: from cradle to grave. In Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (Dubrovnik, Croatia, September 03 - 07, 2007). ESEC-FSE '07. ACM, New York, NY, 305-311. DOI= http://doi.acm.org/10.1145/1287624.1287667

[6] Marcos, E. 2005. Software engineering research versus software development. SIGSOFT Softw. Eng. Notes 30, 4 (Jul. 2005), 1-7. DOI= http://doi.acm.org/10.1145/1082983.1083005

sábado, 13 de novembro de 2010

Palestra: Como ganhar dinheiro na internet utilizando tecnologias Google

Havia anunciado no post anterior do blog a VII Semana de Informática da FAFISM, evento no qual proferi uma palestra ontem a noite. Fiquei muito grato pelo convite e sou só elogios pela qualidade do evento, que pelo menos da parte em que participei, posso afirmar que presenciei muita organização e um público realmente interessado em aprender. Estão todos de parabéns!

Como prometido no post anterior e durante a palestra, estou disponibilizando aqui no blog o material que utilizei durante a apresentação para caso alguém tenha interesse em se aprofundar no assunto.

Mesmo para quem não participou da palestra, vale a pena dar uma conferida na apresentação, pois ela é praticamente auto-explicativa. Em caso de dúvidas, entrem em contato e sempre que possível estarei tentando saná-las.

sábado, 30 de outubro de 2010

VII SEMANA DE INFORMÁTICA - FAFISM

Como de costume, venho divulgar para vocês leitores mais um evento interessante da área de computação. Acontecerá entre os próximos dias 8 à 12 de Novembro a VII Semana de Informática da Faculdade de Filosofia, Ciências e Letras Santa Marcelina - FAFISM em Muriaé-MG.

Tive o prazer de ser convidado a palestrar no evento e no dia 12, a partir das 18h30, estarei ministrando a palestra "Como ganhar dinheiro na internet utilizando tecnologias Google". Após o evento irei compartilhar com vocês aqui no blog o material utilizado durante a palestra.

Para os interessados, segue abaixo a programação do evento:

08/11/10 - Segunda-feira
18h30 - Abertura da VII Semana Acadêmica de Informática
19h00 - Palestra: A ética no exercício da profissão e nas relações sociais
Exmo Dr. Vítor José Trócilo Neto
Juiz de Direito da Comarca de Muriaé - MG
20h30 - Minicursos: Linguagens de programação - Delphi, PHP e Clipper
Acadêmicos do curso de Análise e Desenvolvimento de Sistemas

09/11/10 - Terça-feira
18h30 - Palestra: Simulação de processos de desenvolvimento de software
Clayton Vieira Fraga Filho
Mestre em Ciência da Computação – UFV
Professor da UFES
20h30 - Palestra: Otimização combinatória, métodos e aplicações
Doutor em Computação Aplicada – INPE (Instituto Nacional de Pesquisas Espaciais)
Professor da UFES

10/11/10 - Quarta-feira
18h30 - Palestra: Uma arquitetura para aferir o conhecimento em um ambiente de aprendizagem e-learnig
Leandro da Silva Foly
Mestre em pesquisa operacional e inteligência computacional - UCAM
Professor da Faculdade Redentor
20h30 - Minicursos: Linguagens de programação - Delphi, PHP e Clipper
Acadêmicos do curso de Análise e Desenvolvimento de Sistemas

11/11/10 - Quinta-feira
18h30 - Palestra – O poder das redes sociais
Jefferson de Oliveira Balduino
Mestrando em Ciência da Computação - UFV
20h30 - Minicursos: Linguagens de programação - Delphi, PHP e Clipper
Acadêmicos do curso de Análise e Desenvolvimento de Sistemas

12/11/10 - Sexta-feira
18h30 - Palestra: Como ganhar dinheiro na internet utilizando tecnologias Google
Lucas Francisco da Matta Vegi
Mestrando em Ciência da Computação - UFV
20h30 - Apresentação Cultural / Musical
Acadêmicos do curso de Análise e Desenvolvimento de Sistemas

Local : Auditório da FAFISM

Para maiores informações:
www.fafism.com.br
Telefone: (32) 3721.1026 – Fax: (32) 3722.4355

segunda-feira, 11 de outubro de 2010

Discussão: Computação e a Ciência

Já faz alguns dias que tive uma idéia de uma sequência de postagens para o blog mas não vinha tendo tempo de colocá-la em prática, porém hoje irei dar início a essa sequência. Inicialmente vou fazer uma breve explicação do que se tratam essas postagens e a origem das mesmas.  

Dentre as várias disciplinas que venho fazendo durante o mestrado, estou cursando nesse semestre a segunda ministrada pelo professor zéluisbraga . No semestre passado acompanhei a disciplina de Engenharia de Software e nesse semestre estou cursando Técnicas de pesquisa em Ciência da Computação com ele. Você já deve estar se perguntando: "Tá bom Lucas e o que eu tenho a ver com isso?..". Durante essas disciplinas ministradas pelo professor José Luis, realizamos periodicamente várias leituras interessantes sobre temas importantes e então fazemos resumos críticos a respeito desses temas. Embora seja relativamente trabalhoso realizar tais tarefas, o resultado que elas proporcionam no final são muito valorosos. Essas leituras acabam despertando um grande senso crítico sobre esses assuntos, e após debatermos os mesmos dentro de sala, acabamos de vez saindo dos "achômetros" e das opiniões superficiais sobre esses temas para posturas mais sólidas. 

Pois bem, após essa breve explicação da origem desses resumos, a idéia da sequência de postagens é a seguinte: De tempos em tempos, talvez semanalmente (não posso prometer!), irei postar um desses resumos aqui no blog, juntamente com as referências bibliográficas utilizadas nos mesmos. Dessa forma podemos utilizar os comentários para criar discussões interessantes a respeito dos temas abordados. Quem tiver interesse em se aprofundar nos assuntos, vale a pena dar pelo menos uma passada de olho nas referências bibliográficas.

No total, essas sequência de postagens será composta por 12 resumos, sendo 6 de temas relacionados a Engenharia de Software e outros 6 referentes a Técnicas de Pesquisa em Ciência da Computação. Vou dar inicio a essa sequência com os resumos de Técnicas de Pesquisa, sendo que o primeiro tema abordado é o mesmo do título dessa postagem: "Computação e a Ciência".

Espero que gostem da idéia e façam bom proveito dessas discussões!

Universidade Federal de Viçosa
Departamento de Informática
Mestrado em Ciência da Computação
INF 600 - Técnicas de Pesquisa em Ciência da Computação
Resumo nº. 01

Os artigos estudados analisam o que de fato é a Ciência da Computação e buscam dar definições mais concretas sobre os contextos em que ela está inserida, além de tentarem também responder se ela realmente é uma ciência.

Após a leitura de todos os artigos, ficou claro que a categorização de Ciência da Computação varia muito entre as pessoas. Isso se deve muito a formação que tiveram. Alguns relacionam a computação mais com a ciência, outros a identificam mais com a engenharia, outros acreditam que ela é uma ciência puramente matemática, enquanto outros defendem piamente a visão da computação como uma arte.

Na verdade a computação acaba sendo a interseção dessas visões. No primeiro artigo, Paul Graham, um dos inventores do Yahoo! , fez uma analogia muito interessante para definir a computação. Segundo ele, a ciência da computação é igual à Iugoslávia, um conjunto de áreas tenuamente relacionadas, jogadas juntos por um acidente da história. De fato faz muito sentido essa analogia, pois embora haja certa relação entre as áreas que compõe a Ciência da Computação, os estudos realizados por cada uma delas possuem focos bem diferentes, causando inclusive divergências entre pesquisadores de linhas de pesquisa diferentes ao analisarem assuntos em comum.

É muito errada a visão de que a Ciência da Computação só estuda problemas criados pelo homem e que por isso não seria uma ciência. Com o passar dos anos, a computação esta cada vez mais se estendendo a estudos ligados a outras áreas como a biologia e a física e com isso está inaugurando novas linhas de pesquisa como, por exemplo, a bioinformática. Ciência da computação na verdade é o estudo dos processos de informação, natural e artificial. Segundo Denning [4], quanto mais estudos em computação são feitos, menor fica a distância entre a computação e outros campos da ciência.

O intercâmbio da ciência da computação com outras áreas traz ganhos bilaterais, pois os estudos em computação são voltados para a aplicação de processos de informação para solucionar problemas ou sanar deficiências em outras áreas, através da aplicação dos fundamentos da computação. Para alcançar tais objetivos, pesquisas são realizadas e novos modelos computacionais acabam surgindo ou sendo aprimorados. Ao final, tanto os conhecimentos em computação, quanto os da área na qual ela foi aplicada, tendem a ter uma evolução. Um exemplo ideal para demonstrar como esse intercâmbio traz ganhos bilaterais é o Projeto Genoma [2]. Além dos grandes avanços que se tiveram em bioinformática, áreas como a biologia e a medicina também foram muito beneficiadas, pois sem o auxílio computacional, seria praticamente impossível mapear aproximadamente 80 mil genes que compõe o corpo humano e a partir dessas informações terem a possibilidade de entender melhor como funciona nosso corpo, fazendo assim diagnósticos mais precisos de algumas doenças, por exemplo.

Segundo estudo realizado por Walter Tichy [1] em artigos de Ciência da Computação publicados antes de 1995, aproximadamente 50% desses trabalhos propôs modelos ou hipóteses sem ao menos testá-los. Isso vai totalmente contra o que propõem o paradigma científico, onde toda hipótese deve ser testada para assim tornar possível a criação de modelos. Talvez essa forma errada que se fazia pesquisa em computação justifique tantas previsões erradas que aconteceram no passado da área.

A aplicação do paradigma científico na Ciência da Computação está sendo cada vez mais intensa e com isso a computação vem ganhando mais credibilidade. Atualmente sua aceitabilidade como uma ciência é muito superior à de décadas passadas.

De uma maneira geral, após a leitura de todos os artigos, ficou claro que a Ciência da Computação não só é uma área da ciência, como também é indispensável pra fazer ciência em outras áreas de conhecimento.

Referências

[1] Tichy, W. Should computer scientists experiment more. IEEE Computer (May 1998), 32–40.

[2] Projeto Genoma. Disponível em: Acesso em 21 ago. 2010.

[3] Denning, P. Is computer science science? Commun. ACM 48, 4 (Apr. 2005), 27–31.

[4] Denning, P. Computing is a natural science. Commun. ACM 50, 7 (July 2007), 15–18.

[5] Denning, P., and P. Freeman. 2009. Computing’s paradigm. Communications of the ACM 52: 28–30.

[6] Shagrir, O. 1999. "What is Computer Science About?" The Monist 82(1): 131-149.

sexta-feira, 17 de setembro de 2010

V Encontro do APL TI de Viçosa e IV Feira de TI

Como de costume, sempre que fico sabendo de algum evento interessante principalmente na área de tecnologia, corro para o blog compartilhar com vocês. Desta vez o evento interessante que tomei conhecimento foi o encontro da APL TI.

Nos dois anos anteriores(2008 e 2009) estive participando desse evento aqui em Viçosa e sempre pude presenciar um ambiente muito interessante com excelentes palestras e oportunidades de negócios.

Desde a segunda edição do encontro acontece em paralelo a Feira de TI, onde trabalhos de diversas instituições e empresas são apresentados e concorrem a prêmios. No primeiro ano que participei do evento fui somente como ouvinte, já no ano passado concorri na Feira de TI apresentando o trabalho "FORNUT - APLICAÇÃO WEB PARA AVALIAÇÃO NUTRICIONAL DE CRIANÇAS", que foi fruto do meu TCC. Lembro-me bem que pude apresentá-lo para pessoas de diversos lugares, tendo inclusive despertado um interesse muito grande de uma empresa portuguesa que participava do evento. Para minha felicidade fui contemplado vencedor da III Feira de TI e consegui abrir diversas portas com os contatos que acabei fazendo.

Premiação da III Feira de TI (2009)
Recomendo bastante a todos que aproveitem a oportunidade de participar desse evento, principalmente quem estiver na reta final da graduação desenvolvendo TCC. Ao apresentá-lo na Feira de TI, além de ter uma noção de quão bom pode estar seu trabalho, os contatos feitos podem acabar lhes rendendo o primeiro bom emprego como bacharel.

O APL TI de Viçosa em parceria com a Univiçosa e o VIÇOSATEC realizará o V Encontro do APL TI de Viçosa, nos dias 21 a 23 de outubro de 2010 na Univiçosa.
Durante o Encontro acontecerá a Semana Tecnológica da Univiçosa e a Feira de TI, onde serão expostos trabalhos de alunos e empresários. Com o objetivo de integrar as empresas do ramo de tecnologia da informação e as instituições de ensino da região, o Encontro premiará os melhores trabalhos e criará oportunidades de negócios para alunos e empresas.
Não perca a chance de participar deste ambiente de inovação tecnologia e oportunidades de negócios.

Para maiores informações sobre o evento, acessem: http://www.tivicosa.com.br/encontro2010/

sexta-feira, 10 de setembro de 2010

Planilha para Controle de Gastos Pessoais nas nuvens

Você tem costume de controlar seus gastos e rendimentos ao decorrer dos meses para saber com o que você mais gasta e de onde vem suas maiores fontes de renda? Acredito que a grande maioria dos leitores responderia não. Até pouco tempo eu também não tinha costume de fazer isso, porém esse ano me vi obrigado a fazer esse tipo de controle.

Pelo fato de estar morando fora de casa por conta do mestrado e ter que pagar minhas contas sozinho, acabei sentindo a necessidade de administrar melhor meu dinheiro para saber onde eu estava gastando mais e consequentemente onde eu poderia economizar mais para então conseguir guardar um pouquinho de dinheiro no final do mês. É impressionante como dinheiro "cria perna" quando não ficamos de olho nele...=)

Quando resolvi que passaria a controlar se possível cada centavo que eu estava gastando ou ganhando para visualizar melhor esses fluxos, dei uma pesquisada no Google e achei uma excelente planilha que faz exatamente tudo que eu precisava. Ela é de autoria de Antônio Celso e pode ser baixada clicando aqui.

Com o passar dos meses, comecei a sentir falta de mobilidade nessa planilha. Tenho costume de usar muitos computadores diferentes (Notebook, Desktop, PC da universidade... etc) e por muitas vezes tive necessidade de acessar alguma informação nessa planilha e fiquei impossibilitado. Com certeza eu tinha algumas possibilidades para resolver esse problema, como manter uma cópia dela no meu pendrive por exemplo. No entanto não me agradava muito essa idéia porque para o pendrive dar um problema de uma hora pra outra e me deixar na mão pouco custava, além de que a sincronia do arquivo do pendrive com os dos outros computadores poderia ficar comprometida devido a um esquecimento meu (o que com certeza aconteceria dada a minha memória!).

Após pensar um pouco a respeito, "achei" a solução dos meus problemas, exportar a planilha para o Google Docs certo?! Mais ou menos... Pelo fato da planilha conter muitos gráficos e fórmulas, a exportação ficou longe de ser perfeita, porém não me dei por vencido e tive uma trabalheira danada para adaptá-la no Docs até ficar igual a versão .xls.

Um exemplo dessa planilha adaptada corretamente pode ser visto logo abaixo:



Nesse exemplo inclui alguns valores fictícos somente para demonstrar o funcionamento dos gráficos gerados automaticamente. Uma versão da planilha totalmente zerada pode ser acessada nesse link. Como não deixei permissão de alteração nessa planilha para evitar bagunça, é necessário fazer uma cópia da mesma direto no Google Docs para utilizá-la. Para isso siga os passos da imagem abaixo:


Em caso de dúvidas e/ou sugestões, fiquem a vontade para comentar.

quinta-feira, 2 de setembro de 2010

Discurso de orador da colação de grau de S.I. 2009

Hoje estava organizando algumas pastas no meu computador quando me deparei com o discurso que fiz como orador na minha formatura no final do ano passado (12/2009).

Tirei um tempinho e reli todo ele, e o mais interessante foi que enquanto estava lendo bateu uma certa nostalgia e fui lembrando daquele momento legal como se ele tivesse acontecido ontem. Tudo bem que nem tem tanto tempo assim que ele aconteceu, porém muitas coisas novas aconteceram nesse pequeno intervalo de tempo e por isso acredito que fico com essa sensação diferente de que já passou mais tempo do que a realidade.

Estou falando, falando e você pode estar se perguntando: "- E o que eu tenho com isso?..". Pois é, na verdade essa postagem está sendo mais um devaneio que estou postando por aqui que pode não despertar muito interresse na maioria dos leitores, porém meu objetivo principal é unicamente estar compartilhando o texto da oração que descreve momentos muito bons que passei durante a graduação.

Discurso
Boa noite membros componentes da mesa e convidados. Hoje estamos todos reunidos nessa noite para celebrar um momento especial e único da vida de cada um de nós formandos, familiares e amigos.

Quatro anos se passaram e para chegarmos até aqui muitos obstáculos tiveram que ser vencidos, alguns deles comum a todos e outros  muito particulares. Quando começamos éramos cerca de  40 pessoas, hoje somos apenas 10...10 vencedores que tiveram muitos méritos por estarem hoje aqui nesse momento solene.

No início do curso tivemos alguns problemas de interação, lembro-me bem do dia que a professora Fernanda Abrão interrompeu a aula de Português para conversar com a turma  em busca de  alguma explicação do  porque que nós praticamente não  conversávamos. Esse problema só veio a ser solucionado com o tempo e acredito que sua causa maior era mesmo a timidez que é peculiar do perfil de grande parte das pessoas da nossa área, mas que aos poucos a turma foi perdendo.

Os dois primeiros períodos do curso foram importantes para definir quem realmente seriam os alunos que iriam compor  turma  definitivamente, pois as desistências depois desse tempo foram bem menores.

No terceiro período já estávamos em uma quantidade bem reduzida de alunos, mas foi a partir daí que começamos a nos tornar um grupo cada vez mais homogêneo, os laços de amizade foram se formando e o curso passou a fazer cada vez mais sentido.

Um fato marcante da nossa trajetória aconteceu nesse mesmo período, na disciplina que por coincidência leva o nome do nosso curso, Sistemas de Informação. Nessa disciplina o nosso professor Kneipp, hoje coordenador do curso, pediu que nos dividíssemos em três grupos para cada um deles propor uma solução de software  a  uma  empresa fictícia. O mais interessante disso tudo foi ver como a turma que antes tinha problemas de comunicação entre si, “vestiu a camisa” do trabalho e na hora da apresentação acabou criando um grande debate, com cada grupo defendendo seus pontos de vista utilizando de diversos  argumentos que hoje sabemos  que não eram os mais adequados, mas foi a partir desse ponto que nossa maturidade profissional começou a se formar.

Como tudo na vida, foram nas adversidades que nossa turma ganhou forças. Após dois anos sem abrir turmas novas no nosso curso, muito se dizia que o curso de Sistemas de Informação da FAMINAS iria  acabar  e  alguns podem inclusive ter questionado nossa qualidade profissional, mas foi a partir desse ponto que nossas qualidades  foram demonstradas com maior intensidade. Tivemos  trabalhos  apresentados e premiações conquistadas em congressos nacionais e internacionais. Além disso, tive uma grande conquista
pessoal, que foi a aprovação no mestrado da Universidade Federal de Viçosa.

Todas essas conquistas são motivos de muito orgulho para todos nós. Essa é a demonstração real da qualidade do curso de Sistemas de Informação, é uma prova de como fomos importantes e vamos deixar marcado nessa instituição a representatividade que tivemos.

Durante esses  quatro anos muitos professores colaboraram com a nossa formação, cada um do seu jeito, e a eles temos muito a agradecer. Alguns deles, além de professores, tornaram-se realmente amigos que vamos levar por toda a vida.

Nossas famílias e amigos também foram de fundamental importância para nossa formação. São a eles que recorremos nos momentos difíceis e são com eles que comemoramos nossas vitórias como a de hoje.

Estamos completando uma etapa importante das nossas vidas, mas ela é apenas o primeiro degrau de uma escada repleta  de vários outros  até alcançarmos nosso tão sonhado sucesso profissional. É importante mantermos sempre em mente que  “Nós somos o que queremos...”.  A  partir  desse pensamento,  com certeza todos os outros degraus até o sucesso serão deixados para trás, nem que para isso, como dizia nosso professor Gustavo, nós  tenhamos que passar vários  outros  sábados à noite estudando ou trabalhando. Com determinação alcançaremos todos os nossos objetivos.

Esses quatro anos que passamos no curso de Sistemas de Informação da FAMINAS particularmente irão me deixar saudades e acredito que esse sentimento é compartilhado por muitos de nós. Nesse intervalo de tempo nossas vidas passaram por mudanças importantes e visíveis a todos. Muitas amizades foram feitas,  novos conhecimentos  foram assimilados, conquistas pessoais foram alcançadas  e aprendemos a conviver com várias novas responsabilidades. Com certeza estamos saindo hoje da Faculdade pessoas muito melhores e mais maduras do que éramos no início.

Espero sinceramente que todos nós possamos alcançar os objetivos que traçamos e que tenhamos uma vida repleta de novas vitórias. Parabéns a todos nós! (Lucas Vegi, 2009)

domingo, 22 de agosto de 2010

TPF - Tensão Pré-Formatura

Nos últimos dias estive conversando com vários amigos que vão se formar no final do ano e pude perceber em todos eles algo pelo qual passei no ano passado e acredito que a grande maioria das pessoas que estão em eminência de se formarem acaba passando, a chamada TPF (Tensão Pré-Formatura).

Após vários anos de muito esforço na faculdade, você começa a se ver de cara para o mundo. Parece como se você estivesse dentro de uma bolha que esta prestes a explodir e te deixar desprotegido. Nessa fase nos colocamos muito pressionados... É preocupação com o TCC (Monografia) que ainda não está pronto, os prazos finais vão se aproximando e a angústia vai batendo... Preocupação com as últimas provas que você já não está mais com paciência de fazer e a principal preocupação, O QUE EU VOU FAZER DEPOIS QUE ME FORMAR?

Alguns acabam optando por continuar os estudos, tendo desejo de cursar uma especialização ou mesmo ir direto para o mestrado. Essa escolha geralmente vem acompanhada de muitas dúvidas: "Será que meu currículo é bom o suficiente para passar na seleção? Serão os alunos de lá melhores do que eu? Será que eu dou conta?"... Outros acabam preferindo seguir para o meio corporativo, mas nem por isso ficam isentos de dúvidas: "Será que estou preparado? Será que vou conseguir um emprego? Será que vou conseguir um bom salário? Será que estou fazendo a escolha certa?"...

Todas essas dúvidas são muito naturais, dificilmente você passará por essa fase sem ter pelo menos uma delas e acredite, nessa fase nós crescemos muito como pessoas. Para lidar melhor com essas dúvidas, devemos analisar bem todas as possibilidades que temos (que não são poucas!) e principalmente seus desejos. O que você quer ser daqui a alguns anos? Nossos desejos podem nos ajudar bastante a escolher qual direção tomar. Quanto as dúvidas que são relacionadas com seus desejos, só existe uma forma de vencê-las, e essa forma é enfrentando. Enfrente os medos, enfrente as incertezas, enfrente tudo que não deveria estar te atrapalhando, trace metas pessoais e busque alcançá-las a todo custo, seja determinado com seus objetivos e acredite...o resultado de tudo isso poderá lhe surpreender bastante depois de um tempo.

De uma forma ou de outra você irá vencer essa fase e estará se posicionando onde desejou, no mercado de trabalho ou no meio acadêmico. Não tenho muita experiência profissional, porém da pouca experiência acadêmica que posso estar compartilhando, digo que no mestrado as cobranças e a pressão pela qual passamos com certeza são maiores do que todas as que tínhamos na graduação e as vezes achávamos insuportáveis. Não falo isso fazendo "terrorismo" para quem possa se interessar pelo meio, pelo contrário, estou muito satisfeito. Com certeza são cobranças que mesmo sendo maiores do que as que estávamos acostumados, são compatíveis com todos que já passaram por essa complicada fase de incertezas. É muito interessante olhar para traz e ver como a gente evolui tanto em tão pouco tempo.

Portanto, se você está passando por essa fase complicada que geralmente acontece nas proximidades da formatura, não pense que você é diferente dos outros, pois isso é normal e não é motivo de vergonha pra ninguém... faz parte do nosso crescimento. Acredite em você e não tenha medo de vencer!

sexta-feira, 20 de agosto de 2010

XV Semana de Informática UFV

Em sua 15º edição a Semana de Informática é um evento organizado pela No Bugs - Empresa Júnior de Informática e realizada pelo DPI - Departamento de Informática da UFV.

Esse ano a No Bugs propôs o tema "Crie, Inove você mesmo." para nortear a Semana da Informática. Essa frase ambígua cria uma perspectiva de inovação em mais de um sentido, tentando expressar um pouco do que os participantes podem esperar do evento.

Programação:

A programação visa incluir casos de inovação vivenciando pelas instituições e pessoas que ministrarão as palestras e mini-cursos. Além das diversas palestras que enriquecerão o conhecimento dos presentes, haverá também mini-cursos práticos em que os participantes da Semana poderão aumentar a sua experiência profissional.

Novidade: 1ª Maratona de Programação da UFV

Esta será a 1ª Maratona de Programação da UFV, um concurso de programação aberto aos alunos da UFV e demais participantes da XV Semana de Informática. O concurso ocorrerá nos moldes do concurso realizado todos os anos pela SBC, a Maratona de Programação, que é parte da regional sulamericana do ACM International Programming Contest, o mais tradicional concurso de programação mundial. No ano de 2009, mais de 22 mil estudantes de quase 2000 escolas de mais de 80 países competiram em regionais em todo o planeta, e apenas 100 times (cerca de 0.5%) participaram das Finais Mundiais do evento, em Harbin, China. Sete times brasileiros estiveram presentes nas finais mundiais. Este ano a final brasileira será em Joinville/SC, e a final mundial em Cairo, no Egito. De ano para ano tem-se observado que as instituições e principalmente as grandes empresas da área têm valorizado os alunos que participam desse tipo de competição.

Para maiores informações acessem:
http://www.nobugs.com.br/semanainfo/

quinta-feira, 22 de julho de 2010

Como atualizar o aMSN no Ubuntu 9.04

Seguindo a sequência de dicas curtas sobre Linux, esse pequeno tutorial é voltado para a atualização do aMSN para a versão mais atual, sendo que nesse pacote conterá também os mais novos skins e plugins para o mesmo.

1° Passo: Acesse pelo menu do sistema operacional a opção Sistema > Administração > Canais de Software.

Acessando Canais de Software
2° Passo: Na aba Programa de Terceiros, adicione as duas linhas de código a seguir (uma da cada vez obviamente):
deb http://ppa.launchpad.net/amsn-daily/ppa/ubuntu jaunty main
deb-src http://ppa.launchpad.net/amsn-daily/ppa/ubuntu jaunty main
A imagem a seguir exemplifica esse passo.

Adicionando linha de comando

3° Passo: Abra o Terminal e digite as seguintes linhas de comando:
sudo apt-key adv –-recv-keys –-keyserver keyserver.ubuntu.com 0x07af2e69547ac004b7bcb5971c1e55a728cbc482
sudo apt-get update
sudo apt-get install amsn amsn-extra-plugins amsn-extra-skins
Após esses comandos, a nova versão do aMSN será baixada juntamente com os skins e plugins e tudo será instalado automaticamente. Devido a grande quantidade de skins e plugins, cerca de 90 mb serão baixado.

*créditos: http://brasillivre.wordpress.com/

Como atualizar o Firefox no Ubuntu 9.04

Já a algum tempo estava querendo atualizar minha versão do Firefox (3.0 até então) para a versão 3.6 no Ubuntu 9.04. Embora estivesse com essa vontade, ainda não havia me sobrado tempo para pesquisar a respeito, porém ontem achei alguns materiais a respeito na internet e vou resumi-los numa dica rápida aqui no blog que acredito poderá ajudar leitores com a mesma necessidade.

Para realizar a atualização sem maiores complicações, usaremos um script Python chamado Ubuntuzilla. O Ubuntuzilla serve não só para atualizar o Firefox para a versão 3.6, como também para qualquer nova versão que por ventura venha a sair, pois ele sempre irá instalar a versão mais nova disponível. Além de atualizar o Firefox, esse script também serve para atualizar outros softwares da Fundação Mozilla (Thunderbird, Seamonkey...), porém essa dica só irá abranger a atualização do Mozilla Firefox. Então vamos lá!

1° Passo: Faça download do pacote .DEB responsável pela instalação do Ubuntuzilla neste link e em seguida instale o pacote com um duplo-clique. Você precisará estar com a internet ativa durante a instalação, pois o instalador irá baixar automaticamente alguns arquivos.

2° Passo: Nesse passo estaremos executando o script para que o mesmo baixe e instale a versão mais recente do Firefox. Para isso, abra o Terminal e digite o seguinte comando:
ubuntuzilla.py -a install -p firefox
3° Passo: Durante o processo de instalação serão feitas algumas perguntas. Responda Y e logo em seguida será apresentada a você uma tabela com o código de cada idioma. Caso deseje deixar o Firefox em Português, digite o código referente a opção pt-BR (54 se não me engano!).

Importante: Antes de iniciar o 2° passo, feche o Firefox!

domingo, 13 de junho de 2010

Porque os produtos da Apple são caros?

Por muito tempo sempre me perguntei porque os produtos da Apple são tão caros, sendo que existem muitos produtos similares no mercado a preços bem mais acessíveis. A primeira impressão que passa é que pagamos mais caro principalmente pela marca (como acontece com produtos de diversas marcas não só de tecnologia), porém lendo um pouco sobre a história da empresa e de seus fundadores, ficou bem claro para mim que existem muitos fatores envolvidos nisso além do valor agregado pela marca.

Steve Jobs, principal fundador da Apple e atualmente CEO da mesma, é um homem extremamente perfeccionista e minimalista. As vezes pequenos detalhes que podem passar despercebidos para muitas pessoas, para ele são fatores muito importantes para os quais demanda muita atenção. Essa sua caracteristica impacta fortemente no processo criativo na Apple. 

Indepedente da hierarquia organizacional da Apple, praticamente todas as decisões importantes da empresa passam por ele, desde a recrutação de profissionais à aprovação de protótipos de novos produtos. Para  que o estilo da empresa seja a sua imagem e semelhança, Steve Jobs faz questão de ser presente no processo criativo, dando desde sugestões de design e materiais para composição dos produtos,  até a detalhes pequenos como a disposição exata de botões na tela e a otimização do número máximo de telas navegadas em um sistema para fazer qualquer uma das suas funcionalidades de forma mais rápida e prática. 

O objetivo principal de todo esse detalhismo é proporcionar ao usuário uma experiência única com os produtos. Para se ter uma idéia, até hoje Steve faz questão de projetar as caixas dos produtos da Apple! Isso pode parecer um exagero para muitos, mas ele acredita que a primeira experiência do usuário com um produto é fundamental, e para isso as caixas são sempre projetadas por ele de forma a deixar claro para os consumidores a forma como os produtos funcionam e devem ser montados ao decorrer que ele vai sendo desembalado.

Para quem tiver interesse em conhecer mais sobre a Apple e a figura excêntrica de seu principal idealizador, recomendo a leitura do livro "A Cabeça de Steve Jobs" e do vasto conteúdo do site AllAboutSteveJobs.com.

Assim como ficou claro pra mim, acredito que também ficará claro para vocês que um processo de criação que envolve profissionais escolhidos a dedo, utilizando de alguns materiais e técnicas inovadoras incomuns a outras empresas e tendo preocupações absurdamente detalhistas com a aparência e facilidade de uso de forma a enriquecer a experiência do usuário, não poderia realmente gerar produtos que não fossem elitizados. Claro que os pensamentos polêmicos de Steve Jobs e o reflexo dos mesmos sobre as atitudes da Apple não são unanimidade, mas com os produtos da empresa estourando em vendas atualmente e o  seu valor de mercado tendo surpriendentemente superado ao da Microsoft após ter praticamente falido a pouco mais de 10 anos quando Jobs estava afastado da empresa, é inegável admitir que o cara é fera e que é o principal responsável pela volta por cima da Apple.