Post Category → Technology
Master Thesis Presentation – Video
I finally finished my M.Sc. degree in Computer Science. I already have the video, which is right now just in portuguese, but soon I’ll have subtitles in English. I’d like to thank everybody who came to watch the performance. I hope you have a lot of fun with it.
Thanks for my N95 I had two cameras filming the event, so I’ve got a great final result using Apple iMovie software for edition.
Here is the video, enjoy!
Master Thesis defense – Patterns for Introducing new Ideas in the Software Industry
I invite you to my master thesis defense next monday at IME-USP – Here’s is the address and time:
- Rua do Matão, 1000 – Universidade de São Paulo.
- 2pm in Auditório Jacy Monteiro
Elevator Bug
2 weeks ago I met another message box in the elevator. “The system has been recovered from a serious error”. If the system had a seriour error and has been recovered, why this message? What if the elevator stops between floor 9 and 10 and you get a message box: “Your elevator is in serious problem, please contact Microsoft for recovery”. I’m terrified. Does anybody has Bill Gates phone number, please?
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.
#QCON – Functional Programming, Music and Art
Last month, at QCON, I was in a great talk about functional programming languages (like Haskell) and their benefits to the Art world. The title of the talk was “How Functional Programmers can
Help, Inspire, or even Be Artists”. First of all I’d like to emphasize that all good programmers are artists, and as Richard Gabriel said 6 years ago, we programmers should be trained like artists. This is the major problem of our Computer Science Courses.
We all know artificial intelligence and computer tools are getting better and better. Right know we can easily produce things like this video:
Breakfast as QCON SF 2008 with Martin Fowler
For me, it was an honor to eat my morning croissant with Martin Fowler. Sharing my emotion with you!
Two Big Changes
I’d like to use this post to announce 2 big changes in my life. The first one is that since now I will post here in English instead of Portuguese. With this, I’d like to make my blog more understandable outside Brazil. I’m not sure I’m ready to write everything I think in a foreign language, but the only way to find it out is to begin writing and see what happen. So, here I am. For the practice I will also write some poetry in English, in my poetry blog.
The second change in my life is that Continue reading