Since then, the project has undergone many changes, the main of which is the visual input of formulas - now, to find information about a mathematical object, it is not necessary to know its representation in the TeX format.
')
About the influence of Habr
In the development of the project there were several turning points, the first was participation in the Imagine Cup 2009, when it was presented to the public, the second was the launch of the alpha version and the announcement at the Habré. After this event, the creator of dxdy.ru contacted me, and as a result of cooperation, a specialized version of the search appeared, which is only looking for this forum - uniquation.ru/dxdy , and on the forum itself - the search form .
I am absolutely sure that these changes would occur without the influence of Habr, but later; and their early introduction triggered the spiders code refactoring, as well as parts of the indexer, which had a beneficial effect on the architecture, and even now those changes contribute to more rapid code changes.
About changes
The most important changes since the previous launch: adding visual formulas and grouping the same formulas in the output. The first allows you to use the system without knowing tech, and the second is to get the desired result faster, because now when you query '\ sin (x + y)' the first page of search results is not littered with formulas like: \ \ sin (a + b) 'and '\ sin (x + y)' - and contains, most likely, the desired formula for the sine of the sum.
The basic approach when developing a system in the choice of technologies is very simple - to write on what I can do and to strive to avoid vendor lock-in. In this case, it is the C # language and two platform implementations: mono and the .net framework.
Unfortunately, we didn’t manage to exclude vendor lock-in on the client, as a tolerable component for visual input of formulas is available as a windows 7 COM component, and the only RIA platform with access to COM is silverlight 4. About a month ago, it allowed to quickly implement input formulas.
Currently, work is underway to make the server part distributed. The modification of working with the database made it possible to reduce any operation to reading or writing by key, which is a great fit for DHT. MySQL is still in use, but perhaps in the future it will be something from the world of NoSQL.
Another aspect (besides the database) of creating a distributed system is the implementation of communication between machines. The desire to stay away from vendor lock-in imposed a taboo on WCF and MSMQ, and the desire to minimize the impact on the future with unsuccessful architectural solutions today provoked the choice of independent encoding and messaging systems. Protocol Buffers from Google was chosen as the coding - after all, Uniquation is also a search engine :) The problem was that Google provides APIs only for C ++, Java and Python, and third-party libraries are too young and heavy. As a solution, for the first time I used IKVM.NET - a program that turns a java's jar into a .net's dll with one command. This application now allows you to convert the project level eclipse)
About future
The future is a well forgotten past.
This phrase works here. Even in the comments to the previous post, the idea was expressed about finding not a specific solution, but a class of solutions compatible with the given query - this will allow developing the search engine of mathematical information in CAS. We performed on the second Hackday with this idea and took the second place, this prototype was called GaloisWiki ( its announcement on hackday2 ).