Rss Feed Like Us on facebook Google Plus

February 24, 2012

Software Testing - What?, Why?, When?

1. What is Software Testing? 

According to WIKIPEDIA
                                               "Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test."

Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include, but are not limited to, the process of executing a program or application with the intent of finding software bugs (errors or other defects).

Software testing can be stated as the process of validating and verifying that a software program/application/product:

   1.meets the requirements that guided its design and development;   2.works as expected; and   3.can be implemented with the same characteristics.

Software testing is more than just error detection;  

Testing software is operating the software under controlled conditions, to (1) verify that it behaves “as specified”; (2) to detect errors, and (3) to validate that what has been specified is what the user actually wanted.

   1. Verification is the checking or testing of items, including software, for conformance and consistency by evaluating the results against pre-specified requirements.  [Verification: Are we building the system right?]  
 2.Error Detection: Testing should intentionally attempt to make things go wrong to determine if things happen when they shouldn’t or things don’t happen when they should.
  3.Validation looks at the system correctness – i.e. is the process of checking that what has   been specified is what the user actually wanted.     [Validation: Are we building the right system?] 

In other words, validation checks to see if we are building what the customer wants/needs, and verification checks to see if we are building that system correctly.  Both verification and validation are necessary, but different components of any testing activity.

The definition of testing according to the ANSI/IEEE 1059 standard is that testing is the process of analysing a software item to detect the differences between existing and required conditions (that is defects/errors/bugs) and to evaluate the features of the software item.
Remember: The purpose of testing is verification, validation and error detection in order to find problems – and the purpose of finding those problems is to get them fixed.
 
2. Why Testing CANNOT Ensure Quality
Testing in itself cannot ensure the quality of software. All testing can do is give you a certain level of assurance (confidence) in the software. On its own, the only thing that testing proves is that under specific controlled conditions, the software functioned as expected by the test cases executed.
 
3. What is Software “Quality”?
"Quality software is reasonably bug-free, delivered on time and within budget, meets requirements and/or expectations, and is maintainable. "

However, quality is a subjective term. It will depend on who the ‘customer’ is and their overall influence in the scheme of things. A wide-angle view of the ‘customers’ of a software development project might include end-users, customer acceptance testers, customer contract officers, customer management, the development organisation’s management/accountants/testers/salespeople, future software maintenance engineers, stockholders, magazine reviewers, etc. Each type of ‘customer’ will have their own view on ‘quality’ - the accounting department might define quality in terms of profits while an end-user might define quality as user-friendly and bug-free.  

4. What is “Quality Assurance”?
“Quality Assurance” measures the quality of processes used to create a quality product.
Software Quality Assurance (‘SQA’ or ‘QA’) is the process of monitoring and improving all activities associated with software development, from requirements gathering, design and reviews to coding, testing and implementation.

It involves the entire software development process - monitoring and improving the process, making sure that any agreed-upon standards and procedures are followed, and ensuring that problems are found and dealt with, at the earliest possible stage. Unlike testing, which is mainly a ‘detection’ process, QA is ‘preventative’ in that it aims to ensure quality in the methods & processes – and therefore reduce the prevalence of errors in the software.

Organisations vary considerably in how they assign responsibility for QA and testing. Sometimes they’re the combined responsibility of one group or individual. Also common are project teams that include a mix of testers and developers who work closely together, with overall QA processes monitored by project managers or quality managers.
 
5. Quality Assurance and Software Development
Quality Assurance and development of a product are parallel activities. Complete QA includes reviews of the development methods and standards, reviews of all the documentation (not just for standardisation but for verification and clarity of the contents also). Overall Quality Assurance processes also include code validation.

A note about quality assurance: The role of quality assurance is a superset of testing. Its mission is to help minimise the risk of project failure. QA people aim to understand the causes of project failure (which includes software errors as an aspect) and help the team prevent, detect, and correct the problems. Often test teams are referred to as QA Teams, perhaps acknowledging that testers should consider broader QA issues as well as testing.
 
6. What’s the difference between QA and testing?
Simply put:
  • 1.TESTING means “Quality Control”; and
  • 2.QUALITY CONTROL measures the quality of a product; while
  • 3.QUALITY ASSURANCE measures the quality of processes used to create a quality product.
 
7. The Mission of Testing
In well-run projects, the mission of the test team is not merely to perform testing, but to help minimise the risk of product failure. Testers look for manifest problems in the product, potential problems, and the absence of problems. They explore, assess, track, and report product quality, so that others in the project can make informed decisions about product development. It's important to recognise that testers are not out to "break the code." We are not out to embarrass or complain, just to inform. We are human meters of product quality.
 
Read More

February 23, 2012

Top 10 Most Popular Programming Language

The knowledge of a handful of programming languages could come to be a lifesaver to many a programmer, especially since most languages that were popular 10 years ago are not as viable as they are now.

But there are many developers who have earned their worth simply by knowing the right programming language at the right time, simply because they had solid skills that were profitable while the language was popular.

Here are some languages though, which stayed popular through the years, and prove to give young developers a jumpstart to their careers, and always are a bonus to add to any developer’s resume, as compiled by TIOBE software, a coding standards company.

1. Java

What is it?
 An object-oriented programming language developed in the late 1990s by James Gosling and colleagues at Sun Microsystems.

Why is it important?
This “beautiful” programming language is central for any non-Microsoft developer, i.e. any developer who focuses on the non-.NET experience. It is mostly derived from C and C++ but has a more basic object model. It ranked first on TIOBE’s list of most popular programming languages.

2. C

What is it?
C, a general purpose programming language built by Dennis Ritchie when he was a part of Bell Telephone labs, is the bass of C++ and other programming languages. It was built to work with the Unix operating system.

Why is it important?
C is one of the most widely used programming languages of all time, and ranked second on the list. “Learning C is crucial. Once you learn C, making the jump to Java or C# is fairly easy, because a lot of the syntax is common. Also, a lot of C syntax is used in scripting languages,” Wayne Duqaine, director of Software Development at Grandview Systems, of Sebastopol, Calif., told eWEEK.
 
3. C#

What is it?
This general-purpose programming language developed by Microsoft evolved from C and C++ as a part of the software company’s .NET initiative.

Why is it important?
This language is an essential part of the .NET framework, so developers who use Microsoft heavily will find it critical, according to Duqaine.

4. C++

What is it?
C++ is a general purpose multi-paradigm spanning compiled language that has both high-level and low-level languages’ features. It was started as an enhancement to the C programming language, Bjarne Stroustrup in 1979.

Why is it important?
It is one of the most popular programming languages, winning fourth place on the list, with application domains including systems software, application software, server and client applications, and entertainment software such as video games.  The language has also greatly influenced many other popular programming languages, such as C# and Java.

5. Objective-C
 
What is it?
This object-oriented programming language created first by Brad Cox and Tom Love at their company Stepstone in the early 1980s, adds Smalltalk-like messaging to the C programming language.

Why is it important?
This language is most used on the Apple iOS and Mac OS X. Objective-C is the principal language used for Apple's Cocoa API as well.

6. PHP

What is it?
This language is especially suited for Web development because of it easy embedding into HTML pages. It is an open-source, server-side, cross-platform, interpretive HTML scripting language

Why is it important?
It is a popular language, ranking sixth on TIOBE’s list. "High-speed scripting with caching, augmented with compiled code plug-ins (such as can be done with Perl and PHP) is where the future is. Building Web apps from scratch using C or COBOL is going the way of the dinosaur," said Duquaine, according to eWEEK’s report.

7. (Visual) Basic

What is it?
This is an event-driven programming language which is implemented on Microsoft’s .Net framework.

Why is it important?
This language ranked as the seventh most popular language on TIOBE’s list, probably because it was designed by Microsoft to be easy to learn and use. According to Tim Huckaby, CEO of San Diego-based software engineering company CEO Interknowlogy.com, “It is currently dominating in adoption and that is where all the work is,” as in eWEEK’s report.

 8. Python

What is it?

This is an event-driven programming language which is extensively used by Google because of its simplicity. It is managed by the Python Software Foundation.

Why is it important?

Python is a general-purpose, high-level programming language whose design philosophy emphasizes code readability. Python claims to combine "remarkable power with very clear syntax", and its standard library is large and comprehensive.

It is releases on 4 September 2011, 6 months ago.It is developed by Python Software Foundation.

9. Perl

What is it?
Being a high-level programming language, its emphasis lies in code readability and clear syntax. It combines Object-oriented and functional programming styles, and is often used as a scripting language. Perl is an open-source language used widely to process text through CGI programs.


Why is it important?
Perl’s efficiency in processing of piles of text has ranked it ninth in terms of programming language popularity. It is used extensively to write Web server programs for a variety of tasks. “Learning some form of scripting language, such as Perl or PHP is critical if you are doing Web apps," told Wayne Duqaine, director of Software Development at Grandview Systems, of Sebastopol, Calif., in a talk with eWEEK.

10. JavaScript

What is it?
JavaScript is an object-oriented scripting language that is smaller than Java. Being a client-side language, it runs in the web browser on the client-side with a simplified set of commands, easier code and no need for compilation.

Why is it important?

JavaScript is simple to learn and is the tenth most widely used programming language. It is used in millions of web pages to authenticate forms, detect browsers and improve design, and it is easier to run these functions as it is embedded into HTML.
Read More

February 22, 2012

Schedule your Email with RightInbox Extension


Firefox/Chrome: Right Inbox is an extension for Chrome and Firefox that works with your Gmail account to schedule emails for sending later, much like Boomerang, but free and simpler.

Scheduling emails could be helpful for quite a few reasons. One example is that you might know the recipient gets to their desk at around 10am, so you could schedule your email to be delivered at some point around that time. Otherwise, your important message could become buried by all of the other emails that the person has gotten since you wrote it.

The add-on places a "Send Later" button in Gmail with options to schedule the email in 1, 2, or 4 hours or select a specific date and time and, optionally, time zone. It's very straightforward and intuitive—and useful. Use it to send yourself reminders or send emails to others at just the right time.

Overall the app is lightweight and definitely worth installing and you might start seeing faster responses from the people you’re emailing if you start thinking about the best time to fire that important message off. If you want this feature and a whole host of others, definitely check out Boomerang, which is a paid alternative.



Read More

how to get your Website/Blog in google within 24 Hours

We all know that content is king and that if you keep blogging… if you keep doing what you love… the traffic and the money will follow suit. While that’s partially true, there is also things that you can do to:

Why wait right? Content can be king but waiting around for traffic to come by itself is not a good way to start blogging. So let’s start…


Getting Indexed

Let’s say you launched a Blog or Website today and want it on Google’s results tomorrow. Can this be done?Yes.

Easiest way to get indexed by major Search Engines is to get mentioned by established blogs. This usually will get your blog indexed within 24 hours. But since we are new (i.e the newly launched blog of ours) I don’t think any blogger want to mention it. So instead of begging other bloggers to notice your newly launched blog, you just have to figure out other ways of getting indexed by Google fast. Can it be done? Absolutely! (All it takes a little effort on your side).


1. Blog Communities
There are few blog related community portals that have a very good rankings in Google and other Major Search Engines Results, they are:  BlogCatalog, Blogged and NetworkedBlogs. This means that if you get your blog on these blog communities, Google will have no other choice but to index your blog. So, go ahead and register for an account on these communities and list your blog on it. 


"What to pay attention: Your blog’s description (have a proper write-up), keywords & tags (add related keywords and tags to your listing, this will be used by other members to find your blog), branding (put your logo, avatars, screenshots etc. have a consistent branding everywhere), and list your blog in the correct category."
 

2. Site Valuation & Stats Sites

Some of those How Much Your Site Worth? sites have a good ranking in Search Engines. All you need to do is to go there and check how much your site worth. This would create a special page for your blog (like this) and consecutively it would be indexed by Google. Here is a list of worthy sites:WebsiteOutlook, StatBrain, CubeStat, WebTrafficAgents, BuiltWith, WhoIs, QuarkBase, URLfan and AboutTheDomain.
 

3. Feed Aggregators

List your blog’s feed in these feed aggregators Feed-Squirrel, OctoFinder, FeedAdage. Once you have submitted your feed to these sites, they will keep track of your newly published posts and index them in their site. Whenever someone clicks on the blog post title, he/she will be redirected to your original blog post sending you free traffic and getting your latest posts indexed by Google.
 

4. Social Sites

Registering account on Social Sites with the same username as your blog’s URL is very effective in getting your blog indexed by Search Engines. Especially for those targeted keywords.

For example, if your blog’s name is Tech Impulsion, it’s a good practice to register the same username at twitter as @techimpulsion, and to create a page in Facebook at www.facebook.com/techimpulsion. Having a consistent keyword-username on all major Social Sites will help get your blog indexed faster, and at a later stage it will also help build a “brand” for your blog.

So, get account on major Social Sites for your newly launched blog, namely: Twitter, Facebook(create a page for your blog), Digg, StumbleUpon, Delicious etc. By the way, it’s a good pratice to create a separate Social Sites account for each of your projects. This way you can stay focused and post messages that are related to your project. In the long run, this will help build a community that are like-minded around your project.
 

5. Misc Sites

Squidoo is a community website that allows people to create pages (called “lenses”) on various topics. Creating a topic that is related to your blog and then including your feed in that page would help your blog get indexed by Search Engines. Squidoo used to have a really good ranking in Google results, but not so much today. But it’s still ranks well and it shouldn’t be neglected.

ChangeDetection is a website that monitors sites for changes. When you monitor a particular site using ChangeDetection, it will ask you whether you want the notices to be public or private. If you say public, it will be published in their news section.


Technorati is a search engine for searching blogs. "According to Wikipedia, as of June 2008, Technorati was indexing 112.8 million blogs and over 250 million pieces of tagged social media." It’s a dying breed, but not just dead yet. You have to definitely register for an account and get your blog listed on Technorati.

That’s it. Once you are done with creating accounts and submitting your newly launched blog in the above mentioned sites, you should see your blog in Google’s Search Results within 24 hours. Most of the time it will appear within the next few hours only.

Lastly, getting indexed is one thing but sustaining that traffic is another. And this is where the Content is King phrase should truly be emphasized. Because, without a good and valuable content, all your effort will be just wasted.
Read More

February 21, 2012

Free Online Event and Party invitation Tool : Yoovite

For those who party often and find it difficult to send out invitations, Leap Software Solutions Private Limited. has begun providing a free online invitation tool called Yoovite.com.

Yoovite.com, developed by Kochi-based Leap Software Solutions with its US subsidiary, has been designed to create and manage online invitations for parties and events such as weddings, birthdays and other occasions.


Incidentally, this mode of invitation is quite popular in the western world, and is now coming to India for the first time.

Leap Software's Chief Operating Officer and Technology head Boby Thomas said, "This is one of the major internet tools they have developed for Indian customers."

"This tool has features such as login with your Facebook account, send SMS messages to guests, import contacts from your email account such as Gmail, Yahoo Mail, Hotmail or Rediff mail. It also offers features to manage RSVPs of all your guests," said Thomas.

Once registered in Yoovite.com, you can choose from hundreds of available designs or templates. There is a robust event management section where the user can manage their past and future events, manage their contacts, create groups and much more.


Yoovite Mobile App for both iPhone and the Android market are currently under development and will be available soon to download.

About Yoovite


Sending invitations and managing RSVPs
for Indian parties and events are now easier
than ever before!
  **Select from 100's of professional invitation designs.
  **Import contacts from your email account like
      Gmail or Yahoo.

  **Send invitation as SMS to guest's mobile.
  **Easily manage RSVPs. Add guests any time!
  **Option to keep your guest list private.











Planning an Indian Event or Party soon?

Now, send your party e-invitation with few clicks!
Select your favorite design, enter event details,
add guests, and send... It so easy!!
Send an evite like e-invitation to all guests on your next Wedding Party, Birthday Party, Engagement Party or Family Get-together and also on any Indian festivals including Holi, Diwali, Pongal, Onam, Christmas. Its 100% free! 
Read More

February 20, 2012

How To Verify Technorati Claim Token?

 PUHWYC5V2SAZ
Simply copy paste your technorati claim token in a "NEW POST" as I have pasted above, go to your technorati account, click on claim your blog and post url of this post (in your case you will write url of your post). You will be able to claim your blog easily.
After claiming Token means after verification,you can delete this post.its not mandatory to keep this forever.
Technorati is one of the most important website in the blogosphere and also an important source which helps the webmasters by helping them to index their blogs in search engines in no time (Yeah this happens in very less time and most of the times it will happen instantly).
For enjoying the benefits of Technorati one needs to register with the website and later have to claim your blog or website. Then Technorati will check your blog and confirm your ownership by asking you to post their unique claim token in your blog feed which they will email you upon claiming your blog.
The email you will receive from Technorati will be like this
Thank you for submitting your blog claim on Technorati. Technorati will need to verify that you are an author of the site http://azziet.blogspot.com by looking for a unique code. We have just assigned the claim token RAF2BXH3XKG4 to this claim. Please visit http://technorati.com/account/ for more details, including how to use the claim token.

Thank you.
It is suggested for you to post an article similar to this which not only helps you in registering your blog with Technorati but also will help you in gaining some quality traffic from the search engines.
Upon publishing the article, log on to your Technorati account and at the bottom of your account page, click on ‘check claim’ and confirm your feed details. Technorati will now do it’s best and will index your blog/website soon into their directories. Don’t forget to ping the Technorati services, it will help them in updating your blog logs as soon as you publish a post
Read More

What is UX/UI (User Experience And User Interface)

This article is going to explain that, what User Experience Design and what User Interface Development actually entail.

 

What is User Experience (UX)?


User Experience is all about approaching applications as the user. When a user comes to your website, how do they know what is important and where to find the things that they are looking for? If they are filling out a form, do they know that their first name is required? If they don’t fill it out, how can they be notified that they must fill it out before moving on without losing everything in the form? Are things that belong together grouped together in a way that makes sense? These are the kinds of questions that user experience development asks.
 
The answers are not always as obvious as you might think. Why else do so many people have such a hard time using well-known web applications like Facebook and MySpace? What is shown, what isn’t shown, where they are shown, the relationship of one item to another – these decisions can make or break the ease of use for your application.

There is also a level of psychology involved in the process. A 75 year old man may interact with a website completely differently than a 7 year old girl and have completely different expectations wrapped around their actions. The perception of how things should behave is formed by observing how other similar things have behaved in the past. For example, when you scroll over a link, you expect the cursor for your mouse to change and become a pointing finger. 

This is something that has been ingrained in our expectations from visiting thousands of other websites with the same behavior. With a line of CSS, it’s possible to make the cursor something else when you scroll over a link, but it breaks with user expectations and makes them uneasy, unsure of what their actions will result in and unable to use your application properly. Similarly, as AJAX and AJAX-like JavaScript becomes more and more commonplace, it is important to show the user that the objects that trigger AJAX functions are “links.” This is again just a line of CSS, but it makes all the difference where the use is concerned.
.

What is User Interface (UI)?


A user interface is what users see when they access an application. A user interface designer may be someone who simply designs the look and feel of an application by creating wireframes and mockups of the final product or they may be heavier on the development side. Often a user interface developer will have an array of skills in client-side technologies such as JavaScript and JavaScript libraries such as jQuery, jQuery UI, EXT JS, YUI, Prototype, or others.

User interface development ties in closely with user experience development in that the user is the end-goal in both situations, which means that simplicity in design is paramount.

TECHNORATI CLAIM TOKEN - RAF2BXH3XKG4
Read More

February 18, 2012

Some Tricks about your Operating System

Few tips for Windows 7 and OSX Lion that can save time and make you more productive

WINDOWS 7 ...

CREATE A WIRELESS HOTSPOT

With some free software, you can convert your Windows 7 laptop (or desktop with a Wi-Fi card) into a wireless router to share internet with others. Just get Connectify (www. connectify.me) or Virtual Router (http:// virtualrouter. codeplex.com) to enable this feature. Connectify and Virtual Router will not work on older editions of Windows.

VIRTUAL WINDOWS XP
There are several reasons why you would want to run Windows XP virtually within Windows 7. Maybe you have programs that only work in XP or maybe you're nostalgic. Whatever your reasons, you can download the necessary files from http://goo.gl/DCOSq.

WINDOWS MEDIA CENTER
Windows Media Center (built into Windows 7 Home Premium, Professional, Enterprise and Ultimate editions) offers more than just multimedia. It offers a 10 foot interface so that you can connect your PC to a TV and enjoy your content on a larger screen. Plus, it displays album art nicely and can stream all sorts of free content.

PLAY NICE WITH XBOX 360
If you have a Xbox 360 connected to the same network as your Windows 7 PC, you can use Windows Media Center (WMC) to stream photos, music and videos. On the Xbox, note down the 8-digit key from the WMC section in Apps. In WMC, click Tasks > Add Extender and enter the 8-digit key. Now you can access content on the Xbox.

LAUNCH APPS QUICKLY
Users of older editions of Windows probably don't know that with Windows 7, you can launch programs by just typing their name. Just click the Start button, start typing the name of the program you want to launch and the results will appear real time as you type. Just highlight the correct one and hit the enter button.

PLAY GOD FOR YOUR PC
There are various settings available for Windows 7, sometimes in various places (like control panel, personalisation, network settings menu and so on. With God Mode, you can have all settings in one place. Create a folder & name it GodMode. {ED7BA470-8E54-465E-825C-99712043E01C}. More info at http://goo.gl/qdMFT.

THE PROBLEM STEPS RECORDER
Sometimes when something goes wrong with your PC, you could spend all day trying to figure out the problem. Instead, use the Problem Steps Recorder to record what's going wrong and send it to someone more knowledgeable for a quick diagnosis. Click the start button and type PSR to bring up the Problem Steps Recorder (psr.exe) — click on 'Start Record' and run through the problem again.

MAC OS X LION ...

GET THE DICTIONARY MEANING

If you want to get the dictionary meaning for a particular word, simply take the cursor over the word and double tap the trackpad using three fingers. The text will get highlighted in yellow and a pop up box will show you the dictionary definition and synonyms from the built in thesaurus.

SEARCH SPECIFIC FILE TYPES ONLY
While searching using the search box in Finder, type 'kind:' followed by the first alphabet of the file type you are searching for (example, type P for PDF or D for DOC). A drop down menu will show you a list of various file types to choose from. Select the file type you are looking for and then type in the name of the file to search.

REMOTELY WIPE DATA
If you have setup an iCloud account on OSX Lion, just by logging in to your account from another system, you can send a remote wipe command. This is useful to remotely wipe all the data from the hard drive in case of theft. Note that FileVault encryption service should be activated for this to work.

PREVIEW YOUR SEARCH RESULTS
When you search for anything in OS X Lion using the desktop Spotlight search icon in the top bar, you can get a preview of the search results. Simply move the pointer over one of the search results and it will show you a quick look panel with a preview of the particular file's contents. Note that this works with documents and images only.

LAUNCHPAD WALLPAPER STYLE
By default, LaunchPad displays the installed applications over a blurred image of your desktop wallpaper. If you don't like that look, then simply press 'Control + Option + Command + B' to switch between various background effect styles.

ADD DIGITAL SIGNATURES TO A PDF
Open a pdf file in the Preview application instead of Adobe Reader and press Shift + Command + A to bring up the annotations toolbar. Click on Signatures and select 'Create signature from iSight'. Now, sign on a blank piece of paper and hold it up in front of the webcam — it will save your signature digitally. Whenever you want to include your signature in a PDF, just select it from the toolbar and insert it on the page.

SECURE EMPTY TRASH
Hold the Command button on the keyboard and then alternate (right) click on the Trash icon on the icon dock. The pop up menu will display 'Secure Empty Trash' instead of just 'Empty trash'. The benefit of Secure Empty Trash is that the deleted files cannot be recovered by anyone using basic data recovery tools. Note that using the Secure Empty Trash feature takes more time to empty the trash than normal.
Read More

Socialize your Blog with these 10 tips

When it comes to building an audience and driving traffic, bloggers are turning to social media with record results. Instead of relying on organic search or (gasp) IRL friends, successful bloggers know they have to develop a following on key social networks as a way to promote their brands and ultimately get more clicks.

Twitter, Facebook, StumbleUpon and now Pinterest provide the savvy blogger with plenty of opportunities to attract new readers and engage with regulars, but it can be overwhelming if you’re new to social media or if you only use it for fun. 

Here are 10 tips to help bloggers navigate the increasingly complex world of social media — while still making time to write content.

1. Display your social media icons prominently toward the top of your website.


Make it as simple as possible for your blog readers to connect with you on various social media platforms. They shouldn’t have to hunt around to find your Twitter handle, but should be able to click on a button and be taken right to your profile. Bonus points if your social media icons reflect the overall design or feel of your blog.

2. Every blog should have its own Facebook Page.


Even with Facebook’s new subscription feature, there’s still merit to giving your blog its own space on Facebook. It’s nice to be able to post a link every time you publish something new, and not have to worry about annoying your friends. Plus, readers who don’t your name but know the name of your blog can search for it on Facebook. Show your fans some love on your blog by using the Facebook social plugin, which makes it easy to convert readers to fans.

3. Generate traffic with StumbleUpon.


This “recommendation engine” serves as an alternate browser where users click through pages that their SU friends and SU itself have recommended. You can submit your own blog posts into the system, but it works best if you also share them with your SU friends and accept their shares back. Like most social platforms, you need to have a strong following to get good results. While people are still trying to figure out what makes SU content go viral, many bloggers have seen terrific, albeit fleeting, traffic spikes through the service.

4. Import your RSS feed onto your LinkedIn profile using its Blog Link application.


As long as your blog somewhat pertains to your professional goals, you should be showcasing it on LinkedIn. List it as one of your three websites in your profile, where it will be labeled “Blog.” However, by using the Blog Link application, your most recent posts will display right on your profile.

5. Pinterest is the hot new frontier for bloggers.


Pinterest is the cool new kid, and all of the bloggers are scrambling to establish a presence there. Pin your best photos onto themed boards with links to a relevant blog post. Blogs with strong visual content, like fashion, food, design, crafts and travel, are a natural fit. Infographics will also do quite well. Don’t forget to add a Pinterest plugin (like the Pinterest “Pin It” Button for WordPress users) to make it easy for your readers to share your content on their Pinterest boards.

6. Use link shorteners even when you don’t have to.


Twitter will now shorten your link for you, and the length of your link doesn’t matter on Facebook and Google+. But by using a link shortener like bit.ly, you will gain access to metrics, so you’ll know how many people clicked and at what time. With this essential data, you can experiment with different ways to tease your content and different times to post it.

7. Use your blog name as your username whenever possible.


Promote your personal brand by consistently using your blog’s name for your Twitter handle, StumbleUpon name, Pinterest name and so on. Then, people don’t have to wonder about your blog’s name — it’s right there. Also, people will remember you easily across platforms, which is key as you develop up your online community.

8. Join blogger groups on Facebook.


There are some very active groups on Facebook that are terrific resources for any blogging issues you encounter. Look for groups like “Travel Bloggers” or “Global Bloggers Network.” WordPress geeks have “Advanced WordPress” and Central Florida residents have “Central Florida Bloggers.” Not only are blogger groups good for problem-solving, but it’s well-known that bloggers like to read other blogs. Do some searching and find a bloggers group that’s suited to you, or start your own!

9. Be generous with other bloggers.


Promote other bloggers’ content, and hopefully they’ll return the favor. You can’t simply blast your own content anyway — you need some variety in every social media stream. So why not check out what your fellow bloggers are posting and give them a retweet, a share or a repin whenever you can. And don’t forget to reciprocate and share content from bloggers who share yours.

10. Be on social media — even when it’s not driving traffic.


It can be frustrating when you feel that you’re doing everything right (posting good content on the appropriate platforms in the best way possible) and you’re still not getting many clicks. But console yourself by thinking about all of the links that you see throughout the day that you don’t click on. Just spending time on social media platforms is great way to forge relationships, keep up on industry news and find inspiration for that next blog post.
Read More

6 Important .Net Concepts

Stack, heap, Value types, reference types, boxing and Unboxing.
 
This article will explain 6 important concepts Stack , heap , value types , reference types , boxing and unboxing. This article starts first explaining what happens internally when you declare a variable and then it moves ahead to explain 2 important concepts stack and heap. Article then talks about reference types and value types and clarifies some of the important fundamentals around them.

Finally the article concludes by demonstrating how performance is hampered due to boxing and unboxing with a sample code.

What goes inside when you declare a variable?

When you declare a variable in a .Net application, it allocates some chunk of memory in to the RAM. This memory has 3 things first the name of the variable, second data type of the variable and finally the value of the variable.

That was a simple explanation of what happens in the memory, but depending on what kind of data type your variable is allocated on that type of memory. There are two types of memory allocation stack memory and heap memory. In the coming sections we will try to understand these two types of memory in more details.

Stack and Heap

In order to understand stack and heap, let’s understand what actually happens in the below code internally.

public void Method1()
{
// Line 1
int i=4;

// Line 2
int y=2;

//Line 3
class1 cls1 = new class1();
}
 
It’s a 3 line code so let’s understand line by line how things execute internally.

Line 1:- When this line is executed compiler allocates a small amount of memory in to memory type called as stack. Stack is responsible of keeping track of running memory needed in your application.

Line 2:- Now the execution moves to the next step. As the name says stack it stacks this memory allocation on the top of the first memory allocation. You can think about stack as series of compartment or boxes put on top of each other.

Memory allocation and de-allocation is done using LIFO (Last in first out) logic. In other words memory is allocated and de-allocated at only one end of the memory i.e. top of the stack.

Line 3:- In line 3 we have a created an object. When this line is executed it creates a pointer on the stack and the actual object is stored in a different type of memory location called as ‘Heap’. ‘Heap’ does not track running memory it’s just pile of objects which can reached at any moment of time. Heap is used for dynamic memory allocation.

One more important point to note here is reference pointers are allocated on stack. The statement, Class1 cls1; does not allocate memory for an instance of Class1, it only allocates a stack variable cls1 (and sets it to null). The time it hits the new keyword it allocates on "HEAP".

Exiting the method (The fun):- Now finally the execution control starts exiting the method. When it passes the end control it clears all the memory variables which are assigned on stack. In other words all variables which are related to ‘int’ data type are de-allocated in ‘LIFO’ fashion from the stack.

The BIG catch – It did not de-allocate the heap memory. This memory will be later de-allocated by “GARBAGE COLLECTOR”.
Now many of our developer friends must be wondering why two types of memory, can’t we just allocate everything on just one memory type and we are done.

If you look closely primitive data types are not complex, they hold single values like ‘int i = 0’. Object data types are complex, they reference other objects or other primitive data types. In other words they hold reference to other multiple values and each one of them must be stored in memory. Object types need dynamic memory while primitive needs static type memory. If the requirement is of dynamic memory it’s allocated on a heap or else it goes on a stack.

Value types and reference types

Now that we have understood the concept of ‘Stack’ and ‘Heap’ it’s time to understand the concept of value types and reference types.

Value types are types which hold both data and the memory on the same location. While a reference type has a pointer which points to the memory location.

Below is a simple integer data type with name ‘i’ whose value is assigned to an other integer data type with name ‘j’. Both these memory values are allocated on the stack.

When we assign the ‘int’ value to the other ‘int’ value it creates a complete different copy. In other word if you change either of them the other does not change. These kinds of data types are called as ‘Value types’.
When we create an object and when we assign one object to the other object, they both point to the same memory location as show in the below code snippet. So when we assign ‘obj’ to ‘obj1’ they both point to the same memory location.

In other words if we change one of them the other object is also affected this is termed as ‘Reference types’.

So which data types are ref type and value type?

In .NET depending on data types the variable is either assigned on the stack or on the heap. ‘String’ and ‘Objects’ are reference types and any other .NET primitive data types are assigned on the stack. Below figure explains the same in a more detail manner.

Boxing and Unboxing

WOW, you have given so much knowledge, so what’s the use of it in actual programming. One of the biggest implications is to understand the performance hit which is incurred due to data moving from stack to heap and vice versa.

Consider the below code snippet. When we move a value type to reference type the data is moved from the stack to the heap. When we move reference type to a value type the data is moved from the heap to the stack.

This movement of data from the heap to stack and vice-versa creates a performance hit.

When the data moves from value types to reference types its termed as ‘Boxing’ and the vice versa is termed as ‘UnBoxing’.
If you compile the above code and see the same in ILDASM you can see in the IL code how ‘boxing’ and ‘unboxing’ looks, below figure demonstrates the same.

Performance implication of Boxing and unboxing

In order to see how the performance is impacted we ran the below two functions 10,000 times. One function has boxing and the other function is simple. We used a stop watch object to monitor the time taken.

The boxing function was executed in 3542 MS while without boxing the code was executed in 2477 MS. In other words try to avoid boxing and unboxing. In project you always need boxing and unboxing , use it when it’s absolutely necessary.

With the same article the sample code is attached which demonstrates this performance implication.
Currently I have not put a source code for unboxing but the same hold true for the same. You can write the same and experiment it by using stopwatch class.
Read More

Rovio's New Launch "Angry Birds Space" Blasting off on March 22


It seems that planet Earth isn’t big enough for Angry Birds anymore. The cute cartoon characters are headed into the void with the upcoming Angry Birds Space game from Rovio.

We've got the exclusive scoop on the next official game in Rovio's blockbuster, bird-flinging franchise: "Angry Birds Space." The game is due to smash into mobile devices on March 22.

Angry Birds has been the major success story of mobile games in the past couple of years with more than 700 million downloads for the game. 

For the three people unfamiliar with how the game works, you shoot cute Angry Bird characters via slingshot at some big green pigs who hide in structures that can be crushed by the birds. The game has made its way into emerging markets in a big way and debuted on Facebook this week. No game has grown so quickly and so broadly in the mass market, and Rovio is milking the success as much as it can with everything from movie appearances to plush toys.

A website for Angry Birds Space is now live, and it houses a 20-second teaser trailer for the game, which is embedded below. The site also includes an image of the moon, earth, and the game's iconic slingshot designed as if it were built out of moon rock. 
Though the specifics are still under wraps, Rovio has confirmed that the game will feature some completely new birds alongside some familiar ones, now sporting new super powers. (No word if Hawkman makes a cameo.) The game's three-star level rating system will be back as well.
Rovio considers Angry Birds Space to be their biggest launch since the original game, which has put up some staggering numbers over the years. Since the franchise debuted in 2009, it's been downloaded over 700 million times across various iOS and Android devices, making it one of the most lucrative game properties in the world. The game also helped launch the Google Plus gaming channel, and earlier this week finally flung itself at Facebook.
With Angry Birds Space, however, they're kicking it up a notch by simultaneously releasing the product in mobile gaming, retail, and animation channels, a multi-media blitz that the company believes is a first for a mobile game.  In other words, those Angry Birds toys,  costumes, and playsets were really just the beginning. Angry Birds moonbase, anyone?
Rovio plans to announce more specific partnerships -- not to mention more gameplay details -- in the coming weeks via the official Angry Birds Space website. Until then, we'll just have to stare at this teaser trailer:
Read More

© 2011-2016 Techimpulsion All Rights Reserved.


The content is copyrighted to Tech Impulsion and may not be reproduced on other websites.