Finding The Right Thai Massage

Monday, March 31, 2014

By Eula Nichols


You have been wanting to get some destressing done, you have been embroiled in too much pressure lately and they are really beginning to show. You got tired lines under your eyes and you have been feeling pain all over your body. You know that a good, thorough Thai massage Houston can really soothe your body well this time. So, you have decided that this might be a good time for you to enjoy one.

You are advised to consider all the possible choices that are present around. You have to locate a good establishment that you might want to frequently visit to afterward. You want to find a place that you can establish patronage to. So, it helps a lot that you have a very good idea of the things that you will need to do to ensure that you get the most out of what they have to offer.

Sometimes, you might not know where to start or how to even start the search. You may have just moved into the place and you barely know of the many different establishments around that can possibly assist you. This should not be a problem. All you will need to do is to check out the recommendation coming from people you know. The, you get an idea where to head to this time.

Have an idea of the assistance that these providers are offering, prior to enlisting their assistance, you have to get assurance first that they do offer the specific services that you are in need of. You need to know if they happen to offer the specific session that you are interested in taking advantage of. So you are quite sure that relying on these providers will be really worth it.

The reputation that these professionals have been able to keep all these times is something that you must not forget checking out as well. There are all kinds of things that you will know about these providers based on the kind of reputation that they have been able to keep all these years. Stick to people that have been getting good raps around so you are sure that you can rely on them.

Do take note of how qualified are the people that will be performing the session on you. You have to see to it that you are locating those professionals that have received proper training and proper exposure to the field. Since they have learned everything that there is for them to learn about the field, you can trust that they would never fail to deliver every time.

The right providers are people who will see to it that your needs are properly met. You might want to consider finding those providers that would want to take the necessary steps to be sure that your requirements are successfully meet. They would not hesitate tailor-fitting the way they deliver their assistance so they are confident that you would be really satisfied with what it is that they have to offer.

When choosing the right Thai massage Houston, make sure that you will consider the costs that you need to pay for the sessions that you will be taking advantage of. Sure, you would want to save on costs as much as you can. But if this means getting less quality assistance in the process, think again. Better pay higher if you are sure that you get a better service in exchange.




About the Author:



Read More..

Laptop or computer Avancement Targus PA400U DEFCON 1 Ultra Laptop Computer Security System

Sunday, March 30, 2014

Advertising Targus PA400U DEFCON 1 Ultra Laptop Computer Security System Inexpensive

Evaluations: Targus PA400U DEFCON 1 Ultra Laptop Computer Security System

Targus PA400U DEFCON 1 Ultra Laptop Computer Security System

Targus PA400U DEFCON 1 Ultra Laptop Computer Security System Low-priced

The Defcon is the first alarm that attaches directly to your carrying case and guards your notebook by sounding when someone tries to move the case. This revolutionary anti-theft system guards your notebook with a combination of stainless steel cable and motion sensor technology. The alarm sounds when someone tries to remove the notebook from its case (the notebook lock slot must be in use for this adapter protection), as well as when someone cuts or disconnects the security cable. You can choose from a high or normal sensitivity level. There is a 4 second delay in between motion and an alarm. The features of this versatile pocket-sized combo lock include: easy attachment to any case, an adapter lock included for notebooks equipped with a security slot, 1,000 user-settable combinations, a flashing LED that signifies the alarm is armed, and a 3 "chirp" audio warning of excessive movement before the 110 db alarm sounds.

Read more »
Read More..

Find The Best Construction Project Management Software

By Marissa Velazquez


In the current world, the use of application is contributing to achieving of impressive results. Professionals also do implement the use of such apps. The apps can allow one to perform different tasks without any problem. This capability is a good thing since it contributes to impressive outcomes that means that clients will feel contented. Read on how to choose the best construction project management software.

The process of choosing the most appropriate program is not very challenging. However, an individual has to practice caution. Start by considering the ease of using a particular application. Difficulties in using a given application is not a good thing. A person who is using such an app for the first time will have to spend more time leaning one or two things about it.

A good app should not cost too much money. Despite being affordable, it should offer its users a good experience. If an app costs too much money, most people will not be able to acquire and use it. At the same time, you might end spending more money on buying a program and find out later that it does not offer you what you want.

If one fails to implement some factors, he or she will have guaranteed himself or herself disappoints in future. For instance, it is very important for an individual to make sure that the application that he or she is about to buy has all the necessary features needed for the intended work. It is obvious that if one or two features are not present, one will need to buy another program.

In one way or another, the application that one is using might develop problems. In such cases, it is important for the developers of that app to give the necessary support. The support should be either through calling or via the internet. Through such channels, it becomes easy to deal with various problems without much stress.

It is very irritating when an application you are using stops to respond. Not only do such instances take long to resume, but may require a device restart. Such an occurrence is not welcome when one is carrying out a very important process. One of the most effective ways of preventing such incidences is by buying programs that do not require many computer resources.

Customization of applications is something that has gained popularity in the recent past. Users usually want to feel that they are in control of the aforementioned programs. The only way to have such an experience is to make sure that you buy a software that allows such customization features. Part of the customization process can allow you to include time sheets and calendars.

After taking note of the factors and pointers discussed above, choosing the best construction project management software will not be a challenge any more. However, during choosing and purchasing, personal preferences can also play a part. Make sure not to allow such preferences take over the other important considerations.




About the Author:



Read More..

Things You Need To Know About Business Phone Systems Chicago Services

Saturday, March 29, 2014

By Jeannie Chapman


Whether you have a small or larger businesses, maintaining an effective communication channel is very important. However, this is not possible if you do not have the right system in place. After all, the competition in the investment world continues to stiffen. This means that only those investors who know the right steps to make will manage to stay on top. For this reason, you will need to make sure that you have the right business phone systems Chicago services.

The main challenge when selecting these services is that you are faced with so many varieties. They come in various sizes, types and models. Therefore, if this is the first time, it is common to get confused on the right one. However, this is probably because you do not have the right information. However, knowing a thing or two about them can prove to be very helpful.

One of the main things that you need to know is if the system has VoIP readiness. This system makes use of both data and voice features. Most people ignore this feature mainly because they are still using the standard phone services. However, since you expect your businesses to grow in the future, it will be easy if you look for this feature. Thus, you will not need to buy a new one when that time comes.

With the current advancements in technology, you will need to make sure that they system you buy is easy to use. This is because these systems are becoming more complicated and are integrating more features. This makes it easy for everyone in the workplace to use it without straining so much. However, if you are comfortable with a complex system, then you are free to make this choice.

For smaller companies, it is obvious that you expect your investment to grow. This is the reason you will need to invest in a system that allows for expansion. This means that you need to know if you can add more lines to your system should the need arise in the future. The main benefit about this is that you system will not act as limitation and prevent your company to expand in the future.

Always remember that it is good to look for a personalized system. This is because every company is unique and will need to be offered customized services. This is what simplifies work since the system is tailor made to suit your unique needs. However, many people do not know this and end up with systems that do not work well for them.

The ultimate goal of any communication line is to make work easy. In case you have any issues with the system, you will need to know if there will be someone to assist you. This means that you will require a system that has online support. In the same way, remember to invest in maintenance.

Business phone systems Chicago services can help your company in many ways. As you have seen, there are a few things that you must look into for quality services. At least you now know how to go about it.




About the Author:



Read More..

Computer or laptop To begin with option Lenovo ThinkCentre M72e 4004H1U Desktop Computer Tiny Intel Core i3

Friday, March 28, 2014

Primary selection Lenovo ThinkCentre M72e 4004H1U Desktop Computer - Tiny, Intel Core i3 Sequence Currently

Ratings: Lenovo ThinkCentre M72e 4004H1U Desktop Computer - Tiny, Intel Core i3

Lenovo ThinkCentre M72e 4004H1U Desktop Computer - Tiny, Intel Core i3

Lenovo ThinkCentre M72e 4004H1U Desktop Computer - Tiny, Intel Core i3 Sequence Nowadays

A new era of performance and manageability ThinkCentre M Series continues to expand cost- and management-control capabilities; providing enterprise users and IT managers with smarter ways to be more productive. Our latest models offer improved overall system performance; optimized for the most demanding applications; from video editing to 2D/3D image design and more. Expanded power management compatibilities help you achieve new levels of energy efficiency; while Dual Independent Display (DID) support enables you to view up to four screens simultaneously. Lower costs while improving productivity across your enterprise.

Read more »
Read More..

Thermaltake Introduces the ProWater 850i Water Cooler

The guys over at Thermaltake USA just sent us word that the have announced the ProWater 850i Water Cooler. Notice we didnt say BigWater as Thermaltake is launching a brand new series of DIY liquid cooling systems, the ProWater Series. The first model to be introduced is the new PW850i that incorporates the latest production techniques and technology of the internal liquid cooling segment. The Thermaltake BigWater 760i was a great success as you can see from our review on the unit , so keep your fingers crossed that the ProWater 850i will perform even better.

The P500 Pump used in the PW850i has a maximum high output of 500L per hour to support the liquid cooling system even under heavy load; the hard-wearing ceramic bearing further increases the life span of the pump, users will not need to worry about pump failure even with extended VGA or memory liquid cooling components. The professionally designed inlet and outlet will eliminate the possibility of air blockages. The PW850i also adopts an automotive style radiator with Thermaltake exclusive "Dimple Dimpled Tubes" DDT technology rather than traditional round tubes, and with the adjustable 120mm fan (1300~2400 RPM); CPU heat will be transmitted efficiently in the coordinated system environment.

Read More..

OTONE Sonora multimedia speaker system

Thursday, March 27, 2014


OTONE Sonora multimedia speaker system



OTONE Sonora multimedia speaker system is one of the bestseller product in the market today. People arround United Kingdom is looking for OTONE Sonora multimedia speaker system with low prices from Internet. If youre lucky you can get a special discount from Amazon, only in this month. Well, good product that comes with low prices is everyone choices.

On sale now at affordable price, promo discounts and easy shipping. I am very pleased with the qualities and recommend it to someone wanting for a quality item with the latest features at an cheap. You can read testimony from customers to find out more from their experience. OTONE Sonora multimedia speaker system has worked wonders for me and I wish it will do wonders on you too. So why waste much more time? Enjoy it, you understand where you can buy the best ones.

Some of the customer reviews speak that the OTONE Sonora multimedia speaker system are splendid luggage. Also, It Is a pretty well product for the price. It’s great for colony on a tight budget. We’ve found pros and cons on this type of product. But overall, It’s a supreme product and we are well recommend it! When you however want to know more details on this product, so read the reports of those who have already used it.




OTONE Sonora multimedia speaker system is a good choice with brand new features that will make you amaze. But if you still want to have another information about OTONE Sonora multimedia speaker system, you can read more detail information, spesification, and reviews from people that bought OTONE Sonora multimedia speaker system below.

OTONE Sonora multimedia speaker system Detail Information :



This Page is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.co.uk
CERTAIN CONTENT THAT APPEARS ON THIS SITE COMES FROM AMAZON SERVICES LLC. THIS CONTENT IS PROVIDED "AS IS" AND IS SUBJECT TO CHANGE OR REMOVAL AT ANY TIME.

Read More..

DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER

Wednesday, March 26, 2014


DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER



DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER is one of the bestseller product in the market today. People arround United Kingdom is looking for DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER with low prices from Internet. If youre lucky you can get a special discount from Amazon, only in this month. Well, good product that comes with low prices is everyone choices.

Available now at cheap price, special discounts and super shipping. Im really satisfied with their features and highly recommend it to someone hunting for a top quality item with the useful features at an cheap. You can read review from buyers to find out more through their experience. DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER has worked wonders for me and I believe it would do wonders on you too. Why then waste any more time? Enjoy yourself, you understand where you can purchase the best ones.

Most people reviews speak that the DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER are splendid luggage. Also, It Is a pretty well product for the price. It’s great for colony on a tight budget. We’ve found pros and cons on this type of product. But overall, It’s a supreme product and we are well recommend it! When you however want to know more details on this product, so read the reports of those who have already used it.




DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER is a good choice with brand new features that will make you amaze. But if you still want to have another information about DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER, you can read more detail information, spesification, and reviews from people that bought DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER below.

DELL DESKTOP RECHARGEABLE PORTABLE SPEAKER Detail Information :



This Page is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.co.uk
CERTAIN CONTENT THAT APPEARS ON THIS SITE COMES FROM AMAZON SERVICES LLC. THIS CONTENT IS PROVIDED "AS IS" AND IS SUBJECT TO CHANGE OR REMOVAL AT ANY TIME.

Read More..

Laptop or desktop !! Discounted Dell OptiPlex 7010 DT Desktop Computer 3rd Gen Intel Core i5 3470 Quad Core 3 20GHz 6MB w HD2500 Graphics

Tuesday, March 25, 2014

Cut price Dell OptiPlex 7010 DT Desktop Computer- 3rd Gen Intel Core i5-3470 (Quad Core, 3.20GHz, 6MB w/HD2500 Graphics) via the internet

Reviews: Dell OptiPlex 7010 DT Desktop Computer- 3rd Gen Intel Core i5-3470 (Quad Core, 3.20GHz, 6MB w/HD2500 Graphics)

Dell OptiPlex 7010 DT Desktop Computer- 3rd Gen Intel Core i5-3470 (Quad Core, 3.20GHz, 6MB w/HD2500 Graphics)

Dell OptiPlex 7010 DT Desktop Computer- 3rd Gen Intel Core i5-3470 (Quad Core, 3.20GHz, 6MB w/HD2500 Graphics) using the web

Dell OptiPlex 7010 DT OptiPlex 7010 Desktop, Ship Fast, BRC12 4GB, NON-ECC, 1600MHZ DDR3,1DIMM 3rd Gen Intel? Core? i5-3470 (Quad Core, 3.20GHz, 6MB w/HD2500 Graphics) No Monitor 500GB 3.5" SATA 6GB/s with 16MB DataBurst Cache™ 16X DVD+/-RW SATA Intel Integrated Graphics,W/O Heat Sink, Performance, Desktop

Read more »
Read More..

Napsters New Serivce Review

Napster has recently just come out with a new subscription offering that sounds almost too good to be true. Their website states, “Get 5 MP3 credits and unlimited access to on-demand music with a plan starting at $5 a month.” First time reading this I was optimistic thinking they were giving the user a Zune subscription service for only $5 a month and on top of that allowing you to keep 5 tracks DRM free each month.

Well they do offer the same service that Zune where you can put unlimited songs on your mp3 player while under the subscription, but that is a completely different service called Napster to go and it costs $15 a month which is the same price as Zunes service.

The $5 plan only allows you to stream their 7 million song collection on your desktop pc and only the 5 DRM free track each month are able to go on your ipod/mp3 player. Napster has also included more than 60 commcial-free radio stations, over a 1,000 pre-programmed playlists, and a feature similar to Pandora to create your own playlists.

Overall sounds like a good deal if you listen to music mainly at your computer, but for people who mainly listen to music on your iPod then this is not for you.
Read More..

End Your Concerns With Pranksters By Doing A Reverse Cell Number Look Up

Monday, March 24, 2014

By Ryon Guttorp


Knowing is half the fight. Once you understand if the company demanding money is real or not you can handle it appropriately. You can block their number or talk to them if it is your neighbor. Many of the time, all it takes is a request from you and your telephone company can obstruct a number and business who require payments are frequently fraudsters. Once you have the realities, you can choose how to manage it.

The majority of individuals feel that without a name you can not learn info on someone so the telephone call keep coming. This use to be the means it worked. Technology the way it is, you can search for home phone subscribers and likewise cell phones. You do not should have a name prior to searching. Simply a telephone number is all it takes. You can then learn the name and address of any telephone number owner, who their supplier is, and a wide variety of other information on that person.

You will then be able to decide exactly what to do to make the phone calls stop when you have all the responses you need. You can show them if you find out it is a bogus phone number to a business you have actually never heard of. If you find out that it is your next-door neighbor calling you, you can block the number from calling you through your phone service provider. You will simply have even more choices on exactly how you can stop the calls.

Just think of the ability that you have to manage those prank calls in the middle of the night that awaken you or your family. It does not matter if all they do is hang up on you without speaking with you. As long as you have a phone with caller ID on it and you can see their telephone number, you can search for that number. You will find out quickly who you are dealing with.

It does not matter if their number is unlisted or not; with reverse cell number lookup you can still learn the required info. You have the right to know who they are if they have actually been calling you at your home or on your cell phone. Whether they live throughout the nation or right next door you can find out who provided their cell phone service which permits them to bother you and your family.

Prank calls commonly come from kids who wish to play tricks on individuals. Various other times it is made use of to terrify you rather than just annoy you. This could be particularly true if the individual on the other end is a heavy breather. If they take place to answer and it is often suggested to do simply that, this can always spook your kids. The prankster does not care exactly what they do to your household. Use the tools you have in order to stop it prior to it ends up being even more of an issue.

There is no damage in discovering exactly what you have to understand. It is definitely legal for you to try and stop the harassment. Nobody however you understands that it ares happening. No one but you can make it end. The only means you will stop it is to learn who is doing it to your household.

For a basic search, there is typically no cost. It is cost-free to discover the name of the person calling you in the majority of situations. , if you need to know more about the person there might be a small fee involved.. Considering your households need to be prank caller complimentary, do you not think that a little fee would be cash well spent if you put it towards a reverse cell number lookup? All it takes is a desire to be free of unknown callers, a phone and a computer number to obtain you on your means to learning who is calling you.




About the Author:



Read More..

SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER

Sunday, March 23, 2014


SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER



SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER is one of the bestseller product in the market today. People arround United Kingdom is looking for SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER with low prices from Internet. If youre lucky you can get a special discount from Amazon, only in this month. Well, good product that comes with low prices is everyone choices.

For sale now at affordable price, promo discounts and easy shipping. Im really happy with their features and recommend it to someone searching for a excellent product with the latest features at an reasonable. You can read review from buyers to find out more from their experience. SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER has worked wonders for me and I hope it will do wonders on you too. Why then waste any more time? Have Fun, you understand where to purchase the best ones.

Most of the customer reviews speak that the SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER are splendid luggage. Also, It Is a pretty well product for the price. It’s great for colony on a tight budget. We’ve found pros and cons on this type of product. But overall, It’s a supreme product and we are well recommend it! When you however want to know more details on this product, so read the reports of those who have already used it.




SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER is a good choice with brand new features that will make you amaze. But if you still want to have another information about SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER, you can read more detail information, spesification, and reviews from people that bought SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER below.

SAMSUNG NEUTRAL RECHARGEABLE PORTABLE SPEAKER Detail Information :



This Page is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.co.uk
CERTAIN CONTENT THAT APPEARS ON THIS SITE COMES FROM AMAZON SERVICES LLC. THIS CONTENT IS PROVIDED "AS IS" AND IS SUBJECT TO CHANGE OR REMOVAL AT ANY TIME.

Read More..

How to Use ValueInjecter with Asp net MVC ViewModel

Saturday, March 22, 2014

What is ValueInjecter ?
  • An Open Source Free product
  • Its a Mapper
  • It lets you define your own convention-based matching algorithms (ValueInjections)
  • In order to match up (inject) Source values to Destination values
  • With the ValueInjecter you inject values from the properties of source into properties of target object using ValueInjections
  • Each ValueInjection has its own conventions of which properties to match and how to transform the value.
  • By Default maps the properties with the Same Name and Same Type
  • But you can override TypesMatch to change this from source to the ones in the target
  •                                                                                                                    
When To Use ?
  • When we need to Map Domain Model to ViewModel and Vice-versa

How to Download?
  • You can download the "Omu.ValueInjecter.dll" from CodePlex located Here

download

How to Set Reference for above .dll on Your Project ?
  • On your Web Project Add Reference to the "Omu.ValueInjecter.dll"

Add Reference

Lets Try with Simple Example

  • C# , MVC 3 and Visual Studio 2010 has been used.
  • Please Follow an Inline Comments on Code.
  • Simple application with Product Name text box,Retail Price text box and Save button.   
       
Our Simple View Looks Like below


Our Simple View


Our Domain Model Looks like below

 public class Product
    {
        public Product() { Id = Guid.NewGuid() //create Guid as Primary key }

        public Guid Id { get; set; }
        public string ProductName { get; set; }
        public decimal RetailerPrice { get; set; }
       
        public virtual Provider Provider { get; set; }
    }

Our ViewModel Looks like below

public class ProductViewModel
    {
        public Guid Id { get; set; }

        [Required(ErrorMessage = "required")]
        public string ProductName { get; set; }

        [Required(ErrorMessage = "required")]
        public decimal RetailerPrice { get; set; }
             
    }

Our Controller Looks like below

        [HttpPost]
        public ActionResult AddProduct(ProductViewModel productViewModel, string providerKey)
        {
            //get provider from repository
            var provider = Repository.GetProvider(providerKey);

            //create Product domain object
            var productObj = new Product();

            //usage of ValueInjecter
            //source object as productViewModel
            //target object as productObj
            //type FilterId for keep target property Id value
            //not overridden from source property Id value (will explain later)
            productObj.InjectFrom<FilterId>(productViewModel);

            //If something missing then map as below
            productObj.Provider = provider;

            if (ModelState.IsValid) //check validation
            {
                //save for repository
                Repository.AddProduct(productObj);
                return RedirectToAction("AddProduct", new { providerKey = providerKey });
            }
            else
            {
                return View(productViewModel);
            }
        }

Our FilterId  Custom Class Looks like below

FilterId  Custom Class

using Omu.ValueInjecter;

namespace PawLoyalty.Web.Areas.Providers.ValueInjections
{
    public class FilterId : LoopValueInjection
    {
        //sourcePropName "Id" will not map to target property name "Id"
        //ie: Keep target property value as it is (not change from mapping)
        protected override bool UseSourceProp(string sourcePropName)
        {
            return sourcePropName  !=  "Id";
        }
    }
}

Why We Need FilterId Custom Class ?

# Its a Custom class inherited from LoopValueInjection class

# On our Domain Model (Product) we have to Initialize property Id of type Guid when creates
   an object (inside a constructor) as a Primary Key.

# So After that generated Id will save on the Database at the end

# When we use productObj.InjectFrom(productViewModel) Line of code (default)
   Without <FilterId> then source object (productViewModel) will override the
   target  objects Id with value {00000000-0000-0000-0000-000000000000}.

# So for avoid such a situation we have to use FilterId Custom class as above

#  i.e When we need to keep without changing target property Id value (productObj).
          Because it is our Primary key.

What Says Creator of ValueInjecter ? - By Valentin Plamadeala

Another way of doing the FilterId injection would be like this:

Method 1:
     
public class FilterId : ConventionInjection
 {
   protectedoverride boolMatch(ConventionInfo c)
    {
      returnc.SourceProp.Name != "Id"&& c.SourceProp.Name == c.TargetProp.Name
             && c.SourceProp.Type == c.TargetProp.Type;
    }
 }

Method 2 :

public class IngnoreProps : ConventionInjection
    {
        privatereadonly string[] _ignores;

        publicIngnoreProps()
        {
        }

        publicIngnoreProps(params string[] ignores)
        {
            _ignores = ignores;
        }

        protectedoverride boolMatch(ConventionInfo c)
        {
            return(_ignores == null || !_ignores.Contains(c.SourceProp.Name)) &&
                   c.SourceProp.Name == c.TargetProp.Name
                   && c.SourceProp.Type == c.TargetProp.Type;
        }
    }

and use it like this:

    target.InjectFrom(newIgnoreProps("Id"), source);

Special Thanks

I must put special thanks for Valentin Plamadeala (Creator of ValueInjecter) who gave me a feedback for my Article and also put that on codeplex. Thanks Valentin.I hope you will create lots of this kind of value added components behalf of us in future also.Good Luck.


What are the Features of ValueInjecter ?
  • Its Simple and Very Flexible
  • Its something like mozilla with its plugins, you create ValueInjections and use them
  • There are built-in injections for flattening, unflattering
  • Can use with MVC ,Win-Forms,Web-Forms,Silverlight,WPF and Data Access Situations
  • Can also use ValueInjecter to map from Anonymous and Dynamic objects
  • Valueinjecter has a default injection .InjectFrom() that does the properties with the Same Name and Same Type.
  • For everything else you can Create your Custom Valueinjections with individual mapping logic/rules, more like aspectse.g. from all properties of Type Foo to all properties of type Bar
                 What is Aspects - Aspect Oriented Programming (AOP) involves breaking down
                                               program logic into distinct parts.

Do you need to Dive Deep ends of  ValueInjecter ?
  • Stackoverflow  Here

Conclusion
  • Above I have showed very simple usage of ValueInjecter Mapper
  • If you need to learn more about ValueInjecter then you have to follow above mentioned Links
  • This mapper is nicely fit with Asp.Net MVC ViewModel developments for very simple to very complex scenarios

I hope this helps to You.Comments and feedback greatly appreciated.

Happy Coding.

Related Article


Read More..

More Cloud Based Software Autodesk InfraWorks 360 Pro

Friday, March 21, 2014

Autodesk has announced their release of Autodesk InfraWorks 360 Pro.  This is a cloud based version of InfraWorks that utilizes cloud based data storage and simulation.  It is available now on a quarterly license basis.  You do not have to purchase the full version; just “rent” it for three months at a time.  This will make it easier for design companies to “test drive” InfraWorks before they fully commit to it.



Autodesk InfraWorks 360 Pro is meant to enhance BIM workflows by providing desktop and cloud based software abilities that can unite multi-discipline designers allowing easier collaboration on a project.  This program uses the cloud to aid in collaboration on infrastructure projects.  It means designers have access to data designs anywhere and anytime.

Press Release
Autodesk InfraWorks
Autodesk InfraWorks 360 Pro

Read More..

HOWTO Adobe Flash 10 3 on Back Track 5

Step 1 :



Go to Flash official site to download current version (tar.gz). It is 10.3.181.34 at the time of this writing.



Step 2 :



Close all running Firefox.



Extract the file "install_flash_player_10_linux.tar.gz".



tar -xvzf install_flash_player_10_linux.tar.gz



Step 3 :



Move the "libflashplayer.so" to its locations.



chown root:root libflashplayer.so

chmod 0644 libflashplayer.so

mv -f libflashplayer.so /usr/lib/mozilla/plugins/

ln -s /usr/lib/mozilla/plugins/libflashplayer.so /usr/lib/firefox/plugins/




Step 4 :



Delete the extracted files and directories.



rm -R usr



Source :



Backtrack 5 - How to get flash player working on Gnome / KDE x64



Thats all! See you.
Read More..

Book Review Instant jqGrid

Thursday, March 20, 2014

Introduction

  • Today I am going to Review a Book which has been published by Packt Publishing
  • The Book is Instant jqGrid
  • The Author of this book is Gabriel Manricks


    Table of Contents



    Who this book is written for ?

    • This book is aimed at people who have some knowledge of HTML and JavaScript
    • Knowledge of PHP and SQL would also prove to be beneficial
    • No prior knowledge of jqGrid is expected

      Pros

      • I have read this book withing a day.Before reading this book I didnt have any prior experience about jqGrid. But this book gave me all the necessary knowledge which it requires for work with jqGrid for my next App development.
      • This is a very concise book (only 58 pages), where directly targeted to the most needed materials about the jqGrid.
      • On Installation section it clearly explains how to configure the environment needed for the use of jqGrid with nice screenshots.
      • After that On Quick Start section it starts with very simple example about jqGrid and explains all the default configurations of jqGrid.
      • I have seen usage of JSON Data generation Tool for generate test data on our data templates,  which it requires for test our sample jqGrid on this section.Its really nice addition for this section.
      • When You walk through to the next section,You will feel some kind of advance usage of the jqGrid.
      • Author named This section as "Top 7 features you need to know about".
      • On this section you will learn  about Formatting data,Adding controls,Editing data,Communicating with jqGrid,Editing data server-side,Searching in jqGrid and Interfacing the API.
      • Even though those areas are advance usage of jqGrid,Author explains the theory well with the sample code and final output of those examples with nice screenshots.
      • Since the sub section of "Communicating with jqGrid",Author has mainly targeted the jqGid usage for PHP developers.
      • When you follow this book, you can collect lots of very useful URLs for get more knowledge about jqGrid world.Other than that Youll have whole chapter reserved for this purpose which named as "People and places you should get to know".
      • Source code has been provided with this book also includes a nice read me file which explains how to use codes.I have tested all codes (except PHP Codes) and working fine.
            

        Cons

        • personally dont like the cover image of this book.Its totally not matching with the Title of the book.Why because the cover image must implies the Title of the book in some way.When we consider this book, its very easy choice to pick image of nice jqGrid as a cover page image.Author Must think about these things also.
        • I would like If Author has included a chapter or subsection for the usage of jqGrid for ASP.net MVC developers as well.Then this book will serve for both worlds (PHP and ASP.net).
        • I am not happy with the formatting of the Code blocks.Currently its on Black and White (mono) way. It should be required as color syntax code for better reading experiences.
        • On e-Book we cannot access some of the URLs directly by clicking the links.I have found that the problem is when URL goes for the 2nd line of the page,it doesnt work.Need to consider this issue also.
        • Its better If Author has provided more Screenshots on "Editing data" Section. Currently Its having lot of text explanation without sufficient screenshots.So itll lead bit boring for continues reading.

        Errata

        • Below mentioned errors came, when I was generating below templates by using JSON Generator Tool
        • I have seen below mentioned error on sample code under "Quick start" section

                  Error Code

                 [
                    {{repeat(50)}},
                     {
                           name: {{firstName}} {{lastName}},
                           phone: {{phone}}
                     }
                ] 

                 Correct Code

                 [
                     {{repeat(50)}},
                      {
                           name: {{firstName}} {{surname}},
                           phone: {{phone}}
                      }
                 ]

        • I have seen below mentioned error on sample code under "Formatting data" section

                 Error Code

                [
                   {{repeat(10)}},
                   {
                       name: {{firstName}} {{lastName}},
                       timestamp: {{numeric(1104559200, 1357020000)}},
                       verified: {{bool}},
                       website: http://{{firstName}}{{lastName}}.com
                   }
               ]

               Correct Code

                [
                   {{repeat(10)}},
                    {
                         name: {{firstName}} {{surname}},
                         timestamp: {{numeric(1104559200, 1357020000)}},
                         verified: {{bool}},
                         website: http://{{firstName}}{{surname}}.com
                   }
               ]


        References


        Conclusion

        • I would like to recommend this book for all the Novice and Intermediate PHP Developers, Who are willing to learn jqGrid.
        • I have to put special thanks for Packet Publishers,who gave me this opportunity to review this book.This is my first book review and I hope to do more in future as well.Packet Publishers are doing great job for Software Developers world by publishing this kind of Up-To-Date books in very specific areas.Keep up the Good work.
        • I have thoroughly enjoyed the reading of this book and I hope same will feel for you as well.
        • Thanks for the Author Gabriel as well for writing this kind of Instant category book.Keep up the Good work.
        Read More..

        AUGI HotNews Writers Wanted

        Wednesday, March 19, 2014

        I have been writing for AUGI for a long time now. Recently I served as the AUGI World AutoCAD Content Manager. That torch has been passed on to Curt Moreno, and the Kung Fu Drafter. I am now the AUGI HotNews content manager. I am looking for potential writers. You must be a member AUGI and are willing to volunteer your time to write. If you are interested please contact me and we will figure out what to do next.

        Read More..

        Announcing Autodesk Revit LT

        Tuesday, March 18, 2014



        Autodesk announced the coming release of Autodesk Revit LT, a smaller version of Autodesk’s BIM Platform Revit.  Revit LT is a graduate of Autodesk Labs.  It was formerly known as Project Spark.  (http://labs.autodesk.com/utilities/spark)

        Revit LT is a slimmed down version of Revit. Autodesk has a Compare Revit LT and Revit matrix on the Features page of the Revit LT site.   Most things are there.  Here is a short list of “missing” functions or tools:



        • Construction Modeling-Parts & Assemblies
        • Stair by Sketch
        • Structural Modeling-Truss & Reinforcement
        • In-Place Modeling
        • Conceptual Massing, Adaptive Components
        • Photorealistic Rendering Within the Product
        • Interference Check, Copy/Monitor
        • Worksharing
        • Autodesk 360 Energy Analysis for Autodesk Revit
        • Third-Party API


        Here is a link to Autodek’s full comparison matrix in PDF format:
        http://images.autodesk.com/adsk/files/revitlt_revit2013_comparison_matrix_final.pdf

        It seems that Autodesk is positioning Revit LT as a stepping stone for designers to go from 2D design platforms to a full fledged 3D platform and/or to a BIM process.  Autodesk senior vice president, information modeling products, Amar Hanspal said,

        Autodesk Revit LT reflects our commitment to provide architects, designers and building professionals, particularly those in small firms, the tools they need to ease the transition to get started with—and take advantage of—a BIM workflow. With Revit LT, customers can deliver higher-quality, more accurate designs and documentation—allowing them to bring projects to market faster and save time and money

        Autodesk Revit LT is built from Revit, so it works just like Revit.  It’s the same thing with AutoCAD LT and AutoCAD.  They are the same, use the same files; the LT version is simply missing some parts.  Revit LT adds another LT product to the Autodesk line.  There is AutoCAD LT, Inventor Fusion LT, and now Revit LT.  Hopefully next Autodesk will bring us Civil3D LT!!

        Autodesk Revit LT is set to be available within the next month in North America and in other countries around the world.  Revit LT will be a standalone product and will also be part of the AutoCAD Revit LT Suite 2013.  According to the Revit LT site, a free 30 day trial will be available on September 18th, 2012.

        So what will it cost?  According to http://usa.autodesk.com/revitlt/howtobuy/ the stand alone price will be $1200 (MSRP in USD) and the AutoCAD Revit Suite 2013 will coast $1500 (MSRP USD).  Not bad really.

        http://usa.autodesk.com/revitlt/

        Link to Press Release from Autodesk Announcing Revit LT 2013
        http://news.autodesk.com/news/autodesk/20120905005613/en/Autodesk-Announces-Autodesk-Revit-LT
        Read More..

        AUGI Board of Directors Nominations

        AUGI Board of Directors Nominations


        Below information kindly supplied by Bill Adams (AUGI BoD member - Vice President).

        October 1st is just the beginning... of what? A fantastic and rewarding experience for any hardworking volunteer!

        So what’s happening that Wednesday? Members are given yet another way to be involved with AUGI. You can do this either by nominating someone for the Board of Directors or throwing your own hat into the ring for the next term.

        Being a Director requires some work, effort and carries responsibility, but it offers many rewards as well. So how do I apply, you may ask? All the details can be found on this page “AUGI Board of Directors Nominations”.

        If you are considering running for the Board, keep in mind that they meet in person three times per year. In January, June and at Autodesk University near year’s end (for a combined total of about two weeks minimum). There are also monthly teleconferences to keep everyone on the same page. So, you can anticipate about 15-20 hours per month (maybe more, depending on the level of your involvement).

        Nominations need to be submitted to the AUGI Nominating Committee Chair no later than 5pm EDT Tuesday, October 21, 2008.

        Read More..

        Off Topic Quote of the Day

        Monday, March 17, 2014

        Things are only impossible until theyre not.

        - Jean-Luc Picard
        Read More..

        AutoCAD 2014 Available For Download

        Sunday, March 16, 2014


        AutoCAD 2014 is now available for download from Autodesk.com

        Go to


        Choose your language and 32 or 64 bit operating system and download.

        AutoCAD for Mac 2014 is not yet available, only the Windows version.
        Read More..

        Java stack data structure interview questions and answers

        Saturday, March 15, 2014

        The Java Collection library is one of the most frequently used libraries.The LIFO access mechanism used by a stack has many practical uses.  For example, Evaluation of expressions / syntax Parsing, validating and parsing XML, undo sequence in a text editor, pages visited history in a web browser, etc. Here are a few Java based interview questions and answers on a stack.

        Q. What LIFO implementation would you use in Java?
        A. The Vector based Stack class is a legacy and the Javadoc documentation for this class states that Deque should be used instead because it provides better LIFO operation support. Implementations of Deque are typically expected to perform better than Stack. J2SE 5 introduced a Queue interface and the Deque interface extends this interface. The Deque interface supports should be pronounced "deck" rather than "de-queue" and is not related to dequeue used to indicate removal from a queue. The double-ended queue supports addition or removal of elements from either end of the data structure, so it can be used as a queue (first-in-first-out/FIFO) or as a stack (last-in-first-out/LIFO).

        Note:  The legacy Vector class uses internal synchronization, and it is rarely good enough for actual consistency, and can slow down execution when it is not really needed. The new java.util.concurrent package provides a more efficient way of thread-safety.

        Q. Can you write a program to evaluate if a given string input has proper closing bracket for every opening bracket?
        A. Firstly, think of the pseudo code. The pseudo-code goes as follows.

        1. Store every opening parenthesis (i.e. a LHS parenthesis) in a stack. This will enable LIFO.
        2. When you encounter a closing parenthesis (i.e. RHS parenthesis ), pop the last entry, which should be the corresponding opening parenthesis.
        3. If not found, then the parentheses are not matched.

        If required, draw a diagram as shown below.







        Here is a sample program to illustrate a Stack (i.e. LIFO) in action in evaluating if a program has balanced parentheses. The enum constants class that defines the parentheses.


        public enum PARENTHESIS {

        LP((), RP()), LB({), RB(}), LSB([), RSB(]);

        char symbol;

        PARENTHESIS(Character symbol) {
        this.symbol = symbol;
        }

        char getSymbol() {
        return this.symbol;
        }
        }



        Now, the stack in action using its LIFO mechanism to marry a closing parenthesis (i.e RHS) with an opening parenthesis (i.e. LHS). If you find any LHS parenthesis, push it into a stack, and when you find a RHS parenthesis, pop the stack to see if you have a corresponding LHS parenthesis.


        import java.util.ArrayDeque;
        import java.util.Deque;

        public class Evaluate {

        //stores the parentheses
        final Deque<character> paranthesesStack = new ArrayDeque<character>();

        public boolean isBalanced(String s) {

        for (int i = 0; i < s.length(); i++) {

        if (s.charAt(i) == PARENTHESIS.LP.getSymbol() ||
        s.charAt(i) == PARENTHESIS.LB.getSymbol() ||
        s.charAt(i) == PARENTHESIS.LSB.getSymbol())

        paranthesesStack.push(s.charAt(i)); // auto boxing takes place
        // push the opening parentheses

        //for each RHS parenthesis check if there is a matching LHS Parenthesis
        //if the stack is empty or does not have a matching LHS parenthesis then not balanced.
        else if (s.charAt(i) == PARENTHESIS.RP.getSymbol()){
        if (paranthesesStack.isEmpty() || paranthesesStack.pop() != PARENTHESIS.LP.getSymbol())
        return false;
        }

        else if (s.charAt(i) == PARENTHESIS.RB.getSymbol() ) {
        if (paranthesesStack.isEmpty() || paranthesesStack.pop() !=PARENTHESIS.LB.getSymbol() )
        return false;
        }

        else if (s.charAt(i) == PARENTHESIS.RSB.getSymbol()) {
        if (paranthesesStack.isEmpty() || paranthesesStack.pop() != PARENTHESIS.LSB.getSymbol())
        return false;
        }

        }

        return paranthesesStack.isEmpty(); //if the stack is empty, then all matched well, otherwise not matched.
        }

        }


        Note: ArrayDeque is not thread-safe and does not allow for elements of the data structure to be null. The concurrent package has BlockingDeque and LinkedBlockingDequeue.

        Finally, a simple JUnit class to test. You need to have the junit-xxx.jar in the classpth. The version xxx I used was 4.8.2.

        import junit.framework.Assert;
        import org.junit.Before;
        import org.junit.Test;


        public class EvaluateTest {

        Evaluate eval = null;

        @Before
        public void setUp(){
        eval = new Evaluate();
        }

        @Test
        public void testPositiveIsBalanced(){
        boolean result = eval.isBalanced("public static void main(String[] args) {}");
        Assert.assertTrue(result);

        }


        @Test
        public void testNegativeIsBalanced(){
        boolean result = eval.isBalanced("public static void main(String[ args) {}"); // missing ]
        Assert.assertFalse(result);

        result = eval.isBalanced("public static void main(String[] args) }"); // missing {
        Assert.assertFalse(result);


        result = eval.isBalanced("public static void main String[] args) {}"); // missing (
        Assert.assertFalse(result);

        }

        }




        Tip: When testing, test positive and negative scenarios.

        Note: The above example is shown to illustrate how a LIFO mechanism can be used to determine if the parentheses are balanced. The actual implementation is far from being optimum. Where ever there is a large block of if-else or switch statements, one should think about an object oriented solution.

        Q. Why Deque interface is different from other collection classes?
        A. In Deque, You can insert and delete the objects from the both start and end of the the collection. Whereas in a normal collection, inserts/deletes are happening at last only.


        Q. What are the different ways to look at the trace of your program execution?
        A.

        1. Java is a stack based language, and the program execution is pushed and popped out of a stack. When a method is entered into, it is pushed into a stack, and when that method invokes many other methods, they are pushed into the stack in the order in which they are executed. As each method completes its execution, they are popped out of the stack in the LIFO order. Say methodA( ) invoked methodB( ), and methodB( ) invoked methodC ( ), when execution of methodC( ) is completed, it is popped out first, and then followed by methodB( ) and then methodA( ). When an exception is thrown at any point, a stack trace is printed for you to be able to find where the issue is.




        2. A Java developer can access a stack trace at any time. One way to do this is to call


        Thread.currentThread().getStackTrace() ; //handy for tracing



        You could get a stack trace of all the threads using the Java utilities such as jstack, JConsole or by sending a kill -quit signal (on a Posix operating system) or <ctrl><break> on WIN32 platform to get a thread dump. You could also use the JMX API as shown below. ThreadMXBean is the management interface for the thread system of the JVM.

        ThreadMXBean bean = ManagementFactory.getThreadMXBean();
        ThreadInfo[] infos = bean.dumpAllThreads(true, true);
        for (ThreadInfo info : infos) {
        StackTraceElement[] elems = info.getStackTrace();
        //...do something
        }


        The thread dumps are very useful in identifying concurrency issues like dead locks, contention issues, thread starvation, etc.


        Q. Is recursive method calls possible in Java?
        A. Yes. Java is stack based and because of its LIFO (Last In First Out) property, it remembers its caller. So it knows whom to return when the method has to return.


        Q. How would you go about analyzing stack traces correctly?
        A.

        1. One of the most important concepts of correctly understanding a stack trace is to recognize that it lists the execution path in reverse chronological order from most recent operation to earliest operation. That is, it is LIFO.

        2. The stack trace below is simple and it tells you that the root cause is a NullPointerException on ClassC line 16. So you look at the top most class.

        Exception in thread "main" java.lang.NullPointerException
        at com.myapp.ClassC.methodC(ClassC.java:16)
        at com.myapp.ClassB.methodB(ClassB.java:25)
        at com.myapp.ClassA.main(ClassA.java:14)



        3. The stack trace can get more complex with multiple "caused by" clauses, and in this case you usually look at the bottom most "caused by". For example,

        Exception in thread "main" java.lang.IllegalStateException: ClassC has a null property
        at com.myapp.ClassC.methodC(ClassC.java:16)
        at com.myapp.ClassB.methodB(ClassB.java:25)
        at com.myapp.ClassA.main(ClassA.java:14)
        Caused by: com.myapp.MyAppValidationException
        at com.myapp.ClassB.methodB(ClassB.java:25)
        at com.myapp.ClassC.methodC(ClassC.java:16)
        ... 1 more
        Caused by: java.lang.NullPointerException
        at com.myapp.ClassC.methodC(ClassC.java:16)
        ... 1 more


        The root cause is the last "caused by", which is a NullPointerException on ClassC line 16


        4. When you use plethora of third-party libraries like Spring, Hibernate, etc, your stack traces "caused by" can really grow and you need to look at the bottom most "caused by" that has the package relevant to you application like com.myapp.ClassC and skip library specific ones like org.hibernate.exception.*.

        Q. Can you reverse the following numbers {1, 4, 6, 7, 8, 9}?
        A. There are a number of ways to achieve this. Speaking of LIFO, the following example illustrates using a stack based implementation.


        import java.util.ArrayDeque;
        import java.util.Arrays;
        import java.util.Deque;


        public class ReverseNumbers {

        public static void main(String[] args) {
        Integer[] values = {1, 4, 6, 7, 8, 9};
        Deque<integer> numberStack = new ArrayDeque<integer>(10);

        for (int i = 0; i < values.length; i++) {
        numberStack.push(values[i]); // push the numbers in given order
        }

        Integer[] valuesReversed = new Integer[values.length];

        int i = 0;
        while (!numberStack.isEmpty()) {
        valuesReversed[i++] = numberStack.pop(); // pop it - as this happens in reverse order
        // i++ is a post increment i.e.
        // assign it and then increment it
        // for the next round
        }

        System.out.println(Arrays.deepToString(valuesReversed));

        }
        }



        The output will be


        [9, 8, 7, 6, 4, 1]

        Read More..