Grammar nightmares: the road to salvation with LanguageTool

I am terrible with grammar, as you will likely observe somewhere in this post or elsewhere on my website. This is often very embarrassing. These days however, I should be able to spare myself the embarrassment given the plethora of language checking softwares.

There are two main reasons these softwares do not do the job for me:

  1.  I do most of my writing in LaTex with Texstudio, and Texstudio only comes with a rudimentary spell checker with little grammar checking abilities (it’s a pain to copy paste in Word, mostly because Word’s checker gets caught into LaTex syntax).
  2. I am so bad that even state-of-the-art language checker do not catch most of my mistakes. For instance, I am very bad with homophones. I often get words like “to” and “too” mixed up when I write, which even Word’s checker misses most of the time.

Regarding 2., what I really need is a language checker in which I can set up my own rules. When I realize I’ve made a mistake, I know I am likely to make that mistake again. Thus it is just a matter of making the effort to write down a rule that will catch that mistake for me in the future.

I’ve wanted to do just that for a while, but never found the right tool. My salvation might come from LanguageTool.

  1. LanguageTool works with Texstudio (see for a simple installation tutorial) and natively improves upon the default language checker in Texstudio.
  2. LanguageTool gives you the ability to add your personal rules using a relatively straightforward syntax (there is a learning curve, but it’s not too bad).

For instance, I can easily tell LanguageTool to look for instances of “It is not to bad” (which Word’s checker does not flag) and suggest to replace it by “It is not too bad”.

Rules in LanguageTool are quite versatile and allows for regular expression via the regex syntax.

LanguageTool’s tutorial explains how to create and add rules very didactically at Because the previous link has broken in the past, here is a direct quote describing the basics:

“Most rules are contained in rules/xx/grammar.xml, whereas xx is a language code like en or de. In the source code, this folder will be found under languagetool-language-modules/xx/src/main/resources/org/languagetool/; the standalone GUI version contains them under org/languagetool/.

A rule is basically a pattern which shows an error message to the user if the pattern matches. A pattern can address words or part-of-speech tags. Here are some examples of patterns that can be used in that file:

  • <token>think</token>
    matches the word think
  • <token>think</token> <token>about</token>
    Matches the phrase think about – as the text is split into words, you need to list each word separately as a token. This will not work: <token>think about</token>
  • <token regexp="yes">think|say</token>
    matches the regular expression think|say, i.e. the word think or the word say. You can write simple rules without knowing regular expressions, but if you want to learn more about them you can try this tutorial.”

LanguageTool even has a handy rule editor that you can use to create new rules if you don’t want to learn too much about the rules’ syntax (

You can download a list of the custom rules I find most useful here. I will try to update the list as I write down new rules.

Finding all stable matchings in roommate (and marriage) problems

Patrick Prosser has some great java code at which, among other things, can compute all the stable matchings in roommate problems.

If you are interested in two-sided matchings, rejoice : Patrick’s code allows preferences over roommates to include unacceptable roommates. To implement a two-sided market, just make sure any roommates on one side of the market views any other roommate on the same side of the market as unacceptable, and you’re good to go.

If (like myself) you are not used to java, you might struggle a little to get the code working. Here is a little tutorial for Mac OS, which worked for me as of today.



A new seminar series on microeconomics at Vanderbilt

This Spring term, we will inaugurate a regular microeconomics brownbag seminar series for graduate students and faculty members at Vanderbilt to present ongoing research with connections to microeconomic theory.

The first session will take place on Tuesday, February 23, in Room 413B on the 4th floor of Calhoun Hall, from 12-1pm. Professor Yevgeniy Vorobeychik from the Computer Science and Computer Engineering department will talk about “Computational Game Theory, and Its Role in Security, Privacy, and Healthcare”.

A light lunch will be served starting at 11.45 am.

For more information about this seminar series, see or contact me at

Absolute vs relative poverty : what do people think?

Poverty, Resource Equality and Social Policies

In a recent post on the blog, we presented Martin Ravallion‘s discussion of absolute and relative poverty.  In a nutshell, an absolute poverty measurement counts an individual as poor if her consumption lies below some level of deprivation associated with what is viewed as “basic needs”.  On the other hand, relative poverty measurements consider that an individual is poor if she is sufficiently disadvantaged as compared with other individuals in her country or region.

There exists a vivid debate between advocates of absolute and relative conceptions of poverty. Which notion of poverty should prevail — if any — is still an open question among researchers. Now, choosing between absolute and relative poverty notably involves value judgments about what a decent life is, and scholar should certainly not monopolize the debate. At the political level, this choice requires a healthy democratic debate. As any decision process requiring a public deliberation…

View original post 634 more words

Synchronizing attached files in Zotero

Zotero offers free database synchronization across devices, but if you want to synchronize more than 300Mb of attached files through Zotero’s official storage service, you will have to subscribe to a paid plans.

For not searching enough in Zotero’s documentation, I initially thought Zotero’s official storage service was the only way to go. For a while, I had been using a hand-made  iffy solution relying on a dropbox-like synchronization of my “Literature” folder, in order to have my attached files synchronized without paying. I discovered the hard way that this “solution” was not without problems (see

Then, as I was working out the problems with my hand-made solution, I rediscovered that Zotero’s folks are really all you can expect from open-source developers. Among other things — and  unlike folks at Mendeley, they do not want to trap you into using their own storage service. This means you can safely use a free third party storage to synchronize your attached files. Just follow the procedure described  on, under the title WebDAV.

Zotero even maintains a list of third party storage providers which are known to work fine with Zotero :

I personally chose 4shared and have been happy with it so far (4shared’s connection to Zotero used to be a little hard to set up — see, but this problem was solved in later versions of Zotero).