I have written a parody version of this post, “How Not to Get Help from a Help Forum.” If you are too special to follow the rules, I encourage you to read it. Except that you are so special you don’t really need to, do you?


I don’t know why, but this post continues to annoy and irritate people. While I’ve been willing to let this go in the past, I finally gave in to human nature and decided to use the last instance as a sarcastic, snarky teaching moment. You can read about that in my post “how to annoy the easily annoyed…“. I really did intend this post to be nice and helpful, but some people still take offence to it. Some people would apparently be happier if this post bore a large red label saying “Warning: Lark’s Vomit.” If you are thin-skinned, you have been warned.


Warning: Lark’s Vomit

I participate in a lot of help forums on the internet, and I was recently made a moderator on the Graphene theme for WordPress forum, which has been a tremendous opportunity for me to help others. This post is based on those experiences, both asking for help and giving help. While some of the advice I give you here is specific to blogging, WordPress, and the Graphene theme, it is not limited to those areas.

Some of this post was based on this post, which is maintained by Eric S. Raymond and Rick Moen. (They have nothing to do with this blog or this post, so please don’t pester them with your problems. They ask that if you link to their post that you mention this.) Some of it was also based on this page in the WordPress Support Forum. If you read those two pages, you’ll notice a definite theme: follow these guidelines and you will get the best help we can give you as quickly as we can give it. Seriously. We really do enjoy helping people, but you’ll get better help, and faster help, if you follow the guidelines we lay out.

Other, Similar Pages

Just so you know it’s not me just being grouchy, here are some other pages that give you more-or-less the same advice:

Seriously (he says in a whiny, please-pay-attention-to-this tone). We make rules to help you help yourself, not just because we can. (Okay, some of us do that, but that’s because they are DM’s.) So read the following and take it to heart.



1. Read and obey the forum rules.

Usually these are posted somewhere on the front page of the forum. Failure to read these rules may result in anything from being ignored because you are doing something wrong to being banned because you are doing something evil (like spamming). It took us hours to come up with these (and that after spending hundreds of hours working in the forum), and it takes you only a few minutes to read them. So read them.

2. Spend some time lurking in the forum first.

All forums have a culture, meaning that there is a certain expectation about the way people are expected to behave. Lurk in the forum for a while, and get to know that culture. That way, you are unlikely to make a social gaffe which will get you ignored or even banned.

Seriously. When you get into an online forum, you are suddenly working with people from all over the country and all over the world, all speaking various dialects and languages, and all with different social customs and expectations. When we find ourselves rubbing shoulders on the internet, we work out a hybrid culture that helps us to get along as we work out our problems. Knowing about a forum’s culture is like knowing whether you are supposed to drive on the right side of the road or the left side of the road. Don’t assume, and don’t belittle. Observe, learn, and adapt your behaviour to the culture you find yourself in. Don’t be the ugly American that expects an English-speaking McDonald’s on every street corner of every city in the world.

3. Post in the correct section.

This is very important. Most forums are broken down into various sections (or “sub-forums”). You have to post in the correct one. This is why:

Before I became a moderator, I pretty much just looked in the “Support” section to see who else needed help. I assumed that “Bug Reports” was more or less for the theme designer, and since I didn’t have anything to just talk about, I rarely looked in the “General Talk” section. It was only after I became a moderator that I started to look around in those other sections. I suspect that most people exhibit similar behavior.

If you post in the wrong section, I will not hesitate to move your post to the correct one. This is not to be cruel; it is to help you get better, faster help. I will often, however, provide a gentle admonishment to read and follow the forum rules and post in the correct section.

By the same token, don’t post identical problems in different sections. If you post in one section and then realize that you should have posted in a different section, just go back to the first one and ask a mod to delete it. We’re more than happy to do so.

4. Include a link to your site.

It is often difficult, if not impossible, to help you if I can’t examine the code behind your site. I need to see what your browser is seeing. You can include a picture if you want, and if you are having problems describing what you are seeing, then a picture is invaluable. But you know what generates what we’re seeing in that picture? Code. Yes, I really do need to see the code most of the time, unless you are just asking a general question.

I admit, I get fairly annoyed by people who say “my site is secret” and won’t post a link to it, yet demand all sorts of help. If your site is secret, then nobody is going to see it anyway. And if you want to keep things a secret, why are you posting on the internet? You don’t need to be embarrassed by what’s on your blog or website. This is the internet, and there’s pretty much everything on the internet. If your blog is about your tea cozy fetish, don’t worry. We all have our own interests, and we don’t judge. I won’t help you if your blog sells pornography, or promotes violence or intolerance or illegal activities, but other than that I am more interested in your code than your content.

That said, there are some people who are doing things on intranets and can’t post a link to their site. That’s fine; just try to post code snippets (and screenshots) whenever possible and appropriate.

5. Describe your problem in your title.

If you are trying to align a widget to the left, then the title of your post should reflect that. “Trying to align widget to left” is a good title; “widget alignment problem” not quite as good; “help with widget” even less good; and “help!” no good at all.

Try to remember this general formula: “object — deviation.” In other words, tell us the specific thing you are having an issue with, and what that issue is. The best title for the above problem would then be “Widget won’t align to left.”

6. Before you start a new thread, search the forum first to see if your question has already been answered.

There is nothing more annoying than seeing a new support request and realizing that it is almost identical to a problem you answered last week or yesterday or even ten minutes ago.

  • First, if you had bothered to search, you would have had your answer immediately and would not have had to wait for one of us to reply.
  • Second, it shows that you are not willing to do your homework but expect everyone else to drop everything and do it for you.
  • Third, I now have to waste my very limited time directing you to the post in which your query was already answered.
  • Fourth, you are cluttering up the forum and everyone else now has to search through posts like yours to get the information they want.


That said, you can also search whichever of the following resources are available: the FAQ, the wiki, the manual, the source code, or the Google. Yes, the Google.

If you do search for a solution to your problem and didn’t find one, tell us. Searching is as much an art as it a process, and we can help you with that, too. Sometimes you don’t even know what the thing you are trying to change is called, and that makes searching almost impossible. (The same thing happens in hardware stores.) Just knowing what something is called, or what keywords to use in your search, can make all the difference in the world.

Feel free to point us to which forum posts you did find that are close to your problem but not spot on, because that gives us an even better starting point to help you from.

7. Be nice.

Use your manners. Say “please” and “thank you.” Some people don’t like it when you say “thanks in advance” and expect you to thank them afterward (especially if they solved your problem for you) while others don’t mind. I’m not really bothered either way. (But see #5 in the “Do Not’s” below.) You will know this if you follow rule #2 and lurk for a while in the forum to learn the culture.

That said, the answers you get may be short and brusk, almost to the point of rudeness. We’re not being rude (well, sometimes we are if you annoyed us); it’s just that our time and energy are extremely limited when we respond to you. So is this a case of “do as I say, but not as I do”? Yup, it is. I know it’s disappointing, but when you are getting help for free, sometimes you have to put up with this.

8. Be patient.

Don’t expect us to answer your problems immediately. We are doing this for free, in our spare time, after we get out of work and after (and often before) we do the stuff we want to do. Time I spend with you, a complete stranger composed entirely of electrons and photons, is time I could spend instead with people I love and whom I can (but usually don’t want to) hug. In some forums, the response is very quick, and in others, it is very slow. (And if you had followed suggestion #2, you would have some idea of what to expect.)

If you need immediate help, of course, you can get it, but you will have to pay for it. For many of us, this is both a hobby and a profession. For some of us, this is a hobby on top of another, different, profession. We are happy to help you for free on our schedule. If you want us to help you on your schedule, well…that will cost you money.

9. Describe your system set-up.

Give us as much information about your system as possible: your operating system, your browser (including version number), and which version of your theme and WordPress you are using (and sometimes, which version of PHP and MYSQL you have installed on your server). A lot of times, problems can be solved simply by upgrading to the latest version of one or more of these items. (I am working on a post about upgrading—the right and wrong way to do it—and will include a link to it when it is finished.)

This may be the most important bit of information you provide us with. There is a huge difference between Windoze, MacOS, and Linux, just like there is a huge amount of difference between Firefox, IE, Chrome, and Safari. If you don’t tell me, I don’t know if you’re seeing this on Safari 4.5 on MacOS 10.5.4, Firefox 8.1 on Windoze 7, on a manual typewriter, or in a toaster oven. If you can’t tell me, then I probably can’t tell you.

10. Tell us what you have already tried, if anything, to solve the problem.

I am working on a separate post about setting up a blog, but the gist of it is this: go slow and take notes. Lots of them. If you haven’t tried anything to solve a particular problem, that’s okay, but if you’ve tried ten different things and can’t remember which of them you undid, it really complicates things. So take notes, and let us know. Often, by working backwards through your notes, you can undo whatever is causing your problem and that will tell you (and us) a lot about how to fix it.

If you haven’t tried anything to fix your problem, that’s okay. If you looked at the monitor and freaked out, well…we’ve all been there. Sometimes it’s better that you haven’t tried anything. Just let us know.

11. Learn some coding.

If you are going to be running a blog, you are going to have to learn at least a little bit of HTML, CSS and PHP. There’s no way around that, I’m afraid. You can’t plant a garden without getting a bit of dirt under your fingernails. You can’t drive an automobile without putting fuel in the tank. You can’t get on an airplane without buying a ticket. Learning a little bit of code is in the same exact class.

I don’t expect you to become an expert, and the other people helping you don’t expect you to become one, either. But if I say you need to include a closing [code]</div>[/code] tag in your widget, you should know what a closing [code]</div>[/code] tag does, or you should know how to find out.

There are lots of ways to learn about coding. You can always use the Google (remember, Google is Your Friend). For example, you could just Google “</div>” and take your chances. (Actually, your chances are pretty good on this one.) Because the [code]<div>[/code] tag is a part of HTML, your better bet would be to Google “HTML div.” If you want to know about CSS that applies to [code]<div>[/code] tags, you could Google “CSS div.” Don’t be helpless: learn how to help yourself.

But because I want to be nice, I’m going to recommend that you visit They have a lot of information and tutorials, all for free. They do have a lot of ads and they do try to sell you a training/certification course or two, but they still have tons of useful information available for free. (Disclaimer: I’m not affiliated with them and don’t get a thing if you click on that link, so click with abandon.)

I do sometimes run into posts in which the poster’s words or tone indicate that they just want a solution to their problem and don’t really want to take the time to learn even the most basic coding to help themselves out. Then they constantly come back with more demands for help which they wouldn’t need if they had bothered to learn how the code I previously gave them functions. Again, this is a case of “my time is more important than yours.” No, it isn’t, and when I’m helping you for free, I eventually just quit helping you. I know that sounds rude, but it’s just fatigue. I’m more than willing to help you if you are willing to learn at least a little bit of coding, but if you aren’t, then you don’t need help, you need consulting, and that will cost you money. Read Do #8 above.

I would much rather spend my time helping those who are going to learn and grow and eventually give something back to our community. (One good example is here and another good example is here.) Nothing pleases me more than to see someone who has until now posted nothing but requests for help respond to someone else’s query with “Hey, I know how to do this! This is how…” Their excitement at experiencing mastery of a coding issue is almost palpable, and I am happy for them, for the person they are helping, and for the development of our community.


1. Don’t spam—ever.

As someone who runs several websites, I can assure there is nothing more annoying than spam. I use a lot of spam filters on the five blogs I run, and spam still gets through. It’s annoying, and I do everything I can to smash it. (Seriously, when will these people ever learn?)

Nothing will get you booted off a forum quicker than spamming. If you want to include a link and are unsure whether doing so would be considered spamming, don’t do it. You could ask a forum moderator, I suppose, but if it seems even remotely spammy, I would recommend against it.

2. Don’t mark your threads as “Urgent” or “Emergency”.

Your problem is urgent to you, just like mine is to me. Marking your thread as “urgent” or “emergency” doesn’t automatically bump you to the top of my to-do list, or anyone else’s. In fact, I may just drop it to the bottom of my to-do list, which is just a step away from “if I ever get the time” list, which isn’t all that far from my “things to do during the zombie apocalypse” list.

If you mark your thread as “urgent” thinking that I will drop what I’m doing and help you first, before I help anyone else or even get my own stuff done, you are wrong. It’s kind of rude, to be honest, and a sure way on some forums to ensure that you never get any help at all.

If nothing else, think of what a help forum would look like if everybody titled their threads as “Help! Urgent!” They would all look alike and there would be no way to distinguish among them.

3. Don’t post raw code.

In most forums you can, and are expected to, post code between backticks (which are underneath the “Ëœ” in the upper left-hand corner of your keyboard) or between [code]<code>[/code] tags. The reason for this is simple: if you fail to do so, browsers may attempt to parse the code and can cause the page to break. (Or they can break a database—this is what happened on Wil Wheaton’s blog.) You can tell if you’ve done it right, because instead of looking like this:

#respond > h3 {font-size:14px;}

it will look something like this:

#respond > h3 {font-size:14px;}

4. Don’t code dump.

Please don’t include more code than is necessary. There’s nothing worse than looking at a help request with about three or four screens (or in some cases, over 1200 lines) of code in it. I’m more than happy to help you, but you have to do some of the work here, too, you know.

If you want to show us what you changed, and that change involves something like trying to change the color for a bunch of different elements, we don’t need to see every single instance. Just give one example of what you changed. We get the idea.

Sometimes you don’t even have to include the code. For most things, I keep a copy of the current versions of WordPress and the Graphene them on my computer, so you can just say that you think the problem is somewhere between lines 790 and 820 in the “foo.php” file. I can find that faster using a text-editor I am familiar with than scanning your post and counting lines.

Keep in mind that browsers have a “view source” function we can use to see HTML and CSS, so we can see those things just fine—you don’t need to post a bunch of code in those cases. Of course “view source” isn’t of use for PHP and similar coding languages, so post a bit of code. If you need to post more than a bit (and you can find out how much constitutes a “bit” by reading the forum rules and observing the forum culture), then make use of You can read about how to use it here.

Please note that I am incredibly sensitive to code dumps. After recent events, I have received a number of messages confirming what I told the user in question: large amounts of code just put people off. In an introduction to A Brief History of Time, Dr. Steven Hawking noted that someone advised him that for every equation he included in his book, the number of readers would decrease by half. Similarly, for every 10 lines of code you include in a post, the number of people who will read your post (much less think about it and respond) decreases by half.

Do you need an analogy? Here it is: Dumping all of your code in a forum is the equivalent of telling your doctor “I don’t feel well.” His response—and ours—is “well duh; that’s why you’re here. What’s your real issue?”

5. Don’t beg, grovel, or apologize.

At least not excessively. I’m here to help you with computer issues, not personal issues. As Spock said, “I have no ego to bruise”—or to massage. Just being polite is enough for me.

On the one hand, I am not the bully that shoved you naked into the girls’ locker room or shoved your head in a toilet. I don’t want an answer to the question “Do you know why you’re hitting yourself?” nor do I need you to toady to me. On the other hand, I would really appreciate it if you didn’t fill the forum with non-help-related issues. This is a help forum; neither sycophancy nor argumenta ad misericordiam have a place here.

6. Don’t ask for something that will work in all browsers, in all operating systems, from now until the end of time.

It just doesn’t exist. Those of us who have been around on the web for a while (say, five or ten minutes or so) know this. If you ask for this, it means either that you are a complete noob who has yet to do his/her homework, or that you are a complete noob who will never do his/her homework. If you are in the former category, I can work with you and help you to learn and grow. If you are in the latter you probably aren’t reading this post.

I know, 1.2% of your readers are still using IE4 and you want your website to appear to them the same way to them as it does to those readers of yours who are using a new version of a real browser, like Firefox or Chrome. Do them a favor and recommend that they upgrade to Firefox. I have met more than a few people who didn’t know that there were other browsers beside IE available. Educate your readers and they will be thankful and will come back to your site for more. 

Some people have pointed out to me that they work for a company that simply won’t upgrade their operating systems or browsers, and IE6 compatibility is an absolute must. If this is the case for you, then the issue is not IE6 compatibility, but rather that your company is afraid to upgrade. If that is the case, please tell use which company you work for, so I can avoid buying their products. If they won’t upgrade their browser, who knows what else they are missing? And then seek employment elsewhere with a more forward-looking corporation.

7. Don’t highjack a thread. Start a new topic if necessary.

Highjacking a thread means that you are reading a thread about something—say, getting an image to line up in a certain way—and you suddenly burst in with a completely different question. If you’ve spent any time at all on the internet, I’m sure you’ve seen this. Someone will post a response in a thread that says something like “wow, your apple pie recipe sounds delicious, but what should I do about my cat’s psoriasis?”

In real life, this is known as a non sequitur. Please, oh please, don’t do this. It’s annoying, and it impacts our efficiency rating.

This is annoying partly because it indicates a certain laziness on your part to click on “Start a new topic” (gosh, those mouse buttons are heavy!), but mostly because we like to keep things neat. One thread, one topic. Resolved or unresolved. Black or white. 0 or 1.

Update as of 20 December 2011: I understand if you are reluctant to start a new thread because it seems like a bold new step for a noob. But if you have searched through the forum and haven’t found anything relevant, and you let us know that, we will actually applaud you for starting a new thread, because that is what you are supposed to do. Noobs who start new threads for new topics and don’t code dump? We love you, or at the very least, leave you off our enemies list.

Not starting a new thread also means that you may not get an answer because the thread’s title has nothing whatsoever to do with your problem and other people will never see your question. Keep things nice and neat. If you are searching the forum (thank you!) and find a post from six months ago that comes close to answering your question, please don’t add on to it. Just start a new topic, and include a link to this old post. (See “Do #6” and “Do #10” above.)

8. Don’t apologize for English not being your first language, or for not speaking it very well.

This is just me, but I’m impressed that you’re even trying. Most people whose native language is English never bother to learn a foreign language at all. (I grew up in a household where English was at best a second language, so this is not hypothetical philosophy.) Just tell us what your native language is, and it’s possible that someone can help you out in that language, or can help you translate your needs into English better. (Although Google Translate is amazingly adequate these days.)

If English is not your native language, and I cannot understand what you need help with, I will bend over backwards to figure it out and help you.  On some forums, there are people who actively work as translators. If you can find these people, they will often be very generous with their help.

You can apologize if you want to. I just don’t expect it. But that’s just me. Update as of 20 December 2011: Unfortunately, the language of the internet is largely English so if you spend much time here, you will eventually have to learn it. It takes time and effort, but you’ll figure it out.

9. Don’t expect a lot of help with Internet Explorer hacks.

At least not from me. I always recommend that anyone reading anything I post on the web use a real browser, and that doesn’t include IE. IE is buggy. (And so is Safari, to some extent, so I’m not just picking on Microsoft products.) Do your readers/followers a favor and invite them to upgrade to a standards-compliant browser, the way I do up in the upper right hand corner marked “Check Your Browser”.

I also won’t offer a lot of advice about SEO, since it’s pretty much just so much snake oil, and the bit that isn’t snake oil is breaking the internet.

10. Don’t forget to mark your topic as “Resolved”.

There are some people who go through forums looking for people whose problems have yet to be solved. Help them out by going back and marking your topic “Resolved” if your forum software is capable of this so they know you are sleeping soundly at night.

Other Issues

1. I’ve found a bug.


We all like to find new things, but when you post this, what you are basically saying is that despite the hundreds or thousands of hours that have gone into the development of this project, and the hundreds or thousands of hours that have gone into alpha- and beta-testing this project, you’ve found a bug after you’ve only been using it for five minutes.

Well, that does happen. Coders are people and they do get things wrong. But I would like to point out a couple of things:

  1. Just because it doesn’t work for you doesn’t mean it’s a bug.
  2. If I can’t reproduce the problem on my end, it probably isn’t a bug.

Coders are incredibly pragmatic people. If you say you’ve found a bug, then you need to be able point it out in the actual code. Keep in mind what I’ve said about old versions of software and Internet Explorer. Just because it doesn’t work in IE4 doesn’t mean it’s a bug; it just means that IE4 is old and it’s time for you to upgrade.

The key is this: if I’ve designed software package “FooA” that’s meant to work with software package “FooB” and it doesn’t, that’s a bug. But if I haven’t taken “FooB” into account when I wrote “FooA”, and “FooB” doesn’t work with “FooA”, it’s not a bug, it’s a compatibility issue, and therefore it’s not a bug report, but a support issue.

Does this matter? It may not on your end, because you still have two incompatible pieces of software and all you want is for them to play nice and get along with each other. But as a programmer, it does matter. If I intended these two software packages to work together (say, a theme and a plugin) and they don’t, then I’ve obviously overlooked something. It may be something as simple as a period or semicolon out of place (it happens), or it could be several hundred lines of code that I intended to include but somehow didn’t (this also happens).

On the other hand, if I never really intended or even thought about these two bits of software to get along, then I have to figure out why they aren’t. It could be just a simple bit of coding—one or two lines at most—on my end to ensure compatibility, or it could be that what I’ve written and what someone else has written simply can’t get along, because they are trying to achieve different ends. The question a programmer has to answer is whether it is worth it for them to spend minutes or hours trying to achieve something that may or may not work.

 2. Use the tools that are available to you.

This includes the manual, the wiki, the FAQ, the Google, and especially, Firebug. Meet me halfway. Don’t expect me to do all the heavy lifting on my own.

I’ll add more later as I think of it or as it becomes necessary. Feel free to add comments.

3. Beware of faulty assumptions.

I have seen many posts that blame this or that piece of software for problems without the user bothering to check for other, simpler solutions. Remember Occam’s Razor. You just updated WordPress and now your computer won’t run? Is it plugged in? Is it turned on? Is the circuit breaker tripped or the fuse blown? Is your power adapter working correctly?

There are endless variations of this. Someone tries to enter a password and no matter what, it just won’t work. Check the CAPS LOCK key, since most passwords are case-sensitive. Someone clicks “yes” on a message without reading what it says, when what it says is “You are about to reformat your hard drive. All of your data will be lost. Continue?” Someone enters the capital letter “O” instead of the numeral “0”. These problems are so numerous that we have names for them: PICNIC, PEBKAC, etc. You can find out what those mean here.

Usually, though, this is because someone changes two things in a row without checking to see what the first one does first. For example, someone will change their permalinks, choosing a permalink structure that actually breaks their blog, and then just as they are about to navigate back to their page, suddenly remember that they want to tweak their style sheet as well, which they do, but which has no effect at all on their blog. They then go to their site and see that it is all screwed up. Because the style sheet is the last thing they changed, they automatically assume that those changes are what broke their site.

Another variation occurs when a person uses plugin A without any problems, then disables it and installs plugin B, which also causes no problems. They then assume that both plugins work just fine, so they re-enable plugin A, then go and do a bunch of other stuff, only to find that their site is broken. They then assume that the problem is with that bunch of other stuff they did, when the problem is a simple plugin conflict between plugin A and plugin B, which they had never tested together.

4. Beware of the “I haven’t changed anything, honest” error.

This error is usually accompanied by the word “suddenly” or sometimes the phrase “all of a sudden.” Errors don’t just happen suddenly or all of a sudden. Something else has to occur in order for an error to happen. When I press people who profess this error, it usually turns out that they had just either

  • updated WordPress
  • updated their theme
  • updated one or more plugins
  • added several plugins
  • deleted several plugins
  • edited core WordPress files
  • edited core theme files
  • discovered the joys of FTP
  • clicked on a link promising sweet SEO goodness which then infected their site with a virus

or some combination of those things.

In all fairness, sometimes it’s not something a user did. Hosting providers do make updates to their systems, and they usually inform their users by sending them an email containing all the relevant details. My advice to check your email regularly and do not ignore emails from your host. If something is amiss, and you seriously have not done anything, check with your host, and then check with your ISP. If nothing else, you may have a virus on your computer which is causing problems, so head to your local library and check out your site from there.

Do You Have to Follow All This Advice?

Nope. You don’t have to follow any of it. You can just jump on a forum, act like an idiot or a boor, and take your chances. You might get banned from the forum—I’ve seen it happen, usually for spamming, and on occasion for profanity.

What is more likely to happen, however, is that nobody will look at your post, or, if they do, they won’t bother to respond. Take a look at this link: That’s the section of the WordPress forum that contains posts that no one has responded to. It goes back seven years, and has 6,840 pages, with 30 posts per page. Think about it: over the course of seven years, there are 205,000 (and counting!) posts that no one has responded to. Do you really want to be one of those?

Of course, there are other reasons I might not respond to your post that have nothing to do with anything I’ve written here. You might have a blog with an politically conservative slant (I’m a lefty, but I’ve helped plenty of people on the other side). You might have yet another sports blog. The world seriously does not need another one of those, unless it’s for some rarely seen or widely misunderstood sport, like curling (which, in all fairness, looks like an excuse to drink beer). Or it could be because your blog is all about how you are a computer genius and it’s clear you barely know how to turn one on. Or it could be that your blog is so full of typos, incredibly bad writing, and lousy photos that I feel you have bigger issues to deal with first.


Due to the large number of spam comments this post has attracted, comments are currently closed.
Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.Permalink for this article: