<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Anatoly Lubarsky</title><link>http://blogs.x2line.com/al/</link><description>programming, design, implementation, integration, games, music, web, mobile</description><managingEditor>anatolyl@gmail.com</managingEditor><dc:language>en-US</dc:language><generator>Version 0.97.2006.1</generator><image><url>http://images.x2line.com/logos/x2line_br_109.jpg</url><title>x2line - We Build Applications</title><link>http://blogs.x2line.com/</link></image><item><dc:creator>Anatoly Lubarsky</dc:creator><title>Snake Handling</title><link>http://blogs.x2line.com/al/archive/2012/04/28/3859.aspx</link><pubDate>Sat, 28 Apr 2012 00:00:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2012/04/28/3859.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3859.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2012/04/28/3859.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3859.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3859.aspx</trackback:ping><description>&lt;p&gt;It turns out I rarely post lately being busy...&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I figured out I'd better post some crazy stuff for motivation to be at the top of the feed for a while...&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The clip below is called "Sunspot" by Of the Wand &amp; the Moon from 2011.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;
&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/IDFjvw_7Vks" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;
&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;The footage is very powerful. For more information about what is going on in the video search for snake handling or George Went Hensley. Enjoy :)&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>Fosimo 1.1.3</title><link>http://blogs.x2line.com/al/archive/2011/09/17/3842.aspx</link><pubDate>Sat, 17 Sep 2011 05:00:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2011/09/17/3842.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3842.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2011/09/17/3842.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3842.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3842.aspx</trackback:ping><description>&lt;p&gt;&lt;a href="http://www.onecone.com/Pages/Downloads/FosimoDownload.aspx"&gt;Fosimo 1.1.3&lt;/a&gt; is available for download. &lt;b&gt;Fosimo is a desktop tool for Facebook&lt;/b&gt; which helps you control your Facebook account without browsing through Facebook.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;It has been more than a year and a half since the previous major releases of Fosimo while we focused on other projects. Since then Facebook has done a lot of changes and deprecations to their API so we found it counter-productive to catch up with that. However Fosimo proved to have a significant number of die-hard fans who continue to use the app.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;We decided to catch up with the API changes namely converting to Oauth and Graph API, redesigned the authentication flow, fixed a number of bugs and simplified everything to make it much faster, lighter and easier to make changes in the future. Fosimo is still full-feature working and is able to notify the user about their friends status updates, upload photos to Facebook, update Facebook statuses, browse friends without browsing through Facebook, backup inbox  and more.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Enjoy&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;EDIT: just forgot to mention this - Fosimo is 4 years old project already.&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>RIP Facebook Developers Forum</title><link>http://blogs.x2line.com/al/archive/2011/08/31/3840.aspx</link><pubDate>Wed, 31 Aug 2011 18:49:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2011/08/31/3840.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3840.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2011/08/31/3840.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3840.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3840.aspx</trackback:ping><description>RIP Facebook Developers Forum [ ... ]</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>How to Play Sound Effects in Objective-C (iOS)</title><link>http://blogs.x2line.com/al/archive/2011/05/19/3831.aspx</link><pubDate>Thu, 19 May 2011 13:05:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2011/05/19/3831.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3831.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2011/05/19/3831.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3831.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3831.aspx</trackback:ping><description>&lt;p&gt;Mobile game or application with sound effects is usually more fun for users than without. So how to implement sound effects on iOS? There are a few ways. If you search on the net - the most frequent recommendation is to use &lt;b&gt;AVAudioPlayer&lt;/b&gt; library and component. My opinion - don't do it if you just want to implement short sound effects that last several seconds. AVAudioPlayer is very expensive performance-wise and has lag issues. It is also not very reliable in terms of leaks since you have to release it on the audioPlayerDidFinish callback of AVAudioPlayerDelegate delegate.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;AVAudioPlayer is best for playing longer loop-able music tunes as a background. In order to play short sound effects it is performance-wise cheaper to use &lt;b&gt;AudioServicesPlaySystemSound&lt;/b&gt; method from &lt;b&gt;AudioToolbox.h&lt;/b&gt;. In order to do that you need to declare &lt;b&gt;SystemSoundID&lt;/b&gt; like so:&lt;/p&gt;&lt;br /&gt;
&lt;pre&gt;SystemSoundID audioEffect;&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;and don't forget to dispose it in i.e. dealloc like so:&lt;/p&gt;&lt;br /&gt;
&lt;pre&gt;
AudioServicesDisposeSystemSoundID(audioEffect);
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Below is a short example function that gets a resource file name and file extension as parameters and plays sound effect:&lt;/p&gt;&lt;br /&gt;
&lt;pre&gt;
-(void) playSound : (NSString *) fName : (NSString *) ext
{
    NSString *path  = [[NSBundle *mainBundle] pathForResource : fName ofType :ext];
    if ([[NSFileManager defaultManager] fileExistsAtPath : path])
    {
        NSURL *pathURL = [NSURL fileURLWithPath : path];
        AudioServicesCreateSystemSoundID((CFURLRef) pathURL, &amp;audioEffect);
        AudioServicesPlaySystemSound(audioEffect);
    }
    else
    {
        NSLog(@"error, file not found: %@", path);
    }
}
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Enjoy :)&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>User Preferences in Objective-C (iOS) - NSUserDefaults </title><link>http://blogs.x2line.com/al/archive/2011/05/17/3830.aspx</link><pubDate>Tue, 17 May 2011 13:05:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2011/05/17/3830.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3830.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2011/05/17/3830.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3830.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3830.aspx</trackback:ping><description>&lt;p&gt;This post is about how to handle user preferences in iOS. User preferences is needed for storing small amounts of data locally and can work out as a small database for your app where you can store simple stuff like score and etc. This is all done via &lt;b&gt;NSUserDefault&lt;/b&gt; class. Examples:&lt;/p&gt;&lt;br /&gt;
&lt;h4&gt;Fetching preferences&lt;/h4&gt;&lt;br /&gt;
&lt;pre&gt;
NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
NSString *myParam = [settings stringForKey : @"MY_PARAM"];
&lt;/pre&gt;&lt;br /&gt;
&lt;h4&gt;Storing preferences&lt;/h4&gt;&lt;br /&gt;
&lt;pre&gt;
NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
[settings setObject : strMyParam forKey : @"MY_PARAM"];
[settings synchronize];
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Enjoy :)&lt;/p&gt;&lt;br /&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>Handling DateTime in Objective-C - How to get Current DateTime</title><link>http://blogs.x2line.com/al/archive/2011/05/10/3829.aspx</link><pubDate>Tue, 10 May 2011 20:51:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2011/05/10/3829.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3829.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2011/05/10/3829.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3829.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3829.aspx</trackback:ping><description>&lt;p&gt;Sometimes it is a bit non-trivial to developers coming to Objective-C from more common Java or C# how to deal with simple things. This post is about handling DateTime and I will illustrate dealing with it with a simple example.&lt;/p&gt;&lt;br /&gt;
&lt;h4&gt;How to get current DateTime&lt;/h4&gt;&lt;br /&gt;
&lt;pre&gt;
-(NSDateComponents *) getCurrentDateTime
{
    NSDate *now = [NSDate date];
    NSCalendar *cal = [NSCalendar currentCalendar];
    NSDateComponents *cmpnnts = [cal components : 
        NSHourCalendarUnit + NSMinuteCalendarUnit + NSSecondCalendarUnit fromDate : now];

    return cmpnnts;
}
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;For those used to work with Unix timestamps it will be easier to get current time in milliseconds, in Objective-C it is like so:&lt;/p&gt;&lt;br /&gt;
&lt;pre&gt;double nowMillis = 1000.0 * [[NSDate date] timeIntervalSince1970];&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Enjoy :)&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>How to understand reports from Japan</title><link>http://blogs.x2line.com/al/archive/2011/03/14/3802.aspx</link><pubDate>Mon, 14 Mar 2011 19:03:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2011/03/14/3802.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3802.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2011/03/14/3802.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3802.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3802.aspx</trackback:ping><description>&lt;p&gt;Really bad luck hits Japan now. Huge earthquake and aftershocks and then tsunami killing thousands of people last weekend and now there is an ongoing nuclear crisis at Fukushima-1 nuclear power plant and reportedly other plants throughout Japan.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;First it's now obvious that it was a huge strategic mistake by Japanese government decades ago to decide and build nuclear plants throughout the country with a high seismic risk. Especially if we take into account that Japan is the only country in the history which experienced and survived atomic bombing.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Social culture in Japan is a bit different than western or American social culture. For Japanese people matters most what other people think about them and their social image is most important. What are co-workers and people in close social circles think about them personally about their family and girl/boy-friends and their professional status, etc. This is on individual level and I think it influences other Asia-pacific countries societies as well. In western culture it matters much less and there is much less social pressure. Despite the fact that during post WW2 era Japan adopted much from western culture especially music and movies their culture and society remains deeply isolated from the rest of the world.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Now I think that the same is true on the international level as well - it matters a lot for Japanese society how are other people feel and think about them internationally. Need to understand that the public image that is associated with Japanese people throughout the world in modern era i.e. hard-working, disciplined, technologically superior is partly due to the decades of efforts by the Japanese governments and much PR however in reality it's not 1 to 1 I believe.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I'm following some tweets from different people living in Japan and writing in English and most of them are international students in Japanese universities. They wrote that Japanese people were embarrassed most by the coverage of the crisis by international media and during their first day after the disaster at the university professors asked them to call their friends abroad and tell and write them that the situation is under control in Japan and everything is cool. It is going all to blow up and what they think is how do other people think about them! Impossible.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;So need to understand and see Japanese official announcements concerning the disaster in that perspective. Japan initially agreed to receive only limited international help and the first official reaction was that the situation is under control and what we are having it is not Chernobyl style disaster but something localized.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;I decided to write this post after the explosion on the reactor Fukushima-1 #1 but today #3 and #2 reactors blew up as well and now it is clear that the situation is not under control. While #2 has now an open containment (which is the worst scenario). And it is still an ongoing crisis. Taken all the above into account it's clear that the situation is much worse, there is no control on the situation, it is hell and all the whole area is lost forever. Now think that Tokyo is only 200 km from the station maybe they will be forced to evacuate Tokyo. The radiation is likely to be spread to the pacific or worse to other countries in the region.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;There have been many incidents on almost each and every Japanese nuclear power plant but we've never heard about them, right? During this earthquake a total of 11 reactors (out of total of 56) were shut-down automatically and now there are problems with electricity supply and basic needs.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;img src="http://farm6.static.flickr.com/5020/5525887859_e1934af238_o.jpg" width="600" height="364" /&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Fukushima_I_Nuclear_Power_Plant"&gt;wikipedia: Fukushima I Nuclear Power Plant&lt;/a&gt;&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>Fosimo.AA 0.9.8</title><link>http://blogs.x2line.com/al/archive/2010/12/24/3767.aspx</link><pubDate>Fri, 24 Dec 2010 09:00:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2010/12/24/3767.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3767.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2010/12/24/3767.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3767.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3767.aspx</trackback:ping><description>Hello all!


&lt;p&gt;We just released a new version of the tool - &lt;b&gt;Fosimo.AA 0.9.8&lt;/b&gt;  is available for download.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;You can &lt;a href="http://www.onecone.com/pages/downloads/fosimoaadownload.aspx"&gt;&lt;b&gt;download Fosimo.AA 0.9.8 here&lt;/b&gt;&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;h3&gt;New in this release:&lt;/h3&gt;
&lt;p&gt;- &lt;b&gt;Test users manager&lt;/b&gt; - provides ability to create, delete test users for any of your apps. With test users &lt;i&gt;you don't need to worry about getting banned just for testing your application&lt;/i&gt;, you can create users with different set of extended permissions, with application already installed or not. So you can test many scenarios.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;a href="http://www.onecone.com/pages/downloads/fosimoaadownload.aspx"&gt;&lt;img src="http://images.x2line.com/apps/fosimo/screenshots/test-user-manager.jpg" width="643" height="500" border="0" alt="Test users manager" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;- Starting from this version of Fosimo.AA - &lt;b&gt;News manager&lt;/b&gt;  module is now unlocked and you can use it without a license for free and post global news (aka addGlobalNews) to applications/games dashboards and also post news targeted for specific users (aka multiAddNews).&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;b&gt;Ban manager&lt;/b&gt; and &lt;b&gt;Test users manager&lt;/b&gt;  modules are currently the only 2 modules which require a license for the Fosimo.AA to be purchased. Everyone who already purchased a license - your license will be still valid :)&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;For now the license is $30 but in 2011 we plan to raise the price.&lt;br /&gt;
To obtain a license - please send email to info@x2line.com with your name, email. Or you can pay via paypal directly on the &lt;a href="http://www.onecone.com/pages/downloads/fosimoaadownload.aspx"&gt;&lt;b&gt;Fosimo.AA download page&lt;/b&gt;&lt;/a&gt; and the license will be sent to your paypal email address.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;thanks and happy holidays to all!&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>Trends (2010)</title><link>http://blogs.x2line.com/al/archive/2010/12/23/3766.aspx</link><pubDate>Thu, 23 Dec 2010 08:42:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2010/12/23/3766.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3766.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2010/12/23/3766.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3766.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3766.aspx</trackback:ping><description>&lt;p&gt;A couple of quotes from Android developer community forum yesterday (wishes for the new year android) which caught my eye. I think this pretty much reflects what is going on about the feelings inside this community...&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;i&gt;"... not include crap like Facebook and Twitter by default OR give some way to remove them."&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Many +1 on that one...&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;i&gt;"... If we want to beat the hell out of WM7 and Apple listen to the developer stop ..."&lt;/i&gt;&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;That's pretty much the feeling: if we want to beat the hell out of WM7 and Apple (Facebook, Twitter).&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;Happy holidays to all!&lt;/p&gt;</description></item><item><dc:creator>Anatoly Lubarsky</dc:creator><title>Patch for Facebook Android SDK</title><link>http://blogs.x2line.com/al/archive/2010/11/29/3764.aspx</link><pubDate>Mon, 29 Nov 2010 17:47:00 GMT</pubDate><guid>http://blogs.x2line.com/al/archive/2010/11/29/3764.aspx</guid><wfw:comment>http://blogs.x2line.com/al/comments/3764.aspx</wfw:comment><comments>http://blogs.x2line.com/al/archive/2010/11/29/3764.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.x2line.com/al/comments/commentRss/3764.aspx</wfw:commentRss><trackback:ping>http://blogs.x2line.com/al/services/trackbacks/3764.aspx</trackback:ping><description>&lt;p&gt;If you are using &lt;a href="https://github.com/facebook/facebook-android-sdk" target="_blank"&gt;facebook android SDK&lt;/a&gt; the following patch should save you much trouble and working hours in certain scenarios. It fixes a pretty serious bug in the facebook android SDK. In Facebook.java:&lt;/p&gt;&lt;br /&gt;
&lt;pre&gt;
public void setAccessExpiresIn(String expiresIn) {
        if (expiresIn != null &amp;&amp; !expiresIn.equals("0")) {
            setAccessExpires(System.currentTimeMillis()
                    + Integer.parseInt(expiresIn) * 1000);
        }
+       else if (expiresIn != null &amp;&amp; expiresIn.equals("0")) {
+           setAccessExpires(0);
+       }
    }
&lt;/pre&gt;&lt;br /&gt;
&lt;p&gt;Would like to know what is the bug this patch solves? I'll leave that for you. It is a good exercise to find out and not too complicated. Thanks.&lt;/p&gt;</description></item></channel></rss>
