Monday, December 10, 2012

Set Top Box Overview


A set-top box is a device that enables a television set to become a user interface to the Internet and also enables a television set to receive and decode digital television (DTV)
broadcasts. DTV set-top boxes are sometimes called receivers. A set-top box is necessary to television viewers who wish to use their current analog television sets to receive digital broadcasts.
Before Digital TV was invented, TV’s decoded broadcast analogue channels, initial STB’s simply converted one type of analogue TV channel signal to one the TV could understand.
Initial STBs had very little security and the ownership of a STB and the feed (Cable ,Satellite or Terrestrial  meant a consumer could have access to the video content.
As multi-channel TV started to expand the move to Digital TV allowed some major changes:

  • Basic features of the STB are to Receive Demodulate, Demultiplexer, and decode the incoming Digital signal and convert it into the Analog format
  • Input digital stream to STB may be from satellite ,cable or terrestrial medium.
  • It can also de-scramble the received signal and thus provide conditional access to the STB.
  • Conditional access is the key feature for Pay TV system
  • If STB is used for satellite applications then input frequency range is 950 to 2150 MHZ and modulation technique used is QPSK
  • If STB is used for cable applications then input frequency range is 110 to 862 MHZ and modulation technique used is QAM
  • If STB is used for Terrestrial applications then input frequency range is  47 to 860 MHZ and modulation technique used is COFDM

STB’s were constantly evolving, as the battle between the satellite and cable broadcasters heated in any given region.
Many new features were add to the STB since then:

  • nVOD – Near Video on Demand, a broadcaster plays out a video many time starting every 15 mins
  • VOD (Video on Demand – the broadcaster just plays a video when a customer wants to watch it)
  • Internet Access on TV
  • PVR/DVR – secure video recording on internal hard disks
  • High Definition TV – more pixels better quality TV
  • 3D TV
  • Personalize-able ‘Apps’ similar to smart-phones 
etc. etc

The STB has now become a highly complex software based system requiring years of development effort for each new feature.
The consumer is quite happy for his mobile smart phone to crash every now and then, or his PC to slow down and need fixing,
but historically they expect their TV  to work all the time or they will call the broadcaster and complain.
However the next technology development is to the Connected TV, this moves into the arena of the PC, smart phone and games console.
Content will be obtainable from many sources and not just the traditional broadcaster Also the software running on these devices will be obtained from many developers.

Most of the content is known to all of us and used from some of the major provider and vendors in the industry
Stay tuned for more updates on the STB Middleware and other STB stuff.

Monday, December 3, 2012

Linux Study Material

Kernel compilation:
Developing Kernel modules/Device drivers:

Implementing System calls in Linux:
Improtant Documentation:   

Applying a patch:
  • Linuxdocs:
The GCC compiler, the GNU Make, and the KBuild:
The Kernel Development: 

The Kernel Debugger:
Kernel Support for Faster Web Proxies

H.265 High Efficiency Video Coding to be Help or Headache for Online Video?

H.264 is still, pretty much, the de facto for online video. But there could be a shift very soon as MPEG and VCEG have announced they've got H.265 in the works (still in draft) and could see it implemented for phones next year. Why? Because it's said to be twice as efficient at H.264. So what's that mean for the industry?
H.265, MPEG-H Part 2, the High Efficiency Video Coding, is said to be 2x as effective as H.264 which pretty much means you could see file sizes half the size with the same quality soon. It could also mean upgraded resolution in the same file size. It's great news for mobile users who want to stream video but have bandwidth limitations on their data plans or are stuck at 3G speeds. That could even mean some very high quality video for tablets with the screen resolution and real estate to make it noticeable.

How high or low can you go?

H.265 is said to support resolution up to 7680 × 4320! Yowza! Meanwhile, bit rate reduction was aimed to be 50% with the same quality as it would have in H.264. It's said to be aimed as low as QVGA (320x240) up to that massive resolution above and to improve noise levels, color gamut and dynamic range.

What's it All Mean?

In a nutshell, it means you could start shooting video at a much higher resolution in the near future, 7680 × 4320 or 16x full HD (sometimes called SuperHD, 8K UltraHDTV, UHDTV2 and 4320p) is 33.2 megapixels at up to 120 frames per second. That is, if you could afford the $1 million camera! OK, so maybe not quite yet. But it's coming. The original implementation plan for 8K had a time frame of 2015 to 2020. It seems that the industry in general is trying to shorten it.
First off, there are almost no commercial displays for the format and secondly, there are only about four cameras in the world. There was an 85" display shown off by Sharp and the NHK, Japan's public broadcaster, is working with Panasonic for a 145" display.
So don't worry about any of that 8K stuff just yet. But if you are making SD or HD content and hoping to have it viewed on tablets and smart or superphones, then this should be of particular interest. With the plethora of TV commercials that talk about bandwidth restrictions on mobile plans, this could seriously change the game, next year. H.265 could also help the industry fight against cable companies bandwidth metering and restrictions. If files sizes drop by 50% but quality remains the same, that should help alleviate the alleged bandwidth problem that they are facing, and using as a way to hike up rates on US consumers. If H.265 delivers on its promise, it could mean some serious streaming improvements for end-users and for video content producers it could mean a great deal of savings in storage and bandwidth costs.
But it could also be a major, long-lived headache. Let's face it, H.264 hasn't exactly been controversy free. While MPEG-LA has stated that H.264 will be royalty free until the end of 2015, it could decide that H.265 requires a license fee meaning everyone, from hardware manufacturers, software and service developers all the way down to end-userscould see a price hike because of it. They've already called for patents essential to the HEVC coding.
“By starting the joint license facilitation process now, the market can enjoy the earliest opportunity to plan for deployment of this promising new technology,” said MPEG LA President and CEO Larry Horn. “MPEG LA is pleased to assist in facilitating a convenient, independently administered, one-stop patent licensing alternative to assist users with implementation of their technology choices and invites all patent holders to participate.”
In order to participate in the initial facilitation effort for the creation of a joint HEVC License, MPEG LA invites any party that believes it has patents that are essential to the HEVC Draft 7 standard (or subsequent revisions that may issue) to submit an initial patent by September 7, 2012...
So they're already working on the monetization side of the license and patents, before the standard is even in place. That's how lucrative the H.265 coding could be it seems. So it's definitely going to cost someone something. However, if they are interested in the overall progress of digital video they'll offer the same deal as they have on H.264 where they "will not charge royalties on Internet Video using the codec, when that video is free to end-users, for the lifetime of that license."
If could end up being that they decide on a licensing fee that would impact end-users and that could do things like reduce competition, because of high licensing, etc. Hopefully, they'll take it the way of H.264 and it will have the same deal.
For now, it's wait and see, but it certainly does seem quite promising for us all. Less bandwidth, same or better quality and the potential for the online video industry to continue steamrolling onward and upward.
Source: H.265 High Efficiency Video Coding to be Help or Headache for Online Video? 

Browser Adoption of HTML5 Video Continues to Grow

LongTail Video just released the update to their longstanding State of HTML5 Video which gives everyone a clear cut, easy to read guide to what parts of the HTML5 <video> tag are supported, by what browser and to what extent. At present, 79% of the market can now play HTML5 video, that's a pretty good percentage and shows that if you've been dragging your feet it's time to think about compatibility.
Aside from the old versions of Internet Explorer (6-8) and some mobile phone browsers, HTML5 video will play just about everywhere. Chrome and Firefox lead the way with 49% of the market and the non-Flash platforms make up for just 17% (iOS, Android and other mobile phones).
Browser/DeviceMarket ShareHTML5 VideoFlash Video
Internet Explorer 916%YesYes
Internet Explorer 6/7/813%NoYes
Other (feature phones)8%NoNo
Connected TVs and game consoles aren't included in the report. They say it's because the first has too small an install base and the second doesn't have adequate browsing. Additionally, both are more app based anyway.

HTML5 Video File Format

Over the past year we've seen support for WebM dwindle. Android, Google's own OS, only supports MP4 which doesn't bode well for the upstart free media format. Currently only Firefox and Opera are listed as supporting only WebM while Chrome supports both. On the audio front it breaks down the same way, AAC and MP3 are supported on all but Opera and Firefox which are still pushing Vorbis. Meanwhile, Chrome supports all three.
The WebM project hasn't had a blog update since May 11th but over the last year gained hardware decoding and a lot of other support. It seems that everyone's energies have shifted from the MP4/WebM "war" to the HTML5/Flash "war." I know, I often call them wars myself but it's not really, all of them can co-exist and right now, need to because there are some things that can't be done in HTML5 and WebM, plus, competition is good for technology as it helps push things forward.
Browser/DeviceVideo FormatsAudio FormatsMultiple Sources
ChromeMP4, WebMAAC, MP3, VorbisYes
Internet ExplorerMP4AAC, MP3Yes
SafariMP4AAC, MP3Yes
AndroidMP4AAC, MP3Yes
View DetailsView DetailsView Details
From the LongTail report:
Note we have not included the Ogg video format in our tests. This format is not widely used and of lower quality than MP4 and WebM. Firefox 3.6, which is quickly phasing out, is the only browser version that supports Ogg but not WebM today.

What Is and Isn't Supported?

As I just mentioned there are some limitations in what each format can and cannot do and some things that browsers do and don't support. IE doesn't support Preload and it's completely ignored in iOS and Android, as is Autoplay. The mobiles usually skip some controls like volume, as they have buttons for it.
As for IE 9:
Internet Explorer ignores the preload=noneattribute, which prevent the desktop browsers from reaching a perfect score. The implication here is that IE9 loads a part of your MP4 upon each pageview, instead of waiting until a user actually starts the video. This may add to a substantial increase in your streaming costs.
The Javascript API is a bit more complex, still. Android? Nope. (Come on Google!) iOS? Sure, but not Playback or Volume (already discussed). Other than that, loading, buffering, playback, seeking and volume are all supported in the browsers.
Fullscreen is a mixed bag with Opera and IE skipping that control and playback function, everyone else is green light for go!.

HTML5 Text Tracks

Pretty much a major fail all around (except for Safari) is Text Track support. I have to believe there's a major push to get it implemented with the new mandates on closed captions for online video ramping.
Along with closed captions, keyboard control is also needed for accessibility compliance. Chrome and Safari haven't got it. iOS and Android don't always have keyboards which leaves FF, IE and Opera all supporting it. Shame on Chrome and Safari!

Live and Adaptive Streaming

Finally, live streaming is growing in popularity and its business uses, but none of the browsers support it except for Safari and iOS. Meanwhile on the adaptive streaming side....NONE support it. BOO! You would think that iOS and Android would be hard at work to support that. However, LongTail had this to say about it:
Note that every HTML5 browser supports seeking to not-yet-downloaded portions of the video by using HTTP 1.1 range-requests. Compared to Flash (which cannot do that), it reduces the need for adaptive streaming, as it enables the fast seeking feature.


The LongTail State of HTML5 doesn't address things like DRM which is a key capability if the major studios are going to get on board with allowing their content to flip over. Without DRM they lose control of their content and we all know how much they hate that. Adaptive bitrate streaming might not be a major deal anymore with faster mobile data networks and the abundance of Wi-Fi these days, but it, and live streaming, are still major pieces of the puzzle that need to be solved before HTML5 becomes the overall standard in my opinion. Additionally, there's still that thing about the MP4 license not being completely royalty free as it's owned by a licensing group. That means it's not a completely open and free protocol and that goes against the spirit and letter of the HTML standard.
Source: Browser Adoption of HTML5 Video Continues to Grow, But Still Not Complete
©2012 ReelSEO 

Monday, November 26, 2012

The End Of The Smartphone Era Is Coming

You've heard that Google is working on computerized glasses. They're called Google Glass, and developers can already buy them.
There's a big difference between what Microsoft is working on and Google Glass, though.
The most recent word out of Google is that Google Glass isn't going to use "augmented reality" – where data and illustrations overlay the actual world around you.
Google Glass is actually just a tiny screen you have to look up and to the left to see.
Microsoft's glasses seem to utilize augmented reality. In a patent illustration we've embedded below, you can see that the glasses put data on top of a live action concert and a ballgame.
Both gadget concepts are very interesting. 
Lots of people disagree with me, including other BI writers, but I think something like Google Glass or whatever Microsoft is working on could end up replacing the smartphone as the dominant way people access the Internet and connect to each other.
First off: something has to. Disruption is inevitable.
Secondly: The trend is obvious.
Computers have been getting smaller and closer to our faces since their very beginning.
First they were in big rooms, then they sat on desktops, then they sat on our laps, and now they're in our palms. Next they'll be on our faces.
(Eventually they'll be in our brains.)
By the way, you can bet that if Microsoft and Google are working on computerized glasses, so is Apple and Jony Ive.
And that's pretty exciting.
Here's the patent illustration from Microsoft:
And here's what Google Glass looks like:

DVF Google Glasses

Tuesday, November 20, 2012

HEVC/H.265 ::: Adaptive Interpolation Filter for Video Coding

Adaptive Interpolation Filter for Video Coding

Why use interpolation in video coding?  
Motion-compensated prediction (MCP) is the key to the success of the modern video coding standards, as it removes the temporal redundancy in video signals and reduces the size of bitstreams significantly. With MCP, the pixels to be coded are predicted from the temporally neighboring ones, and only the prediction errors and the motion vectors (MV) are transmitted. However, due to the finite sampling rate, the actual position of the prediction in the neighboring frames may be out of the sampling grid, where the intensity is unknown, so the intensities of the positions in between the integer pixels, called sub-positions, must be interpolated and the resolution of MV is increased accordingly.  
Interpolation in H.264/AVC  
In H.264/AVC, for the resolution of MV is quarter-pixel, the reference frame is interpolated to be 16 times the size for MCP, 4 times both sides. As shown in Fig. 1(a), the interpolation defined in H.264 includes two stages, interpolating the half-pixel and quarter-pixel sub-positions, respectively. The interpolation in the first stage is separable, which means the sampling rate in one direction is doubled by inserting zero-valued samples followed by filtering using a 1-D filter h1, [1, 0, -5, 0, 20, 32, 20, 0, -5, 0, 1]/32, and then the process repeats for the other direction. The second stage, which is non-separable, uses bilinear filtering supported by the integer pixels and the interpolated half-pixel values. The impulse and frequency responses of the interpolation filter in H.264/AVC are shown in Fig. 2 (a) and (b), respectively. As can be seen, this interpolation filter is almost ideal, as it has a square passband with the cutoff frequencies π/4 in both horizontal and vertical directions and very small ripples in the stopband. To fit the general statistics of various video sources, the filter coefficients are fixed.  
Fig. 1 Interpolation process of (a) the filter in H.264/AVC, (b) the optimal AIF, and (c) the separable AIF  
Fig. 2 Impulse and frequency responses of the normative interpolation filter in H.264/AVC  
Review of Adaptive Interpolation Filters (AIF)  
Considering the time-varying statistics of video sources, some researchers propose using adaptive interpolation filter (AIF), which is one of the design elements making KTA significantly outperform JM. With AIF, the filter coefficients are optimized on a frame basis, such that for each frame the energy of the MCP error is minimized. The optimal coefficients are quantized, coded, and transmitted as the side information of the associated frame. Our previous post listed all the AIF techniques adopted in KTA. These AIF techniques all use the minimum mean squared error (MMSE) estimator to calculate the coefficients and achieve minimum MCP error, but provide different balances among performance, complexity, and size of the side information, by using different support regions and imposing different symmetry constraints.  
2-D non-separable AIF, of which the interpolation process is shown in Fig. 1(b), increases the spatial sampling rate 16 times at one time by zero-insertion, and  each sub-position is interpolated directly by filtering the surrounding 6×6 integer pixels. Fig. 3 (a) shows the support region of 2-D non-separable AIF. As the spatial statistics are assumed to be isotropic, the filter h is in circular symmetry and therefore 1/8 of the coefficients are coded, as shown in Fig. 3 (b). The assumption that the spatial statistics are isotropic may not hold for every frame in a video sequence. 2-D separable AIF is proposed, which considers the spatial statistics of horizontal and vertical directions different and reduces the complexity of 2-D non-separable AIF. The 1-D AIFs for the two directions are separately designed. As shown in Fig. 1(c), the horizontal sampling rate is increased four times by zero-insertion and a 1-D filter h1 calculated for the current frame is applied. Then, the process repeats for the vertical direction using h2
         (a)                                                                                (b)
Fig. 3 2-D non-separable AIF’s (a) support region and (b) coded coefficients  
Directional AIF (D-AIF) further reduces the complexity, although also following the process in Fig. 1(b). Each sub-position is supported by at most 12 surrounding pixels in a form of diagonal cross. Its support region is shown in Fig. 4 (a). By doing this, the correlation along the diagonal direction can be exploited for interpolation. As D-AIF also has circular symmetry, the coded coefficients are shown in Fig. 4 (b). D-AIF is enhanced by the authors, known as E-DAIF, of which the support region is adaptively switched between diagonal cross (see Fig. 4 (a)) and a radial support (see Fig. 5 (a)). 
          (a)                                                                                (b)
Fig. 4 D-AIF’s (a) support region and (b) coded coefficients  
The enhanced AIF (E-AIF) uses 12-tap filters with a radial support to interpolate sub-positions, as shown in Fig. 5 (a), and adds a 5×5 filter for integer pixels and a DC offset for each integer and sub-position. The horizontal and vertical statistical properties are thought different, so the filter is axisymmetric, of which the coded coefficients are shown in Fig. 5 (b).   
           (a)                                                                                (b)
Fig. 5 E-AIF’s (a) support region and (b) coded coefficients  
Instead of adaptively calculating the filter coefficients for each frame, switched interpolation filter with offset (SIFO) enables frame-level switching between fixed interpolation and sending DC offset for each sub-position. When not using any of the filters, the pixels in different sub-positions and the integer position will be added by their relevant DC offsets, in order to compensate the illumination changes.  

Thursday, November 8, 2012

UNIX and LINUX basic command Cheat sheet

Help on any Unix command.
man {command}Type man ls to read the manual for the ls command.
man {command} > {filename}Redirect help to a file to download.
whatis {command}Give short description of command. (Not on RAIN?)
apropos {keyword}Search for all Unix commands that match keyword, eg apropos file. (Not on RAIN?)

List a directory
ls {path}It's ok to combine attributes, eg ls -laF gets a long listing of all files with types.
ls {path_1} {path_2}List both {path_1} and {path_2}.
ls -l {path}Long listing, with date, size and permisions.
ls -a {path}Show all files, including important .dot files that don't otherwise show.
ls -F {path}Show type of each file. "/" = directory, "*" = executable.
ls -R {path}Recursive listing, with all subdirs.
ls {path} > {filename}Redirect directory to a file.
ls {path} | moreShow listing one screen at a time.
dir {path}Useful alias for DOS people, or use with ncftp.

Change to directory
cd {dirname}There must be a space between.
cd ~Go back to home directory, useful if you're lost.
cd ..Go back one directory.
cdupUseful alias, like "cd ..", or use with ncftp.

Make a new directory
mkdir {dirname}

Remove a directory
rmdir {dirname}Only works if {dirname} is empty.
rm -r {dirname}Remove all files and subdirs. Careful!

Print working directory
pwdShow where you are as full path. Useful if you're lost or exploring.

Copy a file or directory
cp {file1} {file2}
cp -r {dir1} {dir2}Recursive, copy directory and all subdirs.
cat {newfile} >> {oldfile}Append newfile to end of oldfile.

Move (or rename) a file
mv {oldfile} {newfile}Moving a file and renaming it are the same thing.
mv {oldname} {newname}

Delete a file
rm {filespec}? and * wildcards work like DOS should. "?" is any character; "*" is any string of characters.
ls {filespec}
rm {filespec}
Good strategy: first list a group to make sure it's what's you think...
...then delete it all at once.

View a text file
more {filename}View file one screen at a time.
less {filename}Like more, with extra features.
cat {filename}View file, but it scrolls.
cat {filename} | moreView file one screen at a time.
page {filename}Very handy with ncftp.
pico {filename}Use text editor and don't save.

Edit a text file.
pico {filename}The same editor PINE uses, so you already know it. vi and emacs are also available.

Create a text file.
cat > {filename}Enter your text (multiple lines with enter are ok) and press control-d to save.
pico {filename}Create some text and save it.

Compare two files
diff {file1} {file2}Show the differences.
sdiff {file1} {file2}Show files side by side.

Other text commands
grep '{pattern}' {file}Find regular expression in file.
sort {file1} > {file2}Sort file1 and save as file2.
sort -o {file} {file}Replace file with sorted version.
spell {file}Display misspelled words.
wc {file}Count words in file.

Find files on system
find {filespec}Works with wildcards. Handy for snooping.
find {filespec} > {filename}Redirect find list to file. Can be big!

Make an Alias
alias {name} '{command}'Put the command in 'single quotes'. More useful in your .cshrc file.

Wildcards and Shortcuts
*Match any string of characters, eg page* gets page1, page10, and page.txt.
?Match any single character, eg page? gets page1 and page2, but not page10.
[...]Match any characters in a range, eg page[1-3] gets page1, page2, and page3.
~Short for your home directory, eg cd ~ will take you home, and rm -r ~ will destroy it.
.The current directory.
..One directory up the tree, eg ls ...

Pipes and Redirection(You pipe a command to another command, and redirect it to a file.)
{command} > {file}Redirect output to a file, eg ls > list.txt writes directory to file.
{command} >> {file}Append output to an existing file, eg cat update >> archive adds update to end of archive.
{command} < {file}Get input from a file, eg sort < file.txt
{command} < {file1} > {file2}Get input from file1, and write to file2, eg sort < old.txt > new.txt sorts old.txt and saves as new.txt.
{command} | {command}Pipe one command to another, eg ls | more gets directory and sends it to more to show it one page at a time.

Permissions, important and tricky!
Unix permissions concern who can read a file or directory, write to it, and execute it. Permissions are granted or withheld with a magic 3-digit number. The three digits correspond to the owner(you); the group (?); and the world (everyone else).Think of each digit as a sum:
execute permission= 1
write permission= 2
write and execute (1+2)= 3 
read permission= 4
read and execute (4+1)= 5
read and write (4+2)= 6
read, write and execute (4+2+1)= 7
Add the number value of the permissions you want to grant each group to make a three digit number, one digit each for the owner, the group, and the world. Here are some useful combinations. Try to figure them out!
chmod 600 {filespec}You can read and write; the world can't. Good for files.
chmod 700 {filespec}You can read, write, and execute; the world can't. Good for scripts.
chmod 644 {filespec}You can read and write; the world can only read. Good for web pages.
chmod 755 {filespec}You can read, write, and execute; the world can read and execute. Good for programs you want to share, and your public_html directory.

Permissions, another way
You can also change file permissions with letters:
u = user (yourself)g = groupa = everyone
r = readw = writex = execute

chmod u+rw {filespec}Give yourself read and write permission
chmod u+x {filespec}Give yourself execute permission.
chmod a+rw {filespec}Give read and write permission to everyone.

System info
dateShow date and time.
dfCheck system disk capacity.
duCheck your disk usage and show bytes in each directory.
more /etc/motdRead message of the day, "motd" is a useful alias..
printenvShow all environmental variables (in C-shell% - use set in Korn shell$).
quota -vCheck your total disk use.
uptimeFind out system load.
wWho's online and what are they doing?

Unix Directory Format
Long listings (ls -l) have this format:

    - file
    d directory,                                            * executable
    ^   symbolic links (?)  file size (bytes)   file name   / directory
    ^           ^               ^                  ^        ^
    drwxr-xr-x 11 mkummel      2560 Mar  7 23:25 public_html/
    -rw-r--r--  1 mkummel     10297 Mar  8 23:42 index.html
     ^^^        user permission  (rwx)      date and time last modified
        ^^^     group permission (rwx)
           ^^^  world permission (rwx)

How to Make an Alias
An alias lets you type something simple and do something complex. It's a shorthand for a command. If you want to type "dir" instead of "ls -l" then type alias dir 'ls -l'. The single quotes tell Unix that the enclosed text is one command.Aliases are more useful if they're permanent so you don't have to think about them. You can do this by adding the alias to your .cshrc file so they're automatically loaded when you start. Typepico .cshrc and look for the alias section and add what you want. It will be effective when you start. Just remember that if you make an alias with the name of a Unix command, that command will become unavailable.
Here are a few aliases from my .cshrc file:

            # enter your aliases here in the form:
     # alias     this    means this

            alias       h       history
            alias       m       more
            alias q quota -v
            alias       bye     exit
            alias  ls  ls -F
            alias       dir     ls
            alias  cdup cd ..
            alias motd more /etc/motd

How to Make a Script
A Unix script is a text file of commands that can be executed, like a .bat file in DOS. Unix contains a powerful programming language with loops and variables that I don't really understand. Here's a useful example.Unix can't rename a bunch of files at once the way DOS can. This is a problem if you develop Web pages on a DOS machine and then upload them to your Unix Server. You might have a bunch of .htm files that you want to rename as .html files, but Unix makes you do it one by one. This is actually not a defect. (It's a feature!) Unix is just being more consistent than DOS. So make a script!
Make a text file (eg with pico) with the following lines. The first line is special. It tells Unix what program or shell should execute the script. Other # lines are comments.
    #! /bin/csh
    # htm2html converts *.htm files to *.html
    foreach f ( *.htm )
      set base=`basename $f .htm`
      mv $f $base.html
Save this in your home directory as htm2html (or whatever). Then make it user-executable by typing chmod 700 htm2html. After this a * will appear by the file name when you ls -F, to show that it's executable. Change to a directory with .htm files and type ~/htm2html, and it will do its stuff.Think about scripts whenever you find yourself doing the same tedious thing over and over.

Dotfiles (aka Hidden Files)
Dotfile names begin with a "." These files and directories don't show up when you list a directory unless you use the -a option, so they are also called hidden files. Type ls -la in your home directory to see what you have.Some of these dotfiles are crucial. They initialize your shell and the programs you use, like autoexec.bat in DOS and .ini files in Windows. rc means "run commands". These are all text files that can be edited, but change them at your peril. Make backups first!
Here's some of what I get when I type ls -laF:
.cshrcmy C-shell startup info, important!
.historylist of past commands.
.loginlogin init, important!
.plantext appears when I'm fingered, ok to edit.
.profileKorn shell startup info, important!
.projecttext appears when I'm fingered, ok to edit.

DOS and UNIX commands
change directorycdcd
change file protectionattribchmod
compare filescompdiff
copy filecopycp
delete filedelrm
delete directoryrdrmdir
directory listdirls
edit a fileeditpico
find string in filefindgrep
make directorymdmkdir
move filemovemv
rename filerenmv
show date and timedate, timedate
show disk spacechkdskdf
show filetypecat
show file by screenstype filename | moremore
sort datasortsort