RSS

Monthly Archives: March 2011

New Weekly version

New Weekly version
السلام عليكم العدد الجديد من اصدار مجلة كاتازين لايف…
 
Leave a comment

Posted by on March 24, 2011 in Uncategorized

 

IPv6 Client , IPv4 Server Interoperability

IPv6 Client , IPv4 Server Interoperability

Just in case you conflicted this topic with the previous one ( IPv4 Client and IPv6 Server Interopertability )…. Well guess u knew the difference 🙂 this is the opposite operation of the previous post..And it would be preferred if you read the previous article before this one 🙂

Alright Let’s get to the points..
Here we have an IPv6 Client on a dual-stack host ,  an IPv4 Server on an IPv4 only host which has a listening socket.
the IPv6 client starts and calls getaddrinfo* to get the IPv6 addresses, since the server is IPv4 only host. IPv4-mapped IPv6 address is returned to the IPv6 client..

then the IPv6 client asks to connect with the IPv4-mapped IPv6 address. so the kernel detects that IPv4-mapped IPv6 and sends and IPv4 SYN to the server.

and finally the server responds with and IPv4 SYN and ACK  to the client and the connection is established..

to illustrate the interoperability this is what happens to the server in any connection type :-

  1. TCP IPv4 Client connects using IPv4 address or a  UDP IPv4 Client sends a datagram using IPv4 address. the traditional operation happens.
  2. TCP IPv6 Client connects using IPv6 address or a  UDP IPv6 Client sends a datagram using IPv6 address. also the traditional operation happens.
  3. TCP IPv6 Client connects using IPv4-mapped IPv6 address or a UDP IPv6 Client sends a datagram using IPv4-mapped IPv6 address. the kernel detects the mapped addresses and sends IPv4 packets instead of IPv6
  4. IPv4 client cannot connect using IPv6 because the IPv4 is less long than IPv6 which means you cannot map an IPv6 into IPv4

 

————————-
getaddrinfo(hostname, serviceName, passedAddressInfo, resultAdressInfo): this is a C system call which gets info for a specific host which is looked up by host name and service name might be passed as value or NULL and PassedAdressInfo is an addrinfo structure which is passed which represent flags and info about the service like ( Protocol , family, Socket type..etc) and resultAddressInfo (addrinfo structure) is the returned with more info about the host like the canonical name..

 
Leave a comment

Posted by on March 24, 2011 in Networks

 

Google App Engine

Google App Engine

Google App Engine is a platform for developing and hosting web applications in Google-managed data centers. It was first released as a beta version in April 2008. Google App Engine lets you run your web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. With App Engine, there are no servers to maintain: You just upload your application, and it’s ready to serve your users.

Google App Engine supports apps written in several programming languages. With App Engine’s Java runtime environment, you can build your app using standard Java technologies, including the JVM, Java servlets, and the Java programming language or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby. App Engine also features a dedicated Python runtime environment, which includes a fast Python interpreter and the Python standard library. The Java and Python runtime environments are built to ensure that your application runs quickly, securely, and without interference from other apps on the system.

Google App Engine makes it easy to build an application that runs reliably, even under heavy load and with large amounts of data. App Engine includes dynamic web serving, with full support for common web technologies , persistent storage with queries, sorting and transactions , automatic scaling and load balancing , APIs for authenticating users and sending email using Google Accounts , a fully featured local development environment that simulates Google App Engine on your computer , task queues for performing work outside of the scope of a web request and  scheduled tasks for triggering events at specified times and regular intervals

Your application can run in one of two runtime environments: the Java environment, and the Python environment. Each environment provides standard protocols and common technologies for web application development.

well , let me show you a video discussing what Google App Engine works

Developing and deploying an application on Google App Engine

 
Leave a comment

Posted by on March 24, 2011 in Companies, Google

 

Linux Kernel

Linux Kernel

Linux kernal

 

initially, we will define what is the mean of kernal ?

 

Kernal : is the central component of most computer operating system; it is a bridge between applications and the actual data processing done at the hardware level. It is -a program-

 

– If we can take a view on startup diagram we can view kernal position

We will see that kernal started after boot loader has finished its function .

When the user selects a Linux operating system in the boot loader, then the boot loader will

load the Linux kernel.

-Kernal function :

1- it detects all hardware .

2- switches the cpu to multitasking and multiuser mode.

(kernal view)

– The Linux kernel is compressed because it is just aprogram and we always see linux programs in compressed view.but has an uncompress program attached to it .The uncompress program uncompresses the Linux kernel and puts it into memory. Then, it

starts that kernel proper.

 

  • While booting, the kernel generates a lot of messages which will scroll off the screen very fast. And since no filesystem is available to store these messages on, they kind of vanish. If you wish to retrieve these messages later however, you can run the dmesg command to see them. 
  • news about kernal

-First Version of the Linux kernel was 1.0 released on 14 March 1994.

 

I really need to remember the last kernal released it is the kernal that Linus Torvalds told us about , really it is great ….


 

 


 
Leave a comment

Posted by on March 24, 2011 in Linux

 

Technology This Week

Technology This Week

Chrome 11 Beta Released

Google has released Chrome 11 Beta for windows,mac &linux. Chrome 11 contains some great improvements including:

  • HTML5 speech input API
  • GPU-accelerated 3D CSS
  • The brand new shiny Chrome icon

 

Firefox 4 was launched

Firefox 4 was launched last Tuesday 22 march , follow this link to get more information about firefox 4 >>http://www.mozilla.com/en-US/firefox/features/

Firefox 4 for Android launched

Firefox 4 is now available for android in the Android Market.

Samsung Announces The release of 10.1 & 8.9 inch tabs

The devices are extremely light. 10.1 inch weighing in at 595 grams and the 8.9 inch weighing in at 470 grams .

Other specs include:

  • 3.0 Honeycomb OS  with TouchWiz elements
  • Dual-core 1 GHz processor
  • Samsung Reader & Music Hubs
  • built in 16, 32, or 64 Gig variants along with microSD slot

Twitter launched New Website

Twitter launched new website celebrating its 5th Birth Day >> http://discover.twitter.com/

 
Leave a comment

Posted by on March 24, 2011 in New Technology