Friday, July 29, 2016

Movies How its Done?

with evaluation of computers, the movies that run on theater came to them as that can be stored in a hard disk. Hows this possible? What makes a movie run on computer. The  truth is movies run as same way as theater. theaters use sequence of images to run one after another so it will give an illusion as continuous thing. See our eye can only process data coming from 1/10 of a second, so anything less you will not find as 2 but a continuation of first i.e. if some pictures changes in 1/5 of a second you will see that it changes, but if it change in 1/24 the of a second you will see as continue animation. So we can trick the eye to believe it is real this is because fastest speed of our neuron take 1/10 of time to communicate so to send an image from eye to brain and process it will take more than 1/10 seconds of time and any thing coming between this to eye, we will not see and when second image comes and if it is moved slightly the brain will fill the gaps and let us see as it is moving or animated.

so if we show our brain image in every 1/24 th of a second we will see it as animated. So in computer where is the images comes from. As you know we can store images as series of pixels and can have array of these series of pixels stack one after the other. giving us a series of images one after the other. and player is able to call them in a given rate and draw them to display like 1/24 th of a second so we will see a series of images in front of us and our brain will think it is continues and let us see the movie.

it will take a lot of space to keep a movie in row form, since it is a series of image so compression is done. some of the images are removed and images also get compressed like you know in jpg or gif so it will reduce the size of the movie dramatically. With this quality also degraded but we get to see a nice movie.

for instance a movie on 1 hour will take 60X60 seconds and that is 60X60X24 frames. If it runs 24 images for seconds (which is called frame rate) and if the size of the image, that is width and height of the movie is 800X600 i.e. 800 pixels wide and 600 pixels in hight, then it will take 800X600X3 number of bytes since each pixel take 3 bytes to represent the colors RGB one for red one for Green one for Blue so to store whole movie it will take 60X60X24X800X600X3 bytes i.e. 124416000000 bytes or 115GB which is not the best to store in hard disks so it is compressed to something like 1.5 GB to save space. by methods like MPEG4


Thursday, July 28, 2016

Bridge network Server 2012 r2

Bridge Network Windows 2012

How to Bridge and configer

How to bridge windows 2008 Server

Enable and Configure NAT

Applies To: Windows Server 2008 R2
Network address translation (NAT) allows you to share a connection to the public Internet through a single interface with a single public IP address. The computers on the private network use private, non-routable addresses. NAT maps the private addresses to the public address.
Membership in the local Administrators group, or equivalent, is the minimum required to complete this procedure.
To enable network address translation addressing
  1. In the RRAS MMC snap-in, expand Your Server Name. If you are using Server Manager, expand Routing and Remote Access.
  2. Expand IPv4, right-click NAT, and then click Properties.
  3. If you do not have a DHCP server on the private network, then you can use the RRAS server to respond to DHCP address requests. To do this, on the Address Assignmenttab, select the Automatically assign IP addresses by using the DHCP allocator check box.
  4. To allocate addresses to clients on the private network by acting as a DHCP server, in IP address and Mask, configure a subnet address from which the addresses are assigned. For example, if you enter 192.168.0.0 and a subnet mask of 255.255.255.0, then the RRAS server responds to DHCP requests with address assignments from 192.168.0.1 through 192.168.0.254.
  5. (Optional) To exclude addresses in the configured network range from being assigned to DHCP clients on the private network, click Exclude, click Add, and then configure the addresses.
  6. To add the public interface to the NAT configuration, right-click NAT, and then click New Interface. Select the interface connected to the public network, and then clickOK.
  7. On the NAT tab, click Public interface connected to the Internet and Enable NAT on this interface, and then click OK.
  8. If you want to add additional public addresses assigned to this interface or configure service and port mappings to computers on the private network, see IPv4 - NAT - Interface - Properties Page.
  9. To add the private interface to the NAT configuration, right-click NAT, and then click New Interface. Select the interface connected to the private network, and then clickOK.
  10. On the NAT tab, click Private interface connected to private network, and then click OK.

Additional references

Monday, July 25, 2016

Logical Thinking for Programming

Monday, July 4, 2016

Operating system

Early days when computer emerge there was programmers who write software to it. most of them were in low level languages like machine language and they were machine specific i.e. each machines software were written to it separately. Every machine use different sets of hardware and they have to handle differently so single program could not work on every machine programmers have to be written each machine separately.

These programs consist how to handle details like hardware how to send your report to printer i.e. instruction on printer how to print and sound instruction to play sound and instruction on display so they can be displayed correctly multi-tasking is a dream  they never even thought of and computers are assign single task. With the change of the hardware the software have to be change to adapt the needs of it.
Then people began to develop common platform to a compute that will manage hardware (takes care of how to handle and send instructions) and also resource management which make image of operating systems. The other software could be run on these systems depending on them so they need not to worry about the hardware or resource management tie OS did it for them. But still the OS depend on hardware and each machine have to be coded OS separately

With this things like DOS (Disk Operating system emerge) and a smart guy call bill gate had the chance to get hold of one of this he buy the system with the cording from the developer and did something miraculous, he separate the operation of hardware form the operating system so you have need not to code entire OS but the parts specifically handle that hardware which you may know now as drivers with this OS could run on multiple computers with minimum change OS are built to multi task, that is more than one process could run on single machine this is achieved by dividing time across different processes a few millisecond on process 1 and then few on process 2 then again few on 1 so on. It also handle resource management i.e. how they are shared among processes and also have mechanisms like deadlocks prevention that handle the conflicts of the resource with process. There is file manager that manage files you do not need to access hard disk directly OS do it for you so you only have to tell OS what you have to do (not how you need to do it) and OS will do it for you.

With the CLI (Command line Interface OS) we have come very far and now we have GUI(Graphical User Interface) Operating systems and many more facilities that you ever need.

for more info
https://en.wikipedia.org/wiki/Operating_system

Sunday, May 8, 2016

Subjects I studyed at SLIIT

1st Year
Semester 1
1. Information Systems
2. Computer Fundamental
3. Mathematics for Information Technology
4. Software Technology I (Java/OOP)
5. Business English & Communication Skills
Semester 2
6. Computer Architecture
7. Data Communication & Computer Networks I (Theory)
8. Database Management System I(RDBMS - Concepts)
9. Introduction to Programming Environment (C++/UNIX)
10. Software Technology II (Data Structures Java)
2nd year
Semester 1
11. Software Engineering I (theory)
12. Data Communication & Computer Networks II (theory)
13. Internet Technology Applications
14. Systems Programming Design (Perl/CGI)
15. Probability & Statistics
Semester 2
16. Computer Graphics & Multimedia (Photoshop/Coral Draw, Moho, 3Ds Max)
17. Software Engineering II (DFD / Data Dictionary)
18. Design  & Analysis of Algorithms
19. Database Management system II (RDBMS - with systems like MS SQL Server, Sybase, Informix)
20. Information Technology Project I (2nd year Project)
3rd Year
Semester 1
21. Software Engineering III(UML)
22. Project Design & Management
23. Operating Systems (the concept of making an operating system, how operating systems do it)
24. Advanced Graphics & Visualization (How graphics work, the theory behind them. and GTK+, OpenGL Graphics Programming)
Semester 2
25. Data Communication & Computer Networks III (includes Configuring Cisco Routers and Switches)
26. Database Management System III (ORDBMS-Object-Relational Database Management System (ORCLE))
27. Distributed Computing / CORBA
28. Software Engineering Tools & Metrics
4th Year
29. Comprehensive Design & Analysis Project (4th year Project) - one year project (2 semesters)
30. IT Project Management (how to Manage IT Projects How to plan, what are risks and how to manage them, things that a Project Manager Needs to Know)
31. Artificial Neural Networks (AI)
32. Data Communication & Computer Network IV (Network Programming)
33. Parallel Computing
34. Network Security

Saturday, May 7, 2016

Vector Graphics & Raster Graphics

Graphics as you know it is what we see on screen it is a way of illuminating pixels of the screen with different colors that makes a picture. When it comes to graphics there are 2 types’ vector and raster

Let’s first consider raster graphics  
They are graphics that is develop by programs like Photoshop each pixel information is saved in a file so when displayed it can be mapped to positions of the screen this is normally fast since it is 1 to 1 mapping from image pixel values to screen the draw is faster compare to vector but the drawback is it will pixelate when zoomed i.e. when you enlarge it pixels also get enlarged and begin to show them as blocks of squares

Next we have the vector graphics

They are mathematical algorithms use to draw geometrical things like lines, curves ellipse and so on so the values of the variables are kept in file and when need to display take the values and draw it using and equation like an equation for line or ellipse this method is slow compare to raster graphics since the data  need to be processed before any drawing can be made but the benefit of it is you can zoom it to  whatever the level you want, it will use a translation, rotation or scaling functions of geometry to calculate the end result. Resulting a smooth translation of the object software like illustrator use this to draw images. also 3D's Max and Maya like 3D animation software and most of the 2D animation software use these as models and Raster graphics as texture to them

Thursday, May 5, 2016

Image, how it is done?

As you all know computer run on binary that is true of false, 0 or 1, presence or absence of a current so on so how a system that works on binary show images to screen the secret is in how it handles graphics itself.

 

See computer handle graphics by combining 3 different colors namely Red, Green and blue, different intensity of this create different brightness of color. In computer each of this colors a byte is allocated and it resembles the intensity of its value. so there is 1 byte for red 1 byte for green and 1 byte for blue and all together 256 X 256 X 256 colors since byte has position of 0-255 in binary all 256 colors this is known as 24-bit color since each color is represented by 24 bit 8 for red, 8 for green and 8 for blue.

When you want to display in monitor or other device for example CRT there is 3 guns that fire electrons associate with 3 colors so when you pass a color code to CRT it takes the red value and fire red gun to that intensity and get the green value and fire it in that intensity and get the blue value and fire in that intensity and combination of this intensity when hit to monitor screen display the appropriate   color

 

In LCD there are three crystals for pixel that when turn give one of each color (Red, Green or Blue) So when you pass the color code to LCD it turns it according to the value of the Red for Red crystal Blue for Blue Crystals and Green for Green Crystal

In LED there are there are 3 LED for pixel which is for Red, Green and Blue each can be lit to different intensity. When color code pass to this monitor it take the red value and lit the red to that intensity, take the green value and lit it to that intensity and take the blue value and lit is to that intensity.

 

So how and image file contain an image. Well images are consisting of set of pixels each having Red, Green and blue values they are tiny dots of a color that taken together makes a whole image. Image has width and height which defines how many pixels are across and how many from top to bottom so image file consists of two parts a header which consist the width and height of this image and also compression details if any and data part which consist of actual data that is the RGB (Red, Green & Blue) values of the pixels which stored at one after another in 3 bytes

When you say BMP image or bitmap image of color 24 this is the case, all data are row and not compressed but when it comes to GIF, JPG or PNG it is little different since the image is compressed. there are many ways to compress an image but all use same principle it uses a color pallet and use that information store data in image file

 

If you have 8-bit pallet you can have 256 positions so all together will have 256 colors which will be stored in head section of the file. In data all the colors are approximated to one of these 256 colors and now since we have only 256 colors in the image we can represent it in 1 byte that is 8 bit not 3 bytes (24 bits) so the size is reduced 3 times and if you have color value of 00000010 for data value it means it is the third color (since 00000000 is the first) of the color pallet which will store RGB Values accordingly so in third position of color table it may have color 11000010 00100000 00100000 mapped to it so get this color and use it whenever you see 00000010 at the data section which is simple. Also there are other compression algorithms like Huffman which use different methods to create color tables so altogether the size of the image is reduced greatly

so if you have a picture which consist of 800 X 600 pixels it will require 800 X 600 X 3 bytes of information to store it in raw, but by using color compression and pallets it can be reduced to 1/3-1/4 of its original size that is why GIF, JPG and PNG files are reduced in size compared to raw BMP. this method of compression is known as lossy Compression since some Colors of the image are replace to a common color so small variation of colors are removed which in turn degrade the quality of the image.

 

In compression there are two types lossy and lossless lossy is applied to images sounds and movies in this some data is approximated or removed so the size is less this degrade the quality of the image or sound but you get a compact file. The other one is lossless compression, which compress the file and can be uncompressed to original state. the programs you use zip, rar or 7 zip is of example for this.


also there are 1 bit or 2 color which is black and white, 2 bit or four color,3 bit or 8 colors and 4-bit color 8 bit and 16-bit color all use to compress an image, in 1-bit color, color is represented in one bit in data 1 or 0 in 2-bit color it is represented in 2 bits in data that is 00 01 10 11 in 4 bit there are 16 colors and so on. There is also 24 bit color images which consists of all colors RGB. These images have different way of compression in header section there are more than width and height. It consist of extra information like compression method color table if any etc…when you use 24 bit color you cannot use color tables the images data is compressed by a compression method like Huffman and the encoding table is added at the header.

 

in PNG and GIF there are transparency too that is you have an image and background is transparent or semitransparent for this to happened you need to add a transparent amount as 4 the byte so image with transparency has RGBA or RGB alpha which say how trance parent it is. Also some trans parent images have a transparent color so anything of that color will consider as transparent, for example if black is set as the transparent color then all places with black will be shown transparent. So if you have RGBA then you will have an extra alpha value so now pixel is displayed as 1 for red 1 for green 1 for blue and 1 for alpha or transparency so there is 4 bytes for that not 3 which make these image have more bytes that is why some PNG files size is more than JPG even the image is the same.

you can zip an image to compress it to send via email but it does not count as image compression some software use methods like zip to compress whole image so it can be send via email it is a different story

 

 

Friday, April 22, 2016

ASCII Fonts, how it's done?

ASCII (American Standard Code for Information Interchange) what is it? Why we use it? Why every computer we buy has it? In English there are 26 letters in alphabet which can use to make many words. just like that computers work in binary so it has only two symbols and we can represent it with 1 and 0 and  every word of computer are made of it. So how can some machine using 1 and 0 can tell what is “A” and what is “B”. solution is the ASCII code see ascii table consist of 0 – 255 symbols each with 8 bit or a byte, denote a specific symbol in ascii code. so if we type 65(will be represented by binary in computer) and convert it to ascii symbol we get an “A” and as same as 97(will be represented by binary in computer) represent “a” in ascii. it is a mapping to code to a symbol so each code map to special symbol

To see how it work hold down the alt key and type the number in num pad and you will get symbols © for Alt + 0169  you can do it for all the symbols if you know the relevant code. they are inbuilt so we can type English and every computer can understand it. since it is a standard in every computer so if you have a text file which has “A” the file simply has number 65(in binary) in it and every computer has ascii table which know that 65 means symbol “A” so you take it to any computer and open it and you will see “A” a symbol which map to ascii table 65

So what is a ascii font how can we get a various styles of character? See a font file consist of a graphs of a characters, an image or drawing which is placed in one of 0 – 255 positions which resembles the ascii codes so symbol at 65 position is “A” so if you take a font file and change the symbol at position 65 to something else and type "A" you will not get “A” as symbol but the symbol you inset at the position 65, if your selected font is the one that you changed. So you can have Sinhala symbols at each of this positions in a font so if you type “a” it will be a Sinhala letter corresponding to position of ascii “a”  which is 97 so you can make 0-255 different symbols in a font file that will replace the originals to any language of your likeings not only that, symbols are jest images so you can have a image of a tree printed when you type “a”. computer does not understand it is "a" or tree it just print image corresponding to the ascii symbol that’s all