วันอาทิตย์ที่ 9 พฤศจิกายน พ.ศ. 2551

Will Firefox Win The Browser War

Writen by Craig Rowe

For as long as you can remember the basic Internet browser was Internet Explorer. Of course, there was a moment in time when Netscape was trying to get that market share, but Internet Explorer won out and there are many people that don't realize Internet Explorer is only their browser and they can change if they like. In fact, most folks believe Internet Explorer is the only option for reaching the Internet. However, this is not the case and there is a new kid on the block that is taking advantage of the security issues Internet Explorer has experienced and pulling a significant amount of market share in a short period of time. This newcomer web browser is Firefox.

Firefox is a browser that focuses on opening web sites rapidly while keeping those nasty pop-ups and spyware at bay. Firefox was in its final stages last summer and fortunately for the up and coming browser two federal agencies recommended Internet surfers choose a different browser than Internet Explorer due to security issues IE was facing. This timing was perfect for Firefox and when it was placed on the web for download there were so many people trying to download at once the server almost could not handle all of the requests.

However, Firefox came through and many web surfers switched from Internet Explorer. In fact, Internet Explorer held the market share for web browsers at 95.5%, but has slipped to 92.9% in just the few months Firefox has had its test version on the market. This might seem like just a few percentage points, but these percentage points represent millions of individuals who have switched from IE to Firefox. In fact, approximately 23 million preview copies of Firefox have been downloaded.

So, what does this mean for IE and Firefox? Who will win this browser war? If Firefox continues gaining market share as it has then Firefox might come out on top. However, if IE works to fix its security problems it can probably hold onto its 90% plus market share. Only the future has the answer, we will just have to wait and see.

SearchArticles.net features over ten thousand articles, tips and information on a variety of subjects. For additional tips and articles, visit http://www.SearchArticles.Net

What Is Graphic Design

Writen by Bharat Bista

Graphic Design is a visual communication, an art, a profession, and a process of bonding texts, images, signs, symbols, photographs, colors and diagrams to communicate an effective language with an observer. It is an architecture where visual sequence is arranged in shape and structure, as a result graphic design eloquently guides more than a text statement. It is a combined force of writer's words and designer's design to enhances and integrate an effective communication.

Graphic Design arranges information visually, utilizing typography and illustrations in such a way, that it successfully projects the concept to visual appearance. Graphical elements facilitate expression of thought to visualization, and snatches attention of the watcher pleasing and mesmerizing their eyes.

Today, Graphic design is practiced in various fields of media, distributing its effective message through logos, graphics, signs, brochures, posters, and other type of visual elements. Main industries encompass this creative work of art in media are such as: websites, print, advertisement, publication, digital media, motion pictures, animation, product design, packaging, information signs, etc.

With a purpose of lucidity and efficient message conveying to the viewer, graphic design can be powerful, purposeful or sometimes just a distinctive artistic presentation. It can be just an imaginary drawing or a realistic creative revelation.

The use of graphic design is to make it easy for the viewer, as an enhancement for textual description, and is an effort to assist readers in their understanding of any particular concept more clearly and compelling through visuals and designs.

Progression of graphic design has been closely bound to technical novelty. Designing skill has been practiced in diverse forms, adjacent with human evolution, with reference to ancient manuscripts found in China, Egypt, India and Greece; but it starts really bounding from 15th century with the development and growth of printing and publication, to 19th century's industrially revolution in west.

After the arrival of desktop publishing in 1980, and launching of the software like Abode Illustrator, and PageMaker; designer generation was metamorphosed and the designers' world rapidly ramped up towards computer imaging from illustration to 3d image generation; which was manually unattainable and thought to be impossible before. Computers at present time are considered to be a crucial instrument used by graphic designers and photographers as well as fine artists.

Apple Macintosh computers are very popular in graphic design, though new developments in hardware and software on other platform, i.e., Microsoft; theses days both system are widely accepted. Common graphic design software applications include Adobe InDesign, Photoshop, Illustrator, Quark, Corel Graphics Suite, Flash, FreeHand, Fireworks, Paint Shop, etc. From simple graphics to advance 3d graphics, these days graphic designing overshadows visual images seen everywhere else.

Regarding graphic utilization on websites, the use of graphics have become convenient and feasible since about 1990, as the internet speed increased dramatically and internet browsers being capable of viewing large images. Graphics used by websites are logos, banners, advertisements, navigation buttons, etc. in gif format and in addition modern browsers today supports jpeg, and swf formats as well. This makes websites fabricate and interface their web design much more attractive and outstanding, rather then plain text content.

At present, Graphic Design stands as a solo industry, sheltering millions of artist worldwide as professionals. Graphic design is the design of visual displays of information and data, expression and projection, painting and drawing. A visual communication molded with art and skill of arranging information in methodical approach, so that it can be used by viewers with effective understanding of expressions.

Author: Bharat Bista

Resources and References:

Graphic Design - Custom Web Site Design - Silk Flowers

วันเสาร์ที่ 8 พฤศจิกายน พ.ศ. 2551

Article Software Legitimate Use Or Abuse

Writen by Roderick Fewer

Products have come and gone on the internet. What was yesterdays "next big thing" has been replaced by another product or a "bigger and better" version of the same product. Throughout it all, one product has remained constant and in high demand since the dawn of the World Wide Web.

The product I am referring to is information. It seems we can't get enough of it these days. It still is, by far, one of the hottest selling commodities on the internet. However, this voracious appetite for fresh information has spawned a new type of problem; a problem whereby the supply can't keep up with the ever increasing demand.

Enter the software developers. At about the same time the first article idea was born, software developers were busy planning ways to churn out multiple "unique" copies of the original written word in an attempt to satisfy this insatiable demand for content.

This plan has succeeded, even beyond the wildest dreams of the person that planted the first seed. At present, articles are being spun and re-spun until they are stripped entirely of whatever dignity they may have had to begin with.

In the beginning, the software was used for "black hat" purposes only. The reproduced content was used to feed search engine robots and was never seen by human eyes. Todays software has gotten much more sophisticated, so much so that some of these reproduced articles could even fool a human editor.

This has created a dilemma for article authors. Knowing there are potential dishonest software users out there who could take my original articles, spin them until they are unrecognizable, and claim them as their own, leaves me with a bitter taste in my mouth.

Just recently I was given over 100 PLR Articles in exchange for signing up for a free service. After quickly browsing through them it was easy to see they were not all original articles, but rather articles that were re-written using software. Of course, they immediately went to the trash. If you plan on purchasing PLR Articles, make sure you use a reputable source. If the price seems "too good to be true" it probably is.

However, not all reproduced articles are easy to spot. Some of these spun articles are of such high quality, they are being submitted to article directories. Not all article directories use human editors to scan for abuse, so it's fairly easy for these articles to get distributed all over the internet.

Don't get me wrong. There is some great software out there that can be helpful to authors if used properly. Using a software program to enhance your writing skill is one thing... using the software to turn out random pieces of garbled junk that no human could possibly decipher, another thing entirely.

Copyright © 2006 All Rights Reserved

Roderick Fewer has been marketing online since 2002, and providing Internet Marketers with information, tools and resources essential for online business development.

Visit us at http://www.freeassociateprograms.com or contact us using our help desk at http://www.freeassociateprograms.com/hesk/ anytime. Cheers!

วันศุกร์ที่ 7 พฤศจิกายน พ.ศ. 2551

Most Common Ways To Accumulate Spyware Where It Is Downloaded To Your Pc

Writen by Mark Berger

It is possible that if one avoided all sources of spyware, ad-ware and virus infection that infection would be at minimal levels. Although I don't recommend using only this method as a form of fighting spyware, it can be a potentially effective mean. Used in conjunction with a virus scanning program (I recommend Avast), abstaining from visiting these web sites or using these programs will help your PC to fight off infections, infestations and slower speeds due to unneeded running processes.

The most common places where your PC will pick up spyware, ad-ware and viruses will be adult websites or websites related to security. By security, I mean websites related to computer hacking and the like. If you partake in software piracy, you will notice that many of these websites that are piracy download zones have javascripts and cookies running that download software to your computer unknowingly. They usually come in the form of cookies. If you run a good virus program while you visit these sites, your virus program will most certainly warn you to "abort the connection" or "terminate the script." This means a server-side script is running to put spyware in the form of cookies onto your hard drive.

Another good spot to accumulate spyware, especially trojans, is peer to peer file sharing software. Such programs like Bearshare, ARES, Kazaa, etc. have been known to be breeding grounds for trojan horses and keyloggers for sometime. I recommend if you decide to use these programs, you use the "lite" version of the program. Lite versions of said programs have been scaled down in memory usage and the like. They will still operate just as well as the full program, but your computer will like you better for not subjecting it to unknown dangers.

And alas, the final spot of interest would be chain mail letters with attachments. These annoying buggers are usually sent to you by friends with too much time on their hands. Some people become addicted to chain mail letters; they send out every single one they receive. These letters sometimes can have viruses in their attachments, but because the average computer user does not realize it, he or she is spreading a virus. ALSO NOTE: Chain mail letters have been known to connect pedophiles with their prey. This is because the person who receives the letter can trace it back to every single person who has read it. Notice a chain mail letter has tens, maybe hundreds of e-mail addresses upon it, and sometimes these belong to young people (as young people make up a large portion of Internet users). Use a virus scanning program that checks your incoming mail (Avast will do this), and use something like NetNanny to make sure your kids have no strange men or women talking to them on MSN messenger.

I am a young, aspiring computer engineer into Internet Marketing, hardware, software, web design, SEO and just about anything related to computers. Please come check out my growing PC forum at http://www.markspcforum.com

Convoqs Asap Products

Writen by Peter Cullen

Convoq is a software company located near Boston, founded in 2002 to develop an affordable, Web-based instant meeting solution. The company offers a range of products targeted at different audiences. I'll briefly describe the product set but will concentrate primarily on MeetASAP.

The ASAP product family is Flash-based and includes all the features you'd expect these days from an online meeting solution including: text chat, screen sharing, Powerpoint integration, VoIP audio, video, and record and playback. The pricing model is basically a flat-fee, unlimited usage approach - but more about that later.

Convoq's SellASAP is essentially instant meeting technology tightly integrated with SalesForce.com - a popular CRM product. SellASAP leverages the power of Salesforce.com by automatically logging meeting activity in Salesforce, thereby eliminating manual entry. SellASAP also supports popular instant messaging services, so sales reps can communicate instantly with prospects.

ConferenceASAP is Convoq's straight web conferencing offering (although it is also offered as a tight-integration with salesforce.com). ConferenceASAP has all the conferencing features mentioned above and is offered in different sized packages. You buy an unlimited use annual license the price of which depends on the number of meeting attendees you plan to support. The license is offered in 4 sizes: 25, 50, 100, and 200 attendees. Again, once you have the annual license you can hold as many meetings as you wish within your license size at no additional charge.

MeetAsap is Convoq's small business version of their conferencing software. It includes all the standard bells and whistles, such as support for instant messaging, desktop sharing, video and VoIP, meeting record and playback, text chat and file transfer, attendance monitoring, and Powerpoint integration (except transitions). The difference here is the number of attendees supported. MeetASAP is currently limited to 15 attendees. More can be added, but at an additional charge. I haven't included specific price quotes here purposely. Prices tend to change and are best obtained directly from Convoq. MeetASAP is, like the other offerings mentioned above, sold on an annual license basis (it is a hosted solution), and supports unlimited usage, subject of course to the attendee numbers as described. The annual license fee for MeetASAP I saw when researching this article was very reasonable. If the attendee limit fits your needs, this is an attractive offering.

The last version of the product is called SupportASAP for AppExchange. AppExchange is the relatively new feature of salesforce.com that supports easier integration of third-party applications with salesforce. SupportASAP is targeted toward the customer support end of the spectrum and provides live chat capability tightly integrated with salesforce. Support ASAP automatically logs the chat into the appropriate case in salesforce, and includes remote desktop control and Powerpoint facilities.

In summary, Convoq offers a powerful set of targeted conferencing products, with a pricing structure that covers a number of different levels of need. To get further details go to:
http://www.convoq.com

Pete Cullen runs http://www.Web-Conference-Info.com where web conferencing software is reviewed and relevant articles are posted.

วันพฤหัสบดีที่ 6 พฤศจิกายน พ.ศ. 2551

Crm Solutions For Better Business

Writen by Grady Hawley

In this fast growing marketing world customer is every thing. Companies work day and night hard to satisfy their clients. More over, internet marketing is now evolved as the fastest growing marketing field. Because of all these facts the storing and tracking of customer information, their tastes and dislikes, finding customers; all together known as Customer Relationship Management (CRM), became much more important. CRM solutions are software and hardware products intended to the sole purpose, customer relationship management.

Modern CRM systems integrate sales, marketing and customer service processes. They can perform a lot of tasks such as customer data integration, data conversion, database management, building partner programs, employee training, trouble shooting and much more. CRM software programs are firmly integrated with all resources and proceedings that they can track even minor transactions to large scale undertakings with proper client information. CRM systems use their vast database to find good customers who frequently want service the company and are willing to spend more money on the company products.

CRM software systems usually have three parts as operative part, analytical part and collaborative part. The operative software part track and manage customer contact points like marketing, sales and service. The analytical software part conducts researches through the database to find out methods for customer relationship enhancement. This part helps in forecasting company status, decision making and planning new practices. The third part, collaborative software part, co-ordinates individual functions through multi channel collaboration methods.

Using of CRM solutions for your business will provide you certain advantages. This include full automation of processes, better problem resolution, customer tracking, contact management and market management, cost effectiveness, reduction in working capital, easy in administration though sales force automation, easier collaboration of works & data quality management, on-demand analytics, and flexibility in internet marketing.

Today, on internet and in open market, there are many CRM vendors who provide customized CRM software programs and systems. You can choose one of them according to your business area and business volume. The cost of a CRM system depends mainly on the type of the software, type of customer and the business strength of the implementing company. If you are a small scale businessman you can choose either an open source CRM or a hosted/on-demand CRM. With an open source CRM, you can customize the software according to your needs and situations. Hosted CRM or on-demand CRM is a CRM outsourcing method, in which a service provider will integrate all customer relationship management activities for you.

Before purchasing, compare technical features of each software solution available on market. The things to be considered when purchasing a CRM solution include the data integrity in the database and privacy considerations. It is advised that you have to only select a company/vendor who offers full security to all your inputted and tracked data. Make sure that your CRM software solution use data encryption techniques for securing your data.

This article has been published by eSalesTrack, US based providers of on-demand CRM (Customer Relationship Management) and other application software such as Sales Force Automation and Mobile Solutions. To learn more about CRM visit CRM Articles.

วันพุธที่ 5 พฤศจิกายน พ.ศ. 2551

Microsoft Dynamics Crm 30 Implementation For Large Corporation Overview

Writen by Andrew Karasev

Since December 2005 we are talking about Microsoft CRM version 3.0. In the case of established corporate business we usually deal with such legacy environment as IBM Lotus Notes Domino (predecessor of all the modern CRM applications as well as legitimate generic CRM platform), integration with Microsoft (such as MS SQL Server) and non-Microsoft database platforms and applications: Oracle E-Business Suite, Oracle Financials and custom Oracle databases, IBM AS/400 and RS6000 DB2 applications, SUN Java II EJB (as eCommerce front and back ends). Microsoft CRM should be integrated with existing applications and there is no way to simply switch all the corporate ERP to become Microsoft Windows workshop. Let's look at Corporate MRP for large corporation and how Microsoft CRM 3.0 could contribute and be a part of its computer environment.

• Sales Module. You should probably begin with simple. If you are facing sales department reshaping (from computerization standpoint) – you can apply all your MCSE skills and knowledge to install, integrate (with MS Exchange, Active Directory, custom MS SQL databases) and train Sales people to use MS CRM as their sales automation software. It is pretty intuitive: you register Sales Lead, then move it to the Opportunity (where you can create a quote), then move it to Account/Customer and then you can use MS CRM Outlook client to print Sales Quote with Microsoft Mail Merge technology (MS Word format template with your company logo and quotation lines). If you start with Sales module – the investment (MS CRM software license cost) will be optimized/minimized – all the other departments will be working with their "legacy" CRM applications, such as Siebel, SalesLogix, Lotus Notes Domino, custom CRM systems, etc.

• MS CRM Security. Security comes one of the firsts when we are talking about corporate environment. In MS CRM you have two conceptions: Owning and Sharing CRM objects. You can share object with unlimited number of groups, the drawback of sharing – shared object (Lead, Opportunity, Account, Contact) doesn't show in my Leads, my Opportunities, my Accounts, etc. as well as in MS CRM Outlook client calendar

• Integration with Microsoft Dynamics GP 9.0/Microsoft Great Plains. Microsoft CRM 1.2 had Microsoft Great Plains CRM integration tool, utilizing BizTalk behind the scenes and our company used it to move MS CRM Customers and Orders into our Accounting – Microsoft Great Plains 8.0. With the version 3.0 of Microsoft CRM and Microsoft Dynamics GP 9.0 we see that Scribe Software is the champion with the integration between the two – however Scribe Software dictates the price for its integration tool

• Integration with IBM Lotus Notes Domino. This was relatively long story. Both Microsoft Business Solutions and Lotus Software were reluctant to recognize and support Microsoft CRM Lotus Notes Domino connector, written and supported by Alba Spectrum Technologies, beginning with MS CRM 1.2 and Lotus Notes 6.0 (when Java agents were introduced for IBM Lotus Domino). Then, when Microsoft Business Solutions lost Microsoft CRM sales to such client as Caterpillar in LATAM to Saleslogix CRM – Microsoft in Sao Paulo changed its position. Now Alba Spectrum connector is recognized by Microsoft and is on the way to be recognized and recommended by IBM as well. One of the main reasons to keep utilizing both CRM solutions: Lotus and Microsoft – to optimize software licenses cost – IBM Lotus licenses (used in Legal, Production/Manufacturing, Customer Support) and Microsoft CRM licenses (used in Sales & Marketing departments)

• International Considerations. Microsoft Dynamics CRM is preferred Microsoft Business Solutions CRM worldwide, however Microsoft Dynamics AX (Microsoft Axapta) and Microsoft Dynamics NAV (Microsoft Navision/Navision Attain) have their own CRM modules. Integration between Microsoft Great Plains exists, plus integration with Navision and Axapta is and will be available through third parties. If you are Multinational corporation with manufacturing facilities in Latin America, Brazil, Africa, Asia, Australia – and you would like to use one of MBS ERP products in your headquarters: Axapta, Navision, Great Plains or Solomon (Microsoft Dynamics SL). Localization question is relatively simple for Microsoft CRM 3.0 – it is easily translated to Portuguese, Spanish, Italian, German, French, Russian, Polish, Chinese, Dutch, Japanese, etc.

• Competition. We already mentioned Oracle E-Business Suite. From SAP – you should consider SAP Business One with its CRM module and integration with Microsoft Office/Outlook (this is not related to Mendocino SAP mySAP SAP R/3 or SAP all-in-One project with Microsoft – SAP Business One has its own original integration with MS Office)

Please do not hesitate to call or email us: USA 1-866-528-0577, 1-630-961-5918 help@albaspectrum.com

Andrew Karasev is Chief Technology Officer at Alba Spectrum Technologies ( http://www.albaspectrum.com, http://www.greatplains.com.mx, http://www.enterlogix.com.br ) - Microsoft Business Solutions Great Plains, Navision, Axapta MS CRM, Oracle Financials and IBM Lotus Domino Partner, serving corporate customers in the following industries: Aerospace & Defense, Medical & Healthcare, Distribution & Logistics, Hospitality, Banking & Finance, Wholesale & Retail, Chemicals, Oil & Gas, Placement & Recruiting, Advertising & Publishing, Textile, Pharmaceutical, Non-Profit, Beverages, Conglomerates, Apparels, Durables, Manufacturing and having locations in multiple states and internationally. We are serving USA Nationwide: CA, IL, NY, FL, AZ, CO, TX, WI, WA, MI, MA, MO, LA, NM, MN, Chicago, New York, Los Angeles, Phoenix, San Francisco, Denver, Seattle, Boston, Atlanta, Miami, Houston, Dallas, San Diego, Toronto, Montreal, Vancouver, Minneapolis, Washington, Baltimore, New Orleans, Austin, Kansas City.

วันอังคารที่ 4 พฤศจิกายน พ.ศ. 2551

40sec To 500sec

Writen by Ramesh Kumar Thiagarajan

Introduction

Surprised, by the title? well, this is a tour of how we cracked the scalability jinx from handling a meagre 40 records per second to 500 records per second. Beware, most of the problems we faced were straight forward, so experienced people might find this superfluous.
Contents

* 1.0 Where were we?

1.1 Memory hits the sky
1.2 Low processing rate
1.3 Data loss :-(
1.4 Mysql pulls us down
1.5 Slow Web Client

* 2.0 Road to Nirvana

2.1 Controlling memory!
2.2 Streamlining processing rate
2.3 What data loss uh-uh?
2.4 Tuning SQL Queries
2.5 Tuning database schema
2.5 Mysql helps us forge ahead!
2.6 Faster...faster Web Client

* 3.0 Bottom line

Where were we?

Initially we had a system which could scale only upto 40 records /sec. I could even recollect the discussion, about "what should be the ideal rate of records? ". Finally we decided that 40/sec was the ideal rate for a single firewall. So when we have to go out, we atleast needed to support 3 firewalls. Hence we decided that 120/sec would be the ideal rate. Based on the data from our competitor(s) we came to the conclusion that, they could support around 240/sec. We thought it was ok! as it was our first release. Because all the competitors talked about the number of firewalls he supported but not on the rate.

Memory hits the sky

Our memory was always hitting the sky even at 512MB! (OutOfMemory exception) We blamed cewolf(s) inmemory caching of the generated images.But we could not escape for long! No matter whether we connected the client or not we used to hit the sky in a couple of days max 3-4 days flat! Interestingly,this was reproducible when we sent data at very high rates(then), of around 50/sec. You guessed it right, an unlimited buffer which grows until it hits the roof.

Low processing rate

We were processing records at the rate of 40/sec. We were using bulk update of dataobject(s). But it did not give the expected speed! Because of this we started to hoard data in memory resulting in hoarding memory!

Data Loss :-(

At very high speeds we used to miss many a packet(s). We seemed to have little data loss, but that resulted in a memory hog. On some tweaking to limit the buffer size we started having a steady data loss of about 20% at very high rates.

Mysql pulls us down

We were facing a tough time when we imported a log file of about 140MB. Mysql started to hog,the machine started crawling and sometimes it even stopped responding.Above all, we started getting deadlock(s) and transaction timeout(s). Which eventually reduced the responsiveness of the system.

Slow Web Client

Here again we blamed the number of graphs we showed in a page as the bottleneck, ignoring the fact that there were many other factors that were pulling the system down. The pages used to take 30 seconds to load for a page with 6-8 graphs and tables after 4 days at Internet Data Center.

Road To Nirvana

Controlling Memory!

We tried to put a limit on the buffer size of 10,000, but it did not last for long. The major flaw in the design was that we assumed that the buffer of around 10000 would suffice, i.e we would be process records before the buffer of 10,1000 reaches. Inline with the principle "Something can go wrong it will go wrong!" it went wrong. We started loosing data. Subsesquently we decided to go with a flat file based caching, wherein the data was dumped into the flat file and would be loaded into the database using "load data infile". This was many times faster than an bulk insert via database driver. you might also want to checkout some possible optimizations with load data infile. This fixed our problem of increasing buffer size of the raw records.

The second problem we faced was the increase of cewolf(s) in memory caching mechanism. By default it used "TransientSessionStorage" which caches the image objects in memory, there seemed to be some problem in cleaning up the objects, even after the rerferences were lost! So we wrote a small "FileStorage" implementation which store the image objects in the local file. And would be served as and when the request comes in. Moreover, we also implmentated a cleanup mechanism to cleanup stale images( images older than 10mins).

Another interesting aspect we found here was that the Garbage collector had lowest priority so the objects created for each records , were hardly cleaned up. Here is a little math to explain the magnitude of the problem. Whenever we receive a log record we created ~20 objects(hashmap,tokenized strings etc) so at the rate of 500/sec for 1 second, the number of objects was 10,000(20*500*1). Due to the heavy processing Garbage collector never had a chance to cleanup the objects. So all we had to do was a minor tweak, we just assigned "null" to the object references. Voila! the garbage collector was never tortured I guess ;-)

Streamlining processing rate

The processing rate was at a meagre 40/sec that means that we could hardly withstand even a small outburst of log records! The memory control gave us some solace,but the actual problem was with the application of the alert filters over the records. We had around 20 properties for each record, we used to search for all the properties. We changed the implementation to match for those properties we had criteria for! Moreover, we also had a memory leak in the alert filter processing. We maintained a queue which grew forever. So we had to maintain a flat file object dumping to avoid re-parsing of records to form objects! Moreover, we used to do the act of searching for a match for each of the property even when we had no alert criteria configured.

What data loss uh-uh?

Once we fixed the memory issues in receiving data i.e dumping into flat file, we never lost data! In addition to that we had to remove a couple of unwanted indexes in the raw table to avoid the overhead while dumping data. We hadd indexes for columns which could have a maximum of 3 possible values. Which actually made the insert slower and was not useful.

Tuning SQL Queries

Your queries are your keys to performance. Once you start nailing the issues, you will see that you might even have to de-normalize the tables. We did it! Here is some of the key learnings:

* Use "Analyze table" to identify how the mysql query works. This will give you insight about why the query is slow, i.e whether it is using the correct indexes, whether it is using a table level scan etc.

* Never delete rows when you deal with huge data in the order of 50,000 records in a single table. Always try to do a "drop table" as much as possible. If it is not possible, redesign your schema, that is your only way out!

* Avoid unwanted join(s), don't be afraid to de-normalize (i.e duplicate the column values) Avoid join(s) as much as possible, they tend to pull your query down. One hidden advantage is the fact that they impose simplicity in your queries.

* If you are dealing with bulk data, always use "load data infile" there are two options here, local and remote. Use local if the mysql and the application are in the same machine otherwise use remote.

* Try to split your complex queries into two or three simpler queries. The advantages in this approach are that the mysql resource is not hogged up for the entire process. Tend to use temporary tables. Instead of using a single query which spans across 5-6 tables.

* When you deal with huge amount of data, i.e you want to proces say 50,000 records or more in a single query try using limit to batch process the records. This will help you scale the system to new heights

* Always use smaller transaction(s) instead of large ones i.e spanning across "n" tables. This locks up the mysql resources, which might cause slowness of the system even for simple queries

* Use join(s) on columns with indexes or foreign keys

* Ensure that the the queries from the user interface have criteria or limit.

* Also ensure that the criteria column is indexed

* Do not have the numeric value in sql criteria within quotes, because mysql does a type cast

* use temporary tables as much as possible, and drop it...

* Insert of select/delete is a double table lock... be aware...

* Take care that you do not pain the mysql database with the frequency of your updates to the database. We had a typical case we used to dump to the database after every 300 records. So when we started testing for 500/sec we started seeing that the mysql was literally dragging us down. That is when we realized that the typicall at the rate of 500/sec there is an "load data infile" request every second to the mysql database. So we had to change to dump the records after 3 minutes rather than 300 records.

Tuning database schema

When you deal with huge amount of data, always ensure that you partition your data. That is your road to scalability. A single table with say 10 lakhs can never scale. When you intend to execute queries for reports. Always have two levels of tables, raw tables one for the actual data and another set for the report tables( the tables which the user interfaces query on!) Always ensure that the data on your report tables never grows beyond a limit. Incase you are planning to use Oracle, you can try out the partitioning based on criteria. But unfortunately mysql does not support that. So we will have to do that. Maintain a meta table in which you have the header information i.e which table to look for, for a set of given criteria normally time.

* We had to walk through our database schema and we added to add some indexes, delete some and even duplicated column(s) to remove costly join(s).

* Going forward we realized that having the raw tables as InnoDB was actually a overhead to the system, so we changed it to MyISAM

* We also went to the extent of reducing the number of rows in static tables involved in joins

* NULL in database tables seems to cause some performance hit, so avoid them

* Don't have indexes for columns which has allowed values of 2-3

* Cross check the need for each index in your table, they are costly. If the tables are of InnoDB then double check their need. Because InnoDB tables seem to take around 10-15 times the size of the MyISAM tables.

* Use MyISAM whenever there is a majority of , either one of (select or insert) queries. If the insert and select are going to be more then it is better to have it as an InnoDB

Mysql helps us forge ahead!

Tune your mysql server ONLY after you fine tune your queries/schemas and your code. Only then you can see a perceivable improvement in performance. Here are some of the parameters that comes in handy:

* Use the buffer pool size which will enable your queries to execute faster --innodb_buffer_pool_size=64M for InnoDB and use --key-bufer-size=32M for MyISAM

* Even simple queries started taking more time than expected. We were actually puzzled! We realized that mysql seems to load the index of any table it starts inserting on. So what typically happened was, any simple query to a table with 5-10 rows took around 1-2 secs. On further analysis we found that just before the simple query , "load data infile" happened. This disappeared when we changed the raw tables to MyISAM type, because the buffer size for innodb and MyISAM are two different configurations.

for more configurable parameters see here.

Tip: start your mysql to start with the following option --log-error this will enable error logging

Faster...faster Web Client

The user interface is the key to any product, especially the perceived speed of the page is more important! Here is a list of solutions and learnings that might come in handy:

* If your data is not going to change for say 3-5 minutes, it is better to cache your client side pages

* Tend to use Iframe(s)for inner graphs etc. they give a perceived fastness to your pages. Better still use the javascript based content loading mechanism. This is something you might want to do when you have say 3+ graphs in the same page.

* Internet explorer displays the whole page only when all the contents are received from the server. So it is advisable to use iframes or javascript for content loading.

* Never use multiple/duplicate entries of the CSS file in the html page. Internet explorer tends to load each CSS file as a separate entry and applies on the complete page!

Bottomline Your queries and schema make the system slower! Fix them first and then blame the database!

See Also

* High Performance Mysql

* Query Performance

* Explain Query

* Optimizing Queries

* InnoDB Tuning

* Tuning Mysql

Categories: Firewall Analyzer | Performance Tips This page was last modified 18:00, 31 August 2005.

-Ramesh-

Ecommerce Microsoft Dynamics Gp Great Plains Web Development

Writen by Andrew Karasev

Microsoft Great Plains ecommerce architecture: website with Sales Order Processing and Microsoft Dynamics GP as accounting back office. Highlights to automatic invoices posting, inventory item allocation

Technically you can start from scratch and purchase webstore, however typically customers have to use evolutionary approach to their ecommerce strategy. If you have your existing ecommerce website, you next step to link this specific ecommerce (often developed inhouse) with your ERP application. Former Great Plains Dynamics/eEnterprise and currently Microsoft Dynamics GP has broad number of installation across the US and you may not have another option, but work with you existing MRP – Great Plains.

• eConnect. In the past budget was an issue to purchase eConnect, so you might be designing or purchasing simple stored procedures, helping you send Sales Order or invoice from ecommerce web site to Great Plains. Our recommendation is – when eConnect became available – do not invent the wheel and utilize it in you ecommerce web integration. The most elegant way is to call XML web services interface of eConnect

• Beyond eConnect. If you want complete automation, when posting of SOP invoice is done automatically (upon the credit card payment), then you need to call portions of Microsoft Dynamics GP internal logic, which is currently the realm of Microsoft Great Plains Dexterity, where you need to know Dex architecture, sanscript, GP tables, etc. Instead of investing in dex learning, you may decide to purchase Dexterity Posting Server

• Some eConnect restrictions. Old Great Plains modules are out of eConnect scope, such as Invoicing module (do not confuse – Sale Order Processing or SOP is automated in eConnect). Plus do not expect third party modules to be in standard eConnect, however ISV companies might have eConnect extension, automating their third party modules

• Auto Posting Server. Supported and distributed by Alba Spectrum it uses so-called Great Plains Dexterity source code programming – it calls GP posting logic when your batch is ready for posting

Please feel free to call us: 1-866-528-0577, 1-630-961-5918, help@albaspectrum.com or skype: albaspectrum

Andrew Karasev, Alba Spectrum Group ( http://www.albaspectrum.com http://www.enterlogix.com.br ), serving Chicago, Houston, Denver, Los Angeles, San Francisco, Phoenix, Miami, San Diego, Las Vegas, New York, Detroit, Cleveland, Aurora, Austin, Dallas, Milwaukee, Madison, Springfield, Ft. Lauderdale, Boca Raton, New Orleans, Seattle, Montreal, Vancouver, Atlanta and USA nationwide, plus internationally: Mexico, Argentina, Chile, Brazil. Please check with if you have GP customization needs.

วันจันทร์ที่ 3 พฤศจิกายน พ.ศ. 2551

Net Solving The Multiple Inheritance Issue Under Net Platform

Writen by Thomas Kaloyani

.NET platform does not support multiple inheritance. Do not confuse multilevel inheritance with multiple inheritance. With multiple inheritance we can have a subclass that inherits from two classes at the same time.

Let's suppose we have an application that has a class Customers and another class Vendors. If you wanted to combine these two classes into one CustomerVendor class it would be a combination of Customers and Vendors just like the diagram below.

Please copy the following URL into your browser to view the diagram: http://www.vbprofs.com/images/Article Images/ThomasArt1.gif

In the above diagram we see how the CustomerVendor class inherits from both of those classes.

Multiple inheritance is complex and can be dangerous. The advantages of code re-usage prevail over complexity is up to your choice.

Multiple inheritance is not supported by VB.NET or .Net platform. Instead of multiple inheritance we can use multiple interfaces to achieve similar effect to multiple inheritance.

In VB.NET all objects have a primary or native interface, which is composed of properties, events, methods or member variables declared using Public keyword. Objects can implement also secondary interfaces by using Implement keyword.

Sometimes it is helpful for an object to have more than one interface, allowing us to interact with the object in different ways. Inheritance allow us to create subclasses that are a specialized case of the base class.

Example

Sometimes we have a group of objects that are not the similar, but we want to handle them the same manner. We want all the objects to act as if they are the same, even though they are different.

We can have some different objects in an application, such as customer, product, invoice etc. Each object would have a default interface appropriate to each individual object, and each of them is a different class. No natural inheritance is implied between these classes. Let's suppose we want to print a document for each type of object. In this case we'd like to make them all act as printable object. To accomplish this we can define a generic interface that would enable generating a printed document. By implementing a common interface we are able to write a routine that accepts any object that implements a printed document.

To conclude, by implementing multiple interfaces in VB.NET , we can achieve a similar effect to that of multiple inheritance.

Thomas is an experienced Visual Basic developer, with expertise of 7+ years developing especially financial applications. His main IT skills are VB, SQL, Crystal Reports - should you need a Visual Basic developer for your projects feel free to contact Thomas through his personal website Kaloyani.com or through VBprofs.com - the newest Visual Basic and VB.NET resources portal.

วันอาทิตย์ที่ 2 พฤศจิกายน พ.ศ. 2551

What Is Groupware

Writen by Mike Nielsen

Vince Lombardi once said that, "The achievements of an organization are the results of the combined effort of each individual." If this is the case, then what do we need to do in order to insure success in our companies? How can we combine the efforts of each individual as Mr. Lombardi said was so key to the success of a particular organization? While there are many possible solutions to these questions, I have found something that will help your company become more organized, and your employees more unified in their work. I am talking about groupware.

What is Groupware?

Groupware is software that facilitates the communication between the members of a network workgroup. It allows people within a company, whether they are physically in the same location or in several locations all over the world, to share documents, information, and data. It allows them to collaborate on ideas and projects, by allowing them to essentially work on the same page at the same time. With groupware there is no limit to the number of people that can work on the same project without creating duplicate ideas and work. Since groupware can track all document information, you will never wonder if you are using the latest version of a document.

What about CSCW?

If you have ever heard anything about groupware, you have probably also heard of CSCW. CSCW stands for Computer Supported Cooperative Work and is the study of groupware, i.e. how it is designed, developed, adopted, and used. People that are involved with the study of CSCW not only include software designers and computer scientists, but also researchers and people that study organizational behavior.

How does Groupware differ from the Traditional User Interface?

Where a traditional user interface generally focuses on the use of only one person, groupware relates to groups and understanding how people work and function in a group. Groupware is also more focused on the ease of use for the user because the system must be more responsive as the pace of a particular application is generally driven by the pace of the conversation. Other factors, such as the size of the group, and the roles that people play are taken into consideration when designing groupware.

What can Groupware do for you?

Groupware has many functions and can be a very useful tool to keep your company organized and your employees working in unity. While there are many advantages to using groupware I have listed a few key ideas below. By having some sort of groupware in your company you can allow your employees to:

• Share information

• Keep common schedules

• Manage e-mail

• Maintain bulletin boards

• Have several people work on one document

• Write Collectively

• Hold real-time network meetings

• Share files

• Share calendars

• Share database access

• Share spreadsheets

• Have electronic conferencing

• Have cooperative project management

As you can see, there are several advantages to using groupware to keep your company more organized and unified. Groupware will allow your employees to collaborate on information, ideas, and many other facets of their work and allow them to be more effective, productive, and organized. We already know that when we combine the efforts of each individual in an organization, we will see greater achievements and more success. If your company could benefit from groupware, then I encourage you to find out more about it and explore different possibilities to see which one will fit your needs the best. It will be one of the best decisions you will make with regard to the organization of your company documents, ideas, and information.

Mike Nielsen is a client account specialist with 10xMarketing - More Visitors. More Buyers. More Revenue. For more information about groupware, visit NextPage.com.

วันเสาร์ที่ 1 พฤศจิกายน พ.ศ. 2551

Definition Of Computer Aided Design Cad Software

Writen by James Hunt

CAD is computer aided design. CAD is used for designing objects such as architectural designs, mechanical designs, and electrical designs. When you use this type of software tool you'll be able to get results that are perfect each time and that look very professional. Most software packages will come with a multitude of graphics that are already built into the system. All you need to do is choose what you want and add them to the design that you're working with. You don't need to be an artist to use a CAD tool. The features that are built into this type of software will do all the aligning for you. You'll be able to have all the design power that you need when you use CAD software.

Most CAD software programs will also come with many templates that you can use, as well as the symbols that you need to create designs that are readable and 100% useable. Besides using the CAD tool to create designs for your architectural or mechanical business you can use it to create floor plans to design your new home, landscaping designs for your garden, circuit diagrams for your electrical needs, and block diagrams.

There are many CAD software packages that you can choose from. The best thing is to know exactly what you want from the software so that you're not disappointed with your purchase. CAD software doesn't come without a high price and most times will be un-returnable once you've opened it and installed it on your computer. If you're unsure about what CAD software package to buy you may be able to try a free download that many software manufacturers will offer to try and get your attention. This will allow you, for a short period of time, to work with the CAD software to be sure it's what you want and does what you want it to do.

James Hunt has spent 15 years as a professional writer and researcher covering stories that cover a whole spectrum of interest. Read more at http://www.cad-software-center.com

Falling In Love With More Than One Screensaver The Fun Part

Writen by Roman Kramar

Having from five to ten and more favorite screensavers is cool. But how do you enjoy them all in a straightforward and convenient way? Draw the power you need from the little yet useful tools discussed in this article!

As you remember, earlier in my article What to Do if You Fall in Love With More Than One Screensaver we discussed the standard way of switching between multiple screensavers. Having that possibility is a pleasure indeed. Just imagine that your operating system doesn't let you easily vary screensavers to suit your mood. You'd be forced to uninstall the installed screensaver, and then install a new one. Avoiding this effort would lead you to a fabulous triumph of utter boredom! Thankfully, it's not the case. Furthermore, as you will see, there are tools that make switching between your favorite screensavers a breeze.

As strange as it may sound, computers were created to make our lives easier. Really, they are very good at automating repeating and boring tasks. And now is the very moment to remind them of that.

Imagine your innermost dream. You just sit doing nothing and your computer, your dutiful servant, takes care of your problem without your slightest intervention. All what is left to you is to enjoy the fruits of its labor. Nice, huh? Ta-da! Enter Random Screensaver!

If you have never heard about Random Screensaver, fear not! "Random" here has nothing to do with a random and unpredictable mess on your screen. It's the first little tool that will help you drive away the boredom of manually switching between your favorite screensavers.

The idea behind the tool is simple yet very useful. Random Screensaver is not a screensaver in the first place. It wears this disguise to take control each time the operating system says it's a perfect moment to start the screensaver. Once in control, the tool looks at the list of available screensavers and asks a random performer from the list to start its show.

That's it! If you install Random Screensaver, you will never have to switch your savers manually. Each time a different screensaver will start. All your favorites will get a regular outing!

Oh! I've forgotten to tell you the most important thing. Random Screensaver is completely free, and you can download it from this page:

http://www.clearnight.com.au/random.htm

There you will find two different versions: "Quick download" and "Full installation." The first one is a bare screensaver file and is very small. The second is a self-extracting installation package that will do all the installation work for you, but it's much bigger. If you don't want to waste your time downloading the bigger package, it's time to recall my previous article What You Should Know About Installing Screensavers. There you can get the knowledge needed to install the bare screensaver file.

Now that we have solved our primary problem, I can hear some of my readers start grumbling. If you are one of them, I know what's bothering you. Remember in the beginning of this article I said how bad it would be if you could not match your mood with running screensavers? But Random Screensaver knows nothing about your feelings. It simply runs a random screensaver. Well, there still is a cure for those of you who can't stand this disease.

The second tool I would like to tell you about is AllSaver! Although not free, it's a perfect cure for the second problem. It works much like Random Screensaver, but in addition to running a random show, it lets you tell exactly which screensavers you would like to see. So, if you feel today is a good day for just five of your favorite savers, and other twenty of them should rest, you can have it this way! Simply add those five to the list, and it's done!

But wait, there's even more to please you! AllSaver! has one unique feature. It makes it possible to run two or four of your favorites at the same time! You select how many screensavers to run, and AllSaver! splits the screen as needed, providing the space for all running screensavers.

If you can't wait to see it in action, you can download this amazing tool using this link:

http://www.e-motional.com/AllSaver.htm

Use these tools, and say "no" to the boredom of seeing one and only screensaver! Variety is a good thing. Have fun!

About The Author

Roman Kramar is a software developer who enjoys writing screensavers as his time permits. Visit his site at http://www.elasticsystems.com/ to find out more about screensavers and his work. webmaster@elasticsystems.com