Sugar Rush 1.1 is now available and it’s now free. Current users who upgrade from version 1.0.5 won’t see ads, but new users will see a small unobtrusive ad when no special powers are in effect. If you prefer, you can purchase an upgrade that removes the add. Premium items will be added for sale in the future. You can now buy donuts, which give you a big energy boost. Soon we hope to have a Halloween candy pack available.
Mike Cohen
Links for 2011-8-19 through 2011-9-4
Links for 2011-8-19 through 2011-9-4:
- A Jobs Program In America This is what Obama needs to do. Of course the Republicans won't allow it.
- FoundSF San Francisco history.
- Old S.F. Browse old photos of San Francisco by date & location.
- productivity – What is your most productive shortcut with Vim? – Stack Overflow Nice overview of Vi commands.
- What they’re "protecting" us from – Anil Dash It's a choice whether you, or anyone else, wants to accept the falsehood that liberal values are somehow in contradiction with business success at a global scale. Indeed, it would seem that many who claim to be pro-business are trying to "save" us from exactly the inclusive, creative, tolerant values that have made America's most successful company possible. I side with the makers, the creators, and the inventors, and it's about time that the pack of clamoring would-be politicians be put on the defensive for attacking the values of those of us on this side.
Posted by Postilicious
Traveling again
I’m now working for Art & Logic and will be traveling to the annual conference in Palm Springs this week.
Sugar Rush 1.1 Submitted
I’ve submitted Sugar Rush 1.1, which is a major update.
Our sales have been pretty low, but our free promotions, including the one last weekend, have been wildly successful (18,000 downloads in a single day). Therefore, I’ve made the difficult decision to move to a “Freemium” model, and I’ve made an effort to avoid pissing off existing customers.
Here’s the deal: Nothing will change for existing customers. If you upgrade from 1.0.5, you won’t see any ads, although you will still be able to purchase other premium items. New customers will see ads, but will have the option to pay $0.99 to get rid of the ads. The ads will work the same way they do in the current free version (which will be removed from sale), occupying the bottom of the screen when no bonus power is in effect. Unlike the current free version, there will be no limitation to the game.
You will also be able to purchase additional premium content. The first new item is donuts, which give you 3x the jump boost of cupcakes and occur much more frequently. You just have to buy it once and it will remain available. We will also be offering holiday themed packages and other items in the future.
Note that version 1.1 will require iOS 4.0. Anyone running iOS 3.x will need to continue using 1.0.5.
Links for 2011-8-9 through 2011-8-19
Links for 2011-8-9 through 2011-8-19:
- What they’re "protecting" us from – Anil Dash It's a choice whether you, or anyone else, wants to accept the falsehood that liberal values are somehow in contradiction with business success at a global scale. Indeed, it would seem that many who claim to be pro-business are trying to "save" us from exactly the inclusive, creative, tolerant values that have made America's most successful company possible. I side with the makers, the creators, and the inventors, and it's about time that the pack of clamoring would-be politicians be put on the defensive for attacking the values of those of us on this side.
- Ex-Health Insurance Executive: Rick Scott HMO Debacle Goes Against His "Obamacare" Rhetoric – Broward/Palm Beach News – The Daily Pulp Wendell Potter — a former health care insurance executive who most recently left his post as the head of communications for CIGNA — has been following up on the Pulp's post on Florida's newest HMO policy for state employees, and agrees that the decision to allow just one HMO provider per county is a bit strange.
The way Potter sees it, Gov. Rick Scott is now "doing exactly what he falsely claimed federal reform would do."
Now working as a senior analyst at the Center for Public Integrity, Potter says Scott used to be at the forefront in the crusade against the so-called "Obamacare," and even though the governor wasn't dropping facts about the new program, he's doing exactly what he led people to believe would happen — limit competition.
- Firicat.com online collaborative Wolof dictionary
- 21 ways to monetize your game – blog – 36peas.com
- Kuriositas: The Secret Cities of Yemen
Posted by Postilicious
Distributed Objects are easier than you think
For my current project, I had to implement interprocess communication between a background process and an application. In the past, I would probably use AppleEvents or even CFMessage, but this tech note advises against using those techniques.
After some investigation, I found that Distributed Objects is the easiest & cleanest way to do it.
Distributed Objects works its magic with a set of proxy classes that pose as the actual object which exists in the other application. Here’s how to use it.
The object you want to share can be any ordinary object, like this one:
@interface MyObject: NSObject
- (int)myMethod;
@end
@implementation MyObject
- (int)myMethod {
return 42;
}
@end
On the server side, you create a connection and vend that object using NSConnection’s setRootObject: method.
#define SOCK_NAME "/var/tmp/com.example.socketname"
// make sure socket file doesn't exist, or we'll fail
unlink(SOCK_NAME);
// create an AF_UNIX socket address
struct sockaddr_un socketAddress;
bzero(&socketAddress,sizeof(socketAddress));
socketAddress.sun_family = AF_UNIX;
strcpy(socketAddress.sun_path,SOCK_NAME);
socketAddress.sun_len = SUN_LEN(&socketAddress);
NSData* socketAddressData = [NSData dataWithBytes:&socketAddress length: sizeof(socketAddress)];
NSPort * theMessagePort = [[NSSocketPort alloc] initWithProtocolFamily: AF_UNIX
socketType: SOCK_STREAM
protocol: 0
address: socketAddressData];
NSConnection * theConnection = [[NSConnection alloc] initWithReceivePort: theMessagePort sendPort: nil];
// create our object to be shared
theObject = [[MyObject alloc] init];
[theConnection setRootObject: theObject];
In the client application, you create a remote connection and ask for a proxy object. You then use that proxy object as if it was the actual object.
// create an AF_UNIX socket address
struct sockaddr_un socketAddress;
bzero(&socketAddress,sizeof(socketAddress));
socketAddress.sun_family = AF_UNIX;
strcpy(socketAddress.sun_path,SOCK_NAME);
socketAddress.sun_len = SUN_LEN(&socketAddress);
NSData* socketAddressData = [NSData dataWithBytes:&socketAddress length: sizeof(socketAddress)];
// Create a message handler socket and add it to our runloop
NSPort * theMessagePort = [[NSSocketPort alloc] initRemoteWithProtocolFamily: AF_UNIX
socketType: SOCK_STREAM
protocol: 0
address: socketAddressData];
NSConnection * theConnection = [[NSConnection alloc] initWithReceivePort: nil sendPort: theMessagePort];
// this is actually a NSDistantObject which acts as a proxy to our actual object
MyObject *anObject = (MyObject*)[theConnection rootProxy];
// call a method on the remote object
int result = [anObject myMethod];
What really happens when you call the method in the client is that it gets packaged as a NSInvocation, which gets sent over the connection and is executed by the server process.
Links for 2011-8-2 through 2011-8-9
Links for 2011-8-2 through 2011-8-9:
- Kuriositas: The Secret Cities of Yemen
- God is Imaginary – 50 simple proofs
- Learn iOS Programming – Resources « Geek And Dad’s Blog
- Popular Clues | ClueDB.com
- Why Some Politicians Are More Dangerous Than Others "What Gilligan found was that suicides and homicides started climbing to epidemic levels following the election of a Republican president. If that isn't annoying enough to the Grand Old Party, he also discovered that the rates remained around epidemic levels throughout the time Republicans occupied the White House."
Posted by Postilicious
Credibility, Chutzpah and Debt
Via Paul Krugman:
The truth is that as far as the straight economics goes, America’s long-run fiscal problems shouldn’t be all that hard to fix. It’s true that an aging population and rising health care costs will, under current policies, push spending up faster than tax receipts. But the United States has far higher health costs than any other advanced country, and very low taxes by international standards. If we could move even part way toward international norms on both these fronts, our budget problems would be solved.
So why can’t we do that? Because we have a powerful political movement in this country that screamed “death panels” in the face of modest efforts to use Medicare funds more effectively, and preferred to risk financial catastrophe rather than agree to even a penny in additional revenues.
The real question facing America, even in purely fiscal terms, isn’t whether we’ll trim a trillion here or a trillion there from deficits. It is whether the extremists now blocking any kind of responsible policy can be defeated and marginalized.
It’s been proven beyond a doubt that “trickle down” simply doesn’t work. Not a single job has been created by lowering taxes. The top level tax break recipients don’t use the extra money to hire new workers; they hoard it.
We need to finally put an end to this failed policy. Raise taxes on corporations and the top 1%. Spend more to invest in new technologies that will create jobs, which in turn will bring in more revenue. This is just plain common sense, something the Republicans & Tea Partiers lack.
Links for 2011-7-14 through 2011-7-31
Links for 2011-7-14 through 2011-7-31:
- Cocos2D Tutorial – Dynamically Coloring Sprites [Brandon Trebitowski, brandontreb.com] Have you ever seen a game (such as Tiny Tower) that contains similar sprites that only vary by certain attributes (coloring, shading, accessories, etc…)? I would often wonder how long it would take the artists to create each permutation of these sprites. After discovering that you can call a method on a CCSprite called setColor, I realized how most of this customization is done in code.
- Muddying the Budget Waters With Social Security Many people misunderstand how the program operates. Payroll taxes stream into the trust fund that is used to pay current retirees’ benefits. When there is a surplus, that money is invested in a special type of Treasury bond that pays interest to the trust fund. At the end of last year, the trust fund had about $2.6 trillion. And though last year was the first year since 1983 that the fund paid out more than it received in tax revenue, it still continued to grow because of the interest accrued — and it is estimated to continue to grow through 2022.
Since the money in the trust fund is held in Treasury securities, taxes collected are essentially being lent to the federal government to pay for whatever it wants (and this allows the government to borrow less from the public).
- The Cult of Centricism We have a crisis in which the right is making insane demands, while the president and Democrats in Congress are bending over backward to be accommodating — offering plans that are all spending cuts and no taxes, plans that are far to the right of public opinion.
So what do most news reports say? They portray it as a situation in which both sides are equally partisan, equally intransigent — because news reports always do that. And we have influential pundits calling out for a new centrist party, a new centrist president, to get us away from the evils of partisanship.
The reality, of course, is that we already have a centrist president — actually a moderate conservative president.
- Revamp of a game [Yuchen Wang, ClingMarks]
- Cocos2D and ARC [Jerrod Putman, Tiny Tim Games]
- How To Use Custom Classes With Core Data Without Fear [Doug Sjoquist , Sunetos]
- User Testing in the Wild: Joe’s First Computer Encounter « Boriss’ Blog
- Make a backup copy of the MacBook Air USB Software Reinstall Drive | TUAW – The Unofficial Apple Weblog Since it doesn't come with an optical drive, giving MacBook Air buyers a DVD of the operating system wouldn't be very helpful. That's why Apple's lightest laptop comes with the USB Software Reinstall Drive — a very small white USB drive. Sometimes USB flash drives are referred to as "Thumb Drives," but this one is more like the size of a baby's finger.
Posted by Postilicious
Links for 2011-6-6 through 2011-7-13
Links for 2011-6-6 through 2011-7-13:
- The Rise and Fall of the Independent Developer
- Auto-Incrementing Build Numbers in Xcode I use the wonderful Test Flight to distribute builds. One thing that Test Flight is a little picky about is build numbers. When you upload a build, it uses the build number to see if you're uploading a replacement or a new build. It will let you create a new build even if you don't remember to increment the build number, but it's an extra manual step, and then you end up with two builds with the same build number.
- Correlated – Discover surprising correlations
- In-Depth View On Download Volumes In The Google Android Market | Distimo It is more challenging for developers in the Google Android Market than in the Apple App Store to monetize using a one-off fee monetization model. We found that only two paid applications have been downloaded more than half a million times in the Google A
- Appsterdam – A Haven for Indie App Makers?
- The Complete (?) List Of Cocos2D Tools A list of useful tools for Cocos2d development, including bitmap font editors, particle editors, physics editors, texture atlas tools, and tile map editors.
- Java-style servlets in Obj-C using Mongoose Server [Fábio Rodella, Crocodella Software] There are many clever ways you can benefit from having a HTTP server running inside your app or game. You can inspect your game entities at runtime (this #AltDevBlogaDay post talks about this approach), interact with your scripting engine for tweaking or even upload assets on the fly. Get creative
- Nimbus: Main Page Nimbus is an iOS framework that grows only as fast as its documentation. Its roots stem from the Three20 framework and much of its code is forked from Three20, though with meticulous care and thought.
- Gullah New Testament
- Free Graphics for Flash and Indie Games
Posted by Postilicious