Thanks

4366 visits 

People


We thank to everyone who contributes to the dictionaries. It only takes few minutes to add few translations which will then be there for everyone forever. Every language has less than 100000 basic words. Everyone translates few words and soon the dictionary helps everyone else. Please always remember that most important is the primary dictionary (English-xy) once language is connected with English other dictionaries can be quickly created by validating automatic translations and later (when there are two dictionaries) by validating the cleaned automatic translations translations.

Software projects


PHP made it possible to build this project. PHP is simple small and fast. Exactly the way we like it :-). PHP has all the functions that are needed to create project like the All free dictionaries project. PHP even offers really simple ways to do something. For example:
$handle = fopen("file.txt", "r");
in PHP is much easier to remember/write than:
BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream("file.txt"),"UTF-8"));
in java. It is exhausting to work with complicated things. Even if you are not programmer you feel that it is more comfortable to use "fopen" instead of the long and complicated line which does exactly the same thing.
MySQL is great database server. The work with MySQL is simple and MySQL is powerful enough to handle all our data. MySQL handles unicode texts very well and once things are optimized there is no need to worry that the database server will be slow. Another nice thing is that MySQL server is small and agile. It is easy to create a copy of MySQL server on other computer within few minutes. Try it with some "big fat" commercial database server which is distributed on several CDs/DVDs and costs thousands of $. Simple and cheap solutions beat the complicated and expensive solutions.
Linux is OS of the server. Linux is free and very stable. We cannot imagine to have other OS on the server than Linux. Once linux server is configured it really works. Linux has good documentation and almost everything can be configured. Errors are not kept secret and it is easy to track them down. The only trouble is that it is still impossible to get some things working under linux (when drivers for old hardware are finally working new hardware appears). However things like PHP, MySQL or OpenOffice would not exist without Linux.
Apache is the best web server we have worked with. It is again small and fast. Apache works very well with MySQL, PHP and Linux. There are no problems with Apache at all. Apache web server is very close to what the word perfect describes. Apache is ideal solution for project like the All free dictionaries project.
Unicode made this project possible. Without Unicode and UTF-8 there would be no All free dictionaries project. UTF-8 makes it simple to work with different languages at the same time without juggling with tens of different encodings. For example it is not be possible to have two different languages on a single web page without unicode (for example Japanese and Russian). Imagine we would skip the "encodings" era and had Unicode and UTF-8 from the beginning. Once again clever minds later realized that it is not possible to work without universal solution. Universal as Unicode.
Java is great programming language. After long years of pointers there is finally some language which allows programmers to forget where is which variable in RAM. Java is used to create utilites which help to maintain the project. Java contains all the tools which are necessary to work with text. Java can handle unicode and work with strings is really comfortable in comparison to C and its famous arrays of characters :-). Java also allows everyone to use great things like LinkedLists and HashSets. It is extremely hard to write fast programs which work with large text files. Especially when there is need to find something in set of 1000000 elements. Array is unusable for such tasks. Thanks to HashSets Java programs can perform thousands of searches within a second. Programs with arrays would need very long time to do what HashSets can do in few seconds. Yet some (a lot of things :-)) could be much easier than they are now. For example opening files is really "Object oriented" but it is a lot of writing. To do some things in Java require long searching in documentation especially when Java "forces" certain "programming design patterns" :-))). Some things are so "sophisticated" so "Object oriented" that it is difficult to work with them.