nanosleep(), usleep() and sleep() Precision Tests

Working on some Amazon EC2 benchmarks I run through few problems of having my processes to run with a high time precision where a more than 1ms shift between operations is not acceptable.

My program accumulates work time and sleep time, ideally, it would work for time t, sleeps for T - t microseconds and loop again. The problem is that in the sleep routine, a shift of few microseconds can be accumulated to become a shift of milliseconds after few loops.

After investigating the problem a little, I did some tests on how precise are the sleep functions in C, here is the code I used to test nanosleep(), usleep() and sleep().



Running these tests on my machine with Fedora 15 gives me these results :


As you can see, there is always an overhead of 100µs to 180µs, a call to printf inside the function will take about 70 µs more to execute. The call to the function itself (the nsleep function) takes at worst 1µs. With this accumulation of  microseconds, a program would get to a state where it is late by some milliseconds after a dozen of iterations and calls to these sleep functions.

On the other side gettimeofday() behaves pretty well considering precision, the benchmark below (found here) gives the following results:

$ ./gettimeofday_benchmark
50000000 cycles in 2315879542 ns = 46.317591 ns/cycle
Which is satisfying for its precision.

A solution (that is not applicable in all cases) is to have a global program independent clock regarding to which the sleep period is adapted. For example instead of waiting T - t microseconds, one will use every second tick on the system as a landmark, and thus any microseconds lost in the last loop iteration are discarded in the next one since the wait time is not dependent on the time the loop has started.


NYTimes Newsreader and LeParisien Journal for #WP7

I've developped lately two new Windows Phone apps which are newsreaders based on RSS for the New York Times newspaper and LeParisien.fr Journal.

The two apps come in two versions,a free version which is ad-powered and a paid version which is ad-free. Following is a brief description and download links for the two apps.

NY Times Newsreader :

Read the NY Times newspaper directly on your Windows Phone device.

The NYTimes Newsreader gives you access to all the major sections of the NY Times newspaper organized in categories for easy and fast navigation with full articles view using the NYTimes' RSS feature.

Features:
- Browse news by categories (7 categories and more than 40 sections)
- Front page news
- Articles thumbnails
- Share articles by email and SMS
- Favorite your articles to read them later
- Read full articles directly from NYTimes Newsreader

Categories:
- World
- Op-Extra (Opinion, Columnists, Editorials, Magazine ...)
- Technology
- Science
- Sports
- Arts
- Business


  

Download (FREE version)




LeParisien :
Suivez toute l'actualité française et internationale avec LeParisien.fr Journal sur votre Windows Phone

Accédez à l’intégralité des articles de leParisien.fr classés par rubrique (5 rubriques et plus de 30 catégories)

> Sauvegardez vos articles favoris pour une consultation ultérieure
> Partagez l’information avec vos amis via Email ou SMS

Accédez en un clic aux dernières news :
- L'info du Parisien
* Politique
* International
* Faits divers
* Economie
* Société
* Loisirs et spectacles
* Médias et people
* Automobile


  

Download (FREE version)



Posted in , |

Beta SMS 2.0 Now Available On Windows Phone 7

Beta SMS 2.0 is now available on the Windows Phone 7 Market place with a lot of enhancements and new features.

Beta SMS lets you send very cheap and even free^ short text messages internationally by using your favorite web SMS or VoIP provider. It offers a very intuitive way to send SMS directly from your Windows Phone, without having to log into your provider's website each time you want to send an SMS.

Features

- SMS History
- Contacts support
- Balance check on all the supported services
- Managing and sending SMS from multiple providers at the same time
- Switch between multiple account in one tap
- A beautiful user interface that looks and feels like the native WP7 SMS app.

Supported services

In order to user Beta SMS, you need an account with one of the following providers:

- SMS Global
- Cherry-SMS
- Sloono
- 12voip.com
- Actionvoip.com
- Calleasy.com
- Cheapvoip.com
- Dialnow.com
- Freecall.com
- Internetcalls.com
- Intervoip.com
- Justvoip.com
- Lowratevoip.com
- Netappel.fr
- Nonoh.net
- Poivy.com
- Powervoip.com
- Rynga.com
- Sipdiscount.com
- Smartvoip.com
- Smsdiscount.com
- Smslisto.com
- Sparvoip.de
- Voipbuster.com
- Voipbusterpro.com
- Voipcheap.co.uk
- Voipcheap.com
- Voipdiscount.com
- Voipgain.com
- Voipraider.com
- Voipstunt.com
- Voipwise.com
- Voipzoom.com
- Webcalldirect.com


If your favorite service is not supported yet by Beta SMS, please request it here.

s1             s2             s3s4             History new

You can download Beta SMS from here :
Downlaod Beta SMS
More info on WP7applist.com.


Win a Free Domain Name (Registered For 3 Years), 3rd & Last Message

This is the 3rd and last message of the series to win a domain name registered for 3 years.

Once decoded, send the clear message and your email from the “contact me” page, remember, first to decipher the 3 messages wins.

 

Message:

ADACACACBDXCCAAABCABBACAXCCCAABCCDC
BXAACACBCCXBXDXDAAADACBABDACABXXAAB
AXCAXAABCDAACAACBDACADBACDXBXXCACCC
CAACCAABCCBDXAADBDBX

 

Instructions :

YJAV CWQ : LMJAFY, LJSFKHGKALAGF CWQ : CAFVA.

You need to decipher the first (fairly easy) two messages (the second is easier than the first). Message 1 here, message 2 here.

 

(competition always open closed)

Winner : Mohieddine Abd-kader, http://mitgux.com/

Posted in |

Cracking The Vigenere Cipher

I wanted to use Vigenere as the cipher for the 3rd message on the competition to win a domain name, but changed my mind due to the number of online tools that might help decode this cipher easily even if you know nothing about how Vigenere works.

Before you start reading about how deciphering Veginere works, I invite you to take a look how Vigenere is used to cipher messages from the Wikipedia article here. In fact, Vigenere was called “le chiffre indéchiffrable” or the undecipherable cipher, because any means of cryptanalysis invented before it was defeated, till Charles Babbage found a clever, very clever, way to crack it.

After finishing reading the Code Book the last week, I started decoding the different enigmas proposed at the end of the book; and yesterday I started deciphering the 4th enigma which is a Vigenere cipher (that I finished yesterday too), and I find it pretty amazing for starters to try. I must mention that this short article will contain the solution to the enigma.

I chose to go old way while deciphering this, finding the key by hand, then decoding the message step by step.

0. The message to decode :

K Q O W E F V J P U J U U N U K G L M E K J I
N M W U X F Q M K J B G W R L F N F G H U D W
U U M B S V L P S N C M U E K Q C T E S W R E
E K O Y S S I W C T U A X Y O T A P X P L W P
...

The complete message can be found here.

1. Finding the key length:

Babbage’s method for finding the key length was that the repeated text in the ciphered message is probably produced from the same repeated letters from the clear message and which are ciphered with the same part of the key. Hence, finding an estimate between the repeated series of letters in the ciphered message would give us a good hint about the length of the key.

Clear : T H I S I S A C L E A R T E X T T H I S C A N B E E A S L Y D E C
Key :   C O D E C O D E C O D E C O D E C O D E C O D E C O D E C O D E C
Crypt : V V L W K G D G N S D V V S A X V V L W E O Q F G S D W N M G I E

As you can see the series of letters T, H, I is ciphered to the same series V, V, L, because they were situated at the same relative position according the key; notice also that E, A is ciphered to the same S, D.
The key length is at worst the spacing between these repetitions in the ciphered text, and usually it is the greatest common divisor of the spacing of (most) the repetitions (why? give it a second thought.).

285181560

Posted in , |

Win a Free Domain Name (Registered For 3 Years), 2nd Message

By decrypting the message and following the rules you reveal, or just have fun!

After decrypting the first one, you won’t find any difficulty decrypting this one.

Sans titre

Hint: Phonemic, Linear, starting from the end is a good idea sometimes.

Hint 2 : This was a widely used code (language) in the past.

(if you decode the message, don’t forget to send your answer from the “contact me” page along with your email).

Decoded by : @oh_la_love, @27_hope, @mowahed23 , Mohieddine Abd-kader, @zirconias (competition always open closed).

 

Winner : Mohieddine Abd-kader, http://mitgux.com/

Posted in |

Swedish Greys - a WordPress theme from Nordic Themepark. Converted by LiteThemes.com.