Software development

You are currently browsing the posts from jpereira.eu matching the category Software development.

Fortress for high performance computing

Yes, Fortress name’s derive from the very old Fortran, which was (and still is) mainly used for mathematical applications, such as testing mathematical models. Fortran is an 50 years old programming language devoted to High Performance Computing (HPC). Sun now is writing another page on its programming language history. Sun researchers are using the lessons learned from Java and are creating a new language for HPC. Although they’re saying that Fortress is a general purpose programming language, I don’t believe that it will be as they want to it to be. If Fortress really sees the sunrise, it will be in HPC domain and not in general purpose domains.

Sun is taking an Open Source (BSD License) approach for this new language, as they’re doing now for Java. I’m sure this will bring Fortress out to the world easily.

By releasing Fortress as open source shows that Sun is now seeing the advantages of Open Source. Many other companies should be doing the same.

Written by j.pereira on January 14th, 2007 with no comments.
Read more posts on Open Source and Software development.

AJAX, part two

So what? In part one you’ve only learned how to change the source of an IFRAME with Javascript. Big deal! Till now you only have seen the J from AJAX (J from Javascript) and a kind of simulated asynchronous call. But from now on it’s up to our imagination to take this little concept a further step.

In this part I’ll show a more Web App like sample, using the basic concept from my last post.

Let’s start to define something more useful and real. You’re building now a simple application where you have a left side menu with the name of some companies, and in the right side some information regarding the selected company.

Your layout will be as simple as the following picture:

http://jpereira.eu/wp-content/image-gallery/ajax_post2_1.jpg

In your left side you have some names of companies (Am I being repetitive?) and in the right side you have some information regarding the company you choose in the left.

You don’t want your user to see a flickering when he clicks on a company name, and you must retrieve the data from a server.

How can the concept, in my last post, help you?

Keep reading. I’ve to set here a break in the page.

(more…)

Written by j.pereira on January 13th, 2007 with 7 comments.
Read more posts on WEB 2.0 and Software development.

AJAX, part one

This is my attempt to do a tutorial on AJAX :)

Look how cool the Google Reader interface is, he said. I did already knew the cool web interfaces Google uses, in its Google Reader, Google Mail, Google Map, etc..

This is what can be achieved with the so-called AJAX. AJAX is a specification, although there’s no formal organization behind it. AJAX is built around the concept of asynchronous calls to the server through HTTP. As all of you know, HTTP is a stateless command-response protocol which is based on the GET command, mainly. So you can only get data if you ask your server for it.

The GET command can retrieve almost any kind of data from the server, in most of the cases it retrieves HTML code, which is interpreted by Web Browsers.

Web Browsers interpret the data retrieved from the server and render it, letting you see pages like this one. Wait! Can any kind of data from be retrieved from the server? Virtually yes. The data retrieved in respect to a GET Command, is interpreted by the client by analysing, first, the MIME type in the header field, and then apply the correct message handler to the message. Usually the MIME type is text/html, telling the browser that the data contained in the response is encoded ion text­/html format.

HTML:
  1. <meta content="5; url=newurl.html" http-equiv="refresh" />

Anyway, you probably know the RFC 2616 better than me.

This is (was) the main problem in the Web Applications because you’re not able to maintain a state in the client and you are also unable to control what you’re rendering on your client without asking to a server to control how the data should be displayed.

If an event occurs in the server, you can’t know about it while you don’t have a refresh (a GET to the server) in the page.

Ok, you can have a browser doing a auto refresh to the page, by setting the parameter refresh in the header, but when the refresh timer expires the web browser force a new GET to the server and you stay still, because you loose all the data from your browser and you, as user, can’t do anything. It also causes a flickering in your page.

Also, you can only set one URL in the refresh command, and this URL does not know anything about user state. A tons of problems, as you know.

That’s why AJAX was pronounced for the first time by Jesse James Garrett in public. To get a “simulated” asynchronous call to a Web Server, most of the times, the element IFRAME is used. The content of an IFrame can be requested to a server using javascript, by changing the field src.

Try this example. You can see the source by choosing the option “View Source” from your web browser :)

Ignore the fact that no validation are being made, haven’t time, and is out of scope of this post. :)

Can you now start to imagine what you can get from this powerful concept?

That’s enough for today. :)

Next time, I’ll go into more interesting things you can do with this concept, and then introduce you some frameworks to work with AJAX.

Written by j.pereira on January 12th, 2007 with 3 comments.
Read more posts on WEB 2.0 and Software development.

India as IT Outsource option?

Yeah. We, in Portugal, used to say that we, further than reasonable low labor costs, could get the work done effectively, with quality. But it seems we are loosing (or have we already lost?) IT Outsourced projects to India.

India, as opposite to Portugal, is investing in training, and valuing their human resources. Portugal should have the same approach to the global economy. We're loosing some battles when we try to bring value to our country. We did already realized that the traditional industry is nor working anymore. Let’s make Portugal a place for IT outsourced projects.

The firms are not winning such deals just because they have lower costs, but because they are also delivering high-quality (often higher) projects in a manner that customers like.

We’re also competent, and we are also capable to bring such value to customers, and also to our country. Don’t try to find excuses in the government leaders, this country, as any other country, is the people who live here, and not the government leaders.

Written by j.pereira on December 27th, 2006 with no comments.
Read more posts on Software development and Business.

Discover by the process of evolution

You may think I’m not agreeing with my self on this post, but this is not the case. We should have a good sense on how to solve problems. Sometimes we are able to define the entire problem and understand it well. But may be occasions where we cannot define it 100%. So what is the best solution?

  1. Stay forever trying to figure out what the problem is
  2. Jump into a solution, for a not well defined problem, and get the process of evolution bring all the problem’s variables

There’s no rule of thumb and we have to have an engineering sense that tell us when we are ready to jump into a solution. Whenever you feel secure about your problem definition then jump into a solution. If all variables of the problem were not identified previously, you’ll see how naturally they'll come in.

I already experienced the feeling of having to decide which path to follow, and one thing I’m convinced, you must have an engineering sense.

Written by j.pereira on December 25th, 2006 with no comments.
Read more posts on Software development and Personal.

Get a problem before a solution

During my short career as Software Engineer and Software Architect I found that better than have a solution is to have a well understandable problem.

People, especially from Software industry, try to jump into a solution immediately, they are anxious to start scratching solutions and write code. But, they scratching and writing code for what? Solving which problem? It's a big matter to have a well defined problem, with all involved variables identified and within the right context, and then you'll realize that finding a solution is a matter of seconds.

Take my advice, be sure that you understand well the problem, and where the problem does exist, and who's having that problem, and then find a solution for that problem.

I like to cite Albert Einstein, when people come with their solutions, and I ask "What is this solution for?" They start to think, and I immediately learn that they have no clue what they're trying to solving.

If I had one hour to save the world, I'll spend 59 minutes to find the problem and one minute to find the solution - Albert Einstein

Do never forget this: you can't have a solution if you haven't a problem.

Merry Christmas

Written by j.pereira on December 24th, 2006 with no comments.
Read more posts on Software development and Personal.

No older articles

Newer articles »

 

Last news canada pharmacy <}`" buy prestiq a large product list. Order your medicine online by online pharmacy on phone or online order. How To Order Product Search FAQ Contact Us Login Page Purchased. Mail order shipping to USA from pharmacy online . Storage of products takes place only under appropriate conditions, we are responsible for integrity of packaging and proper transportation. Looking for where to buy drugs online? Canadian pharmacy >$@ medicines company helps to find on one page all the information about your medicine : the name of the analogues, method of production, of prices.