It took a long time, but I finally migrated my old blogspot blog to WordPress. Please, give me your feedback about the new blog’s layout. I hope I can create much more content for you, with this incredible tool.
Post Category → Academic
15 Perguntas e Respostas sobre Ciência da Computação
Nas últimas semanas troquei algumas conversas com amigos que, coincidentemente, tiveram o mesmo tema. Paralelamente a isso, fui indicado por uns professores do IME a responder um questionário que ajudará alunos ingressantes na Universidade a escolherem o curso que possivelmente definirá todo o resto de uma vida. Esse questionário será respondido por algumas pessoas e existe um grupo que está encarregado de colher as informações e colocar no site do IME-USP. Decidi tornar a resposta do meu questionário pública, para aqueles que querem saber um pouco mais sobre o que é Ciência da Computação, tanto no nível acadêmico quanto profissional. Me coloco a disposição para responder perguntas e ouvir sugestões.
1 – O que o motivou a fazer Ciência da Computação?
Eu sempre tive interesse por Computação. Comecei cedo na área, quando ganhei meu primeiro 386 em 1992, isso sem contar o TK3000 que eu ganhei quando era criança e o MSX de um amigo, com o qual eu passava horas digitando códigos em BASIC que na época se comprava em banca de jornal. Na minha primeira tentativa de entrar na faculdade, eu prestei Engenharia Mecatrônica. Eu acho que naquela eu era muito influenciado pelo que meus pais falavam e eles comentavam muito sobre essa tal de Mecatrônica. Eu prestei sem nem saber direito o que era e tive a grande sorte de não ter entrado 🙂
No ano seguinte, fiz cursinho e estudei melhor quais eram as faculdades que existiam e o que elas ofereciam. Achei que Ciência da Computação se encaixava exatamente no que eu gostava de fazer: software.
2 – O que o levou na época a escolher o BCC da USP?
Estava dentro dos meus objetivos fazer uma faculdade pública e gratuita. Não queria mais que meus pais tivessem gastos com meus estudos e me sentia capaz de entrar numa Universidade pública boa. Prestei UNESP, UNICAMP e USP, além do Mackenzie. A única que eu não entrei, por muito pouco, foi a UNICAMP. Mas mesmo se tivesse entrado, acho que escolheria a USP, não por eu considerar a melhor (acho que UNICAMP e USP são equivalentes), mas pelo fato de eu já morar em São Paulo.
3 – Como você avaliaria sua formação no BCC?
Dissertação de Mestrado
Entrevista para a Bluesoft no Encontro Ágil
Agradeço a todo pessoal da Bluesoft por me oferecer a oportunidade de mostrar o meu trabalho. Nessa entrevista, falo brevemente sobre Padrões para Introduzir Novas Ideias. Mais detalhes podem ser encontrados no meu blog.
Desenvolvendo a Inteligência Longe do Computador
No último domingo, no Encontro Ágil, fizemos uma sessão de Birds of a Feather e discutimos alternativas para pessoas de TI desenvolverem sua inteligência longe do computador. A discussão foi maravilhosa e gostaria de compartilhar com todos esse momento incrível do Encontro Ágil. O vídeo é longo, mas vale muito a pena parar um tempo para refletir sobre tudo que foi dito nessa conversa de pessoas de várias regiões do Brasil, com históricos completamente diferentes, porém, com algo em comum.
Confira o vídeo:
Livros para se divertir
Arte e Ciência da Computação – de volta aos primórdios
Refactoring Paintings
Let’s go to a simple example: suppose we are programming a Person entity class. This class contains attributes like name, weight, age, gender, spoken language. After some time, I find out that I need to insert cats in my system for some reason. Continue reading
Fearless
Maybe, the most important point in changing is how we deal with fear. Every change process implies in fear on both sides: those who are being changed want to avoid the pain of (maybe) loose something; those who are promoting change have the fear that their idea are wrong or won’t be accepted. When both these sides get in contact surges an impasse. Resistance is not the main force that takes a change to failure. Reaction to resistance is the problem.
You will hardly get 100% approval of a new idea. This is welcome. Continue reading
Cloud Computing x Grid Computing
We all already know that Cloud Computing is a buzzword since its unknown origin. Moreover, we also know that many concepts of cloud computing are not as knew as some companies and their marketing department pretend they are. Specially when compared to Grid Computing, which is a more than 13 year old paradigm, there are many similarities (and also some differences). I’ll try to expose some of these points here.
Question no. 1: Is “Cloud Computing” just a new name for Grid?
YES, in the sense that both aim to reduce cost of computing, increase reliability and flexibility
But NO: Grid is more than 10 years ago, when we didn’t have the computer power available today. They context and scale it was made to operate (expensive hundreds of machines clusters) is different of today’s available infrastructure (hundreds of thousands of “low cost” computers and virtual machines created within them). Grid and Cloud operate in different scales.
Nevertheless, YES: Cloud and Grid problems are mostly the same. The details are different, but both deal with the same issues.
Question no. 2: What is Cloud Computing?
Yes, I know, there are a lot of different definitions of what Cloud Computing is and not much consensus between those definitions [2]. Then, I choose the best and most complete definition I found til now. It is the US National Institute of Standards and Technology (NIST) definition. Their definition is short and complete, when they say that Cloud Computing is
“a model for enabling convenient, on-demand network access to a shared pool of configurable resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction” [1]
In other words, Cloud is meant to be:
- Massively scalable
- Encapsulated as an abstract entity that delivers different levels of services
- Driven by economies of scale [3]
- Dynamically configured
Question no. 3: What is Grid Computing?
Grid Computing, through well defined standard protocols, aims to
“enable resource sharing and coordinated problem solving in dynamic, multi-institutional virtual organizations” [4][5]
this means that Grid:
- Is distributed computing
- Operates across multiple federated organizations
- Coordinates resources that are not subject to centralized control
- Uses standards, open, and general-purpose protocols
- Delivers non-trivial QoS
Question no. 4: How to compare Cloud and Grid side-by-side? [6]
References
[1] MELL, P. and GRANCE, T. 2009. Draft NIST Working Definition of Cloud Computing.
[2] “Twenty Experts Define Cloud Computing”, SYS-CON Media Inc, 2008.
[3] J. Silvestre. “Economies and Diseconomies of Scale,” The New Palgrave: A Dictionary of Economics, v. 2, pp. 80–84, 1987.
[4] I. Foster, C. Kesselman, S. Tuecke. The anatomy of the Grid: Enabling scalable virtual organization. The Intl. Jrnl. of High Performance Computing Applications, 15(3):200–222, 2001.
[5] I. Foster. What is the Grid? A Three Point Checklist, July 2002.
[6] FOSTER, I., ZHAO, Y., RAICU, I. and LU, S. 2008. Cloud Computing and Grid Computing 360-Degree Compared. In Grid Computing Environments Workshop (GCE ’08), Austin, Texas, USA, November 2008, 1-10.