I see that my planned tasks are completely frozen from last one month. Many things happened in last month which stopped my scheduled work. I had to go out of town for 15 Days, when I came back there was huge amount of work in my office. Not only huge, the overall whole work is new for me. So I am not at all getting anytime for my blog. Actually I do find a little bit time to write blog but I dont have time to do my planned technical KEP as per scheduled. But the good thing is as I told earlier I doing some new things in work, at least that is satisfactory and I am enjoying there.
Presently I am working on MMX technology. I am quite busy in writing MMX assemblies. Basically it is SIMD (single instruction multiple data) technology where we use 64 bit 8 MMX registers (MM0-MM7) to process data. So if we have data of 'char' type so we can process 8 data simlataneously.There are various instructions which Pack or unpack multiple data and operations for 1 Quand Word(64 bit), 2 Double Word(32 bit), 4 Word(16 bit) or 8 Byte(8 bit) data depends upon how we handle the data.It's quite interesting.
Now for MMX instruction assemblies I am also learning the IA32 assembler, NASM (Netwide Assembler) and also YASM. The IA32 architecture is good but not sufficient as it will support only Intel architecture ( 80x86 assembler) and writing code as inline __asm {...} without using MACRO, repeat (loop) feature is highly tedious job. NASM is an 80x86 assembler designed for portability and modularity. It supports a range of object file formats, including Linux and NetBSD/FreeBSD a.out ,ELF , COFF , Microsoft 16-bit OBJ and Win32 . It will also output plain binary files. Its syntax is designed to be simple and easy to understand, similar to Intel’s but less complex. It supports Pentium , P6 , MMX , 3DNow! , SSE and SSE2 opcodes, and has macro capability.
While Yasm is a (mostly) BSD-licensed assembler that is designed from the ground up to allow for multiple assembler syntaxes to be supported (e.g. NASM, GNU AS, etc.) in addition to multiple output object formats and multiple instruction sets. Its modular architecture allows additional object formats, debug formats, and syntaxes to be added relatively easily. It has matched and exceeded NASM’s capabilities, incorporating features such as supporting the 64-bit AMD64 architecture, parsing GNU AS syntax, and generating STABS, DWARF2, and CodeView 8(Not availlable in NASM) debugging information.
so I will be a little bit busy for this month too I feel, then I will check my status and will reschedule my KEP.
All about my activities, thoughts, inspiration, ideas, and everything that happened around me and makes me to think over it.
Sunday, April 05, 2009
Tuesday, March 10, 2009
Password Security
I just purchased this month (Feb)'Digit' magazine and started with the 'Editorial'. The article was based on previous month issue 'SECURITY' special. That issue had a article 'A forward you should ignore' which little bit explain How to hack Gmail passwords of others account. And unfortunately as of now the Digit Team has more than 1000 passwords of other people and their personal information those who tried to hack their own passwords or their close friends.They did a harmless data mining to those passwords and found various amusing ways and astonishing stupid ways people keep their passwords. Here are some poor ways people keep their passwords, so I am keeping it in Dont's.
Dont's:
1) password should not be 'password'
2) dont keep password which is easy to type like 'qwerty', '123456' or 'abcdefg'
3) We know that your phone number is unique one but anyone who has ever called you could potentially hack your account.
4) same rules apply for postal codes.
5) Celebrities names or any names are never good for passwords, so dont ever use 'iloveaamir', 'Johnloveyou', 'ram123' or 'michel1984'
Here are some of the ways you should do...
Do's:
1) Use alphanumeric and if possible use even punctuations.
2) Use combination of lower and upper cases.
3) Genrate some kind of rules for your passwords which can be changed periodically.
4) In addition to Rule of Passwords try to make rule for the particular site basis also. The beauty of this kind of rule is you dont have to remember lots of passwords, just remember the rule. Even if dont use the id for long time, you dont have to remember what password you used to have next time when you log in.
5) Even if you change your passwords frequently dont use only one passwords for all sites user id.
P.S.: Digit team found one very interesting password, that I cant resist to laugh after reading it 'iamloser'(millions of user, millions of mind)
And one more important thing....If a hacker really wants to hack your ID, you can do just NOTHING that's the fact ,but atleast dont convert naive to hacker.
Dont's:
1) password should not be 'password'
2) dont keep password which is easy to type like 'qwerty', '123456' or 'abcdefg'
3) We know that your phone number is unique one but anyone who has ever called you could potentially hack your account.
4) same rules apply for postal codes.
5) Celebrities names or any names are never good for passwords, so dont ever use 'iloveaamir', 'Johnloveyou', 'ram123' or 'michel1984'
Here are some of the ways you should do...
Do's:
1) Use alphanumeric and if possible use even punctuations.
2) Use combination of lower and upper cases.
3) Genrate some kind of rules for your passwords which can be changed periodically.
4) In addition to Rule of Passwords try to make rule for the particular site basis also. The beauty of this kind of rule is you dont have to remember lots of passwords, just remember the rule. Even if dont use the id for long time, you dont have to remember what password you used to have next time when you log in.
5) Even if you change your passwords frequently dont use only one passwords for all sites user id.
P.S.: Digit team found one very interesting password, that I cant resist to laugh after reading it 'iamloser'(millions of user, millions of mind)
And one more important thing....If a hacker really wants to hack your ID, you can do just NOTHING that's the fact ,but atleast dont convert naive to hacker.
Thursday, February 19, 2009
Streaming Media
I was stumbling with old 'Digit Achieves' and I got article which caught my eyes as it was named as 'Streaming Media'. So let's elaborate more on this.
As the Internet speed is getting better and better nowadays watching videos , listening songs online from the sites like youtube, google video, mp3air etc have also increased by the internet user, without knowing how it really works? I guess end user for any technology never care how does that system work but NOT everyone. So let's dig what happens actually when we play multimedia in our browser.
Define Streaming :
Streaming media is streaming video with sound. With streaming video or streaming media, a Web user does not have to wait to download a large file before seeing the video or hearing the sound. Instead, the media is sent in a continuous stream and is played as it arrives. The user needs a player, which is a special program that compresses and sends video data to the display and audio data to speakers. A player can be either an integral part of a browser or downloaded from the software maker's Web site.
The technology and protocols used for streaming are different from used for viewing web pages or for downloading files. It is the technique of continuous and steady digital data (audio/video/graphics) transfer as packet in real time from a data server through the Internet to user's computer. Media files can be played in browser by using any embedded plugins or any media player. Smoothness of media stream is based on internet speed. Different quality may be available for different internet speed connection like glitches in frame or no sound for slow speed connection.
Compression method for media file is essential feature which decide the seamless streaming. Lossy compression formats for audio like mp3, aac, WMA etc. and video formats like mpeg2, mpeg4, h.264, vc-1 etc are used for encoding and converting those large media files to smaller size with compromised quality and so we get .mov , .rm etc. files.
RealNetworks, QuickTime, Windows media and Macromedia Flash are the most popular streaming technologies and many broadcasters (data server providers) assume that the player plugins are already installed in viewer/listener browser.
Streaming methods :
So streaming technology this encompasses media content, the streaming server, plugins and codec software. Streaming is of two types – progressive and real time (live). In progressive streaming, the media file can be viewed or listened while the file is being downloaded. In the case of packet loss, re-retransmission of lost packets are possible. Media files streamed in progressive manner get stored temporarily in viewer's hard drive e.g. HTTP streaming. In the case of HTTP streaming a request for data remains open even after the data is received by the client, so that server can respond at any time.
In real-time streaming, media contents get downloaded temporarily to the user's computer and gives live broadcast of media contents which is entirely depends upon the internet connection speed user has otherwise transmission of media would break.
Media streaming can also be categories as 'on demand ' or 'live'. In the case of on demand, the media files are stored in server for a long period of time and can be transmitted based on user request while live streams are only available at particular time like live TV broadcast. But nowadays due to increase performance and lower cost of the technologies mostly HYBRID (live and latter on demand ) systems are more popular. So now while watching live cricket match , you can pause it and restart from the same place through on demand method.
Transmission Protocols:
For streaming the there are a lots of transmission protocols are available like Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Real Time Streaming Protocol (RTSP) and Real Time Protocol (RTP). TCP provides guaranties for the transmission of every bit by giving reliable connection. However UDP is more preferable than TCP for providing continuous transmission of data rather than re-transmission of lost packets. Some glitches might observed while packet loss but that can be recovered or minimized by various error-correction techniques. RTSP and RTP are mostly used in internet for media transmission. These can be used for unicast (one to one communication) or multicast (one to many communication).
PS: For hands on streaming your own media files, just play with VLC player (my favorite one).
Here are some other useful links:
1)Streaming media
2)How Streaming Video and Audio Work
3)List of streaming media systems
As the Internet speed is getting better and better nowadays watching videos , listening songs online from the sites like youtube, google video, mp3air etc have also increased by the internet user, without knowing how it really works? I guess end user for any technology never care how does that system work but NOT everyone. So let's dig what happens actually when we play multimedia in our browser.
Define Streaming :
Streaming media is streaming video with sound. With streaming video or streaming media, a Web user does not have to wait to download a large file before seeing the video or hearing the sound. Instead, the media is sent in a continuous stream and is played as it arrives. The user needs a player, which is a special program that compresses and sends video data to the display and audio data to speakers. A player can be either an integral part of a browser or downloaded from the software maker's Web site.
The technology and protocols used for streaming are different from used for viewing web pages or for downloading files. It is the technique of continuous and steady digital data (audio/video/graphics) transfer as packet in real time from a data server through the Internet to user's computer. Media files can be played in browser by using any embedded plugins or any media player. Smoothness of media stream is based on internet speed. Different quality may be available for different internet speed connection like glitches in frame or no sound for slow speed connection.
Compression method for media file is essential feature which decide the seamless streaming. Lossy compression formats for audio like mp3, aac, WMA etc. and video formats like mpeg2, mpeg4, h.264, vc-1 etc are used for encoding and converting those large media files to smaller size with compromised quality and so we get .mov , .rm etc. files.
RealNetworks, QuickTime, Windows media and Macromedia Flash are the most popular streaming technologies and many broadcasters (data server providers) assume that the player plugins are already installed in viewer/listener browser.
Streaming methods :
So streaming technology this encompasses media content, the streaming server, plugins and codec software. Streaming is of two types – progressive and real time (live). In progressive streaming, the media file can be viewed or listened while the file is being downloaded. In the case of packet loss, re-retransmission of lost packets are possible. Media files streamed in progressive manner get stored temporarily in viewer's hard drive e.g. HTTP streaming. In the case of HTTP streaming a request for data remains open even after the data is received by the client, so that server can respond at any time.
In real-time streaming, media contents get downloaded temporarily to the user's computer and gives live broadcast of media contents which is entirely depends upon the internet connection speed user has otherwise transmission of media would break.
Media streaming can also be categories as 'on demand ' or 'live'. In the case of on demand, the media files are stored in server for a long period of time and can be transmitted based on user request while live streams are only available at particular time like live TV broadcast. But nowadays due to increase performance and lower cost of the technologies mostly HYBRID (live and latter on demand ) systems are more popular. So now while watching live cricket match , you can pause it and restart from the same place through on demand method.
Transmission Protocols:
For streaming the there are a lots of transmission protocols are available like Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Real Time Streaming Protocol (RTSP) and Real Time Protocol (RTP). TCP provides guaranties for the transmission of every bit by giving reliable connection. However UDP is more preferable than TCP for providing continuous transmission of data rather than re-transmission of lost packets. Some glitches might observed while packet loss but that can be recovered or minimized by various error-correction techniques. RTSP and RTP are mostly used in internet for media transmission. These can be used for unicast (one to one communication) or multicast (one to many communication).
PS: For hands on streaming your own media files, just play with VLC player (my favorite one).
Here are some other useful links:
1)Streaming media
2)How Streaming Video and Audio Work
3)List of streaming media systems
Thursday, February 12, 2009
Bacics Of Linux
As per my last blog I had scheduled the first one week duration for "Basics Of Linux". And I am feeling good that I finished this even before the schedule. I read the book "Introduction to Unix" .The book was quite simple and good. It starts with 'History of Unix ' and then 'Unix structure' expalining in brief about kernel, file/directory structure. Afterwards while explaining about 'terminal' and sh/ksh/csh/bash etc , it slowly switched to unix/linux command.
Commands are pretty much categories like the first category is "Directory navigation and control" which explain the command like pwd, cd, ls etc including their options. next is "File maintenance" commands are cp, mv, chmod, chown etc and then "Display" like echo, cat, more, less, pg, head ,tail etc commands
Next category is 'System Resources & printing' commands are like df, du, ps, kill, who whereis, which, date etc. I didn't read 'printing' related commands, it felt redundant to me presently so I skipped that. After that 'Shells' start which continues with 'Test processing ' commands with regular expressions grep, sed, gawk and other useful commands cmp, diff, sort, wc, touch, file , tar etc. The book ends with Shell Programming for learning purpose. This explains shell scripts, parameters/variables, here documents and control commands if, do -while , switch, test etc.
Actually from last 4-5 months I am also using 'Ubuntu Hardy' in my laptop, so I was so called using linux but I was working in Windows manner by NOT at all using 'Terminal' except for enabling my bluetooth mouse by 'hidd --search' command.
Now for my advance course of Linux I am planning to read another unix book "Unix Systems Programming" which explains how to design and implement reliable UNIX software and through coverage of files, signals, semaphores, POSIX threads and client server communication. I dont know how far i can proceed... ;)
And as my next task is "Basics of DirectShow" so I will be back to my Vista. Let's see how things goes there...
Commands are pretty much categories like the first category is "Directory navigation and control" which explain the command like pwd, cd, ls etc including their options. next is "File maintenance" commands are cp, mv, chmod, chown etc and then "Display" like echo, cat, more, less, pg, head ,tail etc commands
Next category is 'System Resources & printing' commands are like df, du, ps, kill, who whereis, which, date etc. I didn't read 'printing' related commands, it felt redundant to me presently so I skipped that. After that 'Shells' start which continues with 'Test processing ' commands with regular expressions grep, sed, gawk and other useful commands cmp, diff, sort, wc, touch, file , tar etc. The book ends with Shell Programming for learning purpose. This explains shell scripts, parameters/variables, here documents and control commands if, do -while , switch, test etc.
Actually from last 4-5 months I am also using 'Ubuntu Hardy' in my laptop, so I was so called using linux but I was working in Windows manner by NOT at all using 'Terminal' except for enabling my bluetooth mouse by 'hidd --search' command.
Now for my advance course of Linux I am planning to read another unix book "Unix Systems Programming" which explains how to design and implement reliable UNIX software and through coverage of files, signals, semaphores, POSIX threads and client server communication. I dont know how far i can proceed... ;)
And as my next task is "Basics of DirectShow" so I will be back to my Vista. Let's see how things goes there...
Monday, February 09, 2009
Task Planned
In my previous blog "1st evening of Year 2009" I mentioned some tasks I planned to do this year, although after observing the number of tasks in the list some may say "it's insane to stretch these task to entire year"
I accept that but I also do believe that If you are going for long jump, you have to start with small steps. Lots of work are there in my real job and I am learning much there too, but I am gradually feeling that only counting the number of tasks I have to do is NOT sufficient. And I will be always busy in my job, actually they will keep me busy always that's what they give us compensation/salary.. :)
But I have to be quite serious, regular and more important sincere for success of my Knowledge Enhancement Program (KEP). And now I am feeling why deadline is very important in any work...(Generally I consider deadline is not a noun but is a Verb for employee "either the project will be died(Finished) by that time or employee...")
But I have to work in proper schedule time...kind of deadline. So I did some kind of time allotment for a few of my tasks. I will try to stick with this.
1) Basics of Linux -- One week
2) Basics of DirectShow -- One week
3) Advance Linux -- One week
4) YUV show project in DirectShow --Two week
I accept that but I also do believe that If you are going for long jump, you have to start with small steps. Lots of work are there in my real job and I am learning much there too, but I am gradually feeling that only counting the number of tasks I have to do is NOT sufficient. And I will be always busy in my job, actually they will keep me busy always that's what they give us compensation/salary.. :)
But I have to be quite serious, regular and more important sincere for success of my Knowledge Enhancement Program (KEP). And now I am feeling why deadline is very important in any work...(Generally I consider deadline is not a noun but is a Verb for employee "either the project will be died(Finished) by that time or employee...")
But I have to work in proper schedule time...kind of deadline. So I did some kind of time allotment for a few of my tasks. I will try to stick with this.
1) Basics of Linux -- One week
2) Basics of DirectShow -- One week
3) Advance Linux -- One week
4) YUV show project in DirectShow --Two week
Subscribe to:
Posts (Atom)