Remote Procedure Calls are evil...Maybe...
Saturday, May 24, 2008
We have a large industry that relies on RCPs. In fact, Web Services are a form of RCPs, the web is a form of RCPs that works on top TCP/IP, mobile phones work in a similar paradigm.Is it really that broken?
I'm not as pessimistic--I mean, it kind of works, with its coupling and all its ugly history.
Someone at reddit said the following
Eight fallacies of distributed computing
As long as you understand above, RPC is quite OK.
A simple statement that covers quite a lot: everything is about the OSI model
. In other words, do your homework and things will work out.
Why isn't "refactor" a word yet?
Wednesday, May 14, 2008
is a word we developers use to mean that when we have refactored
something we have modified some part of a program, without changing the main functionality.
We refactor because we probably have found a better algorithm and wish to implement it, or because we have found a shiny new framework and wish to use it, or we have decided to changed the name of fields or methods to make them more descriptive. When done properly, refactoring is a good thing.
So it's a common word, but you won't find it in any dictionary. I guess we need to still use the grammatically correct hyphenated spelling re-factor
. In time, I guess, it will be accepted into the pages of every dictionary without the hyphen.
Complex words have an obvious evolution. A few examples: never the less
then became email
is simply known as internet
. Of course there are many more, but I want refactor
to get the respect it deserves.
UPDATE: online petition to add the word refactor to all English dictionaries
Microsoft apps can be cool
Tuesday, May 13, 2008
You have to try Microsoft's WorldWide Telescope. It's an incredible piece of software, with and incredible path of technological convergence.
It's hard to describe, so you have install it and play with it. If you have kids, who keep asking what colour black holes are, this is the toy for them.worldwidetelescope.org
Saturday, May 10, 2008
I've been working on a Java system, with Swing (JFC) at the front end, for a few months now. I'm using NetBeans to do all the development and I've been through 3 version of the same IDE: 5.x, 6.0, and now 6.1.
I'm not sure if Sun changes the whole development group from minor version to minor version, but there is no other way to explain the annoying inconsistencies of the UI. For example, in each version the key combo to format code has changed; Ctrl-B, in 6.0 used to take me to the definition of the class, method, or field, and in 6.1 I have to use Ctrl-Shift-B; the formatting of code is all over the place: if I have an empty line between fields, I want to keep the empty line (it's there for a reason).
Anyway, enough griping. The IDE is fine and it works well under some circumstances; however, from time to time the UI becomes unresponsive, and I can crash it while debugging every time: change code in the middle of a session and then stop the debugger...You got it, crash...I'm sure I'm not the only noticing these things. I just hope 6.2 doesn't have me re-learning key binding again.
First Google App Engine Application
Wednesday, May 07, 2008
This has to be the most boring google app engine application out there:hellojose.appspot.com
My first impression of the whole set up is positive. It's painless to set up and easy to upload application to the massive google farm. Python is not that bad either: it's just like any other computer language. Of course, developing software is more than just syntax. You can learn syntax in a week or so, the rest is an art to be perfected day in and day out.
Time permitting, I'll create a real application I have in mind.
Woo hoo! I got an invitation to try out Google App Engine
Tuesday, May 06, 2008
I guess I need an application now.
Seeing the future
Thursday, May 01, 2008
I'm not a big believer of future predictions, although I have partaken in the typical forecasting exercise. I also did some research on technology foresighting, but nothing prepared me for a bit of insight I got yesterday.
Seeing the future is not always good, and can even be useless.
What I mean is that a person with the ability to see the future would know things that could change the present. So I was thinking that if I could see ahead, I would only want to see the bad things the future holds for me (or anyone). It would be useless to know that I have a happy future. In other words, why would I want to change a good life?
Also, knowing that something bad will happen is irrelevant; the knowledge should have a 1-to-1 mappings with knowing the decision that leads to bad futures in the first place. For example, if I knew that in 10 days I will eat a bad tuna sandwich, I would like know the point in time when I made the decision to pick the tuna instead of the ham. Of course, this is not an easy problem to solve, as we have seen or read in countless time travelers' accounts: they either change the present too little or too much.