Archive

Archive for October, 2010

Web Content Management Systems

October 31, 2010 Leave a comment

In general, a Content Management System (CMS) is a system that manages work flow, usually in a collaborative environment. This system is a collection of procedures that simplify some complex or repetitive tasks. These procedures can be manual or computer-based. Website management is one of the tasks that needs some system to create, edit and manage content. Web pages are a typical example of content. You need some editor to create pages, some database to store them and some system to generate and retrieve pages when they are needed.

Web Content Management System (CMS) is a web application designed for creating and managing HTML content–web pages. Web CMS is used to manage a large collection of web resources (text, HTML code, images, PHP scripts, etc). Web CMS functions usually include: content creation, content control, content editing, maintenance functions, and functions special to each CMS. In general, web content management software applications provide authoring tools designed to allow users with little or no knowledge of programming languages or markup languages to create and manage content with relative ease. Therefore you don't have to know anything about HTML, CSS, PHP, JavaScript, AJAX or other fancy codes.

Web content management systems use a database to store content, metadata, or additional data that might be needed by the system. A web CMS usually contains a presentation layer which displays the content to web-site visitors based on a set of templates. A template is a basic page layout that contains content place holders, page styles and other page data that does not change.

Most web CMS applications use server side caching to boost performance. This works best when the web content is not changed often but visits happen on a regular basis. Administration of web CMS is typically done through web-based interfaces, but some systems require the use of a desktop client. A web CMS typically requires an experienced administrator to set up and add features, but is primarily a Web-site maintenance tool for non-technical administrators. It allows non-technical users to easily make changes to a website with little or no training.

There are many open-source web Content Management Systems you can download and use for free. Some well known free CMS systems are WordPress, Joomla, and Drupal to mention only the most popular. Those mentioned are based on PHP scripting language. There are also other CMS applications based on other languages like.NET, ASP.NET, Java, Java Bundle, Perl, Python, Ruby on Rails, etc.

From only viewing the web page you never know for sure how it was created or generated. Creating web pages with powerful CMS is pretty easy and fun–you can forget about code and HTML tags. You can now focus on content and creativity.

Categories: Technology

Radio Frequencies – What Do They Mean and Why Are They Important?

October 28, 2010 Leave a comment

Radio frequency spectrum is a natural and limited resource. Radio waves are a mean to transfer information from one point to another without using any media. One of the most important properties of any waves is their wavelength or frequency. Radio frequency determines the position in Radio frequency spectrum and hence all the properties of radio wave propagation and potential use.

Because radio waves travel across country borders and may interfere with other radio waves there are many rules, frequency plans and procedures that define how to use radio frequency spectrum to avoid interferences. Because different frequencies have different properties there are some general harmonized frequency bands that define main purpose of the band and basic technical parameters of transmitters using these frequencies. The so called allocations are accepted on international levels and provide basic rules for frequency usage. Each allocation is then further refined and countries may have special agreements on how to use specific frequencies.

One of the most popular services using radio frequencies is terrestrial or satellite broadcasting. Radio and television are a well know and established way to send picture and sound with radio waves. Because we usually want large coverage areas with few transmitters we are using high power transmitters on high transmitting sites. Large coverage areas also mean coverage across the border.

This is a very important fact because in the same area there can be only one transmitter that can operate on a particular frequency without causing interference. Of course, there are special cases like digital broadcasting and single frequency networks where nearby transmitters operate on the same frequency without causing interference, but for analog broadcasting careful frequency planning is a must.

For broadcasting frequency bands there are many special regional agreements that very precisely define particular frequencies allocated to each country, procedures to be used to modify the plan and also many rules that have to be respected to avoid interference.

When we would like to listen to a particular radio we need to know the frequency on which this radio broadcasts. A frequency is like a street address where each house has its own number. For television the same applies. However, for practical reasons we usually do not operate with frequencies directly but we use channels where each channels number represents one (central) frequency with some channel bandwidth.

In general, most consumers are not aware of all the technical details that regulate frequency usage and are used to provide many wireless services. They only expect good music, quality movies and mobile phones that work anywhere.

Categories: Technology

System Optimization – How to Make Your PC More Efficient

October 28, 2010 Leave a comment

You just got a brand new PC with the latest Windows and you are amazed how fast it runs. Then you start adjusting Windows properties and installing programs that you need. After a while your computer is complete. Everything works, all operations are fast and you focus on your work. A common observation after a year or even before is that the computer is not so fast as it used to be. You start thinking what could be wrong. The hardware hasn't changed so it seems that some component is causing trouble. You go to BIOS settings only to confirm that all parameters are at initial values and nothing has been changed. But it is pretty obvious that programs start slower, opening and saving larger files takes a lot of time and with some operations you are getting annoying messages.

It is very likely that the PC hardware is still working as it was when the computer was new. The problem is with the operating system (Windows) that gets cluttered with many unnecessary files and sometimes also the disk gets fragmented. There are few simple tricks that can help to get your PC back into shape.

The most common problem is that you have installed many programs that you don't need anymore. You should uninstall anything that you don't need. Go from the first installed program to the last one and ask yourself when was the last time when you actually needed this program. Unfortunately some programs do not clean all files and registry entries that were created during installation process. Therefore, you should also check the folder in which they were installed and manually delete all the files and folders that belong to the uninstalled program but are still there.

After you clean the disk you need to clean the registry. This is a central Windows storage for various system and user settings. Huge registry is a common bottleneck that can slow down all operations. Unfortunately, you can not clean it manually. There are many good registry cleaners around. Google for it and choose one that fits your needs. Usually such cleaning programs have many functions to clean also other parts of the operating system like temporary files. Registry/PC cleaner program will remove all the references to the programs that don't exist anymore and will also delete all unnecessary files.

The third step in making your PC more efficient is to run the disk defragmenter. This program is included in the Windows and will optimize used locations on the disk where the files are saved for faster loading.

After these steps are done your PC should run faster and you should also have more space on your disks.

If you are still not satisfied with your PC then you can try to improve the size of your desktop area. If you have an old CRT monitor or a small display then it is maybe time to invest into a big LCD monitor. Big working area means comfortable work and less switching between open windows. Check http://computerlcdmonitors.org/ for more information about computer LCD monitors.

Categories: Technology

Turbo Pascal Internals

October 20, 2010 Leave a comment

Do you still remember Borland Turbo Pascal? The most successful Pascal compiler ever? If the answer is yes then you probably remember that Turbo Pascal was indeed Turbo. A very fast compiler which generated quite fast executable code. It featured integrated development environment (IDE) where you could edit, run and debug your programs. Originally created as Blue Label Pascal by Anders Hejlsberg, it was licensed by Borland as Turbo Pascal in early 1980s. Last version for DOS was released in 1992 as Turbo Pascal 7.0. Borland also released similar compiler for Windows and later a brand new product Delphi–Rapid Application Development tool for Windows.

Have you ever wondered what makes Turbo Pascal a fast compiler? Well, if you are interested in Turbo Pascal internals here are described some basic units consisting this compiler. Turbo Pascal design is not conventional as taught in compiler design books. Its design is oriented toward speed. The parser is tightly connected with code generator. There is some low-level intermediate code, but most of the raw code is generated by the parser.

A great example of data structures and algorithms used in Turbo Pascal is TPC16. TPC16 is a Turbo Pascal compatible compiler. It generates unit and executable files compatible with Turbo Pascal 7.0 command line compiler. TPC16 is written in Turbo Pascal. It is consisted of many units described below.

Common Variables
Here are declared all global variables that are used by the compiler. Declarations are grouped into sections. Some sections declare variables which hold data for particular module which is compiled and these variables are saved (pushed) during processing of used units.

Reserved Words
This unit declares a symbol table holding all reserved words. It is separated from other units because the file includes also hash values for reserved words which are generated by a separate program.

Type Definitions
This unit defines data structures that define basic Pascal types (integer, real, extended, Boolean, char, string, file, set, array, object, etc). Unit also contains functions to test type compatibility, symbol table type storage and type processing.

I/O Utilities
Routines for reading and writing files are located in the I/O Utilities unit. This unit also contains procedures for error handling and error reporting.

Symbol Table Management
Symbol table management is one of the most important internal operations in every compiler. This unit contains procedures to create symbol table, insert identifiers into symbol table, search symbol table for some identifier, search unit, procedure or record scope for particular identifier, and all other operations with symbol tables.

Scanner
Here are located procedures that scan source file and generate a stream of tokens. Token is the smallest element of the source which is processed by the parser. Scanner processes source files, skips comments, processes compiler directives, and generates tokens.

Parser
This is the brain of the compiler. It reads tokens, checks language syntax and generates intermediate code. One of the reasons for fast compilation lies in parser. Since it generates code which is close to executable code, the next steps of compilation are pretty fast.

Statements
This unit processes Pascal statements (for, while, repeat, while, etc.), begin-end blocks and assembler blocks.

System Functions
This unit processes system functions like abs, arctan, chr, int, odd, ofs, etc. and generates code for them.

System procedures
This unit processes system procedures like exit, fillchar, writeln, inc, val, etc. and generates code for them.

Expressions
This is the biggest unit and contains functions and procedures to process expressions. Expression is anything that needs to be calculated–from a simple identifier to complex expression in multiple parentheses. There are many cases that need to be tested and processed. Procedures in this unit also generate the majority of the code.

Calculator
This unit contains procedures to process various calculations. Calculation is some operation with one or two expressions (addition, subtraction, multiplication, etc.)

Assembler
This is the inline assembler that processes instruction in an asm-end block.

Assembler Types
This unit declares data structures that are needed for inline assembler.

Code Generator
This unit processes intermediate code and generates executable code and reference data needed in linker. Code generator also performs code optimizations.

OMF Import
This unit imports OMF object files and processes OMF records.

Linker
This unit generates the final executable code and creates output files. Before the code is generated each referenced item is recursively processed and marked. Unmarked items are not executed and therefore not included in the final executable code.

There are many excellent books on compiler design and implementation. However, the best book on compiler design is the compiler itself. If you are interested in Turbo Pascal internals or just need a source code of some real compiler then you should examine the Turbo Pascal compiler source code – Turbo Pascal compiler written in Turbo Pascal. This source code shows all the beauty of the Pascal programming language and reveals all the tricks needed to build a fast and compact compiler for any language, not just Pascal.

Categories: Technology

LCD Vs HDTV – Is There a Difference?

October 15, 2010 Leave a comment

Well, there is a big difference. In fact it is difficult to compare two so different things. They are all related to television picture but mean different things. Years ago there was mainly only one television "definition" or television picture resolution (actually there were few of them but pretty similar) which was in technical circles known as standard definition (SD). The only available type of displaying TV picture was Cathode Ray Tube (CRT) display. The things were pretty simple despite the fact that there were few color TV standards (PAL in Europe and in many other countries, NTSC in USA and Japan, SECAM in Russia and France). In last years all TV sets were capable of displaying all TV standards used around the world.

With the introduction of the digital TV broadcasting television has changed significantly. There are now many different services that were not possible with analog broadcasting. HDTV is one of them. HDTV means High Definition TeleVision. High definition means picture with more lines and more pixels (points) in a line. The good old SD television picture uses between 525 to 625 lines depending on the system used. This system was good enough and survived for decades. The only improvement was addition of colors in late 1950s (or early 1960s in Europe). Two facts contributed to this pretty long life of the old standard definition TV. The first one is than there was no easy way to add features or to modify basic picture or transmission parameters. The second one was that the picture was pretty good (less true for NTSC used in USA and more true for PAL used in Europe). With the introduction of digital broadcasting one of the first major improvements was the introduction of HDTV. It means a picture with more lines. HDTV picture brings more sharpness and more details.

LCD on the other hand is a technology to display TV or computer picture. There are currently two technologies to display HDTV picture: plasma and LCD. Each has some advantages and disadvantages. You should not be concerned by technical details that mean nothing to you. If you are choosing a new TV set then simply take a look at the picture. Compare different models, features and prices. Usually larger TV sets use plasma technology while smaller ones are using LCD displays.

Now you know that LCD is one of the technologies to make panels that can display HDTV picture. LCD panels are used not just for TV sets but also for computer monitors and smaller displays in embedded systems.

It is also possible to watch TV on a computer LCD monitor or to use plasma or LCD TV set as a computer display. You can find more about the LCD technology at the http://computerlcdmonitors.org/ website.

Categories: Broadcasting

The Significance of SEO

October 10, 2010 Leave a comment

A simple example of an optimized page is the http://digitaldatarecovery.org/ website. The layout is very simple which means fast loading, important page elements contain main keyword digital data recovery, and to human visitors and search engines it should be clear what this page is about.

In many cases SEO means only few simple modifications of the page to emphasize relevant keywords. Of course, off-page optimization and link building is also important but this needs more time and efforts.

Categories: Technology

Google Answers All Questions

October 5, 2010 Leave a comment

Sooner or later you come to the situation where you have a problem, some information is missing or you are simply curious and would like to know the answer to a simple question. Since early 1990s there is one universal and almost unlimited source of knowledge – world wide web. There are billions of pages about every imaginable topic. For every question you may ask, there is at least one web page that has answer to that question.

But having billions of pages is of no use if you can not find the information you are looking for. A solution to this problem are web search engines. They crawl all the pages and index them. They are collecting information about the content of all the web pages around the world. But even this huge database of all the web pages is of no use since there are thousands of pages on any subject. It is very difficult to find what you are looking if there are thousands of pages writing about your subject.

The key element in successful web search is to serve relevant results. This means showing only those pages that may have some useful content about the keyword you search for. This is a very difficult task. This is also the point where all the web search engines start to differentiate. There is one search engine that excels in every point of view. Google.

Google is currently the only search engine that maintains high quality of the search results. A key element of this success is the PageRank algorithm. It is based on the number and quality of the links to some particular page. Of course, there are many factors that contribute to the relevance of some page. Quality and unique content is probably the most important. The fact is that Google is able to provide relevant web pages for any query.

The key success in finding what you are looking for is using Google and right keywords. Keywords are the other half of the success. This means that if you are looking for some specific subject you need to find the right keywords to get relevant results. This is not an easy task. You should refine your search keywords according to the result you get. Simply open first few pages from the Google results and you will soon understand what keywords are related to your subject. All you have to do is to use them with your next search. This way you will come closer to the wanted page.

On the web you can find anything. All you need is patience and right keywords. Google offers a universal machine to answer almost all questions. It is a giant encyclopedia. All you have to do is to open it.

The author is a big fan of Google and likes to create websites about popular topics. One of his projects is about cheap garden furniture which provides information about various outdoor furniture including aluminium garden furniture.

Remember, on the web you can find the answer to almost any question!

Categories: Technology