Archive for September, 2006

Foundation Stone #12 - IP address and DNS

Web applications are possible only because the world of systems are now interconnected. And if communication has to happen between these systems then there has to be a way to identify these systems. IP address identifies a system connected over the internet. This makes each and every system connected to the internet unique thus enabling communication. To put it simple why it has to be unique, if you are requesting for www.google.com in your browser you want the page to appear on your browser on your machine and not mine :-) . How is IP address is unique? First of all Internet Protocol (IP) is a specification (RFC 791) at the networking level that defines transmission of packets from source to destination. The source and destination is identified by an address and how it will be represented. Basically at a machine level it is a binary number but for readability sake it is represented as xxx.xxx.xxx.xxx where x is a number. Next thing is to make this number unique there is an organization called Internet Assigned Numbers Authority (IANA) whose primary job is to make sure that each system on the net is given a unique IP address.

IP address is hard to remember and also write so the concept of domain names was introduced (for example google.com). There needs to be a mechanism to map this name to the actual IP address. At a machine level it is still the IP address that identifies a machine. Domain Name Service (DNS) does this job. There is a hierarchy of Domain Name Service running at different levels. This hierarchy and delegation of mapping the name to the actual IP address is taken care by an organization Internet Corporation for Assigned Names and Numbers (ICANN). DNS is an interesting area and if you are a novice then this blog article “DNS for Novices” has some basic insights and a good explanation of how a domain name gets resolved to the IP address.

Blink this Foundation Stone #12 - IP address and DNS at blinklist.com    Bookmark Foundation Stone #12 - IP address and DNS at blogmarks    Bookmark Foundation Stone #12 - IP address and DNS at del.icio.us    Digg Foundation Stone #12 - IP address and DNS at Digg.com    Fark Foundation Stone #12 - IP address and DNS at Fark.com    Bookmark Foundation Stone #12 - IP address and DNS at Furl.net    Bookmark Foundation Stone #12 - IP address and DNS at NewsVine    Bookmark Foundation Stone #12 - IP address and DNS at reddit.com    Bookmark Foundation Stone #12 - IP address and DNS at Simpy.com    Bookmark Foundation Stone #12 - IP address and DNS at Spurl.net    Bookmark Foundation Stone #12 - IP address and DNS with wists    Bookmark Foundation Stone #12 - IP address and DNS at YahooMyWeb

Comments      Cosmos

script.aculo.us

We have been using script.aculo.us libraries effectively in most of our web applications.  It is a set of JavaScript libraries that bring in some value add in terms of providing on the fly rich UI stuff. Moreover it is a neat implementation that hides complex JavaScripts and loads them behind the scenes.  This makes your code distinct from the libraries and makes it clean.  I would highly recommend using script.aculo.us if you want to develop rich UI sites really quickly.

Blink this script.aculo.us at blinklist.com    Bookmark script.aculo.us at blogmarks    Bookmark script.aculo.us at del.icio.us    Digg script.aculo.us at Digg.com    Fark script.aculo.us at Fark.com    Bookmark script.aculo.us at Furl.net    Bookmark script.aculo.us at NewsVine    Bookmark script.aculo.us at reddit.com    Bookmark script.aculo.us at Simpy.com    Bookmark script.aculo.us at Spurl.net    Bookmark script.aculo.us with wists    Bookmark script.aculo.us at YahooMyWeb

Comments      Cosmos

Asynchronous I/O

I/O is a costlier operation as it will slow down the processing because it involves communicating and making another hardware device work.  I/O also means that the process that triggers it is put under wait until it completes it.  Say you have a requirement to read some information from a huge file on the server and you have to display it as part of a web application screen.  Logically this means you have to read the entire file and then embed it as part of your HTML and send it back to the browser client. The disadvantage here is bigger the file is, more time the client is going to wait.  This also means that the client cannot do anything else as the page will load only when the server application completes reading the entire file, frames the HTML and sends it back to the browser.

Basically the thread that was initiated in the request in the above scenario gets locked until the file I/O is complete. What if you actually wanted to bring back the rest of the screen and bring up the information from the file through an AJAX request and update it as and when you have chunks of information? On the server side you need to have the capability to get the information from the file in chunks and keep sending it to the browser client.  Non-blocking I/O (NBIO) or Asynchronous I/O mechanism help in achieving this.  Basically in block I/O data is processed in chunks rather than byte by byte. Java introduced New IO (NIO) as part of JDK starting from version 1.4.  Part of it is asynchronous I/O which can help in enabling producer/consumer kind of requirement without blocking the request during I/O. This IBM developerWorks tutorial “Getting started with new I/O” (needs signing up with IBM developerWorks) explains NIO with a section on Asynchronous I/O.

Blink this Asynchronous I/O at blinklist.com    Bookmark Asynchronous I/O at blogmarks    Bookmark Asynchronous I/O at del.icio.us    Digg Asynchronous I/O at Digg.com    Fark Asynchronous I/O at Fark.com    Bookmark Asynchronous I/O at Furl.net    Bookmark Asynchronous I/O at NewsVine    Bookmark Asynchronous I/O at reddit.com    Bookmark Asynchronous I/O at Simpy.com    Bookmark Asynchronous I/O at Spurl.net    Bookmark Asynchronous I/O with wists    Bookmark Asynchronous I/O at YahooMyWeb

Comments      Cosmos

Punish your Microsoft Developer

My friend Rajesh sent me this YouTube movie “Punish your Microsoft Developer“. The movie is just for entertainment purpose. It is aimed to convey that whenever you feel the pain when your windows system throws a System Error, Microsoft agrees that it is a pain and feel for it too. Though funny it would be “Ouch” moments if it was a reality. I was wondering who all in Microsoft would have got the punishment for the recent security patch that caused some IE 6 browsers crash.

Happy Weekend!

Blink this Punish your Microsoft Developer at blinklist.com    Bookmark Punish your Microsoft Developer at blogmarks    Bookmark Punish your Microsoft Developer at del.icio.us    Digg Punish your Microsoft Developer at Digg.com    Fark Punish your Microsoft Developer at Fark.com    Bookmark Punish your Microsoft Developer at Furl.net    Bookmark Punish your Microsoft Developer at NewsVine    Bookmark Punish your Microsoft Developer at reddit.com    Bookmark Punish your Microsoft Developer at Simpy.com    Bookmark Punish your Microsoft Developer at Spurl.net    Bookmark Punish your Microsoft Developer with wists    Bookmark Punish your Microsoft Developer at YahooMyWeb

Comments      Cosmos

Talk by Jnan Dash

We are privileged to have Jnan Dash as part of Compassites being on the board.  Jnan Dash is a technology visionary who has been a key person involved in architecting DB2 and earlier versions of Oracle. More than becoming part of our board it was a treat for us to have him give a speech to our entire organization last week.  He was inspiring and gave lot of insights into what’s the trend and where technology is headed.  We were glued to his talk as he walked us through the presentation with funny stories and incidents.  The following were the highlights of the presentation.

Web 2.0 and real time enterprise are the future.  Enterprise web 2.0 will be the next target where web 2.0 will slowly get into the enterprise application arena.  Architectures such as EDA (Event Driven Architecture), SOA (Service Oriented Architecture) will gain more importance with ESB (Enterprise Service Bus) as its enabler. Grid Computing and pervasive computing will help in processing voluminous data with processing power spread across locations physically but still making it look like the result came out from one machine.

Blink this Talk by Jnan Dash at blinklist.com    Bookmark Talk by Jnan Dash at blogmarks    Bookmark Talk by Jnan Dash at del.icio.us    Digg Talk by Jnan Dash at Digg.com    Fark Talk by Jnan Dash at Fark.com    Bookmark Talk by Jnan Dash at Furl.net    Bookmark Talk by Jnan Dash at NewsVine    Bookmark Talk by Jnan Dash at reddit.com    Bookmark Talk by Jnan Dash at Simpy.com    Bookmark Talk by Jnan Dash at Spurl.net    Bookmark Talk by Jnan Dash with wists    Bookmark Talk by Jnan Dash at YahooMyWeb

Comments      Cosmos

Cheat sheets in eclipse

Cheat sheets can come handy when you are new to something and want to have a quick reference and start off rather than wondering where to start.  The common Eclipse IDE has built in cheat sheets for things like how to branch and merge in cvs, creating HelloWorld program in Java and so on. Here is an article “Building Cheat Sheets in Eclipse” on creating one on your own. You can probably come up with  a cheat sheet that will help new developers in your team to get started with your project.

Blink this Cheat sheets in eclipse at blinklist.com    Bookmark Cheat sheets in eclipse at blogmarks    Bookmark Cheat sheets in eclipse at del.icio.us    Digg Cheat sheets in eclipse at Digg.com    Fark Cheat sheets in eclipse at Fark.com    Bookmark Cheat sheets in eclipse at Furl.net    Bookmark Cheat sheets in eclipse at NewsVine    Bookmark Cheat sheets in eclipse at reddit.com    Bookmark Cheat sheets in eclipse at Simpy.com    Bookmark Cheat sheets in eclipse at Spurl.net    Bookmark Cheat sheets in eclipse with wists    Bookmark Cheat sheets in eclipse at YahooMyWeb

Comments      Cosmos

Next entries » ·

Creative Commons License  This work is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.