Yearly Archives: 2017

Symbol Tables In Compiler Design

A compiler from the user’s perspective is a software that reads input source files and compiles them. The output of the compiler is usually one main executable file and some auxiliary files. The compiler should be fast and should generate optimized code.

But for the compiler designer a compiler is a beautiful balance between data structures and algorithms. Both are needed to quickly scan source files, to parse the tokens, to generate intermediate code, to optimize it and to link modules. Each compiler stage needs the data in some format. Even highly optimized algorithm would be inefficient if the data would not be stored efficiently. One of the most important data structures in every compiler is symbol table.

Symbol table is a special data structure that holds all symbols, from identifiers to internally generated nodes. Compiler symbol table must contain data structures that will hold string values for symbol names, integer values for data pointers, bit values for boolean flags and fields for special purposes. The organization of the symbol table must be such that it is possible to quickly search for a symbol, to quickly move to the next one. to easily add a new symbol at any position, to easily move data from one place to another and not to use much memory. When you try to combine all the requirements you will find that it is not so easy to decide in which form the data should be stored. One of the compromises is to use different symbol tables for different kind of data.

For example, the symbol table that stores the identifiers needs to efficiently store strings of variable length with associated attributes. One of the functions most frequently called during the scanning of the source file is to check whether the identifier is already in the symbol table. The brute force method to check all identifiers would be very inefficient. Therefore, a better method has to be found. A common approach is to use hash tables. There is a hash function that for each identifier calculates some integer value. This value should only depend on the identifier name. This value needs to be power of 2 and few bits is enough. For each hash value there is a separate linked list of identifiers. So the hash function determines in which list the identifier will be stored. This way we can minimize the search count.

Another example is symbol table that, for example, holds the nodes of program control flow. You need to be able to quickly move in both directions starting from any node. This requirement implies use of two-way linked lists.

The best way to learn about symbol tables, hash functions, linked lists and algorithms is to examine the code of some compiler. You will need some time to become familiar with the functions and the data used but then you will have an overview of the whole picture. Every compiler is a symphony of data structures and algorithms.

SEO by Design

SEO: Optimizing Sites for Search Engines

SEO means Search Engine Optimization. All successful websites are “optimized” to help search engines find your site and for the searchers to want to come to you. If your site has been built with SEO in mind, the search engines will find your site, you will make page one and the searchers will click the link to your website.

SEO is Easy

So, want to “optimize” a web site to be search engine and visitor friendly. GREAT IDEA! If you can keep the searcher in mind in every aspect of building a website, you can climb the ranks of the search engines quickly and easily. If you follow the steps listed here, you can build a web site that is traffic driven and search engine optimized.

SEO Takes Patience

Of course, if everyone used good SEO, we all would have a 100,000 (or better) ranked web site. It takes time, patience and, above all, perseverance. Here we will try to help you to not get overwhelmed by the process. Take it one step at a time and don’t get ahead of yourself. Website development involves a lot of steps and you don’t want to take shortcuts to building your e-business.

Questions You Need to Answer

As your own “website builder”, you have found the inspiration for your e-commerce website, here are the steps in the design process:

Develop a Concept: How are you going to serve your visitors’ needs?

Compile a Keyword List: These searched terms are essential content to get your traffic.

Blueprint your Site: Make it logical and flowing from general to specific needs.

Decide on a URL: This rose HAS to be named well.

Monetization: How are you going to make money?

SEO is Service

Before we begin, we all know that everyone searching the internet has one thing in common: they want information. Therefore, serving your visitors the information they want is the best way to make them stay. By giving them the knowledge they desire we gain trust and respect. Wouldn’t you like to have someone you respect and trust in all your business dealings? So would they.

SEO is a Virtue…

If taking the time for good SEO isn’t your “cup of tea,” then you can try other avenues of designing an e-commerce website. Even so, You’ll still want to structure your site so it flows smoothly from point to logical point,

Let’s get started.

Developing a Keyword List

Blueprinting Your Site

Don’t be Pushy

When designing a website, remember that it all flows downhill.   As the visitors go from top (your home page) to the bottom (asking for the money), they develop trust and respect for you. Never be pushy. A great web site design will lead the customer to understanding the processes, and consistently make low-pressure offers of your services.

Help Your Readers

Your home page will have general information about your business, and will only offer answers to questions they might have. Help them understand what’s involved and let them decide where they need to go from there. Here’s where you point them to more solutions in other places in your website. These are your “tier 2” pages.

Example: I want to sell stone tipped spears and arrows to hunters. “Stone Tools” or “Hunting Tools” might be my main concept for the home page. I will only discuss general information here, and only about why stone tipped tools are better than wooden tipped. Most of the links on this page will be aimed at getting the visitors to find complete answers to questions they might have (found elsewhere in my site).

Proper Links

In tier 2, you will have a number of pages, all of them logically divided into categories.  These should answer needs, explain processes, or describe aspects of quality in your products and services. Links from here will usually be to other areas of interest or, if necessary, explain in more detail certain aspects of your business.

Example: My Stone-Tipped Spear and Arrow business “tier 2” sites would be on how to make your own arrow heads, shafts, spears and spear points. Of course, I remind the visitors constantly that it takes practice to produce quality tools, and let them know I can provide these services to them. My links here will be to my supplier’s pages for straight, durable shafts or, perhaps, tools needed to make your own spears or arrows.

In Depth Information…

The last tier you should need in a simple web design will be tier 3, where you take a visitor through some in-depth processes. These aren’t always necessary, and can be excellent places to put more monetization links and tools.

In my tier 3, I explain to my visitor the processes involved with straightening the shafts as well as where to find the best sources for the wood and stone. Most clients won’t get this far, but it is there for those who want to learn. Of course, I offer to take the work out of the process and repeatedly offer them my arrow and spear shafts.

Decide on a URL

Search Engine Optimization begins with a keyword-based URL. The search engines “see” the web address first, and having a name that’s relevant to your marketing concept will cause you to get a higher rank than, say “Alphabet-Sales.com”. The search engines (as well as the visitors) won’t have a clue about what your site is about, and many will just pass it by. Since this aspect of web design is so critical, choose your website URL carefully. It should be short, relevant and, if multiple words are used, separate the words with hyphens. 2-3 words is best.

Almost Done:

The last thing you’ll need to do is make sure all your metadata is in place.  Make sure your page titles, page descriptions and alt text tags are relevant to each page, use a couple of keywords in them, and are written in a manner that encourages further reading. 

That’s All There is!

Once you have this all these basic SEO steps in place, all you’ll need to do is generate some great content for your site and have laid out in appealing ways and filled with keywords that are about your industry.  Google now claims to index the entire internet every day (as of July 2009), so your site will probably be indexed within 24 hours.  If you did your job well, your site should jump in rankings within 1-2 weeks of completion.

Still Not performing Well?

I suggest a third party evaluate your site by getting an SEO Visitor Impact Analysis done, then applying what the professional recommends.

Good luck!

Color Help: Color Theory and Design Psychology

Color theory is an entire science unto itself, and to get a full picture of how it all works, I’d suggest picking up a few art books. In this article, however, we’re going to take a brief look at the essentials of color theory, in light of the concepts of Design Psychology. we’ll first list a term, and then offer a short summary of how the term relates to Design Psychology.

Hue

The base name of a color without any white, gray, or black added. The terms hue and color are interchangeable.

Color wheel

A color wheel contains twelve colors, based on primitive pigments. The three primary colors are red, blue, and yellow. Three secondary colors (composed of combinations of the three primary colors) follow: red and blue make purple; red and yellow make orange; yellow and blue make green. Six tertiary colors (comprised of combinations of primary and secondary colors) form the remainder of the color wheel: yellow-orange, red-orange, violet, blue-green, and yellow-green. Black is the total absence of color and white is the reflection of all colors.

Value or Lightness

This denotes the degree of lightness or darkness of a hue, in relation to pure white or black.

Intensity, Saturation, or Croma:

This term describes the degree of purity of a hue as compared to neutral gray of the same value. This is the freedom from added white or gray; how bright or dull a color appears in relation to the basic hue.

Shades

These are deep tones, in which black is added to a color.

Tints

These are pastels, in which white is added to a color.

Tone

Adding gray of the same value to a hue or adding its complement creates a tone.

Saturation

The intensity or depth of color, such as dark or light.

Monochromatic Color Schemes

This term is used to describe rooms with only tints and shades of the same color. Neutral color schemes are usually monochromatic.

Analogous, Side-by-Side, or Related Color Schemes

These rooms use adjacent colors to the principal color on the color wheel. This is considered a friendly scheme, because the colors blend well and create a soft effect.

Complementary or Opposite Color Schemes

Rooms that use colors from opposite sides of the color wheel. This is considered to be a power and action scheme.

Triad

Consists of three colors, spaced an equal distance apart on the color wheel. Triad color schemes can potentially cause glaring and confusing feelings when all the colors are intense.

Tetrad

Consists of four colors, spaced an equal distance apart on the color wheel. Tetrad color schemes create interesting effects because of the potential variety available. They are best when two colors dominate.

Topographical Color Schemes

These schemes contain colors from nature, such as rocks, earth, sky, sea, and plants.

Floral Color Schemes

These schemes use brilliant or pastel colors found in plants and flowers.

Colorways

Fabrics and wallpapers come in different combinations of colors, or colorways. A fabric pattern will have several selections of colorways to choose from. A pattern may be available in colorways of: yellow, blue and green, red, blue and green; or purple, burgundy and blue.

Visual Vibration

This occurs when neighboring colors appear to clash and vibrate in our vision, creating a dizzying effect that adds to nervousness and tiredness.

Cusp Colors

These are colors on the edge of two colors that take on different values under different lighting situations, such as, dark blue/purple (periwinkle), orange/red (terra-cotta reds), and blue/greens (teal). Periwinkle may appear more purple than dark blue at night or under different lighting systems.

Simple Color

This is a true color, without additive colors, such as sky blue, grass green, or apple red. A simple color is a pure color.

Complex Color

This is a combination of colors, such as silvery blue, or lichen (grayish green-brown). A complex color is a color that requires a long description, such as “sort of a grayish-blue with a hint of pink.”

Palette

The entire range of colors used in a design project.

These are the basic terms used to describe color schemes within the concepts of Design Psychology. Learning them is the first step toward creating dynamic spaces for both the interior and exterior of your home.

(c) Copyright 2004, Jeanette J. Fisher. All rights reserved.

Cozy Living Room

Living room is a fundamental part of the house where we gather with our family. In that room we can have relaxed, chatting or any other entertainment. It is important to make the living room cozy so that all family members enjoy gathering. Family gathering can increase the intensity of family interaction. Thus, a cozy living room indirectly supports the harmony of the family.

If you have a large living room, you can divide it into some smaller spaces by grouping some furniture to separate the spaces. Do not put furniture pieces against the walls since they give the sense of coldness. You can create a private area for your family to make a cozy condition while having talk with the family members. You can start with the sofa. Place it nearby the television. Make a space for a reading spot by putting a cozy chair and a floor lamp in the corner.

Place different carpets for different areas. These carpets are functional in which they will give warm to the room with tile floors. Beside, children mostly prefer playing on the floor. For painting, do not use pale colors such as white or gray. Choose deer ones like gold, yellow, or dark beige to give a sense of warmth.

For a small living room, you can start planning the arrangement with the furniture. Do not use buffet since it has large volume that makes your room look crowded. You can put vertical shelving pieces to make the room look larger. Speaking on seating, you can pick out comfortable chairs with visible legs instead of large sofa. The most important thing for small living room is that you should put the largest furniture pieces first. If there are enough spaces left, you can add other furniture.

Now it is time to furnish your living room. You can add some plants or flowers to decorate the room. It is better to choose the live ones to give a sense of nature. You can also hang some artwork, pictures or your family's photos on the walls. Do not leave the wall plain.

Those are some tips to make your living room cozy that you feel happy while being there with your family. You can apply those tips by yourself. Or, you may decorate the room with all members of your family.

Make a Small Room Look Larger With Art Wall Decals

If you have a small place there is no reason to stare at plain white walls. Decorating the walls in a smaller living space is often challenging but makes all the difference when creating a cozy space. No matter how small the room is, if it is warm and inviting, it will make friends and family feel right at home. Here are a few tips to make a room look larger with art wall decals.

Choose the right pattern or theme to create the illusion of a bigger space. There are literally a multitude of themes and designs to choose from when decorating the walls in your place. Choose light-colored backgrounds that match with colors in your decals to coordinate the room colors. For example, nature designs with earth colors of green and brown would look good on a wall painted in tan or butterscotch. Match accessory colors to accent colors in the design to complete the look.

Keep the space open by careful furniture placement. Placing furniture in an open design makes a room look bigger. A simple couch and chair in a matching solid color with an accent rug or small table makes a cozy living area for sitting and relaxing with friends.

Choose a pattern or design of art wall decals to match the color and furnishings of the room. Some people like a nature theme with trees and or a modern Art Deco look with odd shapes or bold designs. Large patterns are fine with minimal furnishings and can become the focal point of the room. Place a couple of lovely decorative mirrors where they will reflect the wall scenes to make it appear as if the scene continues into another room adding to the illusion of more space.

Additional decorating tips:

Let functional spaces do double duty if possible. A bookshelf placed in a corner can double as a place to store small trinkets and knick-knacks without cluttering up the space. The right light fixtures can add depth to a room when placed close to a mirror or other reflective surface, the brighter the light the larger the room looks.

Reasons to decorate with decals:

· Decals are not only stylish and attractive, but create a look that is all your own.

· Economical way to decorate because the designs can be removed when you decide it’s time for a change.

· Create a focal point to draw attention away from problem areas such as uneven walls or oddly-shaped corners.

Wall decorations such as decals, stickers or stencils make a space unique and express the owner’s personal style. They are suitable for just about any room in your home, from bedroom to kitchen; decals are a great way to decorate the way you like. Even if your landlord will not let you paint, there is no reason to have boring white walls when art wall decals are so easy to use and remove when you move to a new place.

10 Exciting Bedroom Decorating Ideas

Your bedroom is your sanctuary so you want it to be delightful and inviting. Here are 10 great ideas to inspire you to create the bedroom of your dreams.

1. Using Accents In Your Bedroom – The most delightful accent is to make generous use of decorative pillows. Pile your bed high with them using a variety of sizes and styles, colors and patterns. Layered pillows give a lush feel to any bedroom. Candles serve a dual purpose as an accent item. They can add a splash of color and they can give a wonderful mood altering scent. The scent of your bedroom really is quite important, so the judicious use of potpourri can be the perfect finishing touch.

2. A Lovely Idea For A Little Girl's Room – Bring wonder and enchantment to your little girl's room by using specialty lighting. A small decorative chandelier is quite affordable. Your little princess will be filled with joy as she gazes into the sparkling light.

3. An Interesting Use Of Neutrals – Decorate your bedroom with neutrals and you can constantly achieve a fresh look. There are many items within a bedroom that you can adapt with each season. Change your comforter, pillows and pictures to easily achieve new looks and color schemes on a regular basis.

4. A Fun Idea In Place Of A Picture – Personalizing your decor is what will make your bedroom unique. Instead of a picture, gather small moments around a theme and display them in a shadow box. (A shadow box is simply a picture frame with depth.) As a theme, you could use items from all those music lessons you took as a child, or maybe keepsakes from the first dates with your husband – like ticket stubs and the cupie doll He won for you. You will feel the warmth of memories every time you see it.

5. Making The Most Of Your Bedroom Space – To create more space, your first consideration is color. Use cool light colors – whites, blues and greens to make the walls apparently recede. Another trick to help your space look larger is to paint the moldings to match the walls. Be very aware of the scale of your furniture. A small bedroom is simply not the place for a king-sized bed. Keep things clutter free and you'll make the most of your livable space.

6. Pull Together A Theme – For a different look, try to replicate a Hawaiian or tropical vacation you've enjoyed. Start with a bamboo headboard and plan on an island color scheme with bold prints. You can use plenty of plants to recreate the lush outdoors. Stick with natural fabrics and add a quality potpourri to remind you of your heaven on earth. A final touch would be naturally woven wood blinds. You will amaze yourself with the atmosphere you can create.

7. Using Bedding To Help Design – There are amazing colors and prints available for bedding. A decorating trick is to use your bedding to dictate your color scheme. Go for the most plush borrowers and highest thread count sheets. You want your bedroom to be so inviting and desirable to you, that it beckons you every evening.

8. Contemporary Bedroom Design Ideas – To accomplish the popular contemporary design, try neutrals with nice accent colors, such as a muted navy. The idea is to stay crisp and clean. Florals do not belong in this look. Go for a minimum of clutter and you'll be well on your way.

9. Guest Bedroom Essentials – Part of offering great hospitality is to make your guest bedroom feel completely welcoming. On the night stand, have a spate of new magazines along with a water glass and a decorative bowl filled with candy. Your guests may be more cold-natured than you, so include an extra blanket on the bed. Finally, use high quality pillows and sheets to let them know that their comfort is paramount.

10. Creating A Romantic Bedroom – There is nothing like delightful as a bedroom that invites romance. Have soft lighting available and think plush – with lots of pillows and fabrics to give tactile pleasures. An excellent sound system with speakers discreetly tucked around the room will envelop you with mood-setting music. Use colors on the softer side which appeal to you personally. Try soft pinks or light greens – whiche color pleases you. The idea is surrounding yourself with luxury to create the perfect romantic retreat.

Home Theater Room Lighting – Control and Ambiance

Room lighting control is an important aspect for home theaters – especially if you have a front-projector and screen set-up. Video projectors often demand a controlled lighting situation due to the lower brightness of their displays. Room ambiance is another important function of lighting during a viewing as you most likely do not want your guests to sit in darkness (except it is a really creepy horror flick). Refracted room lighting is a consideration as well as you do not want a glare on the screen – whether it be ambient light from a window or purely reflections of a lamp inside your room. Ambient window lighting is major when determining your living room layout or designing a dedicated viewing room. A dedicated room would of course be best without windows altogether – if you have the luxury of designing a room from scratch.

Glare Control and Picture Enhancement

Room lighting control is reliably easy with a little planning. If you want to incorporate your home theater within your living or family room you will want to position your video display so that any ambient light upon the screen is eliminated or eliminated altogether. Each time we have moved to a new home one of my first considerations (much to the chagrin of my wife) is where we will place the TV in our living room. Since video is my profession I plan our living room layout around the TV and entertainment center (again to the chagrin of my wife). The TV is always placed at an angle away from the main window in the room in order to eliminate window reflections on the screen. Our living room lamps have shades that direct lighting downwards and are not very translucent in order to minimize their reflections. Since I have a front projector and screen display in the living room – in addition to the 32 "Mitsubishi we use for normal viewing – we have vertical blinds which do a nice job of darkening the room. We also have velor drapes which can pull To either side of the screen and do a great job of providing a controlled lighting environment for our projector. You will want to do much the same – have your video display directed away from any windows and use blinds with drapes to control daytime lighting from Windows.

Setting the Mood

Wall sconce lamps located along the sides of your room for ambiance during viewing in a dedicated theater room is a nice touch and lends to the theater-esque atmosphere. Depending upon the overall decor and theme of your dedicated room sconces can be either plain or elaborately gaudy much like the movie houses of yore. Basic sconces can be found at a local Home Depot or lighting store. More elite theater-looking sconces are available at specialty stores. A dedicated room will benefit from remote controlled lighting – or at least it will add a touch of class to your theater. There are many varieties of remote controlled lighting which can be controlled either by their standard controller or be included within a macro-programmed command on one of the many all-in-one macro-type remote controls such as the Harmony H659 which I am quite Pleased to own.

Regardless of whether you are incorporating a system into your living room or planning a dedicated room, the principles of home theater room lighting are the same. No glare or reflection on your video display and sufficient ambient room lighting for your guests during viewing. If you have any questions about home theater room lighting feel free to use the contact form at http://www.Home-Theater-Systems-Advice.com/contact.html and I will be pleased to answer any of your inquiries to The best of my ability. You may also find more resources for home theater lighting and components at http://www.Home-Theater-Systems-Advice.com – from beginner's component selection tips to room design and acoustic considerations.

Home Furniture Design and Fabric Selection

Home furniture design and fabric selection are very important to a modern homeowner, whether male or female. Nobody wants to choose the wrong furniture or home fabrics, and although the furniture might appear the more important of the two, the wrong fabric selection can completely ruin an otherwise well-designed room.

So what do you do? Leave it to chance and hope that your untrained eye is as good as that of anybody else, or hire a professional to help you? In fact, your own opinion about how to decorate and furnish your home is likely to please you just as much as that of a professional interior designer. Most people who worry about such things are trying to please friends and visitors rather than select what they personally like.

This is not necessarily a bad thing, because most people do not make the best decisions when it comes to home furniture design and fabric selection. While there is no procedure you can follow to come up with what is best for your home, here are some guidelines on how to go about selecting your furniture design and how to make the correct fabric selection to go with it.

Decide on a Theme

You cannot even begin to consider furniture without deciding on a theme for your home – or even for each individual room. Very few people furnish and decorate their entire home on one single theme, but tend to mix them. Thus, many people love to have at least one themed room in their home: an Egyptian room or a room based on Ancient Rome, Classical Greece or an Asian, Wild West or Native American theme.

None of these is suitable for general household furniture, of course, or for the normal fabric selection you will find in your local sores. However, it does show that your whole house doesn’t have to be decorated the same way. So when you decide on a theme, your living room, dining room, kitchen and bedroom can all be based on a certain home accent – even a traditional one.

For example, you can use antique style furniture and fabrics in your lounge or living room, with sofas and perhaps a chaise longue in the classical French style. Your dining room might be either contemporary, with a black glass-topped dining room table or one in beautiful glossy French polished walnut or mahogany with Queen Anne legs. The chairs might be traditionally webbed and sprung, and then upholstered in tapestry or velvet fabric.

What this is inferring is that you should decide on a general them for each room before you decide on appropriate home furniture design, and then choose the furniture and a fabric selection appropriate to that theme.

Home Furniture Design

As stated, the design of your furniture should go with the theme: contemporary, antique, Georgian or art nouveaux for example. Furniture makers such as The Custom Shoppe can help you design your own solid wood furniture, offering a choice of designs and woods appropriate to your general theme.

You may have chosen a Shaker theme with simple solid wood furniture. Shakers used what was available locally, such as pine, birch, cherry and poplar, and some even used maple or beech. You might prefer something more European, with stained dark oak, walnut, or cherry veneer or the exotic cinnamon-colored Asian teak or solid mahogany which has a beautiful deep red shade. Rosewood is another beautiful wood suitable for most forms of home furniture design.

Traditional American furniture, such as that available from American Craftsman, could be fashioned from light oak, apple or cherry, and black American black cherry is very much in vogue. So is Maple, although the wood you choose should be appropriate to the rest of the furniture in your room.

Home Fabric Selection

If you choose light oak for your dresser or armoire, a walnut or mahogany chest of drawers or table would not go well. This is where advice on home furniture design would be worth seeking. The same is even truer when you consider your home fabric selection. This is where genuinely serious mistakes can be made.

It would be far better if you could find somebody well versed in interior design, and while you might think that it doesn’t really matter – it does! If your drapes, rugs and upholstery fabrics all match, and the colors and designs were appropriate to the type of furniture you have chosen, then an OK room could be converted into a fabulous room.

Get It Right – For the Cats, Kids and the Visitors!

Keep in mind that not all fabrics are cat-proof, and many are also not child-proof. What that means in general terms is that you should be practical when choosing fabrics, and understand that what might be perfect for occasional dinner parties might not be so suitable for general use in a household with kids and a colony of cats with blunt claws needing sharpening!

Space planning, home furniture design, fabric selection and all the rest that make a room what it is, should be thought out and complement each other. You will get your reward when that first visitor walks into your room and gasps ‘WOW!’ That is why you should make a serious effort to get these things right.