Even more shame-worthy behavior from Apple. I thought it was being mean to politicians that Apple didn’t like—apparently now, it’s being “politically charged?” What the hell are Apple’s standards here? Whoops, I just said “hell,” which in the iPhone’s Disney-like dictionary, gets auto-corrected to “heal” or “hello.”
Here’s the link: http://lambdajive.wordpress.com/2009/09/26/isinglepayer-iphone-app-censored-by-apple/
So close, just waiting on a little animation from a certain animator. Here is a hint, if you don’t already know.
After all the hype and excitement about Mac OS X 10.6 (“Snow Leopard”), I am not sure if I am seeing any benefits and have had two immediate problems after upgrading:
1) my TIme Machine backups stopped working. I am using firewire drive mounted as a network drive, not the officially supported Time Capsule. After much struggling, I was able to get this to work by sharing mounting the drive as an SMB (Windows “Samba”) share instead of using the AFP (Apple File Sharing Protocol) that had previously worked for me.
2) My trusty 12 year old HP LaserJet 5MP printer stopped working. It turns out that Snow Leopard kills off the legacy AppleShare. Wish I’d known that! Tried to get it working as an IP printer to no avail, but I should be able to use it via the old computer (running Tiger still) that I am using as the fileserver. So far, even that isn’t working though….
Jason Grigsby wrote an excellent article on Cloud Four about the significance of Apple’s rejection of Freedom Time that anyone who is interested in Apple’s App Store policies, or corporations and censorship should take a look at.
Thanks Jason, I am glad that someone gets the real issue, and I won’t even take issue with “simple, stupid”:
Can you imagine political discourse of any significance that doesn’t include demeaning or attacking political figures? Like it or not, that’s part of the exchange of ideas that form a democracy. This policy essentially bans any editorial cartoons—cartoons that have been part of America’s history since its inception…. Freedom of speech is easy to defend when the speech is popular, but the real test comes when you have to defend unpopular speech or things that you don’t agree with. In Fall 2008, George Bush had the worst approval ratings since Nixon. At a time in which we had one of the most unpopular Presidents in American history, Apple didn’t have the courage to approve a simple, stupid application like Freedom Time. What is the likelihood that Apple would approve a truly controversial and unpopular application during a time when popular opinion makes it difficult to stand up for what’s right?
Can you imagine political discourse of any significance that doesn’t include demeaning or attacking political figures? Like it or not, that’s part of the exchange of ideas that form a democracy.
This policy essentially bans any editorial cartoons—cartoons that have been part of America’s history since its inception….
Freedom of speech is easy to defend when the speech is popular, but the real test comes when you have to defend unpopular speech or things that you don’t agree with.
In Fall 2008, George Bush had the worst approval ratings since Nixon. At a time in which we had one of the most unpopular Presidents in American history, Apple didn’t have the courage to approve a simple, stupid application like Freedom Time.
What is the likelihood that Apple would approve a truly controversial and unpopular application during a time when popular opinion makes it difficult to stand up for what’s right?
Although I started writing this as a cheat-sheet for myself (after many hours of struggling with this by trial-and-error), I figured it would be helpful for other iPhone developers who’d like to take a mySQL database online and migrate it to their current iPhone project. While other tutorials cover how to read the database into the application from the coding point-of-view, this is just to make sure you get your data uncompromised from your existing mySQL database into a new SQLite DB that your iPhone app can read.
First of all, here’s what I am currently using; I am including versions in case that’s relevant to your situation:
You can try other solutions for importing the data into a SQLite format, but I’ve had the best luck with Mauricio Piacentini’s SQLite Database Browser. Other options you might want to try include a Firefox plugin.
Here are the steps, using SQLite Database Browser:
CREATE TABLE dictionary ( id int(11) NOT NULL auto_increment, word varchar(100) NOT NULL, adjective tinyint(1) NOT NULL default '0' COMMENT 'is an adjective', noun tinyint(1) NOT NULL default '0' COMMENT 'is a noun ', intro tinyint(1) NOT NULL default '0' COMMENT 'is an intro', PRIMARY KEY (id), UNIQUE KEY words (word) );
You’ll want to edit this to remove pretty much everything but the most basic information and normalize the data types to SQLite 3 Data Types, which are TEXT, NUMERIC, INTEGER, REAL, or BLOB. Your CREATE TABLE should look something like this:
CREATE TABLE dictionary( id INTEGER PRIMARY KEY ASC, word TEXT, adjective INTEGER, noun INTEGER, intro TEXT );
I was using id as a primary key so I’ve added “PRIMARY KEY ASC” after “id INTEGER”. (Primary Keys are aliases to row IDs in SQLite, if you have questions read this.)
However, I’ve noticed that the SQLite Database browser exports SQL in the even more simplified format with no datatype specification as such, which also seemed to work for me and may work just as well for your needs:
CREATE TABLE dictionary (id, word, adjective, noun, intro);
you're
you''re
INSERT INTO dictionary VALUES(305, 'ne''er-do-well', 0, 1, 0);
BEGIN TRANSACTION;
COMMIT;
Again these steps were derived mostly by trial-and-error, so there may be issues particular to your DB that these guidelines didn’t solve. Please feel free to add any corrections, tips, and questions to the comments area.
Also, I know that with the iPhone OS 3.0, Core Data can take care of a lot of database functionality for you. I’d love to hear how people made the transition, and especially how anyone got a pre-existing SQL database into a Core Data store.