Warning: Use of undefined constant MSW_WPFM_FILE - assumed 'MSW_WPFM_FILE' (this will throw an Error in a future version of PHP) in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/wordpress-file-monitor/wordpress-file-monitor.php on line 39
Index64 : Concurrent key-value store

Index64 : Concurrent key-value store

The fastest in-memory key value store

Privacy policy for Itchigoo apps (Checkers, Othello, Poker calculators)

I believe that your privacy is important and I won’t do anything evil with your data. I hate spam as much as you do. I won’t pass your details on to be used by anyone else to market to you, and I won’t send you anything unless you opt-in to receive it.

This privacy policy explains how I’ll use any personal data I may collect from you, or you provide to me.

  1. At the moment, I collect your location, if you opt-in for it, in case of online games. In such case the location will be displayed to your current online opponent at connexion. No other use of this information is done. This information is never hard stored outside of your own device, and for any other purpose.
  2. I may also collect anonymous statistical information about general usage habits. Anonymous means that this information does not identify any individual. I use two standard apps to get these different services:
    o Google Analytics
    o Facebook Analytics
  3. My free applications use advertising currently provided by Admob, Mopub, Mobfox, Facebook, Chartboost and Vungle. In order to deliver targeted ads, and to see whether their adverts are effective, these third-party advertising companies may place or recognize a unique cookie, or similar technology, for non-personally identifiable information. Click for more information about Admob (run by Google) and more information about Mopub (run by Twitter) adverts
  4. I will only disclose your personal information if I have a legal obligation to do so, or if I need to enforce an obligation against you, or if you are using an application which is designed to share that data.
  5. Any changes I may make to this privacy policy in the future will be posted on this page, so pop back and have a look from time to time if you’re into that kind of thing.
  6. Send any questions about this policy to contact@itchigoo.com
  7. That’s it

FREQUENTLY ASKED QUESTIONS

(Checkers  – IOS app – updated Dec 6th, 2019)

Icone

Thanks for being here, just one word before starting reading the FAQs: If you want to be among the beta-testers of the next version of Checkers (Dedicated to AI improvements as of Dec 2019), just let me know by dropping me an email contact@itchigoo.com.

1 – Computer cheating and AI

1.1 – Why are the rules different for the computer?

Rules are obviously the same for the computer.

But what may appear confusing at first is that for some checkers rules, normal moves are forward only, whereas jumps are forward and backward. In other words, move and jumps are following different rules. So, you may be surprised to see the computer performing multiple jumps forward and backward whereas you’re only allowed to move forward when it’s your turn. It’s just a question of time to get used to it.

1.2 – Why does the computer impose me moves that advantages itself?

The computer only imposes moves that follows the official rules. Official rules were built and made regular ones by International Checkers Authorities. The app follows them in the most strictest way.

However, for some checkers rules, there is the quantitative rule obligation. This rule, not well known among occasional players, imposes to choose the move which will result in the maximum number of checkers taken. An occasional player might be surprised to not be allowed to choose a move that results in less takes.

It’s true that sometimes, it is not really advantageous, and it’ s true that the computer knew it before playing its previous move.

1.3 – Can you make the AI stronger?

When I built the AI algorithms, I had in mind to please 98% of the players at the highest level. My objective was not to compete with other algorithms, nor to perform AI research. So, to answer this question, I would say that “Yes, it’s possible, but from a business perspective, I prefer to spend my time on other improvements”.

But, now (Dec. 2019) time has come to work on this topic. Next version will concern the AI. Technical and logical improvements are already done. Stay tuned!

2 – Online games

2.1 – Why can’t I see the Elo score of my opponent?

Elo score distributes points (plus or minus) according to the output of a given game, while taking into account the elo score of the opponent. It’s not a perfect assessment of your level but it tends to reflect your fair playing level.

Players who wants to improve their score may try to hack the system by choosing only players with higher Elo score. This behavior may result in many [Connexion – Check Elo score – Disconnexion] in order for these players to find a good target. This behavior may result in a discouragement to play online, and then a global disinterest for online games. That’s why, this information is hidden.

2.2 – Why doesn’t the connexion work tonight?

It happens sometimes that Game Center is down for a couple of hours, or even for days … I should admit, it’s far less the case these days than it used to be a couple of years before. If this happens, and if you connect to the Apple’s system status site (Apple System Status), Apple generally don’t report it. So you might think that, as Apple does not report it and because Apple is such a reliable company, it must be the fault of the developer… Then in the best case, you dropped me an email, in the worst case you write a 1 star review complaining, “it’s again the case”.

Do what you want, but remember that it may be not the responsibility of an independent developer to make Game Center working properly.

At the moment I write this answer (Feb.2019), the app is trying to rebuild its online players base. As explained at the latest question of this FAQ, I had to restart the operations from scratch. So, yes, these days, there are not enough players to play at any time (except for Checkers 10×10), and I don’t trick with fake profiles. I hope I will have rebuilt a decent players base in a few weeks.

2.3 – The timer of my opponent is sometimes increasing, why is that possible?

That’s normal. When your opponent makes a move, her device send a message to your device. This message contains the move itself, and the exact time at which the move was done. When your device receive the message, it performs the move and re-synchronize the timer of your opponent. So that, if for some reasons the move took 2 seconds to reach your device, then the timer of your opponent will be added 2 seconds. By this way, you can be assured that the timers are always synchronized on both sides during the whole game, and that the time taken by the system itself is not counted.

2.4 – My opponent is insulting me, what can I do?

First solution: you slide up the insult with your finger. I mean literally, concretely. The text of you opponent is located on an hidden scrollview. So, if you slide up the insulting sentence, it will disappear in the land of the lost insults together with the following messages from the player.

Second solution: once disconnected you uncheck the text messaging option.

3 – Scores

3.1 – Why is my score sometimes not counted?

At the moment you get the message that you earn some points, your new score is recorded on your device and then posted on the Apple’s servers. However, it may happen that your score is not visible right away on the leaderboards because Apple’s servers have not got synchronized. Normally it should be a matter of time. Anyway, your last score is kept on the device itself, and will be used for the next score posting even if the score taken from Game Center is lower.

Keep also in mind that any game that ends before the 15th move is not counted. This specific rules has been established to discourage players who would like to increase their score by playing between two of their own accounts.

3.2 – How is the elo score computed?

To compute the elo score, I followed the wikipedia method. (Elo On Wikipedia)

The elo score is displayed after 20-25 games, in order to avoid giving too many information for possible hacks and/or constant complaints. Don’t forget it’s not a perfect rating system!

3.3 – How can I get back my online score after re-installing the app?

Your online scores (elo and overall scores) are stored on the Apple’s servers and linked to your Game Center account. If you have uninstalled the app and want to get back your scores, or if you want to put your score on another device, you just have to connect to Game Center, open the checkers app and start a new online game, or even just consult the leaderboards. Then, the app will get the scores, and a few other information, before updating the score on your device.

4 – General features

4.1 – Why is the move cancellation not available for non-premium users?

First, it’s not an official rule. You can’t undo your move when you play at any board game against a person. Why should it be different when you play against the computer? Furthermore, it’s also the case for most of the decision in life. There is no “undo”. You do it, and if you’re wrong, you adapt yourself.

Second, I don’t want to give the opportunity to a non-premium player to win each single game, and thus to loose interest in the game. Once you have paid for the premium, and have the undo access, then ok … Do, and undo, as you want.

With computer gaming, many kids, don’t feel the weight of their act. Our society makes them win all the time, and gives them the possibility to undo-redo when they are wrong. Consequently, they don’t feel the importance of thinking on the impact of their act beforehand. When I saw my own kids behaving this way, I decided to impose this in my game even though it’s not the standard of the industry, and even though many will complain about it.

4.2 – Why is it always the computer (or me) who start the game? How can I change this?

For each checkers rules it’s either the white or the black who always start. For example, for international checkers it’s always the white who starts (just like for chess). So, if you want to change this, you should change the color of your pawns. You can do this in the single player panel. There is even an option for alternating colors between games:  press twice the color option and you will get a double white and black arrow to signify this option.

4.3 – Why don’t you make the checkers’ moves more accurate?

Sliding the checkers gives a relaxing feeling. It is closed to what happens in reality but it’s true that you may experience incorrect moves.

If you want to secure your moves or if you want to play at a faster pace I would suggest you to proceed as follow:

1. Check the “Star on pawns” option in the board option panel, to get a better idea of where the checker truly is.

2. Adopt the [tap-Checkers -> tap-Target] way of moving a checker. In fact, you are not obliged to slide the checker to move it, you can also tap it, and then tap the target square. For multiple jumps, you can even tap the checker and then the final target square.

4.4 – Why can’t I listen to my own music?

You can!

It’s just that if you were listening to music at the moment you started the app, your music will be stopped for technical reasons. My app is using standard sound libraries that needs initialization at launch.

So, if you want to listen to your music while playing Checkers, get out of the app once launched and re-start your music. You might also want to remove the sound of the app itself, so go to the option panel of the checkers app.

If you don’t close the checkers app (by sliding-up the screen of the app), then you won’t experience the stopping of your music when launching the application.

4.5 – There are too many ads, I just throw the game away …

I don’t like ads neither. And I would prefer to propose an app without ads, an app that people would try and buy, just because they like it.

But reality is different. Ads is 95% of my app revenues, because most players prefer to save the price of a coffee and being mentally polluted by ads, than just buying the app once they know they enjoy it, while contributing to get better and better apps.

Programming an app is a big work, a big risk, and also a lot of frustration. For the moment, I believe my app is truly among the apps with a reasonable number of imposed ads. It may change, as the industry has changed.

4.6 –  It’s November, and it’s the time of the new iOS. Should I upgrade right away?

This is the Apple recommendation. Nevertheless, you may experience a few glitches coming from the new OS and/or coming from the conjunction of the app and the new OS. In the end, it should remain your choice.

4.7 – Why is the game not available in landscape mode?

That’s a recurrent question since the launch of the app(s), about 9 years ago.

Considering all the graphics, animations, messages in 20 languages, … rethinking the geometry of the entire game while keeping its fluidity, reliability and elegance would require a huge amount of (boring) work. I never really felt it would worth the time and the risks, from a business perspective. It was also a question of courage to find, to climb up the big hill. I know this does not please everybody, but it’s my choice.

4.8 – What is your privacy policy ?

The official privacy policy is available here: Privacy Policy

4.8 – What is your addiction policy?

The “attention market” is probably the world biggest market. And my app is fighting against all the big names of the attention industries (Social-networks, Media-industry, XXX-industry, Games-industry, …) to get your attention. All of them don’t talk about their addiction policy, even though they all know how to attract, retain you (and your kids) as much as possible and eventually inject you the regular dose of dopamine that will create the addiction they look for.

Among other things, one can talk about constant interactions/news/notifications, up-down emotions, stars identification, … For the games I can be even more specific: rankings, collections, progression, hall of fame, characters/animals, casino-like random gifts, shiny animations and most importantly ego gratifications. That’s the norm of the games industry … and I should admit it works.

In this game I believe I did the minimum. You will play Checkers, and maybe you will like it, and replay. But I decided to not use any big trick to be competitive against big players. I should be a little old fashion in that sense.

5 – Bug reports

5.1 – I have noticed a bug, how can I report it to the developer in an efficient way?

If you tell a priest: “There is a misspelling in the Bible”, he will feel confused and will probably never fix it. This is how I generally feel when someone reports me a bug. The Checkers program is maybe as wordy as the Bible itself.

If you want a bug to get fixed, or an evolution to be implemented, you should try to give as much information as possible. When/where/how did it occur? What happened? For example, you were playing against the computer, at level 3, and at the end of the game you noticed that BLA BLA.

The best practice is to send an email from within the app itself (“Email us” button), then to write about the context and what happened, then maybe to send a picture of the app to show the bug (to take a screenshot you should generally press simultaneously the power button, and the volume button).

The top of the top would be to include  a movie. To make a movie, you’ll have to connect your device to your computer, and if it’s a mac, to launch the quick player app and “File-New movie recording” then select the source near the record button (= device).

6 – Purchase refund

6.1 – I purchased the premium version by mistake, how can I get reimbursed?

All is related to the store, is related to Apple itself. I have no mean to help you directly.

Here you will find detailed explanations: Apple store purchase refund.

7 – Previous Checkers apps

7.1 – I used to play your checkers app a few months ago, but I can not get back my score nor my premium purchase, why is this?

It’s a long story, but I will make it as short as possible.

Apple forced me to remove all my 8 Checkers apps, which were each related to a national rule, and to put all of them into one single app. The reason was that they considered my product range approach as app spamming. So, beginning of November 2018, I removed 7 out of my 8 checkers apps, both of of my Poker apps, and all of my 4 Othello apps. In one day, I passed from 14 available apps to 1.

The whole process lasted about 6 months, and I could release a big Checkers app on 23rd of December 2018. Since then, I fixed many bugs and started to re-build my credibility, my marketing approach and the online players base.

The Checkers app I kept, to build upon it a Checkers container, was called “Checkers 10×10”. It was the “International Checkers” version. All the other Checkers apps disappeared beginning of November 2018, and thus, they are no more available on the app-store.

Privacy policy for Itchigoo apps (Checkers, Othello, Poker calculators)

I believe that your privacy is important and I won’t do anything evil with your data. I hate spam as much as you do. I won’t pass your details on to be used by anyone else to market to you, and I won’t send you anything unless you opt-in to receive it.

This privacy policy explains how I’ll use any personal data I may collect from you, or you provide to me.

  1. At the moment, I collect your location, if you opt-in for it, in case of online games. In such case the location will be displayed to your current online opponent at connexion. No other use of this information is done. This information is never hard stored outside of your own device, and for any other purpose.
  2. I may also collect anonymous statistical information about general usage habits. Anonymous means that this information does not identify any individual. I use two standard apps to get these different services:
    o Google Analytics
    o Facebook Analytics
  3. My free applications use advertising currently provided by Admob, Mopub, Mobfox, Facebook, Chartboost and Vungle. In order to deliver targeted ads, and to see whether their adverts are effective, these third-party advertising companies may place or recognize a unique cookie, or similar technology, for non-personally identifiable information. Click for more information about Admob (run by Google) and more information about Mopub (run by Twitter) adverts
  4. I will only disclose your personal information if I have a legal obligation to do so, or if I need to enforce an obligation against you, or if you are using an application which is designed to share that data.
  5. Any changes I may make to this privacy policy in the future will be posted on this page, so pop back and have a look from time to time if you’re into that kind of thing.
  6. Send any questions about this policy to contact@itchigoo.com
  7. That’s it

Overview

Index64 is an in-memory ordered and concurrent key-value store primarily designed for High Performance Computing.

It indexes key-value pairs on distributed architectures using lock free algorithms for accessing data, while ordering the keys.


Our benchmarks show that Index64 is the fastest in memory KV-store currently available on the market. When using the potential of multicore processing, Index64 is between 2 to 10 times faster than Redis, depending on the data structure (ordered keys or not) and the environment (OS, VM), for both readings and writings. Its outstanding performance under Linux VM makes it a perfect choice for a Data Center.


Unlike Redis or Memcached, Index64 supports concurrent accesses to a large amount of data within a single node. Keys are ordered a priori making group requests possible to execute in a single run at an amazing speed.


Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 1389

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: Attempt to assign property 'target' of non-object in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/blocks/basic.php on line 153

Warning: Attempt to assign property 'href' of non-object in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/blocks/basic.php on line 168

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: Attempt to assign property 'innertext' of non-object in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/blocks/text.php on line 110

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: Attempt to assign property 'outertext' of non-object in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/blocks/container.php on line 46

Warning: Attempt to assign property 'outertext' of non-object in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/blocks/container.php on line 51

Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 1389

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: preg_match(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 1389

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Warning: preg_match_all(): Compilation failed: invalid range in character class at offset 4 in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 694

Warning: Invalid argument supplied for foreach() in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/assets/libraries/simplehtmldom/simple_html_dom.php on line 701

Fatal error: Uncaught Error: Call to a member function children() on array in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/classes/maxCSSParser.php:50 Stack trace: #0 /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/classes/button.php(412): maxCSSParser->loadDom(Object(simple_html_dom)) #1 /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/classes/button.php(481): maxButton->parse_button('normal') #2 /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/classes/button.php(884): maxButton->display(Array) #3 /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/classes/maxbuttons-class.php(415): maxButton->shortcode(Array) #4 /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-includes/shortcodes.php(364): maxButtonsPlugin->shortcode(Array, '', 'maxbutton') #5 [internal function]: do_shortcode_tag(Array) #6 /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/w in /home/clients/a4376768532b9cffdcccda3b3d9e669f/web/m/wp-content/plugins/maxbuttons/classes/maxCSSParser.php on line 50