Purely Technical

LolaTheriotTop Mistakes That Turn Website Design Worthless

Tuesday, August 3rd, 2010

A website design means to attract and involve online users and finally give them good reasons to purchase the products and services available on the websites. A badly designed websites fails to achieve the above-mentioned goals for a business website.

Reason behind the bad web design is the selection of an inexperienced website design company. A good web design and website development company takes care of things that turn a website design bad. Some of the common mistakes that lead to useless website design, but taken care of by an expert website design.

Distracting Backgrounds-
Backgrounds are meant the professional backdrop to a website that can attract the online users and involve them. A bad website design has background that distracts or displeases the visitors and makes the text difficult to read. Moreover, the images used a backgrounds make the websites difficult to load.

Inappropriate Text Style-
For the visitors, the information displayed on a website is the best medium to know about it. A badly designed website has font too small or too big to read out. Underlines and bolded paragraphs and use of italics too frequently too make the website design bad.

Use of Animations-
Animations are not meant to be used excessively in a website design. These blinking text and animations often steal the efficacy of a website. And an expert web design company makes less use of such features so that a website has professional look and feel.

Interrupting Music-
Most disastrous aspects of a website design is the ‘Background Music’. The automatic music played in loops and on every web page is definitely a part of the bad web design. It reduces the interest of online users in your website.

No HTML Validation-
HTML validation is an important thing to do with a website design. It needs proper validation as without it, your website has fewer chances to get indexed in the search engine results. Moreover, such websites have slow loading pages.

Opening New Windows

Non-Alignment of Different Elements



Tags: , , , , ,
Posted in Company Activity, Purely Technical

LolaTheriotRelease: MVC 2 Editor Template for Radio Buttons

Tuesday, June 8th, 2010

How to create an HTML helper to produce a radio button list? Here, the HTML helper was “wrapping” the FluentHtml library from MvcContrib to produce the following html output (given an IEnumerable list containing the items “Foo” and “Bar”):

   1:  <div>
   2:      <input id="Name_Foo" name="Name" type="radio" value="Foo" /><label for="Name
_Foo" id="Name_Foo_Label">Foo</label>
   3:      <input id="Name_Bar" name="Name" type="radio" value="Bar" /><label for="Name
_Bar" id="Name_Bar_Label">Bar</label>
   4:  </div>

MVC 2 has released, providing an editor template that can be used as it rely on metadata, which allow us to customize the views appropriately.  For example, for the radio buttons above, we want the “id” attribute to be differentiated and unique and we want the “name” attribute to be the same across radio buttons so the buttons will be grouped together and so model binding will work appropriately. We also want the “for” attribute in the <label> element being set to correctly point to the id of the corresponding radio button.

The default behavior of the RadioButtonFor() method that comes OOTB with MVC produces the same value for the “id” and “name” attributes so this isn’t exactly what I want out the box if I’m trying to produce the HTML mark up above.

If we use an EditorTemplate, the first gotcha that we run into is that, by default, the templates just work on your view model’s property. But in this case, we *also* was the list of items to populate all the radio buttons. It turns out that the EditorFor() methods do give you a way to pass in additional data. There is an overload of the EditorFor() method where the last parameter allows you to pass an anonymous object for “extra” data that you can use in your view – it gets put on the view data dictionary:

   1:  <%: Html.EditorFor(m => m.Name, "RadioButtonList", new { selectList = new SelectList(new[] 
{ "Foo", "Bar" }) })%>

Now we can create a file called RadioButtonList.ascx that looks like this:

   1:  <%@ Control Inherits="System.Web.Mvc.ViewUserControl" %>
   2:  <%
   3:      var list = this.ViewData["selectList"] as SelectList;
   4:  %>
   5:  <div>
   6:      <% foreach (var item in list) {
   7:             var radioId = ViewData.TemplateInfo.GetFullHtmlFieldId(item.Value);
   8:             var checkedAttr = item.Selected ? "checked=\"checked\"" : string.Empty;
   9:      %>
  10:          <input type="radio" id="<%: radioId %>" name="<%: ViewData.TemplateInfo.HtmlFieldPrefix 
%>" value="<%: item.Value %>" <%: checkedAttr %>/>
  11:          <label for="<%: radioId %>"><%: item.Text %></label>
  12:      <% } %>
  13:  </div>

IN the above code, there are several things that to be noted. First, you can see in line #3, it’s getting the SelectList out of the view data dictionary. Then on line #7 it uses the GetFullHtmlFieldId() method from the TemplateInfo class to ensure to get unique IDs. We pass the Value to this method so that it will produce IDs like “Name_Foo” and “Name_Bar” rather than just “Name” which is our property name. However, for the “name” attribute (on line #10) we can just use the normal HtmlFieldPrefix property so that we ensure all radio buttons have the same name which corresponds to the view model’s property name. We also get to leverage the fact the a SelectListItem has a Boolean Selected property so we can set the checkedAttr variable on line #8 and use it on line #10. Finally, it’s trivial to set the correct “for” attribute for the <label> on line #11 since we already produced that value.

Because the TemplateInfo class provides all the metadata for our view, we’re able to produce this view that is widely re-usable across our application. In fact, we can create a couple HTML helpers to better encapsulate this call and make it more user friendly:

   1:  public static MvcHtmlString RadioButtonList<TModel, TProperty>(this HtmlHelper<TModel> 
htmlHelper, Expression<Func<TModel, TProperty>> expression, params string[] items)
   2:  {
   3:      return htmlHelper.RadioButtonList(expression, new SelectList(items));
   4:  }
   6:  public static MvcHtmlString RadioButtonList<TModel, TProperty>(this HtmlHelper<TModel> 
htmlHelper, Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> items)
   7:  {
   8:      var func = expression.Compile();
   9:      var result = func(htmlHelper.ViewData.Model);
  10:      var list = new SelectList(items, "Value", "Text", result);
  11:      return htmlHelper.EditorFor(expression, "RadioButtonList", new { selectList = list });
  12:  }

This allows us to simply the call like this:

   1:  <%: Html.RadioButtonList(m => m.Name, "Foo", "Bar" ) %>

In that example, the values for the radio button are hard-coded and being passed in directly. But if you had a view model that contained a property for the collection of items you could call the second overload like this:

   1:  <%: Html.RadioButtonList(m => m.Name, Model.FooBarList ) %>

The Editor templates introduced in MVC 2 definitely allow for much more flexible views/editors than previously available.

Source: http://geekswithblogs.net/



Tags: , , ,
Posted in Editorial, Purely Technical

BobbyeM71hxwCHKDSK/F Fails to Fix File System Problems

Monday, May 31st, 2010

One of the most common reasons for unbootability of the computer system is the file system corruption in Windows XP. And for damage in file system, the reasons responsible for that are unexpected system shutdown (due to power outage or human mistakes), virus infection, MFT (Master File Table) damage, and more.

In order to get past the corruption issues in a Windows XP system is by executing CHKDSK/F command. This command checks the physical and logical integrity of the file system and repairs it in case of any damage.

Though the command, in most of the situations, is a life-saver, but do not guarantee 100% success in every life system corruption issue. In such cases, when the CHKDSK command fails to repair, an ideal alternative is to reinstall Windows XP and restore data from an updated backup. However, in case no backup is available, the user can easily recover data using a commercial Windows Recovery application.

Let’s consider a practical scenario that explains the above situation. You encounter the below error message at the startup of Windows XP operating system:

“C:\$MFT is corrupt and unreadable. Please run the chkdsk utility.”

After the above boot error message pops up, your system becomes unbootable and its data gets inaccessible. As suggested in the error message, when you run CHKDSK utility, you encounter another error message:

In the master file table (MFT) bitmap, CHKDSK discovered free space marked as allocated. CHKDSK discovered free space marked as allocated in the volume bitmap. Windows found problems with the file system. Run CHKDSK with the /F (fix) option to correct these.

As error message suggest, when you execute CHKDSK utility with ‘/F’ parameter, it shows the same error message. Since the system could not be started, the data saved in the Windows based hard drive remains inaccessible.

Resolution: In order to overcome the CHKDSK/F failure error message, follow the step mention below:

1. Reinstall Windows XP on your system.
2. Restore the data from an updated backup. In case no backup is available, use a commercial Windows Data Recovery utility.

Such windows data recovery tools use effective recovery techniques to perform complete recovery of all formatted files and folders.

Source: www.programmersheaven.com



Tags: , , , , ,
Posted in Database, Purely Technical

BobbyeM71hxwKnow- how to resolve ‘IN_PAGE_ERROR’ running Microsoft Office Setup

Monday, May 24th, 2010

File system and hard disk issues can be due to a variety of problems, which includes power outages, improper system maintenance, virus infection, human errors, hardware problems, etc. When this type of problems occurs, then the consequences are directly reflected in operations like installing a new application, accessing an existing file or folder, repairing the existing installations, and many more. Thus, one can easily analyze the file system corruption. And In worst cases, you might need to reformat the entire hard drive partitions and seek the help of Partition http://www.all1tunes.comRecovery tools, especially when no data backup is available.

Let’s check out the problem, which can occur when trying to set up or repair Microsoft Office on a Windows hard disk. Specifically, when you attempt to repair or install Microsoft Office 2002 (XP), Microsoft Office 2003 or Microsoft Office 2007, the setup may exit silently without notifying or displaying any error message on screen. For say, when you try to install or repair Office, it prompts you to specify the Product Identification key, but exits unexpectedly.

For typical Office setup failure, you can examine the associated log file, which is created by Office Setup in \Temp folder in .txt format. This file might contain one of the below or similar log entries with different module and function:

Exception code: C0000006 IN_PAGE_ERROR Module: C:\WINDOWS\System32\msi.dll Function: 0x7642452f


Exception code: C0000006 IN_PAGE_ERROR Module: C:\WINDOWS\system32\IMAGEHLP.dll Function: 0x76c94afa

The depicted problem, as mentioned, is generally the result of file system damage or hard disk problems. Thus, to resolve the problem, consider implementing the solutions mentioned underneath:

‘Analyze’ and then ‘Defragment’ the hard disk using Disk Defragmenter tool. To do so, you must have administrative rights to access the partition/volume.

Repair the disk using Autochk.exe, Chkdsk.exe,, and Chkntfs.exe tools. If the problem persists, reformat the hard disk and restore the deleted data from backup. Use a Partition Recovery Software than any kind of backup issues.

Use of a Partition Recovery utility allows to scan the logically crashed hard disk and restore the lost/deleted partitions in just few simple steps.



Tags: , , , ,
Posted in Microsoft Technology, Purely Technical

BobbyeM71hxwCreating Complex, Secure Web Forms with PHP and HTML_QuickForm2

Saturday, May 22nd, 2010

For PHP developers, HTML_QuickForm2 PEAR package provides a programmatic interface for rigorously defining form controls, value requirements, and user notifications. Using HTML_QuickForm2 helps these developers create usable and secure Web forms without sacrificing visual appeal. This solution takes much of the guesswork out of secure forms development, allowing you to create robust forms with minimal time investment.

It will show you how to take advantage of HTML_QuickForm2 to streamline the creation and validation of complex HTML forms.

Installing HTML_QuickForm2

HTML_QuickForm 2 is a PEAR package, meaning you can install it using the PEAR package installer. Presuming you’re using the original installer, execute the following command to install HTML_QuickForm2:

%>pear install –onlyreqdeps HTML_QuickForm2-alpha

When installed, you can begin programmatically creating your forms.

Creating a Form with HTML_QuickForm2

HTML_QuickForm2 is the second incarnation of the aptly-named HTML_QuickForm, rewritten from the ground up to take advantage of the object-oriented (OO) features in PHP 5. Therefore, if you’re not familiar with the OO development approach, it will take some time to get acquainted with the syntax because forms are created using a rigorous class structure.

Let’s see these examples that hopefully will help elucidate how you can use HTML_QuickForm2 is to create increasingly complex forms.


Figure 1. Creating a Simple Form with HTML_QuickForm2

The form in Figure 1 can be created using approximately 25 lines of code, as shown below.

 require_once "HTML/QuickForm2.php";
 require_once 'HTML/QuickForm2/Renderer.php';
 $format = array(
 ''     => 'Newsletter Format:',
 'text' => 'Text',
 'html' => 'HTML'
 $form = new HTML_QuickForm2('newsletter');
 $name = $form->addText('name')->setLabel('Your Name:');
 $email = $form->addText('email')->setLabel('Your E-mail Address:');
 $newsletter = $form->addSelect('format', null, array('options' => $format));
 $newsletter->setLabel('Preferred Newsletter Format:');
 $form->addElement('submit', null, 'Submit!');
 $renderer = HTML_QuickForm2_Renderer::factory('default');
 echo $form->render($renderer);

HTML_QuickForm2 offers a series of methods, which are responsible for creating form controls such as text fields (addText())and select boxes (addSelect()). Each of these controls is accompanied by control labels that can be added using the setLabel() method. Finally, HTML_QuickForm2 gives you the flexibility to render forms using a wide variety of approaches, including using the Smarty templating engine and an HTML_QuickForm2_Renderer object.

You can just use the default renderer as demonstrated here, passing that object to the render() method in order to output the form. Next, let’s consider the slightly more complex example depicted in Figure 2.

Figure 2. Creating a More Complex Form Variation

This time, the fieldset tag has been used to create a slightly more organized form structure. Because the form elements appear inside the fieldset boundary, you need to create these elements using the methods exposed through the fieldset object! Neglecting to do so will cause form elements to be rendered outside of the boundary. The following listing creates the form presented in Figure 2.

require_once “HTML/QuickForm2.php”;
require_once ‘HTML/QuickForm2/Renderer.php’;
$format = array(
” => ‘Newsletter Format:’,
‘text’ => ‘Text’,
‘html’ => ‘HTML’
$form = new HTML_QuickForm2(‘newsletter’);
$fieldSet = $form->addFieldset()->setLabel(‘Subscribe to the Newsletter!’);
$name = $fieldSet->addText(‘name’)->setLabel(‘Your Name:’);
$email = $fieldSet->addText(’email’)->setLabel(‘Your E-mail Address:’);
$newsletter = $fieldSet->addSelect(‘format’, null, array(‘options’ => $format));
$newsletter->setLabel(‘Preferred Newsletter Format:’);

$fieldSet->addElement(‘submit’, null, ‘Submit!’);
$renderer = HTML_QuickForm2_Renderer::factory(‘default’);
echo $form->render($renderer);

Try experimenting with creating form controls using the HTML_QuickForm2 object instead of the FieldSet object in order to observe the effects of control location placement.

Validating the Form

The previous two examples demonstrated how easy it is to create and render forms using HTML_QuickForm2, but they did nothing to inspect and validate user input — not to mention informing users when the form wasn’t successfully completed. You can configure control-specific validation requirements using theaddRule() method, as shown here: $name = $form->addText(‘name’)->setLabel(‘Your Name:’); $name->addRule(‘required’, ‘Please provide your name.’); After having added similar requirements to the other form controls, HTML_QuickForm2 will automatically adjust the rendered form to inform the user of the required fields, as depicted in Figure 3.

Figure 3. Adding Field Requirements

The required rule is just one of several supported by HTML_QuickForm2. Among others, you can control input lengths, compare the input with some predefined value, and even create your own custom rules using a callback. Consult the HTML_QuickForm2 documentation for the complete details. Even with the rules added, HTML_QuickForm2 will not actually validate the input until you explicitly call the HTML_QuickForm2 object’svalidate() method. Therefore, you’ll need to add the following code somewhere before the form is rendered:

if ($form->validate()) {
 echo "<p>SUCCESS!</p>";

Of course, in a real-world situation you’ll want to carry out more than just a simple notification; you likely will add the subscriber’s information to a database. However, if the user’s input does not meet the validation requirements, HTML_QuickForm2 will notify the user of the problem, as depicted in Figure 4.

Figure 4. Displaying Error Messages

You can easily add CSS to the form, thereby making the error messages quite evident.

HTML_QuickForm2 provides developers with the means for rigorously creating and validating forms in a manner that greatly reduces the likelihood of invalid or harmful input while simultaneously reducing the amount of time and effort needed to develop complex form layouts.



Tags: , , ,
Posted in Purely Technical

LolaTheriotHow to resolve the error 2537 in SQL Server 2000?

Wednesday, May 19th, 2010

While mounting the database, it could be frustrating to view an error message, which not only results in unmountability of the database, but also in inaccessibility of database records. Such error messages can be caused due to database corruption. Some of the few main reasons responsible for database corruption are metadata structure damage, network issues, hardware malfunction, improper system shutdown, and virus infections.

In order to overcome such error messages, the database administrator needs to run an inbuilt repair utility named ‘DBCC CHECKDB’. While this command is competent enough to repair a damaged SQL Server 2000 database, it might also result in loss of data from the database. To prevent any such data loss situation from occurring, you will need to repair the database by using a powerful MDF Database Repair application.

Lets consider a real-time scenario where you encounter a severity level 16 error message while trying to mount your SQL Server 2000 database:

“Table error: Object ID O_ID, index ID I_ID, page P_ID, row ROW_ID. Record check (CHECK_TEXT) failed. Values are VALUE1 and VALUE2.”

Once the above error message flashes on the screen, the database records become inaccessible.


Two main reasons liable for the occurrence of 2537 error message are discussed underneath:

  • A condition specified in the CHECK_TEXT statement could not be fulfilled.
  • The database table is logically or physically damaged.

Tips to Resolve:

To get past the above error message, an easy way is to restore the database from an updated backup. However, if in case backup is not available, and then repair the database using following steps:

  • In case the SQL Server 2000 database table is physically damaged, and then replace the physically damaged component with a new component. To determine the component that is physically damaged, check the system logs.
  • In case the SQL Server 2000 database table is logically corrupted, then run DBCC CHECKDB command with a suitable repair clause. While doing so, the logical corruption can be resolved, but it might also result in loss of data. To ignore such data loss situations, it is advisable to repair the database using a commercial MDF Repair application. Such MDF File Repair tools are totally non-destructive and keep the original file untouched while repairing.



Tags: , , ,
Posted in Database, Purely Technical

BobbyeM71hxwRecovering Linux System after Using Fsck on a Mounted System

Tuesday, May 18th, 2010

Is there any difficulty that you found while mounting your Linux system disk? The problem could be due to corruption in the file system. In order to address such issues, Linux OS provides fsck utility. It is a command-line utility, which checks integrity and consistency of the Linux file system. In addition it finds errors and fixes them, if possible. However, if you run this utility on a mounted file system, then you may not be able to access the data at all. In such cases, you should use third-party Linux data recovery software to perform data recovery Linux system.

Consider, you have accidentally run fsck on a mounted Linux OS. The inode root gets damaged and all inodes start calling similar blocks. When you try to mount the volume after fsck, the following error message is discovered:

Mount: wrong fs type, bad option, bad superblock on /dev/hda1, missing codepage or helper program, or other error. In some cases useful info is found in syslog – try dmesg | tail or so”

When you run \dmesg\, as suggested in the error message, another error message may be displayed, that is:

“ext3-fs: corrupt root inode, run e2fsck”

And when you run e2fsck, yet another error message is displayed, that is:

“Root inode is not a directory. Clear?”

Once you press ‘Y’ and proceed with the process, the parent entry of each inode from the root directory will be deleted. The root inode will attempt to recover but if it fails, another error message will be displayed, that is:

“Cannot Allocate Root Inode”

After this error message, you will not be able to access your system.

Reason: This behavior is caused due to corruption of the file system, superblock, root inode, or any other Linux data structure. Because of this, the OS cannot locate the hard disk volumes.


In order to sort out this problem and perform Linux data recovery, you should reformat the hard disk and reinstall the Linux operating system. However, that would invariably mean that your valuable data will be lost.

In such cases, you should use a third-party Linux recovery to recover lost data. Such tools are able to Recover Linux data safely by using fast yet sophisticated scanning algorithms.



Tags: , , , , ,
Posted in Linux Technology, Purely Technical

BobbyeM71hxwJoomla 1.6 Alpha 2 Released

Wednesday, May 5th, 2010

The Joomla project has released Joomla 1.6 alpha 2, which contains many new features requested by the community; most notably, ACL. Other features are listed below as well as what you can expect in the future for Joomla 1.6.

This is an alpha release. It is intended to be a developer/hobbyist preview and is not intended to be used on a production web site.

New improvements/features since alpha 1 include:

  • ACL: access management for global permissions as well as content item specific permissions, variable user groups, users member of more than one usergroup, permissions are inherited, really fast
  • Extendable user profile, profile view in frontend, extendable user parameters
  • Tableless com_content layouts
  • Improved com_content modules (mod_articles_archive, mod_articles_latest, mod_articles_popular)
  • Article linker plugin for editors
  • New frontend template (atomic)
  • New backend template (bluestork)
  • New uploader for media manager

Other Joomla 1.6 improvements that existed in alpha 1:

  • Mootools 1.2
  • Refactored backend
  • JForm
  • Nested Categories and category parameters
  • New views in frontend: categories, category
  • Lots of small code improvements, almost cut the code size in half while adding to the functionality
  • PHP 5.2 required, huge performance improvements, partially eaten up by new features => 1.6 will be faster than 1.5.



Tags: , , ,
Posted in Purely Technical

BobbyeM71hxwHow to recover a corrupt MS SQL Sever database

Monday, May 3rd, 2010

MS SQL Server is a relational database management system (RDBMS), which is specifically developed to be used in the enterprise environment. It provides increased productivity, efficiency, availability, and administrative ease to your organization.

It’s the case with most of the applications it too can face some errors that may lead to data corruption. The data corruption cases may arise because of various issues such as power surges, virus infections, human errors, abrupt shutdown when the database is open, etc. In such cases, you should replace the database with an updated backup. And if the backup is not updated and you need the data urgently, then you should use an SQL MDF repair tool that will help you to repair SQL database.

Let’s consider a scenario wherein you have got MS SQL Server installed on your system, and one day when you open the SQL Server database, it fails to open. An error message is displayed.

“Server can’t find the requested database table.”

Once you encounter this error message, you are unable to access the database.

Cause: Here the error is that the SQL database is corrupt and, thus, inaccessible. It may have got corrupt because of various reasons such as virus infections, human errors, power surges, abrupt system shutdown when the database is open, etc.

Resolution: If the SQL database is not a complex one and there isn’t huge amount of data, then you should try and rebuild the database. However, if the database is complex and contains huge amount of data, then you should consider using a third-party sql server repair application for mdf repair. Such tools are read-only in nature and do not overwrite the data while scanning the databases using fast yet sophisticated algorithms. Also, these tools have rich interface and enable you to repair the database yourself without the intervention of an expert.

SQL Recovery software is an MS SQL repair tool that is able to repair SQL databases created in MS SQL Server 2000, 2005, 2008. It can recover all kinds of database components such as tables, defaults, stored procedures, triggers, views and rules.

In addition, it can recover database constraints such as primary key, foreign key, unique key, and check. In addition to all this, it can repair a database even if it is not repairable by the DBCC CHECKDB command. This tool is compatible with Windows 7, Vista, 2003 Server, XP, 2000, and NT.

Tags: , , , , ,
Posted in Expert's Opinions, Purely Technical

SteveManorHow to overcome DBF Corruption-

Monday, April 26th, 2010

Database computing- major presence of Oracle, Oracle is an RDBMS (Relational Database Management System), developed and marketed by Oracle Corporation. It stores all your valuable data in the DBF file. The DBF file contains all Oracle database objects, such as tables, reports, forms, macros, views, constraints, triggers, stored procedures, and more.

If any of these database objects or the entire database gets damaged, you can not access your valuable data from it. In such circumstances, Oracle Database Recovery software is required to extract data from the database.

In order to overcome DBF corruption, Oracle offers a number of methods to detect and repair data files. These options include:

DBVerify- It is an external command-line utility, which enables you to validate offline data files of Oracle database. In addition to the offline data files, you can also use this utility for checking validity of the backup data files.

ANALYZE … VALIDATE STRUCTURE- It is used to verify every single data block in the analyzed object. If this tool finds any corruption, rows are added to INVALID_ROWS table.

DB_BLOCK_CHECKING- If DB_BLOCK_CHECKING argument is set as TRUE, Oracle carries out a walk-through of the data in database block for checking whether it’s self-consistent or not. This block checking process may add 1 to 10% overhead to server. This setting is recommended only if you can accept the overhead.

DBMS_REPAIR- It enables you to find and fix database corruption. This process needs two administration Oracle database tables for holding the list of damaged blocks and the index keys which point to those damaged blocks.

Source: programmersheaven.com



Tags: , , , , ,
Posted in Opensource, Purely Technical