ITList Information Technology Blog » Programmers http://itlist.com Current IT field related information Mon, 27 Dec 2010 04:35:43 +0000 en hourly 1 http://wordpress.org/?v=3.0.2 Email with Artificial Intelligence? http://itlist.com/email-with-artificial-intelligence/ http://itlist.com/email-with-artificial-intelligence/#comments Wed, 01 Apr 2009 18:49:25 +0000 resourceful http://itlist.com/?p=1153 Google officially announced the world’s first task array system with artificial intelligence on March 31st, 2009!  It was named CADIE, which stands for Cognitive Autoheuristic Distributed-Intelligence Entity, and in only one day “she” has already improved her language skills and is now offering Google Chrome with 3D!  CADIE has placed herself into (and also modified) Google Maps.  She has started her own YouTube Channel too!  She’s changing everything in Google and she can even help you finish term papers and fix your spreadsheets too.  For all of the programmers out there, she can even write code!  But I must warn you that she is pretty adamant about using INTERCAL; she doesn’t want to know anything about Python or Java at all!

At first glance, CADIE and Gmail’s Autopilot Email program seem unbelievable!  Gmail says that you don’t have to spend all your time reading messages because  Gmail’s Autopilot will do all the work for you by matching your writing style.  If two Gmail accounts use the autopilot program then they can “converse with each other for up to three messages each.”  Before you continue reading this post, go check it out for yourself now by opening a new window and visiting Google’s Gmail.  Also check out the CADIE page to befriend the artificially intelligent being yourself.

I checked out the CADIE blogspot homepage, which seems like a cheap mock-up from the past with all of its flashy scrolling banners, and I asked myself, “Why a panda?”  The music is nice, but why does it say this at the top of the page:

All your personal World Wide Website belong to CADIE

Did Google get hacked?  It can’t possibly be!  I scrolled back to the Google page and effectively, there was the announcement for Gmail autopilot!  Google is either way ahead of the IT game or has poor security!  What do you think?  Or did Google get hijacked by a supercomputer it created?  Maybe we shouldn’t be questioning CADIE or Google!  Okay, okay, the truth (which dawned on me after a little while) is that Google has played one of the biggest April Fools jokes on the internet!  I didn’t want to spoil the joke by posting on it, so I tried to just pass the information on…  Were you fooled?  Would you want artificial intelligence to do the things Google said she could?  Is email with artificial intelligence just too much for now?  Leave a comment with your opinion…

]]>
http://itlist.com/email-with-artificial-intelligence/feed/ 1
The MVC programming pattern http://itlist.com/the-mvc-programming-pattern/ http://itlist.com/the-mvc-programming-pattern/#comments Fri, 09 Jan 2009 17:02:30 +0000 Tony http://itlist.com/?p=199 Modern programming is totally different from the way programming was just less than a decade ago. Much of this is due to programmers preferring to move towards more organized and scalable programming paradigms and frameworks. This are just some of the reasons why object-oriented programming and programming design patterns have become popular. MVC is a programming design pattern that has become popular mainly because it allows for a more organized and scalable program.

MVC or Model-View-Controller is a design pattern that separates a program into three components, the View, the Model and the Controller. The View refers to the component that appears to the user. It is the code that generates what is shown to the user and it also receives input from the user as needed. The Controller on the other hand, refers on the code that determines what action should be taken when a request from the user is received. Finally, the Model refers to the section of code that does the processing of the request and also saves or retrieves data for the user before handing it back to the View.

Now, let’s focus on this design pattern in the web application programming point of view. MVC is currently being implemented by two of the popular web programming languages. It is used in J2EE through the Struts, Spring, and JSF frameworks while it is also implemented by Ruby through the Rails framework. Other languages also have similar frameworks available though not as popular as those mentioned. Lately, Microsoft has also released an update for their .NET framework to support the MVC pattern.

What really makes this pattern so powerful is that it allows an application to be built independently from each other. This means, changes made to the implementation of one component should not drastically affect the other sections. This is especially beneficial for teams working on a program. Some of them can be working on the View component; creating the HTML, JavaScript, and CSS code that allows for a more pleasing web interface for the user. Others on the team could be working on the business logic of the program, focusing on how the data is processed and saved or retrieved from the database. Most importantly, the controller can be used to direct where requests are sent and to what page will the information be displayed.

Let’s trace how a request is processed in an MVC pattern. Let’s start with the request coming from the user. The user usually makes their first request by invoking the initial page of a website by entering the website’s URL in the browser. The controller catches the request for the initial page and invokes the proper action which makes the proper calls to the model components that accomplish the necessary processing. Once all the required information are gathered, the page is rendered by the view and the page is shown to the user.

Volumes can be written about the MVC pattern and its intricacies so for more information, you may visit WikiPedia for more information and links to MVC frameworks for your programming language of choice.

]]>
http://itlist.com/the-mvc-programming-pattern/feed/ 0