## Monday, January 12, 2015

### 25 Math Concepts You Absolutely Need to Know

•  The area of a circle is A = πr2, where r is the radius of the circle.
•  The circumference of a circle is C = 2πr, where r is the radius of the circle. The circumference can
also be expressed as πd, because the diameter is always twice the radius.
•  The area of a rectangle is A = lw, where l is the length of the rectangle and w is the width of the
rectangle.
•  The area of a triangle is A = ½bh, where b is the base of the triangle and h is the height of the
triangle.
•  The volume of a rectangular prism is V = lwh, where l is the length of the rectangular prism, w is
the width of the rectangular prism, and h is height of the rectangular prism.
•  The volume of a cylinder is V = πr2h, where r is the radius of one of the bases of the cylinder and
h is the height of the cylinder.
•  The perimeter is the distance around any object.
•  The Pythagorean Theorem only applies to right angles and states that c2 = a2 + b2, where c is the hypotenuse of the triangle and
a and b are two sides of the triangle.
•  The following are angle measures and side lengths for Special Right Triangles:
•  In an equilateral triangle, all three sides have the same length, and each of the angles equals 60°.
•  In an isosceles triangle, two sides have the same length, and the angles opposite those sides are
congruent.
•  The complete arc of a circle has 360°.
•  A straight line has 180°.
•  A prime number is any number that can only be divided by itself and 1.
•  Squaring a negative number yields a positive result.
•  To change any fraction to a decimal, divide the numerator by the denominator.
•  If two numbers have one or more divisors in common, those are the common factors of the
numbers.
•  To calculate the mean, or average, of a list of values, divide the sum of the values by the number
of values in the list.
•  The median is the middle value of a list of numbers that is in either ascending or descending
order.
•  The mode is the value that appears the greatest number of times in a list.
•  A ratio expresses a mathematical comparison between two quantities. (1/4 or 1:4)
•  A proportion is an equation involving two ratios. (1/4 = x/8 or 1:4 = x:8)
•  When multiplying exponential expressions with the same base, add the exponents.
•  When dividing exponential expressions with the same base, subtract the exponents.
•  When raising one power to another power, multiply the exponents.

Source: Benchprep.com

Please visit my other blogs too: http://edwardanil.blogspot.com for information and http://netsell.blogspot.com for internet marketing. Thanks !!

## Tuesday, January 06, 2015

### HOSTING

•  Beware cheap (\$5-\$10/month) shared hosting accounts.
•  Look for hosts with experience hosting WordPress sites.
•  Look for hosts with solid support.
•  Look for hosts that are transparent: who communicate quickly and post issues online.
•  Make sure your host does regular backups that you can access.
•  Call your potential host to find out which versions of Apache web server, MySQL, and PHP they’re running. Check the version release dates with a Google search.
•  Ask your host for written documents containing their server data backup, failover, and update or maintenance policy. If they don’t have them, find another host.
•  Recommended hosts: WP Engine and ZippyKid

### HARDENING AND PROTECTING WORDPRESS

•  Keep WordPress, themes, and plugins up to date. Always. Period.
•  If you’re unsure about how to update WordPress, themes, and plugins, hire someone to do it for you.
•  Backup your site before you update WordPress, themes, and/or plugins.
•  Disable unused user accounts.
•  Grant users the minimum privilege they need to do their jobs.
•  Lock down the WordPress admin dashboard (/wp-admin) using an .htaccess file.
•  Use SFTP to access your web host.
•  Enable SSL on your WP install.
•  Change your passwords once a month. Set a reminder in your calendar if you have to.
•  Do backups. Recommended: BackupBuddy, VaultPress
•  Set file permissions at 644 and 755 for folders.
•  Ensure that the permissions on wp-config.php are not world readable especially in a shared hosting environment.

### CHOOSING THE RIGHT PLUGIN

•  Look for WordPress Plugin API hooks, actions, and filters.
•  Look for properly sanitized data and MySQL statements, unique namespace items, use of the Settings API for any plugin settings or options.
•  Check out how quickly the developer responds to support requests.
•  Check out forum threads to see how well the plugin is supported.
•  Is the developer a known and respected member of the community?
•  Look for a plugin that does one or two tasks really well.
•  If two plugins do similar things, choose the one with the higher download count.

### YOU’VE BEEN HACKED. NOW WHAT?

•  Take the site offline. Now. That way you avoid getting a bad rap from search engines and antivirus programs.
•  Let your web host know what happened.
•  Make a full backup of the infected site. It’s helpful for reviewing what happened and in case you mess up something during the repair.
•  Change all of your passwords and the authentication keys in the wp-config.php.
•  Remove any old themes, plugins, and unused code from your server.
•  Update all code on your server. Re-install WordPress so all of the WordPress files are overwritten with fresh copies.
•  Reinstall themes or plugins with fresh copies to make sure no malicious code was inserted.
•  Check that the file permissions on your files are correct, especially wp-config.php and uploads.
•  Remove the rogue code and make sure you check all sites on your hosting account. There are tools that can help scan and clean the infection such as VaultPress. Exploit  Scanner also scans for certain exploits.
•  If you don’t have the ability to fix the infected files the best thing to do is restore from a recent clean backup.
•  Check your server access logs. Search for any bad file names that you found on your server, patterns passed as query strings, or dates/times that may clue you in to when the attack happened.

Source: CodePoet.com

Please visit my other blogs too: http://edwardanil.blogspot.com for information and http://netsell.blogspot.com for internet marketing. Thanks !!

## Sunday, January 15, 2012

### Tips on how to avoid or resolve deadlocking on your SQL Server

Deadlocking occurs when two user processes have locks on separate objects and each process is trying to acquire a lock on the object that the other process has. Usualy, they have different incompatible locks which are illegal or conflict (as per the compatible mode on locks).When this happens, SQL Server identifies the problem and ends the deadlock by automatically choosing one process and aborting the other process, allowing the other process to continue. The aborted transaction is rolled back and an error message is sent to the user of the aborted process. Generally, the transaction that requires the least amount of overhead to rollback is the transaction that is aborted.

1. Using SQL Profiler
2. Using System_health extended event(It highly depends on the ring buffer)
3. Using Server side trace (DBCC TRACEON (1204) )
4. Using SQL Error Log with a trace
5. Predefined notification functionalities to log the deadlock info using service broker, extended events etc.
Here are some tips on how to avoid/resolve deadlocking on your SQL Server:
1. Ensure the database design is properly normalized.
2. Have the application access server objects in the same order each time.
3. During transactions, don’t allow any user input. Collect it before the transaction begins.
4. Avoid cursors.
5. Keep transactions as short as possible. One way to help accomplish this is to reduce the number of round trips between your application and SQL Server by using stored procedures or keeping transactions with a single batch. Another way of reducing the time a transaction takes to complete is to make sure you are not performing the same reads over and over again. If your application does need to read the same data more than once, cache it by storing it in a variable or an array, and then re-reading it from there, not from SQL Server.
6. Reduce lock time. Try to develop your application so that it grabs locks at the latest possible time, and then releases them at the very earliest time.
7. If appropriate, reduce lock escalation by using the ROWLOCK or PAGLOCK.
8. Consider using the NOLOCK hint to prevent locking if the data being locked is not modified often.
9. If appropriate, use as low of an isolation level as possible for the user connection running the transaction.
10. Consider using bound connections.
11. Adding missing indexes to support faster queries
12. Dropping unnecessary indexes which may slow down INSERTs for example
13. Redesigning indexes to be "thinner", for example, removing columns from composite indexes or making table columns "thinner" (see below)
14. Adding index hints to queries appropriately(I dont prefer this mostly, but it has got its own scope)
15. Redesigning tables with "thinner" columns like smalldatetime vs. datetime or smallint vs. int
16. Modifying the stored procedures to access tables in a similar pattern
17. Keeping transactions as short and quick as possible: "mean & lean"
18. Removing unnecessary extra activity from the transactions like triggers
19. Removing JOINs to Linked Server (remote) tables if possible
20. Implementing regular index maintenance; usually weekend schedule suffices; use FILLFACTOR = 80 for dynamic tables (Needs a good evaluation)
The list really goes on. The solution will vary from situation to situation.

## Tuesday, April 26, 2011

### Cloud development: 9 gotchas to know before you jump in

Whether developing, testing, or deploying your apps in the cloud, you have to unlearn some beliefs and learn new ones to make it work

Application development and testing in the cloud are gaining popularity, as more businesses launch public and private cloud computing initiatives. Cloud development typically includes integrated development environments, application lifecycle management components (such as test and quality management, source code and configuration management, continuous delivery tools), and application security testing components.

Although technology executives and developers with experience in cloud-based development say there are clear benefits to developing in these environments -- such as costs savings and increased speed to market -- they also caution that there are challenges and surprises to look out for.

[ Get the no-nonsense explanations and advice you need to take real advantage of cloud computing in InfoWorld editors' 21-page Cloud Computing Deep Dive PDF special report. | Stay up on the cloud with InfoWorld's Cloud Computing Report newsletter. ]

Gotcha 1: The cloud doesn't always work like the "real world"
Developers might find that the configuration they use in production is hard to replicate on cloud services. For example, with an application you develop in the cloud before bringing back to run locally, you might need to test against a legacy system that you can't simply copy onto a cloud service

Gotcha 2: Some apps aren't ideal for development in the cloud
The more hard-to-access or hard-to-replicate systems an application integrates with, the more difficult it is to develop and test it on cloud computing resources

Gotcha 3: Developers often dislike the unfamiliar cloud territory
Cloud computing is still relatively new to a lot of organizations, and it can be a disruptive technology, including in the development arena.

Gotcha 4: Lack of documentation hinders cloud developers
There is a lack of documentation to help developers understand the cloud and the tools and resources that can be used to build applications in that environment.

Gotcha 5: Network issues can bedevil private cloud environments
Developing in the cloud sometimes means developing in your own private cloud, which may not have the multitenancy and load-movement capabilities that keep your applications available 24/7. Other issues that can affect development and testing involve network delays and latency and the size of network pipes, especially in certain parts of the world.

Gotcha 6: It's easy to let the meter run unnecessarily on the cloud
Another potential problem is wasting money on cloud fees. Developers can easily forget or neglect to turn off virtual machines they aren't using. When it was on an in-house, capitalized server, this was no big deal. But when it is on usage-metered, leased resources as with public cloud computing, this is a waste of money

Gotcha 7: Cloud licenses can contain surprising deployment restrictions
Among the nontechnical issues with the cloud that can have an impact on development are licensing restrictions.

Gotcha 8: Integration can be harder to troubleshoot
Integrating new applications with existing ones can be a key part of the development process, and the cloud brings even more challenges from an integration perspective.

Gotcha 9: The cloud's fast pace of change can be hard to keep up with
Being on a quickly evolving cloud development platform, like Azure, means it's necessary to update best practices frequently

Despite the learning curve, cloud development is appealing
Despite the potential challenges, for many organizations application development in the cloud rather than sticking with traditional methods makes sense, for the same reasons that cloud computing in general makes sense: elasticity of resources and cost, and reduced operational complexity, both of which lead to shorter completion time.

This article, "Cloud development: 9 gotchas to know before you jump in," was originally published at InfoWorld.com

## Wednesday, January 06, 2010

### Data access optimization steps in SQL Server

Use Indexing
• Apply proper indexing in the table columns in the database
• Make sure that every table in your database has a primary key.
• Create non-clustered indexes on columns which are, frequently used in the search criteria, Used to join other tables, Used as foreign key fields , Of having high selectivity (Column which returns a low percentage (0-5%) of rows from a total number of rows on a particular value) or Used in the ORDER BY clause
• Create appropriate covering indexes
• Use Database Tuning Advisor’s help while creating covered index
• Defragment indexes if fragmentation occurs
It's really tempting to create index on all eligible columns in your database tables. But, if you are working with a transactional database (An OLTP system where update operations take place most of the times), creating indexes on all eligible columns might not be desirable every time. In fact, creating heavy indexing on OLTP systems might reduce overall database performance (As most operations are update operations, updating data means updating indexes as well).

A rule of thumb can be suggested as follows: If you work on a transactional database, you should not create more than 5 indexes on the tables on an average. On the other hand, if you work on a Data warehouse application, you should be able to create up to 10 indexes on the tables on an average.

Re-factor TSQLs and apply best practices
• Move TSQL codes from application into the database server
• Identify inefficient TSQLs, re-factor and apply best practices
• Don’t use “SELECT*" in SQL Query
• Avoid unnecessary columns in SELECT list and unnecessary tables in join conditions
• Do not use the COUNT() aggregate in a subquery to do an existence check
• Try to avoid joining between two types of columns
• Write TSQLs using “Set based approach” rather than using “Procedural approach”
• Try not to use COUNT(*) to obtain the record count in the table
• Try to avoid dynamic SQLs
• Try to avoid the use of Temporary Tables, try to use Table variables.
• Instead of LIKE search, Use Full Text Search for searching textual data
• Try to use UNION to implement “OR” operation
• Use VARCHAR(MAX), VARBINARY(MAX) and NVARCHAR(MAX)
• Do not call functions repeatedly within your stored procedures, triggers, functions and batches.
• Try to avoid the use of triggers.
• Try to avoid nested transaction.
• Understanding the query execution plan
• Getting rid of the unnecessary Text column in the SELECT list
• Apply some advanced indexing techniques
• Implement computed columns and create index on these
• Create "Indexed Views"
• Create indexes on User Defined Functions (UDF), using computed columns
• Create indexes on XML columns
• Apply de-normalizations, use history tables and pre-calculated columns
Diagnose database performance problems
• Diagnose performance problem, use SQL Profiler and Performance Monitoring tool effectively.
Optimize database files and apply partitioning
• Organize the file groups and files in the database
• Apply partitioning in the big fat tables

Original Source: M.M.Al-Farooque Shubho