Tuesday, August 25, 2009

Data Quality Software Needed

Data must be accurately stored and delivered and unnecessary data  must be deleted. Data cleansing must be taken with utmost care because the lifeline of the company relies on them. Often in a vast database, errors  inevitably occur in the system this is a very high threat to the company's database. The objective  of data cleansing is to eliminate or minimize data errors  to...
read more>>

what is HTML?

HTML stands for Hyper Text Markup Language. It is a type of computer language that is primarily used for files that are posted on the internet and viewed by web browsers. HTML files can also be sent via email.
Although it may seem complex to the uninitiated, HTML is relatively simple. All text, graphics and design elements of a web page are "tagged" with codes that instruct the web browser how to display the files. Such files are easy to recognize because they contain the file extension of 'html' or 'htm'.
In addition to the page content itself, HTML files provide layout and formatting information. HTML is not case sensitive and can be easily updated after the file is created. For the novice web designer, there are many different software utilities and programs available to assist in generating HTML pages.
To format a simple text file into HTML, the user creates tags that start and finish with angle brackets. To end the formatting or change to another format, the HTML developer types the first angle bracket, a backslash, then repeats the command and closes the bracket. For example,

What is HTML?

is the code used to create the heading at the top of this article.

There are different codes for all sorts of other formatting including italics, tables, paragraphs etc. The "A" tag is used to designate words that are to be displayed as hyperlinks to other pages.
If you would like to view a sample of HTML, a good place to start might be the code that was used to generate this very page. Simply click on the "view" menu on your browser and then select "source". It may look complicated, but if you learned the limited number of tags, you would discover that it is a relatively straightforward language.

What is a CSS?

A Cascading Style Sheet (CSS) is a list of statements (also known as rules) that can assign various rendering properties to HTML elements. Style rules can be specified for a single element occurrence, multiple elements, an entire document, or even multiple documents at once. It is possible to specify many different rules for an element in different locations using different methods. All these rules are collected and merged (known as a "cascading" of styles) when the document is rendered to form a single style rule for each element.

What is SQL?

Structured Query Language (SQL) is a specialized language for updating, deleting, and requesting information from databases. SQL is an ANSI and ISO standard, and is the de facto standard database query language. A variety of established database products support SQL, including products from Oracle and Microsoft SQL Server. It is widely used in both industry and academia, often for enormous, complex databases.
In a distributed database system, a program often referred to as the database's "back end" runs constantly on a server, interpreting data files on the server as a standard relational database. Programs on client computers allow users to manipulate that data, using tables, columns, rows, and fields. To do this, client programs send SQL statements to the server. The server then processes these statements and returns replies to the client program.


To illustrate, consider a simple SQL command, SELECT. SELECT retrieves a set of data from the database according to some criteria, using the syntax:
SELECT list_of_column_names from list_of_relation_names where conditional_expression_that_identifies_specific_rows
  • The list_of_relation_names may be one or more comma-separated table names or an expression operating on whole tables

  • The conditional_expression will contain assertions about the values of individual columns within individual rows within a table, and only those rows meeting the assertions will be selected. Conditional expressions within SQL are very similar to conditional expressions found in most programming languages.
For example, to retrieve from a table called Customers all records (designated by the asterisk) with a value of Smith for the column Last_Name, a client program would prepare and send this SQL statement to the server back end:
SELECT * FROM Customers WHERE Last_Name='Smith'; The server back end may then reply with data such as this:
+---------+-----------+------------+ | Cust_No | Last_Name | First_Name | +---------+-----------+------------+ | 1001 | Smith | John | | 2039 | Smith | David | | 2098 | Smith | Matthew | +---------+-----------+------------+ 3 rows in set (0.05 sec)

What is C++?

C++ is an "object oriented" programming language created by Bjarne Stroustrup and released in 1985. It implements "data abstraction" using a concept called "classes", along with other features to allow object-oriented programming. Parts of the C++ program are easily reusable and extensible; existing code is easily modifiable without actually having to change the code. C++ adds a concept called "operator overloading" not seen in the earlier OOP languages and it makes the creation of libraries much cleaner.
C++ maintains aspects of the C programming language, yet has features which simplify memory management. Additionally, some of the features of C++ allow low-level access to memory but also contain high level features.
C++ could be considered a superset of C. C programs will run in C++ compilers. C uses structured programming concepts and techniques while C++ uses object oriented programming and classes which focus on data.

PHP? what it does?

Anything. PHP is mainly focused on server-side scripting, so you can do anything any other CGI program can do, such as collect form data, generate dynamic page content, or send and receive cookies. But PHP can do much more.
There are three main areas where PHP scripts are used. 
Server-side scripting. This is the most traditional and main target field for PHP. You need three things to make this work. The PHP parser (CGI or server module), a web server and a web browser. You need to run the web server, with a connected PHP installation. You can access the PHP program output with a web browser, viewing the PHP page through the server. All these can run on your home machine if you are just experimenting with PHP programming.

Command line scripting. You can make a PHP script to run it without any server or browser. You only need the PHP parser to use it this way. This type of usage is ideal for scripts regularly executed using cron (on *nix or Linux) or Task Scheduler (on Windows). These scripts can also be used for simple text processing tasks.

Writing desktop applications. PHP is probably not the very best language to create a desktop application with a graphical user interface, but if you know PHP very well, and would like to use some advanced PHP features in your client-side applications you can also use PHP-GTK to write such programs. You also have the ability to write cross-platform applications this way. PHP-GTK is an extension to PHP, not available in the main distribution. 

PHP can be used on all major operating systems, including Linux, many Unix variants (including HP-UX, Solaris and OpenBSD), Microsoft Windows, Mac OS X, RISC OS, and probably others. PHP has also support for most of the web servers today. This includes Apache, Microsoft Internet Information Server, Personal Web Server, Netscape and iPlanet servers, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd, and many others. For the majority of the servers, PHP has a module, for the others supporting the CGI standard, PHP can work as a CGI processor.
So with PHP, you have the freedom of choosing an operating system and a web server. Furthermore, you also have the choice of using procedural programming or object oriented programming, or a mixture of them. Although not every standard OOP feature is implemented in PHP 4, many code libraries and large applications (including the PEAR library) are written only using OOP code. PHP 5 fixes the OOP related weaknesses of PHP 4, and introduces a complete object model.
With PHP you are not limited to output HTML. PHP's abilities includes outputting images, PDF files and even Flash movies (using libswf and Ming) generated on the fly. You can also output easily any text, such as XHTML and any other XML file. PHP can autogenerate these files, and save them in the file system, instead of printing it out, forming a server-side cache for your dynamic content.

What is Object Oriented Programming?

Everyone that wants to program JavaScript should at least try reading the following section. If you have trouble understanding it, don't worry. The best way to learn JavaScript is from the examples presented in this tutorial. After you have been through the lessons, come back to this page and read it again.
OOP is a programming technique (note: not a language structure - you don't even need an object-oriented language to program in an object-oriented fashion) designed to simplify complicated programming concepts. In essence, object-oriented programming revolves around the idea of user- and system-defined chunks of data, and controlled means of accessing and modifying those chunks.
Object-oriented programming consists of Objects, Methods and Properties. An object is basically a black box which stores some information. It may have a way for you to read that information and a way for you to write to, or change, that information. It may also have other less obvious ways of interacting with the information.
Some of the information in the object may actually be directly accessible; other information may require you to use a method to access it - perhaps because the way the information is stored internally is of no use to you, or because only certain things can be written into that information space and the object needs to check that you're not going outside those limits.
The directly accessible bits of information in the object are its properties. The difference between data accessed via properties and data accessed via methods is that with properties, you see exactly what you're doing to the object; with methods, unless you created the object yourself, you just see the effects of what you're doing.
Other Javascript pages you read will probably refer frequently to objects, events, methods, and properties. This tutorial will teach by example, without focusing too heavily on OOP vocabulary. However, you will need a basic understanding of these terms to use other JavaScript references.

What is JavaScript? and what's the difference between JavaScript and Java?

Javascript is an easy-to-use programming language that can be embedded in the header of your web pages. It can enhance the dynamics and interactive features of your page by allowing you to perform calculations, check forms, write interactive games, add special effects, customize graphics selections, create security passwords and more.

What's the difference between JavaScript and Java?
Actually, the 2 languages have almost nothing in common except for the name. Although Java is technically an interpreted programming language, it is coded in a similar fashion to C++, with separate header and class files, compiled together prior to execution. It is powerful enough to write major applications and insert them in a web page as a special object called an "applet." Java has been generating a lot of excitment because of its unique ability to run the same program on IBM, Mac, and Unix computers. Java is not considered an easy-to-use language for non-programmers.
Javascript is much simpler to use than Java. With Javascript, if I want check a form for errors, I just type an if-then statement at the top of my page. No compiling, no applets, just a simple sequence.

TheBeginer: Picking Your First Programming Language

Deciding What You Need

Many times on forums and in chat rooms I hear the same question over and over. “What programming language should I learn?” The answer is different for every person out there that wants to pick up programming. These tips are here to help people who would like to start programming pick out their first language. So go grab a pen and some paper and get ready to think and jot down some notes.

First you must really sit down and think about what you want to accomplish when programming. Do you want to make cool web applications, or maybe a quick windows application to calculate the amount of paint needed for a room? How about creating video games, or your own operating system. Maybe you want the option to try all these things, and if you want any of these things their is a programming language for you. You just need to figure out what your needs and wants are. Do some of your own research on some popular languages and find out what they offer.

Next you must decide on the level of difficulty you are willing to try. Never be afraid to try something harder then you think you can handle. If it is too much for you, you will know early enough to pick out a new language and not waste too much time. Most languages are the same at their roots anyways. You will find this out once you learn how to program.

Another thing you want to consider before picking out a language is compatibility. Do you need or want your application to work on Windows, Linux, and Mac? Or are you comfortable with just running on Windows or another environment? Most of the time this will be an easy choice. Since you are just starting out you will most likely just pick a language that will run on your current operating system.

Are you going to be able to find a lot of information about your language? What types of books, internet tutorials, and documentation are there available for your language? You are going to need something to learn from and documentation is the main thing you will be looking to. Though it is always nice to have a good community around the language as well, most on-line communities are on forums or IRC. Remember that Google is your friend. Just look up your language on Google to find tutorials, and on-line community's, check Borders or Amazon dot com for books.

Type of language is also important. There are three main types of languages (there maybe more). First is web languages. Web languages are the code that makes up the web. When you open your Internet browser such as IE or FireFox it reads this code and then displays the sites based on the instructions that are written behind the scenes. Next are interpreted languages. Many web languages also fall in this category. When a language is interpreted it means that the code is read by the computer as it is executed. This is unlike our next type called a compiled language. When a language is compiled it means that you must first pass the source code threw a special program called a compiler. The compiler takes the human readable source code and turns it into computer readable code of ones and zeros. The program can now be ran and tested.

We will talk quickly about the level of a language. Computer do not understand source code they only understand 1s and 0s. When a language is said to be a low level language it means that the source code is more closely related to the ones and zeros. If a language is high level it means it is closer to human readable language. The benefits of a lower level language is speed and power. The problem is you wouldn't want to write an entire game in a low level language because it would be large and hard to understand.

Also do not stress to much over what language to pick. If you are just a hobbyist then pick whatever language you enjoy the most. Don't worry about what’s cool or the newest thing go with what works for you. If you want to become a programmer or get into the information technology field pick a language that is going to let you learn the most about programming. Odds are you are going to be learning new languages later on anyways. So as long as you have programming basics, and techniques down you will be able to learn a new language very easy. The most important part is to have fun! Enjoy what you are doing or why do it at all?

Language Reviews

Now I will give some language reviews for some popular languages out there. I also cover some web languages. It should be noted that these are not actually programming languages. Some are scripting and some are called Markup languages. Also to be noted this is not a full review of these languages. You should do more research on a language that might interest you in order to find out more.

This is not a full list of languages! I tried to include many of the major languages but there are just so many that the list would just become to large and start to confuse beginners. For a larger list of languages check out the following links.

or as much as I hate wikipedia

* = I personally recommend to hobbyist or average beginners
** = I recommend to students for more serious learning.

Web Applications

Type: Markup Language
Geared for: Web Development
Difficulty: Very Easy
Compatibility: Works with any browser, and OS compatibility is not a worry when doing web design
Documentation: Lots of great on-line tutorials. I see no need to buy a book when there are so many free on-line tutorials.
Links: www.w3schools.com
Side notes: All you need is notepad and a web browser.

Type: Cascading Style Sheets
Geared for: Web Development
Difficulty: Easy
Compatibility: Works with most modern browsers
Documentation: Lots of great on-line tutorials. You might find buying a book helpful.
Links: www.w3schools.com
Side notes: All you need is notepad and a web browser.

Type: Interpreted / Scripting
Geared for: Web Development
Difficulty: Easy - Mild
Compatibility: Works with most modern browsers
Documentation: Great on-line tutorials, but you may find a book helpful.
Links: www.w3schools.com
Side notes: This gives web designers a scripting language to use with in there web pages. Can create pop up boxes and validate html forms.

Type: Scripting
Geared for: Web Development
Difficulty: Mild
Compatibility: Code is ran on server so browsers have nothing to do with this language.
Documentation: Good on-line tutorials, may want a book for more complete learning process.
Links: www.w3schools.com
Side notes: Great for accessing databases. Because code is executed on the server the user can not view the source code, this adds a level of protection and security.

Type: Scripting
Geared for: Web Development
Difficulty: Mild
Compatibility: Code is ran on server so browsers have nothing to do with this language.
Documentation: Good on-line tutorials, may want a book for more complete learning process.
Links: www.w3schools.com
Side notes: Microsoft technology. A powerful tool for creating dynamic and interactive web pages. Code is executed on the server, so the user can not view the source code, this adds a level of protection and security.

Computer Applications

* Python
Type: Interpreted - Scripting
level: Very High
Geared for: Everything
Difficulty: Easy
Compatibility: Cross-platform
Documentation: Great Documentation, many books, and on-line tutorials.
Links: www.python.org
Side notes: easy to learn, and very powerful. You can do just about anything with this language. Great for beginners.

Type: Interpreted
level: High
Geared for: General Purpose, Text Processing, CGI scripts, Automating Tasks
Difficulty: Mild
Compatibility: Cross-platform
Documentation: Many books, and on-line tutorials.
Links: www.perl.com/

Type: Interpreted
level: High
Geared for: General Purpose, Web Scripting
Difficulty: Mild
Compatibility: Cross-platform
Documentation: Normal
Links: www.ruby-lang.org/en/

Side notes: The goal was to program in human style rather than adapting its mind to the computer structure.
VB / VB.net
Type: Compiled
level: High
Geared for: Windows applications
Difficulty: Easy
Compatibility: Windows
Documentation: Well supported by Microsoft and many books.
Links: msdn.microsoft.com/en-us/vbasic/default.aspx
Side notes: Not a great language, but easy to use and whip up a quick app. Not well respected by other programmers. Dot net is compiled differently. Research the dot net platform for more information.

** C / C++
Type: Compiled
level: Middle
Geared for: Everything
Difficulty: Mild - Hard
Compatibility: Cross Platform
Documentation: Tons!! Books, on-line, people, just tons!
Links: www.cplusplus.com/doc/tutorial/
Side notes: Well respected language. Take the time to understand this language, it will pay off. There is a reason it is the industry standard.

* C#
Type: Compiled
level: High
Geared for: General, The Dot Net Platform
Difficulty: Mild
Compatibility: Native to Windows, Cross Platform
Documentation: No lack of books or developers to speak with.
Links: msdn.microsoft.com/en-us/vcsharp/aa336809.aspx
Side notes: Not directly compiled to machine code. The mono project is working on making the language cross platform but does not have all features of the Microsoft dot net platform.

Type: Compiled
level: High
Geared for: Everything and portability
Difficulty: Mild - Hard
Compatibility: Cross platform
Documentation: Well documented
Links: java.sun.com/docs/books/tutorial/
Side notes: I have heard good and bad things about this language. Not a choice I would pick for a beginner.

** Assembly
Type: Compiled
level: Low
Geared for: Special niches when needed
Difficulty: Very Hard
Compatibility: Each processor architecture has Its own version.
Documentation: Normal
Links: webster.cs.ucr.edu/
Side notes: Has a big purpose in the programming of embedded systems (you name it, anything from washing machines to tv's). If you learn assembly for one architecture, than it isn't too difficult to code on different ones. You just have to learn a new instruction set.

Remember to have fun and learn all you can!

Motivations:Work Outside The Box

As a Web developer, you have to constantly summon creativity and empathize with users. If you have a natural flare for design and usability, that’s great. But our work can sometimes become inflexible and boring. We can lose our enthusiasm to try new things. To avoid this trap, we can strive to gain new insight by putting our common tools aside and exploring projects beyond the Web developer’s usual environment.
Experimenting with new ways of creating applications and interfaces and even building a hardware controller will lend fresh insight into our own field and make us see the techniques we use day after day with new eyes.
It is also a good way to become more sensitive to usability issues. If you work all day at the computer, you probably cannot understand how a technically inexperienced 85-year-old person feels when they visit your website for the first time. You can’t because your experience with using a keyboard and mouse is so natural.
The best way to get that feeling back — to feel what it’s like to have to click and play around with an interface to figure out how to use it — is to build your own hardware controller or a new kind of interface. Being the one who has to fix these fundamental problems will make you much better at identifying what elements make for a comfortable interface.

PhotoshopWorks: Creating an artistic rain

Step 1
Today we’re going  to create a simplistic yet realistic rainy day. This is basically a beginner's tutorial.
We're going to try to reproduce the effect achieved in  turning this image.

To this one.    

First thing you need to do is to open the first image. You may use any image you want or you can just use the one provided. Next, duplicate the background layer (CTRL+J) by either dragging the layer to the “Create a New Layer” button at the bottom of the layers pallet OR going to Layer > Duplicate Layer…(this requires you to click “OK”).

Here’s the fun part! On your “background layer copy” go to Image > Image Adjustments > Curves… (CTRL+M) and make your setting something like this..

Then head over to Filter > Blur > Motion Blur… and the setting should be close to this:

Now you need to head on over and adjust the levels. (CTRL+L) Go to Image > Image Adjustments > Levels… and my settings are:

Last step!! Go to the top of your layers pallet and change the mode to “Screen” and Voila! You have a rainy day!

Optional step! To double the amount of rain in your picture, just copy the “Rain” layer (CTRL+J) and press CTRL+T to pull up the transform handles. You can go to Edit > Free Transform… as well. Click just outside the bottom right handle, until the cursor looks bent. Then hold Shift and turn the layer clockwise until the bottom right corner becomes the top left corner. Then hit the “Commit” button at the
top!                         -  garech

PhotoshopWorks: Creating a tatto on photoshop

Having had a bit of success applying tattoos to celebrities I'll explain the tricks and tweaks I used to create realistic tattoos. This tutorial uses a few basic photoshop techniques, masking, colour adjustment, liquify and the resize and transformation tools.

Geri Halliwell
We'll use my recent Geri Halliwell image as the template for this tutorial. Bikini clad, light skinned people are the easiest to make this rather simple but very effective bodyart

Flash Sources
The source artwork I use for tattoos is the "flash" artwork that real tattoo artists design and use as a templates for their work. Walk into most tattoo parlours and hanging on the wall or in their design books you'll see a huge selection of artwork you might want to have a tattoo of.
So just Google Image Search with the keywords tattoo + flash and you'll find ample sources to use. Be sure to use an image that is public domain (or ask the author first). It's possible to cut and paste tattoos off the body or image of a person and use different blending methods to achieve a similar effect, but it is very time consuming and much more difficult to get good results. For Geri's arms, legs and torso I used just 3 pieces of flash artwork.

Position and Multiply
Let's start with Geri's abdomen and the skulls artwork, just drag the image over her abdomen and apply a mask to the skulls layer. Using the Move tool roughly place the artwork where you want it to sit, using the Transform option stretch/perspective, etc. to get better placement. Mask out the areas where you have any overlap, return to the Move tool if need be and Transform it to your liking using its different settings, I ended up with this. Some people have used displacement maps to align tattoos, not once have I required them.

All you have to do next is click on the image thumbnail in the layers palette and alter the blend mode from Normal to Multiply. Simple as pie! because most flash artwork is on a white background selecting Multiply will cause the white background to instantly disappear,leaving you with the coloured or in this case black artwork blended to Geri's abdomen. Tattos are never a solid black so tweaking the layers, colour balance and lowering the opacity makes for a very realistic effect.

Joining patterns
The same process was used on Geri's arms and legs. a single piece of flash artwork was duplicated and used on 4 or 5 layers, masking, resizing and using the Multiply on each layer. Because the arms and legs had the same pattern I just placed the lower arm and the upper arm layer over the top of each other and masked out any overlap creating a smooth pattern.
The image below shows the 3 layers used with some masking and a pretty good flowing pattern was achieved. Seems a little messy but remember once the Multiply blend is applied all the white instantly disappears.

For Geri's shoulders and chest area, again a repeat of the previous process, just a different piece or artwork was used and it was duplicated onto 2 layers, then one was horizontally flipped for left and right.
For some body parts you might consider using the liquify tool in moderation if the Move/Transform/ Distort option is not achieving the desired "fit". I also mask certain areas with a low opacity brush to achieve a feathered smooth flowing ink effect. You wouldn't want a solid colour to apply to areas in a body cavity or around the edge of a shoulder.

Coloured tattoos
Finally, for coloured tattoos pretty much the same techniques are used as for black ink work. A little extra work is involved adjusting the opacity of the layer to get that blurred well worn effect, you don't want too vibrant a colour or you will not get that see-through ink applied to skin look. I sometimes use Adjustment layers and the Replace Colour option to lessen a red or to make a green more vibrant.
So basically there you have it, there is nothing too difficult to creating bodyart.
1. Use "flash" source images
2. Use Multiply for your layers
3. Use the Transform option to position and distort the tattoo.
4. Be a little creative and play with the colour and opacity settings.