Anatoly Lubarsky Logo
programming, design, implementation, integration, games, music, web, mobile

Saturday, September 17, 2011

Fosimo 1.1.3

Fosimo 1.1.3 is available for download. Fosimo is a desktop tool for Facebook which helps you control your Facebook account without browsing through Facebook.


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.


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.


Enjoy


EDIT: just forgot to mention this - Fosimo is 4 years old project already.

posted @ 5:00 AM | Your thoughts

Wednesday, August 31, 2011

RIP Facebook Developers Forum

RIP Facebook Developers Forum.


It has been almost 4 years and over 6000 posts by myself alone. Actually the first 1.5 years was pretty fun and even amazing then Facebook had committed all possible mistakes to alienate the community so good folks moved elsewhere to other platforms.


It was fun while it lasted.


EDIT: official replacement forum for facebook devs is stackoverflow. Which sucks since stackoverflow is QnA type of forum without any discussions, argument or brainstorming type of threads. Experienced devs who helped folks on the old forum during last 4 years have to star with zero reputation.

posted @ 6:49 PM | Your thoughts

Thursday, May 19, 2011

How to Play Sound Effects in Objective-C (iOS)

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 AVAudioPlayer 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.


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 AudioServicesPlaySystemSound method from AudioToolbox.h. In order to do that you need to declare SystemSoundID like so:


SystemSoundID audioEffect;

and don't forget to dispose it in i.e. dealloc like so:


AudioServicesDisposeSystemSoundID(audioEffect);

Below is a short example function that gets a resource file name and file extension as parameters and plays sound effect:


-(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, &audioEffect);
        AudioServicesPlaySystemSound(audioEffect);
    }
    else
    {
        NSLog(@"error, file not found: %@", path);
    }
}

Enjoy :)

posted @ 1:05 PM | Your thoughts

Tuesday, May 17, 2011

User Preferences in Objective-C (iOS) - NSUserDefaults

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 NSUserDefault class. Examples:


Fetching preferences


NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
NSString *myParam = [settings stringForKey : @"MY_PARAM"];

Storing preferences


NSUserDefaults *settings = [NSUserDefaults standardUserDefaults];
[settings setObject : strMyParam forKey : @"MY_PARAM"];
[settings synchronize];

Enjoy :)


posted @ 1:05 PM | Your thoughts

Tuesday, May 10, 2011

Handling DateTime in Objective-C - How to get Current DateTime

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.


How to get current DateTime


-(NSDateComponents *) getCurrentDateTime
{
    NSDate *now = [NSDate date];
    NSCalendar *cal = [NSCalendar currentCalendar];
    NSDateComponents *cmpnnts = [cal components : 
        NSHourCalendarUnit + NSMinuteCalendarUnit + NSSecondCalendarUnit fromDate : now];

    return cmpnnts;
}

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:


double nowMillis = 1000.0 * [[NSDate date] timeIntervalSince1970];

Enjoy :)

posted @ 8:51 PM | Your thoughts

Monday, March 14, 2011

How to understand reports from Japan

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.


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.


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.


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.


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.


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.


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.


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.



wikipedia: Fukushima I Nuclear Power Plant

posted @ 7:03 PM | Your thoughts

Friday, December 24, 2010

Fosimo.AA 0.9.8

Hello all!

We just released a new version of the tool - Fosimo.AA 0.9.8 is available for download.


You can download Fosimo.AA 0.9.8 here.


New in this release:

- Test users manager - provides ability to create, delete test users for any of your apps. With test users you don't need to worry about getting banned just for testing your application, you can create users with different set of extended permissions, with application already installed or not. So you can test many scenarios.


Test users manager


- Starting from this version of Fosimo.AA - News manager 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).


Ban manager and Test users manager 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 :)


For now the license is $30 but in 2011 we plan to raise the price.
To obtain a license - please send email to info@x2line.com with your name, email. Or you can pay via paypal directly on the Fosimo.AA download page and the license will be sent to your paypal email address.


thanks and happy holidays to all!

posted @ 9:00 AM | Your thoughts

Thursday, December 23, 2010

Trends (2010)

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...


"... not include crap like Facebook and Twitter by default OR give some way to remove them."


Many +1 on that one...


"... If we want to beat the hell out of WM7 and Apple listen to the developer stop ..."


That's pretty much the feeling: if we want to beat the hell out of WM7 and Apple (Facebook, Twitter).


Happy holidays to all!

posted @ 8:42 AM | Your thoughts

Monday, November 29, 2010

Patch for Facebook Android SDK

If you are using facebook android SDK 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:


public void setAccessExpiresIn(String expiresIn) {
        if (expiresIn != null && !expiresIn.equals("0")) {
            setAccessExpires(System.currentTimeMillis()
                    + Integer.parseInt(expiresIn) * 1000);
        }
+       else if (expiresIn != null && expiresIn.equals("0")) {
+           setAccessExpires(0);
+       }
    }

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.

posted @ 5:47 PM | Your thoughts

Friday, October 01, 2010

Delicer v0.9.5 is available

After a long hiatus of more than 3(!) years I'd like to announce a new, completely redesigned version of Delicer - Delicer v0.9.5. Delicer is a windows client for delicious. You can download it for free here.


Well Delicer is not a very high priority project of mine and seems like delicious is not a high priority service project @ yahoo and seems like yahoo is loosing their positions globally as a service provider. Therefore we have not released any update to this tool for more than 3 years. But somehow I realized that people continue to download it every day and they send me emails. It amazes me. During these 3 years yahoo redesigned authentication scheme for all their APIs including delicious API. All yahoo APIs now use oAuth authentication scheme, which is awful in my opinion however widely adopted, lol.


In this release:


  • Yahoo ID support. We no longer support delicious native authentication. You need to migrate to yahoo IDs on delicious to be able to continue and use this tool. That's very easy to do on delicious - options.
  • oAuth authentication
  • Major redesign.

Known issue: delicious authentication token is very limited in TTL therefore it can expire during your work. If you get "unauthorized" errors - please go to tools - options and manually reset the authentication token, then restart the tool. We will fix this issue in the future release.


Enjoy :)

posted @ 3:46 PM | Your thoughts

Login

Fosimo
Get Fosimo on CNET Download.com!
Subscribe via RSS

Article Categories

.Net Framework
ASP.NET Tips
C# Win32 API
HTML, CSS, Web
Javascript Tips
MSSQL Tips
System
System.Net
WebServices

Archives

(01) September, 2011
(01) August, 2011
(03) May, 2011
(01) March, 2011
(02) December, 2010
(01) November, 2010
(01) October, 2010
(01) September, 2010
(01) June, 2010
(01) May, 2010
(02) March, 2010
(01) January, 2010
(02) December, 2009
(03) September, 2009
(03) August, 2009
(09) July, 2009
(04) June, 2009
(04) May, 2009
(02) April, 2009
(05) March, 2009
(03) February, 2009
(03) January, 2009
(06) December, 2008
(04) November, 2008
(06) October, 2008
(07) September, 2008
(09) August, 2008
(05) July, 2008
(05) June, 2008
(07) May, 2008
(06) April, 2008
(03) March, 2008
(02) February, 2008
(04) January, 2008
(03) December, 2007
(05) November, 2007
(06) October, 2007
(07) September, 2007
(13) August, 2007
(11) July, 2007
(14) June, 2007
(16) May, 2007
(14) April, 2007
(10) March, 2007
(17) February, 2007
(21) January, 2007
(17) December, 2006
(14) November, 2006
(13) October, 2006
(13) September, 2006
(14) August, 2006
(12) July, 2006
(11) June, 2006
(12) May, 2006
(22) April, 2006
(36) March, 2006
(14) February, 2006
(14) January, 2006
(20) December, 2005
(17) November, 2005
(17) October, 2005
(17) September, 2005
(14) August, 2005
(18) July, 2005
(12) June, 2005
(17) May, 2005
(13) April, 2005
(22) March, 2005
(12) February, 2005
(14) January, 2005
(19) December, 2004
(15) November, 2004
(13) October, 2004
(16) September, 2004
(12) August, 2004
(29) July, 2004
(25) June, 2004
(33) May, 2004
(26) April, 2004
(18) March, 2004
(11) February, 2004
(07) January, 2004
(03) December, 2003
(02) November, 2003

Post Categories

.Net and C#
Android
Antispam
App. Development
Architecture
ASP.NET
Blogging
Delicer
Fosimo
Fun
Google
iOS
Javascript
Misc.
MSSQL
Music
Performance
Roller
Social Networks
Tools
Visual Studio
Web 2.0
WebServices
Yahoo

About Me

linkedin Profile
Recs
Recs Books
Who am I

My Sites

onecone
x2line blogs