<?xml version="1.0" encoding="UTF-8"?><rss version="2.0">
<channel>
<title>language</title>
<link>http://www.computersight.com/tags/language</link>
<description>New posts about language</description>
<item>
<title>Is Visual Basic the Best Language?</title>
<link>http://www.computersight.com/Programming/Visual-Basic/Is-Visual-Basic-the-Best-Language.347771</link>
<description>
<![CDATA[<p>Visual Basic allows the programmer to create the user interface first, and then add the code as needed to make the interface work. In fact, the majority of the interface is already done for you in the Visual Basic compiler. As a programmer you will only need to tweak the environment and then add the code in the back end to have the interface perform exactly as you would like, also Visual Basic has a large library of pre-made functions that is easily accessible. This allows the programmer to quickly create Windows based applications with a minimal amount of effort.</p>
<p>FORTRAN and Visual Basic, although they are both high level languages, differ greatly in their usage. As stated previously Visual Basic is great for quickly building an application that can do almost anything you need it to do. FORTRAN, on the other hand, is more of a scientific language. FORTRAN is short for &amp;lsquo;formula translator' and is used for formula solving applications.</p>
<p>A large advantage Java has over Visual Basic is that it can perform on virtually any system (Windows (any version), MacOS or UNIX), while Visual Basic is the master of Windows. The reason for this is because Java requires the Java Virtual Machine to be downloaded and installed on any machine Java is installed on. This download does cause certain security issues with access to Java applications. Java does have certain features (the Sandlot security model, etc.) that aid in protecting it but are not tamperproof. Both Java and Visual Basic are excellent languages for development and a developer should know exactly what his network structure is before choosing which language he wishes to use.</p>
<p>Many independent programmers prefer Perl over Visual Basic. They like the ease of use, the cost (free), and many believe a better support base (via online resources versus Microsoft support, which also costs money). But no one can deny the Visual Basic GUI design tools and useful wizards. Regardless of what programmers want they are usually bound by whatever their company uses. In most cases if the company has invested in to Visual Basic then that is what will be used. Also, the actual GUI for Perl is not the most attractive.</p>
<h3>Visual Basic Support and Tools<br /></h3>
<p>There are more tools for Visual Basic than I can name here, but I will give a few examples.<br />&amp;bull;	Sonic Alpha Style Control aids in the look and feel of your GUI.<br />&amp;bull;	Sonic Click - Mega Button Control gives your buttons a web look<br />&amp;bull;	VBScodePrint allows more flexibility in the look of the actual code<br />&amp;bull;	TurboVb Mini Apps allows a person to register and unregister components from explorer</p>
<p>These tools can range to $0 - $150 or more. Visual Basic has more tools created for it than any other programming language. Search the Internet and you will find several free applications you will find useful for your programming experience.</p>
<p>Visual Basic has two main ways to receive support. The expensive and time consuming way is by contacting Microsoft. The more common way is to look for help via the Internet. There are several web sites dedicated to the programmer who is in need of some help. They are usually quicker and always free.</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FVisual-Basic%2FIs-Visual-Basic-the-Best-Language.347771"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FVisual-Basic%2FIs-Visual-Basic-the-Best-Language.347771" border="0"/></a>]]></description>
<pubDate>Mon, 17 Nov 2008 03:39:28 PST</pubDate></item>
<item>
<title>UPL Dreams (Universal Programming Language)</title>
<link>http://www.computersight.com/Programming/UPL-Dreams-Universal-Programming-Language.193265</link>
<description>
<![CDATA[<p>Today there is uncountable number of programming languages. Some are useless and some is a must for any programmer. By time a compatibility problems arise. This leads to an idea of programming language for all programmers and all types of applications on all types of platforms. This idea proposed as Universal Programming Language (Upl).</p>
<p>Programming languages are the only way of communication between programmers and the computer. Each programming language has its own syntax and semantic. The syntax is the sentence structure. The semantic is the meaning of the sentence. Programmers should be able to read, write and manipulate such sentences in order to write a program.</p>
<p>A program is a set of sentences written in some programming language then compiled or interpreted to machine code, in order to be executed.</p>
<p>Upl aims to provide a perfect syntax and semantics. Which are easy to be understand by the programmers and powerful enough to produce high quality programs.</p>
<h3>Analysis</h3>
<p>"Universal":</p>
<p>Universal is an adjective for a noun that is a general for everything.</p>
<p>"Universal language":</p>
<p>Universal language is a language that is used by everyone in everywhere, as a general way of communication.</p>
<p>"Universal programming language":</p>
<p>Universal programming language is a programming language that is can be used by any programmer to write any kind of programs.</p>
<p>Programmers and the language itself:</p>
<p>English as "Universal language":</p>
<p>English is one of most spoken languages in the world. It can be found spoken and written everywhere. This vast spreading of English language makes a big problem for non English peoples. They want their languages to be universal ones. As example, French believe that their language is more powerful, elegant and flexible language and they are trying to make it a universal one.</p>
<p>English as "Universal programming language":</p>
<p>Most of programming languages are written in English characters with respect for English syntax and semantic. This makes programming languages more understandable by programmers.</p>
<p>A problem similar to the previous one has been arising. Programmers want to program in their mother tongue language. Moreover some freaks want to program in their own languages.</p>
<p>Programs that can be written by the language:</p>
<p>Universal programming language must be able to allow programmers to write any type of programs. It must produce system level, web services, real systems, phones, desktop, games, etc &amp;hellip;.</p>
<p>In fact there is no programming language that can do all of those programs. But there are many programming languages to do each type. C and C++ are most programming languages used for operating systems, system level programs and games. Java and Dot Net are both famous at desktop application level. Assembly is unbeatable at real system level. And so on.</p>
<p>Unfortunately, each programming language is designed for specific domains and ranges. Domains are the platforms and ranges are the applications types. So we can not use assembly to create web pages and we can not use html to produce real time systems.</p>
<p>Problems arise:</p>
<ul>
<li> Everybody wants to program in his suitable language</li>
<li> Each Programming language has a domain and a range</li>
</ul>
<p>Implementation:</p>
<p>By the time being there is one simple freaky implementation of the universal programming language. It is called upl_2. It is an enhanced version of upl_1 project. We will discus the original upl project before getting cross upl_2.</p>
<h3>Upl_1</h3>
<p>Latest release is upl_0.1.4 alpha</p>
<p>Available at <a href="http://upl.sourceforge.net" target="_blank">http://upl.sourceforge.net</a></p>
<h4>Definition</h4>
<p>&amp;nbsp;</p>
<p>Universal Programming Language is a platform that helps new comers and children to learn programming.</p>
<p>This platform helps to create programming languages for all languages and all purposes.</p>
<h4>Goals</h4>
<ul>
<li> provide a Multilanguage programming language</li>
<li> language for who do not speak English, non IT major students and school students </li>
</ul>
<h4>Work Method</h4>
<ul>
<li> Language engine load the language definition from language definition file</li>
<li> Language engine spread the language definition for the whole system</li>
<li> Programmer writes his code with respect to loaded language definition</li>
<li> Check engine checks the written code for any errors</li>
<li> Upl compiler will Convert upl language to java</li>
<li> Java compiler will Compile java files to byte code</li>
<li> Jar creator will pack the class files in a jar file </li>
</ul>
<p><img src="http://images.stanzapub.com/readers/computersight/2008/08/03/249373_0.jpg" alt="" /></p>
<h4>Advantages of UPL_1</h4>
<ul>
<li> Programmer can change the programming language keywords for his own keyword</li>
<li> Keywords can be written in any utf-8 supported languages. Such as Arabic, Hebrew, French, etc.</li>
<li> Easy syntax and semantic</li>
<li> Upl and it is output are operating system independent, written using java</li>
</ul>
<h4>Disadvantages of UPL_1</h4>
<ul>
<li> Programmer can not change syntax nor semantic</li>
<li> Output limited to simple desktop applications</li>
<li> Little features comparing to famous high level languages</li>
</ul>
<h4>Conclusion</h4>
<p>Upl_1 is a very promising project. It needs to add a more advanced language engine which allows changing of keywords syntax and semantic. Also more features should be copied from java by extending upl to java compiler. Finally, with more time and effort upl can override the entire disadvantages that it has, Except the application type limitation, where a new design should be adapted.</p>
<h3>Upl_2</h3>
<p>Upl_1 project design is very simple. This makes it difficult to use it for the new generation of upl project. A new replacement was proposed as upl_2. It is an enhanced version of upl_1. It promise to be more stable, powerful, flexible and with no disadvantages.</p>
<p>Upl_2 goal is to be the first complete universal programming language. It aims to fulfill the three main conditions. They are:</p>
<ul>
<li> Written by any language</li>
<li> Produce any application </li>
<li> Run on any platform</li>
</ul>
<h4>Analysis</h4>
<p>To achieve a correct analysis results we must analyze the three main conditions separately. Then make a connection between them.</p>
<h4>Condition 1 _ Any Language</h4>
<p>This part is held in the language engine. So the improvement should be in the language engine and the language definition file.</p>
<p>"Any language" can be divided to two types:</p>
<ol>
<li> Existing programming language</li>
<li> Customized programming language</li>
</ol>
<p>Language engine will deal with the second type. Since the first type can be handled by the available corresponding compilers and interpreters.</p>
<p>In order to deal with customized programming language we will need some tools and methods from the compilers topic such as parsers, lexical analyzers, etc.</p>
<p>There is uncountable number of possible customized programming language. It will be impossible to make a compiler for each language. Possible solution is to make a backbone programming language where any customized programming language must depend on it.</p>
<p>Dynamic parser can be used to create links between the backbone and the customized programming languages. Adding those links to the upl_1 language definition files will be the last step for creating the upl_2 language definition files. In the other side a Dynamic parser should be included in the language engine to work as translator between the backbone and the customized programming languages.</p>
<p>Possible scenario can be like this:</p>
<p>Parser1:	verb,sp+,Keyword,sp+,name,sp+,operand,sp+,value</p>
<p>cpl code1:	declare integer I = 0</p>
<p>Parser2:	verb,sp+,name,sp+,Keyword,sp+,operand,sp+,value</p>
<p>cpl code2:	put  I as int  equal 0</p>
<table border="1" cellpadding="0">
<tbody>
<tr>
<td>backbone language definition</td>
<td>customized language definition</td>
</tr>
<tr>
<td>put</td>
<td>Declare</td>
</tr>
<tr>
<td>Int</td>
<td>Integer</td>
</tr>
<tr>
<td>Equal</td>
<td>=</td>
</tr>
<tr>
<td>Space = { nt}
<p>&amp;nbsp;</p>
<p>Name !={!@#$%^&amp;amp;*()-+/[]{}?&amp;lt;&amp;gt;`'";:,.}</p>
<p>Value ={0-9}+{0{{.}1{}+}1}</p>
<p>Keyword = {as} keyword</p>
</td>
<td>Space = { nt}
<p>&amp;nbsp;</p>
<p>Name !={!@#$%^&amp;amp;*()-+/[]{}?&amp;lt;&amp;gt;`'";:,.}</p>
<p>Value ={0-9}+{0{{.}1{}+}1}</p>
<p>keyword = keyword</p>
</td>
</tr>
</tbody>
</table>
<p>Condition 2 _ any application:</p>
<p>A problem arise that there is no one programming language that can create all type of applications. But Upl_2 designers believe that it is not the end of the dreams.</p>
<p>An imaginary design was proposed as a solution for this problem. They summarized it in one phrase:</p>
<p>&amp;ldquo;If you cannot climb a mountain, still you can walk around it&amp;rdquo;.</p>
<p>Here goes the figure:</p>
<p><img src="http://images.stanzapub.com/readers/computersight/2008/08/03/249373_1.jpg" alt="" /></p>
<p>From the above figure, it is clear that upl engines will work as an intermediate level between the input and output codes. A possible scenario is as following:</p>
<ol>
<li> A code written by c++ in order to produce a java desktop application</li>
<li> Using upl engines, it will be converted to java code. After that the code generated will be used to create the application </li>
</ol>
<p>For such a dream it is a must that we link all available tools together. Let us assume the following condition:</p>
<ol>
<li> There exist a upl to java code convertor (ujc)</li>
<li> There exist a java to c++ code convertor (jcc)</li>
<li> There exist a c++ to c# code convertor (ccc) </li>
</ol>
<p>A programmer who knows how to write in upl code wants to develop a c# program. A life cycle for his code could be as following:</p>
<ol>
<li> Upl code to java (using ujc)</li>
<li> Java code to c++ (using jcc)</li>
<li> C++ code to C#   (using ccc)</li>
<li> The program code is in c# code</li>
</ol>
<p>Such scenario can be repeated in millions of different forms. Still all of them can be solved in the same way.</p>
<h4>Condition 3 _ Any Platform</h4>
<p>An interpreted language as java can be a convenient for this condition. Still most of programming languages are compiled ones. Different version of compilers and interpreters should be linked together in similar way as discussed in condition 2.</p>
<h3>Conclusion</h3>
<p>As the time goes, a lot of updates and enhancement will be add to the available programming language. Upl aim is to link all these programming languages together, which is almost impossible. From the proposed structures and designs, upl will face limitless obstacles. Those obstacles are belonging to time the ideas appear on, available technologies and most of all the desirable benefits will be gained from this project.</p>
<p>In the time being, making a Multilanguage programming language may be a good excuse for working on this project, where the target of the project are students and non it majored people. A more powerful designs and architectures should be proposed, if the project wanted to be continued in future as a real upl.</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FUPL-Dreams-Universal-Programming-Language.193265"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FUPL-Dreams-Universal-Programming-Language.193265" border="0"/></a>]]></description>
<pubDate>Sun, 03 Aug 2008 03:20:40 PST</pubDate></item>
<item>
<title>Translate Your Microsoft Word Document Into Another Language</title>
<link>http://www.computersight.com/Software/Microsoft-Office-Suite/Translate-Your-Microsoft-Word-Document-Into-Another-Language.190715</link>
<description>
<![CDATA[<p>The world marketplace is becoming smaller and smaller as other countries open their doors for business.  If you are in business or work closely with others from around the world in a company that you work for now then you know how important it is to speak their language and of course the same holds true in reverse.</p>
<p>Microsoft Word offers a neat feature that will translate your Microsoft Word document into a variety of languages.  It is as simple as load, select the language and translate.  Now, not being able to speak all of these languages myself, I can not tell you whether or not it does an adequate job or not, but it looks pretty good on the screen.  So keeping that information in mind, make sure you proof read any documents that have been translated before you email them or send them to your colleagues, friends or business associates.</p>
<p>Here are the exact steps you will need to take in order to accomplish this task.  Once you read how it is done, you will be amazed as to how easy the process can be.  You can also take Microsoft Word documents in another language and translate them into your own native tongue.</p>
<p>The first thing you need to do is open up Microsoft Word.  When Microsoft Word appears on the screen it will default to a blank document.  It doesn't make much sense to show you how to translate a blank document, so we will need to load a document with plenty of text on it first.  So go ahead and open a Microsoft Word document that you have previously created.  If you do not have one, go to Wikipedia and copy some text into the blank template that was loaded when you first opened Microsoft Word.  It doesn't matter what the information is in the document, the important thing is to actually have something to translate.</p>
<p>At the top of the screen you will see menu options labeled, &amp;ldquo;File&amp;rdquo;, &amp;ldquo;Edit&amp;rdquo;, &amp;ldquo;View&amp;rdquo;, &amp;ldquo;Insert&amp;rdquo;, and so on.  Click the menu option labeled, &amp;ldquo;Tools&amp;rdquo;.  Below that a submenu will appear.  Choose the option on the submenu that says, &amp;ldquo;Language&amp;rdquo;.  From there another submenu will appear and you will want to choose the option that says, &amp;ldquo;Translate&amp;rdquo;.</p>
<p>On the right side of your screen you should now see a window that says &amp;ldquo;Translation&amp;rdquo;.  The &amp;ldquo;from&amp;rdquo; box will default to your current language.  Select the language you want to translate your document into by selecting a language in the &amp;ldquo;To&amp;rdquo; box.  Once you have chosen the &amp;ldquo;To&amp;rdquo; language, click on the green arrow.</p>
<p>A window will appear with your translated documented.  Simply copy and paste this translated text into a new Microsoft Word document and whoala!  Your job here is done!</p>
<p>As you can see it is a very easy process that takes less than a few seconds.  However these few seconds can help you immensely when trying to communicate with colleagues in a global marketplace.</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FSoftware%2FMicrosoft-Office-Suite%2FTranslate-Your-Microsoft-Word-Document-Into-Another-Language.190715"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FSoftware%2FMicrosoft-Office-Suite%2FTranslate-Your-Microsoft-Word-Document-Into-Another-Language.190715" border="0"/></a>]]></description>
<pubDate>Thu, 31 Jul 2008 09:16:59 PST</pubDate></item>
<item>
<title>Mathematical and Logical Topics for Language Paradigms</title>
<link>http://www.computersight.com/Programming/Mathematical-and-Logical-Topics-for-Language-Paradigms.112325</link>
<description>
<![CDATA[<p>Procedural programming is sometimes referred to as imperative programming which functions to specify the steps the program must undergo to achieve the desired state and a programming paradigm based on procedure call. Procedures, variably referred to as routines, subroutines, methods or functions, contain a series of computational steps that are to be used.  A given procedure can be used at the program's execution which may include other procedures.</p>
 
<p>Procedural programming is preferred than simple sequential programming because of its easy maintainability. These are the advantages of procedural programming:</p>
 
<ul>
<li> Reusing the same code at different places in the program without copying it is possible</li>
 
<li> Easier to keep track of program flow than the GOTO or JUMP commands</li>
 
<li> Its modular or structured compared to other programming language </li>
 
</ul>
<p>For a programming language to be called procedural, it has to support procedural programming by a clear concept of a procedure and a syntax that define the procedure.  The universally accepted example of procedural programming is the ALGOL. Other examples are: Ada, ASP, BASIC, C C++, ColdFusion, COBOL, PHP, PL/C and others.</p>
 
<h3>Object-Oriented Programming</h3>
 
<p>Object-oriented programming (OOP) is a programming paradigm that makes use of &amp;ldquo;objects&amp;rdquo; to design programs and applications.  The techniques used for this program is varied such as inheritance, modularity, polymorphism and encapsulation.  Object-oriented programming came about as a method to tackle the perceived software crisis where hardware and software became more and more complex.  OOP emphasizes modularity or the discrete units of programming logic.</p>
 
<p>Simula programming language was the first to use the concepts behind OOP such as objects, classes, subclasses, virtual methods, coroutines, garbage collection and discrete event simulation. Smalltalk was the first programming language classified as &amp;ldquo;object-oriented&amp;rdquo;.</p>
 
<p>Object-oriented programming is a collection of cooperating objects instead of using instructions. Each object is capable of receiving and sending messages and processing data.  This enables greater maintainability and flexibility in programming.</p>
 
<h3>Functional Programming</h3>
 
<p>Functional programming is a programming paradigm that uses computation as the evaluation of mathematical functions. It does not encourage the use of state and mutable data.  Its main emphasis is the application of functions.</p>
 
<p>&amp;ldquo;Purely&amp;rdquo; functional programming languages are mostly used in academia not in commercial software.  There are, however, functional programming languages used in commercial applications such as Erlang, R (statistics), Mathematica, Haskell, ML, J and K (financial analysis) and programming languages specifically for domains such as XDLT. Lambda calculus is the foundation of majority of the models of functional programming.</p>
 
<h3>Logic Programming</h3>
 
<p>Logic programming or the logical programming is employing mathematical logic for computer programs.   This view originated from John McCarthy's advice-taker proposal.  Logic is entirely a declarative representative language using a theorem-prover or model-generator to solve problems.  The job of solving problems is carried out by the programmer who can asses the truth of the programs and the theorem-prover or model-generator that can solve problems capably.</p>
 
<h3>Parallel Programming</h3>
 
<p>Parallel programming or parallel computing is carrying out in real-time some combination of multiple programming instructions and data on multiple processors to reach quicker results. This is based on the method of problem solving divided into smaller tasks executed with coordination.</p>
 
<p>In a parallel computing system, there is more than one processor to carry out parallel processing.  Flynn's taxonomy is considered one of the most accepted taxonomies of parallel computing. It divides parallel computers into: whether all processors carry out similar instructions at the same time (single instruction/multiple data- SIMD) or each processor could carry out different instructions (multiple instruction/multiple data- MIMD).</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FMathematical-and-Logical-Topics-for-Language-Paradigms.112325"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FMathematical-and-Logical-Topics-for-Language-Paradigms.112325" border="0"/></a>]]></description>
<pubDate>Mon, 21 Apr 2008 09:13:05 PST</pubDate></item>
<item>
<title>Interfacing MATLAB and the TI TMS Board</title>
<link>http://www.computersight.com/Programming/Interfacing-MATLAB-and-the-TI-TMS-Board.86910</link>
<description>
<![CDATA[<p>Since its inception, the TMS board family has become a household name in the engineering world. Similarly, a state-of-the-art discussion on Digital Signal Processing (DSP) is incomplete without MATLAB integration. Why, then, is there no direct interface available between these two giants? This section explores the traditional applications of both MATLAB and the TMS board, and the contributions our group aims to make to DSP analysis through our project.</p>
 
<h3>Background Material</h3>
 
<p>MATLAB is a numerical computing environment and programming language that is used by more than one million people in industry and academia. MathWorks, the supplier of MATLAB, asserts that &amp;ldquo;MATLAB allows easy matrix manipulation, plotting of user interfaces, and interfacing with programs in other languages.&amp;rdquo; (MathWorks, 2006) It is a highly numerically-oriented language designed for performing computationally intensive tasks that other traditional languages such as C, C++ or Fortran do not perform time-effectively.</p>
 
<p>MATLAB's unique ability to be programmed to perform repetitive analyses in a time-effective manner corresponds to the repetitive nature of digital signals. Its computational speed allows it to be ideally used for real-time signal sampling and analysis as well. Unsurprisingly, MATLAB is among the most popular and widely used languages for the analysis of DSP signals today. The capability of rapid prototyping of digital signals offered by MATLAB is shared with certain digital signal processors, such as the TMS board, and hence it is no surprise that these often complement each other in traditional DSP analysis.</p>
 
<p>Digital signal processors come under two categories: application-specific and general purpose processors. Application-specific chips are built for performing specific functions accurately and efficiently, whereas general-purpose chips perform multiple functions and may compromise efficiency with functionality. (Singh 2-3)</p>
 
<p>A programmable digital signal processor is both cost-effective and may be programmed for a wide range of applications. Such a microprocessor is built with an optimized architecture to process sampled data at a high rate. Simple operations, such as calculating the sum of a geometric series, can be performed at much higher speeds than an ordinary microprocessor. For more complicated operations, the speed difference becomes more noticeable. (Singh 2-3)</p>
 
<p>This is what makes the programmable TI TMS board ideal for DSP signal analysis. The board's capability to process sampled data at high speeds makes it an effective resource for the real-time processing of digital signals. The repetitive nature of signal processing is exploited in the TMS board by incorporating parallel operations and data pipelining. These features give this board the reputation of being fast and high in throughput. (Singh 2-3)</p>
 
<h3>What Has Been Done with MATLAB</h3>
 
<p>MATLAB is used in a wide range of applications, including signal and image processing, communications, control design, test and measurement, financial modeling and analysis, and computational biology. Add-on toolboxes extend the MATLAB environment to solve particular classes of problems in these application areas.</p>
 
<h3>What Has Been Done With The TMS Board<br /></h3>
 
<p>As programmable digital signal processors are becoming more powerful in terms of speed and functionality, their applications are continually dominating today's industry. The TMS board, specifically, is used in a wide spectrum of areas, such as speech and image processing, automotive, control, communication, entertainment, instrumentation and medicine. Typical applications include toys, medical instruments, speech synthesis and recognition systems, audio equalizers, echo cancellers, and robotic controllers.</p>
 
<p>Traditional interfacing between MATLAB and TMS board and what we plan to do</p>
 
<p>The absence of a direct MATLAB-to-TMS board interface in the market today inhibits the performance of many DSP projects. The traditional method of simulating such an interface involves the manual execution of all intermediate steps. This includes converting MATLAB source code to intermediate language code (such as ANSI C), which in turn is converted to Assembly code. This Assembly code is finally downloaded on to the TMS board. With this approach, cumbersome consequences are abound.</p>
 
<p>Consider what happens when a MATLAB code must be modified. To reflect this change on the TMS board, all subsequent intermediate languages must be manually modified. Needless to say, this is time-consuming and inefficient. In complicated DSP systems, where such frequent modifications are inevitable, such handling becomes a labouring and impractical process, and a more reasonable structure is required.</p>
 
<p>The objective of our project is to provide a tangible solution to these drawbacks. We aim to improve the efficiency of DSP algorithmic simulation through the development of a direct interface between MATLAB and the TI TMS board. Specifically, the TMS 320C6713 board will be used to implement this project. This is a commercial DSP device made by Texas Instruments. It is a processor which, while retaining all the features of the basic processor architecture, provides a number of additional features for improved speed and performance.</p>
 
<p>Apart from efficiency, such a direct interface will also make the real-time simulation of DSP algorithms possible. Hence, a continuous stream of inputs can be collected, analyzed and processed into outputs simultaneously. This will further improve the time efficiency of DSP analysis, as a stream of data can be analyzed and processed in real-time.</p>
 
<p>In conclusion, our project is concerned with the rapid prototyping of DSP algorithms through the development of a direct interface between MATLAB and the TMS board.  This will eliminate, or at least reduce, the intermediate language conversion steps that weigh down the efficiency of the system. It will also make real-time analysis of signals possible using MATLAB. If time permits, rapid prototyping of important signal processing algorithms would also be implemented.</p>
 
<h3>Project Challenges</h3>
 <ol> 
<li> The finite word-length (resolution) of the TMS board will quantize the coefficients of the designed system obtained from MATLAB. This may adversely affect the characteristics of the system. Our first challenge is to overcome the effects of the finite word-length such that any MATLAB code conversion to assembly language does not affect the overall characteristics of the filter.</li>
 
<li> MATLAB is manufactured by MathWorks, whereas the TMS board is manufactured by Texas Instruments. As these two resources have been created independently of each other, they are consequently incompatible and it will be a major challenge to develop a reliable interface between them.</li>
 
<li> One of the most challenging parts of the project is to get ourselves familiarized with the TMS board. Our team has no previous programming experience in the TMS assembly language, and we must train ourselves by going through the tutorials provided with the TMS board. </li>
 </ol> 
<h3>Innovative Features</h3>
 <ol> 
<li> Our project will introduce the rapid prototyping of MATLAB code into the TI TMS hardware in real-time, which is currently not available in the industry</li>
 
<li> There is currently a division between software and hardware professionals within the area of signal processing. Software professionals typically deal with the interfacing between programming languages. Once the MATLAB to assembly conversion protocol is developed, a hardware professional would be able to use it without consulting a software professional for intermediate language conversion. </li>
 </ol> 
<h3>Equipment and Budget</h3>
 
<h3>Hardware</h3>
 
<h4>TMS Board</h4>
 
<p>The main hardware component of the project is the TMS 320C6713 board made by Texas Instruments. It is a micro-controller which is embedded with a pipelined digital signal processor for real-time signal processing. Based on the educational discount, the TMS board will cost around $500.</p>
 
<h4>Function Generator</h4>
 
<p>The function generator is used to generate electrical waveforms which are fed to a system requiring a signal input. This equipment is provided by York University in the Digital Signals Processing Lab.</p>
 
<h4>Digital-to-Analogue Converter (DAC)</h4>
<p></p>
 
<p>The signal outputted from the TMS board is in digital format. In order to obtain an observable output, a DAC is needed to convert the digital signal into an analogue signal. In the case of speech processing applications, for example, the analogue speech signal will be the output of the DAC converter, which can be heard through a speaker. Audio effects such as delays and echoes could be applied to the input to obtain the output from the speaker in real-time.</p>
 
<h4>Speakers</h4>
 
<p>For speech signals, the speaker is a possible interface for human observers to conceive the output. An off-the-shelf speaker would do the job here. The cost of this speaker is approximately $30.</p>
 
<h4>Oscilloscope</h4>
 
<p>To ensure we are getting the desired output, an oscilloscope would be used to trace the processed signals. This equipment is provided on campus in the Signals and Systems Laboratory.</p>
 
<h4>Miscellaneous Electronic Components</h4>
 
<p>Additional hardware to interface the board with MATLAB Software will also be required. The cost for this is around $200.</p>
 
<p>The combined cost of all the hardware would be approximately $730 CDN.</p>
 
<h3>Software</h3>
 
<h4>MATLAB</h4>
 
<p>We would use MATLAB Version 7.0 as our programming environment. We will use the MATLAB software that is already installed on the computers in the Digital Signals Processing Lab in the Computer Science and Engineering Building. Therefore, the cost of this software is $0.</p>
 
<h4>MATLAB(M-files)-to-C Compiler</h4>
 
<p>The MATLAB Compiler automatically converts M-files into C source code. This is available in MATLAB as a toolbox. The cost of this toolbox is $100.</p>
 
<h4>C-to-Assembly Compiler</h4>
 
<p>The TMS board comes with the C-to-Assembly Compiler, which takes the C source code generated in the MATLAB Compiler and outputs it as assembly language which the TMS board would understand. This compiler comes with the Code Composer Studio from the TMS board. Therefore, the cost of this software is included in the cost of the TMS board.</p>
 
<h4>TMS 320C6713 Simulator Software System</h4>
 
<p>The TMS 320C6713 simulator software system is included with the board. Once we have designed the algorithm in MATLAB, the project must be tailored to suit the DSP architecture, processor speed, and memory constraints of the TMS 320C6713 board. The simulator allows us to test and step through the code to see the effects each instruction has on the registers and memory. Input/output ports and interrupts can be simulated so the team can observe a simulated result of what is occurring during the development phase. This simulator comes within the Code Composer Studio of the TMS board. Therefore, the cost of the simulator is included in the cost of the TMS board.</p>
 
<p>The total cost for the software components is $100. The remaining software needs are provided through York University, hence there is no additional software cost that we can think of at this time.</p>
 
<h3>Presentation</h3>
 
<h4>Presentation Poster</h4>
 
<p>In order to present and defend our work, we will create a poster which describes the project to the audience. The cost of the poster is approximately $150 CDN.</p>
 
<p>The total cost of the project is anticipated to be around $980.</p>
 
<h4>Technical Specifications</h4>
 
<h3>Analysis and Design</h3>
 
<p>Direct interfacing between MATLAB and the TMS board requires the automatic integration of intermediate procedures that are currently executed manually. To simulate DSP algorithms in real-time, the following sequence of steps will be applied:</p>
 <ol> 
<li> A digital signal is passed to the MATLAB environment, processed according to a specified algorithm, and its respective code is generated. As an example, consider the low-pass filtering of a speech signal. A low-pass filter will be designed and tested with a variety of test signals generated by the function generator. Finally, the speech signal will be filtered by the designed filter to confirm its characteristics.</li>
 
<li> Finite wordlength effects of the TMS board will be simulated in MATLAB and the filter coefficients will be quantized accordingly</li>
 
<li> The MATLAB code generated is converted to C-language code through a MATLAB-to-C compiler</li>
 
<li> This code is further converted to assembly-language code through a C-to-assembly compiler</li>
 
<li> The assembly code is downloaded onto the TMS board</li>
 
<li> The TMS board will continually process the input and generate an output signal as the input signal is being fed</li>
 </ol> 
<p>Upon rapid prototyping and integration of the above steps, a simultaneous and real-time input to output interface will be created.</p>
 
<p><br />Implementation Diagram</p>
 
<p><img src="http://images.stanzapub.com/readers/computersight/2008/02/24/117417_0.jpg" alt="" /></p>
 
<h3>Testing Plans</h3>
 
<p>The accuracy of the MATLAB-to-C Compiler is critical to the deliverables. We must ensure that the converted C-language code is a reliable representation of the MATLAB code. To verify this, tests would be performed by comparing the output of the converted C code algorithm with the output of the original algorithm implemented in MATLAB. Similar testing procedures would be performed on the C-to-Assembly Compiler.</p>
 
<p>Being manufactured independently and by different companies, the finite wordlengths (resolutions) of MATLAB and the TMS assembly language are incompatible. Since the wordlength used by MATLAB is higher than that of the TMS board, the signal must be quantized to the TMS resolution. Without quantization of the signal to the TMS resolution, the TMS board will by default truncate the original information. This loss of precision may critically change the characteristics of the system. To resolve this critical issue, the input signal must be quantized in MATLAB in a manner compatible with the TMS resolution, so that the required specifications of the system are upheld.</p>
 
<p>A series of extensive testing procedures will be held for a variety of test applications when the system is near to its completion. This would include testing the real-time processing capability of the TMS board. The processing delay of the TMS board would be the main criteria to determine the efficiency of the TMS board on real-time signal processing.</p>
 
<h3>Milestones</h3>
 
<p>Oct. 2 - Oct. 20</p>
 
<ul>
<li> Familiarize ourselves with the TMS board architecture and the Code Composer </li>
 
</ul>
<p>Studio came with the board.</p>
 
<ul>
<li> Conduct tutorials using the TMS board to familiarize ourselves with the TMS board </li>
 
</ul>
<p>Oct. 21 - Oct. 25</p>
 
<ul>
<li> Prepare the Specifications and Milestones Report </li>
 
</ul>
<p>Oct. 26 - Nov. 21</p>
 
<ul>
<li> Review the MATLAB to C conversion toolbox available in MATLAB</li>
 
<li> Review the C language and its conversion to Assembly Language, as supported by </li>
 
</ul>
<p>the TI TMS board</p>
 
<p>Nov. 22 - Nov. 29</p>
 
<ul>
<li> Prepare the Interim Report </li>
 
</ul>
<p>Nov. 29 - Jan. 31</p>
 
<ul>
<li> Develop an interface between MATLAB and the TSM board. Detailed milestones in </li>
 
</ul>
<p>this area to follow.</p>
 
<p>Feb. 01 - Mar. 30</p>
 
<ul>
<li> Experimentation and rapid prototyping of the applications to be implemented. Some specific applications that will be used for the testing process are radar simulation and speech processing.</li>
 
<li> Testing of real-time processing capability of the TMS board </li>
 
</ul>
<p>April 01 - April 30</p>
 
<ul>
<li> Finalization of the deliverables</li>
 
<li> Prepare the Presentation and Final Report </li>
 
</ul>
<h3>Deliverables</h3>
 
<p>The deliverables of the project would be a real-time digital signal processing system. The final product will be a module designed for MATLAB, which will directly download the respective code to the TMS board, without any manual interference from the user/software developer. A single issue of a MATLAB command would trigger the MATLAB-to-C, C-to-Assembly sequence. It would then automatically download the assembly code to the TMS board. After downloading the required program to the TMS board, real time signal processing of signals could be made possible without pre-storing of input data. In short, the system will process the input in real time, and the output would be obtained almost instantly, incurring only the processing delay.</p>
 
<h3>Future Work and Conclusions</h3>
 
<p>Upon successful completion of the project, the rapid prototyping of MATLAB to assembly language can be extended to other families of boards, such as the Motorola board. The project could also possibly be expanded to a real-time image processing system, assuming we have a DSP board that has enough processing power.</p>
 
<p>&amp;nbsp;</p>
<p>&amp;nbsp;</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FInterfacing-MATLAB-and-the-TI-TMS-Board.86910"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FInterfacing-MATLAB-and-the-TI-TMS-Board.86910" border="0"/></a>]]></description>
<pubDate>Sun, 24 Feb 2008 06:48:01 PST</pubDate></item>
<item>
<title>Steps to Become a Hobbyist Game Programmer</title>
<link>http://www.computersight.com/Programming/C++/Steps-to-Become-a-Hobbyist-Game-Programmer.40880</link>
<description>
<![CDATA[<p> Before choosing a language you must consider some thing:</p>



    
<p> What do I want to get out of the language?  Do I want to have a language that I can speed up the development process, but not have such a high performance game?  Or do I want to have to use a meticulous language that requires a lot of time and effort to right the code but is able to wield a high performance result.  If you answer yes to a language that is easy to program in, then you are probably going to pick C#, VB.net, or python.  If you want performance you will probably want C++ or C.</p>



   

<p>  What future do I want in the Game Development industry?  Do I want to program games for fun or do I want to become a professional.  If you are looking to program for fun any language that you like will suit you fine.  If you are looking to be a professional then C++ is the likely course.</p>



   

<p>  The most important question you must ask is what is my programming background and how much time do I want to spend learning a language.  This question should over rule all other factors simple because to get into game development you want to learn the language fast so you can learn the game programming part, and once you do that switching languages is easy if you don't like your choice. 

  </p>



 

<p>That being said, if you have no programming experience you should go for C#, it's very easy to learn and provides you with concepts that you need in other programming language.  For more experienced programmers the choice is simple stick with what you know.    
  </p>


  
 
<p>
I would like to note that if you answered the first to questions such that you want to learn C++ but you have no programming experience, I would suggest starting with c# and learning so simple game programming and then make the switch.</p>



 

<p>The next step is to actually learn the language.  This step is the easiest to explain but the one of the hardest to actually do.  If you want to learn c# I would recommend find Microsoft's absolute beginners series on it?  That would give you the basic ground work, and then you would want to get more in detail with the language. Luckily Microsoft provides us with a webcast that does just that. To find it search for Microsoft's C# soup to nuts web cast series. </p>



<p>
Next, you will want to purchase a good reference book.  You may be able to find a free one online.  C++ is relatively simple to find info on just do a Google search for c++ and the info is all right there.  There all also plenty of reference books on the language that you may want to buy after you have the foundation of the language learned.  </p>


 

<p>  
 The next step is to pick a game development API.  An API is like a helper in game programming, it provides you with code that is already written that perforce calculation that is done often in game programming.  The 2 major APIs are DirectX and OpenGL. Having no experience in OpenGL I suggest DirrectX.  If you have chosen to use C# you will want to use the new XNA framework, which is like DirectX specifically for C#.  It also allows you to program games for the Xbox360. It drastically simplifies the game development process. There are tons of tutorials on XNA but a good place to start is the XNA creators club.  If you are using C++ there are nearly infinite tutorials on C++ and DirectX.  </p>


 
 

<p>  Once you have picked an API you will want to start learning it, I have already gave an idea on where to get but online tutorials can only get you so far.  After you have a basic knowledge you will want a comprehensive book on the API and game programming with it.  XNA has a few books on it but if you want comprehensive book go for Professional XNA game programming. 

  </p>




<p> DirectX has tons of books on it but I suggest intro to 3d game programming with DirectX 9, or if your want make first person shooters programming a multiplayer FPS with DirectX 9.  Please note that you must have a basic understanding of the API and game programming (obtained from the online tutorials) before reading these books in order to understand them.  </p>

 

<p>  The last step is to program a game but even having all the knowledge from the books and tutorials, programming a game is not simple.  I suggest you don't start trying to program a commercial quality game but start with basic games then work your way up to more advance complex games.  
 </p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FC%2B%2B%2FSteps-to-Become-a-Hobbyist-Game-Programmer.40880"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FC%2B%2B%2FSteps-to-Become-a-Hobbyist-Game-Programmer.40880" border="0"/></a>]]></description>
<pubDate>Mon, 20 Aug 2007 04:31:13 PST</pubDate></item>
<item>
<title>Learning a New Programming Language</title>
<link>http://www.computersight.com/Programming/Learning-a-New-Programming-Language.39873</link>
<description>
<![CDATA[<p>	Programming can be a very rewarding and fun experience. While you are working on your programs you will encounter many challenges, but when you are done and you see the final result of your efforts execute flawlessly, you will be filled with a sense of pride and accomplishment. Whether you want to start programming to open up a new career opportunity or you just want to pursue it as a hobby, the Internet can be a very useful place to start your quest for programming knowledge. But beware, your search can sometimes be confusing and can end up leaving you frustrated after only a short while.</p>
 
<h3>	Here are solutions to some common problems people experience while they are learning to program
 </h3>


<h3> Problem: You get stuck. </h3>

 
 <p>You just got a pile of books, went through several tutorials, created several programs, and were feeling really good about your skills, when you come across a problem that you are having a hard time resolving, and you feel like giving up.</p>
 
 <p><strong>Solution:</strong> A never give up attitude is beneficial in most tasks in life, and this is especially true for programming. </p>
 
 <p>Luckily there are a lot of helpful people out there and if you find the right forum to post your question you will probably receive the answer you were looking for. But if after several attempts you cannot find a solution, leave it aside for some time and come back to it. Maybe after you have created several other programs and gained new skills, you can come back to this problem and find that the solution was pretty simple after all. Remember, when the going gets tough the tough get going, so don't quit too early. </p>
 

<h3> Problem: Everyone else seems so much more accomplished. </h3>

 
 <p>While you are struggling with some beginner questions, all the forums you visit are full of people using highly advanced technical jargon and talking about high level concepts. It is like an alien language and you think you will never be good enough. These people seem to be eating and breathing computers and programming seems to be innate to them.</p>
 
 <p><strong>Solution:</strong> Don't be scared. </p>
 
 <p>Through your quest you may come across people who make it look so easy, only when you try it, it is not. Don't be afraid. They are humans just like you and me. Have a positive attitude, and keep taking small steps forward. Soon you will go from your first "Hello World" program to learning concepts of inheritance and polymorphism. After you have written several dozen programs, you will look back and wonder how you could have let such easy stuff almost dissuade you from your quest for knowledge.</p>
 
<h3>
 Problem: I am a little cheap!</h3>

 
 <p>I looked into several books and compilers and the cost is adding up to several hundred dollars. I don't have that kind of money!</p>
 
 <p><strong>Solution:</strong> Programming does not have to be expensive. </p>
 
 <p>You can get started with readily-available, no-cost compilers, and tutorials that will have you programming in no time. If you can, find a local library where you can gather books on the particular language you are trying to master.</p>
 
 
<h3>Problem: I will work my own way!</h3>

 
 <p>You just read five different and wonderful books and have now sat down to write your first program, thinking you are an expert. Turns out you are having trouble getting your first program to compile.</p>
 
 <p><strong>Solution:</strong> Practice, practice, practice. </p>
 
 <p>Bad idea! Don't think you can first read a whole book and then begin programming. You will only learn by writing programs while you are learning new concepts. The more you program, the better you will get. Keep experimenting. Find problems and seek solutions. Compare your code with others and see how you can make improvements.</p>
 
 
<h3>Problem: I wasn't safe, now I am sorry.</h3>

 
 <p>You really got into programming and wrote several dozen programs, then just lost interest and forgot about it. Several months later you remember all the good times you had writing those programs and went back to search files on your computer for those programs. Only when you do, you have no idea what your programs do and what all that code means. You feel like a beginner again.</p>
 
 <p><strong>Solution:</strong> Comment! </p>
 
 <p>Learn good programming practices early. Pay attention to advice on good coding practices and don't just avoid them thinking that it is not important to accomplishing the particular task you have in hand. This will help you in the future. Comment your code heavily. Even if you decide to leave your quest for a while, you may end up coming back and you will be happy to have all those comments to guide you. Taking classes at a local college can provide you with the strong foundation you need to build your skills on.</p>
 
 <p> Your attitude and determination will determine your success in the programming world. With hard work will come great success.</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FLearning-a-New-Programming-Language.39873"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FLearning-a-New-Programming-Language.39873" border="0"/></a>]]></description>
<pubDate>Sun, 29 Apr 2007 08:45:41 PST</pubDate></item>
<item>
<title>AutoIt Scripting Language</title>
<link>http://www.computersight.com/Programming/AutoIt-Scripting-Language.39850</link>
<description>
<![CDATA[<p>Are you a new to programming language?
Do you feel a need to create useful programs?
 Don't know where to start off? </P>

<P>Try AutoIt scripting! AutoIt is a freeware scripting language that can be used for several automating tasks, graphical user interphaces, and more. Simulating keystrokes, manipulating windows, creating programs, compiling scripts.. absolutely free. This scripting language has a wide variety of examples, an excellent helpfile, and anything you could possibly think of to make life a little easier.</p>
 

<h3> The language consists of basic loops</h3>

 <P><UL><LI> -For..Next</LI>
 <LI> -While..WEnd</LI>
 <LI> -Do..Until</LI>
 <LI> -Etc.</LI></UL></P>
 <p>Having trouble scripting your "ideal" script? Post a question on the forums and expect fast responses (almost around the clock). So what are you waiting for? Download AutoIt and start scripting!</p>
 
 <p>For more information visit: 
<a target="_blank" href="http://www.autoitscript.com/autoit3/">autoitscript.com</a>
</p>
 
 
<h4>Requirements:</h4>

 <p>95, 98, ME, NT4, 2000, XP, 2003</p>
 
 <p>Happy scripting </p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FAutoIt-Scripting-Language.39850"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FAutoIt-Scripting-Language.39850" border="0"/></a>]]></description>
<pubDate>Sun, 15 Apr 2007 09:57:06 PST</pubDate></item>
<item>
<title>Computer Language</title>
<link>http://www.computersight.com/Programming/Computer-Language.39688</link>
<description>
<![CDATA[<p>10BaseT - A 10 Megabits per second (Mbps) local area Network that works over Category 5 cable using a star network configuration.</p>

<p>8-bit - Refers to the way memory is accessed in a PC.    8-bit applications read and write to memory in 8-bit pieces (1-byte word).</p>

<p>16-bit - Refers to the way memory is accessed in a PC. 16-bit applications read and write to memory in 16-bit pieces (2-byte word).</p>

<p>32-bit - Refers to the way memory is accessed in a PC. 32-bit applications read and write to memory in 32-bit pieces (4-byte word).</p>

<p>64-bit - Refers to the way memory is accessed in a PC. 64-bit applications readand write to memory in 64-bit pieces (8-byte word).</p>

<p>8086 - An Intel microprocessor with a 16-bit data bus.</p>

<p>8088 - An Intel microprocessor with an 8-bit bus. The 8088 was designed to be a low-cost alternative for the 8086.</p>

<p>80286 - An Tntel microprocessor with a 16-bit data bus &amp; can run in real &amp; protected virtual modes.</p>

<p>80386 - An Intel microprocessor that came in both a 16-bit version (SX) and a 32-bit version (DX) could run in real, protected virtual &amp; virtual real mode.</p>

<p>80486 - An Intel microprocessor with a 32-bit data bus, built-in cache controller with 8K of cache &amp; a built-in math coprocessor.</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FComputer-Language.39688"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FProgramming%2FComputer-Language.39688" border="0"/></a>]]></description>
<pubDate>Thu, 07 Sep 2006 06:21:47 PST</pubDate></item>
<item>
<title>Setting your computer and keyboard to the right country</title>
<link>http://www.computersight.com/Operating-Systems/Windows/Setting-your-computer-and-keyboard-to-the-right-country.39667</link>
<description>
<![CDATA[<p>Keyboard American but I’m English!</p>
<p>Don’t you hate it, you have just got your new keyboard plugged in and your ready to rock and roll but oh wait the symbols are not the right ones even though the images says it is?!</p>
<p>This is a simple to solve problem you see your computer as the keyboard set to American, we can by first of all going start > control panel, your control panel will look like on of the images below</p>
<p><img alt="" src="http://images.stanzapub.com/readers/computersight/2007/08/14/1341_1.jpg"></p> 
<p>If it looks like the second one click the switch to classic view in the control panel options (where the arrow points) this will set it back to the view I use. The classic view is a simpler to use view.</p>
<p>Click the regional and language options it’s the logo below also on the top image you can see an arrow pointing to it for you.</p>
<p><img alt="" src="http://images.stanzapub.com/readers/computersight/2007/08/14/1341_2.jpg"></p> 
<p>This will now open a new pop up that we will use, like the one below,</p>
<p><img alt="" src="http://images.stanzapub.com/readers/computersight/2007/08/14/1341_3.jpg"></p> 
<p>Where the two arrows point to make sure they are reset to your country since I’m English mine are set to united kingdom, then move to the advance tab, this will change the screen to look like this, </p>
<p><img alt="" src="http://images.stanzapub.com/readers/computersight/2007/08/14/1341_4.jpg"></p> 
<p>Change the last drop down menu to your country, this will now set everything on your computer including your keyboard back to the right settings, I really hoped this helped.</p><a href="http://www.pheedo.com/click.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FOperating-Systems%2FWindows%2FSetting-your-computer-and-keyboard-to-the-right-country.39667"><img src="http://www.pheedo.com/img.phdo?x=&u=http%3A%2F%2Fwww.computersight.com%2FOperating-Systems%2FWindows%2FSetting-your-computer-and-keyboard-to-the-right-country.39667" border="0"/></a>]]></description>
<pubDate>Sun, 20 Aug 2006 01:43:02 PST</pubDate></item>
</channel>
</rss>
