Sunday, May 8, 2016
Subjects I studyed at SLIIT
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
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?
Friday, April 8, 2016
Software engineering as a carrier
it took me years to understand the concepts and i'm still learning, got the chance to manage a small group of software team act as team leader to them some time analyzer and designer of the project helped them when they were in trouble most of them depends on me, some still is. even though I have achieve lot there are lot to learn
that was what change true explorer from rest, you explore your environment find new tricks and easy ways of doing things more you learn more professional you get
Wednesday, April 6, 2016
How to face an Interview (software Engineering)
- · Be confident of what you say
- · Always backup what you say with projects you done that will make them confident they will know that you are not boasting
- · If you have not done any commercial projects do some project as you done it to a company and make a copy to a CD and present it to the interview board if they are interested they will look over it and evaluate your software engineering skills
- · Be hornets of what you say do not lie
- · Be friendly
- · You do not need to talk about what you learn if the interviewers are professionals they already know what you learn at the university and what you don’t since they have met previous batches of your university
- · Show them that you have a good capacity to handle large projects and complex logic
- · Show them you understand the business concepts and you are able to implement them
- · Most of the time the interviewer will ask to pick one of your project that you are confident on and ask to draw a ER, Class Diagram or Sequence Diagram and after completing he will ask questions from the parts that is not clear to him or prats that he see as problematic so be prepared pick the system that you are comfortable most with
- · Do not exaggerate things they will find out that you are lying
- · If you do not know something they ask tell them that you have no knowledge of it but you could easily learn it in 2-3 weeks be confident at what you say
- · If you are in software development, ability to self-study and learn is a must. You should be able to google anything and should be able to lean anything as quickly as possible know that nobody knows everything and no university teach you everything your ability to learn new things will comes advantages when it comes to software development since industry is rapidly changing and you should be up to date
- · It does not matter to them that you have 1st class, second class or general degree they want to know "can you do the job right?". That is the only thing matter so even if you do not have a degree and you show them your capacity they will hire you
Monday, March 28, 2016
Virus: Worms
what is the similarity of this with Virus Worms, well it does the same, The virus worm as you know it dig a tunnel from your machine/Server to out side. so any one can come in to your machine/Server. Most of the times it is able to penetrate firewalls since connection is initiated inside your server and firewalls are allowing that, so some one can use the tunnel that the worm has made and do some damage to your system. or spy on your servers or your activities.
Thursday, March 17, 2016
Trojan Horse Viirus and web development
when they got drunk the worriers in side the horse come out and open the gate letting rest of them to come in and to finish the drunken worriers
so how this apply to the Trojan Horse Virus well it attack in slimier fashion, it will arrive to you as a gift and you will accept it since it is a gift and when opening it will attack your system. for an example you will receive a computer game or utility program which is very useful but underneath that there will be a virus that attack your computer setting or give control of your system to another user, so while you play the game or use the utility, it will damage your system or give control to another
so how this apply to web see most of the websites today are build by popular web developing softwere like joomla or wordpress with these you get the ability to attach plugins so you can give functionality to program or make it looks better, better yet most of them are free. so some one can write a plugging and embedded a Trojan inside. plugin is nice has lot of functionality so you are bound to use it, and when you dose it will give the developer of plugin, access to the server and make a security hole so he will be able to manipulate your system through access given by plugin he will be able to upload files like php scripts or run commands linux or windows on your server(if your operating system is one of them) even delete using del command DOS or rm in linux and you will never know what happen.