Saturngod

What's on my mind

Ebooks are like apps

Before I bought the Nook Simple Touch , I bought ebooks from kobo because it’s cheap and always have discount coupon. Sometime , I got 30% or 50% discount. Example: I only need to pay $13.12 for Art of start Ebook. In B&N , it cost $18.99. So, I always bought it from Kobo and read with my iPad.

I bought Nook Simple Touch. I just test and play around but I didn’t use for reading a book. Last month , I want to read a book again. So, I check on B&N. They are the great service like Read on The Web , iPad , iPhone App and they also have Mac app. Wow, that great. I have one problem. Can I transfer my Kobo ebooks to B&N ? The answer is yes but not all feature.

I want to change service like a phone or internet. Just call them and tell them I want to transfer from this to this. Simple and not so much work. I can transfer it. However, ebooks can’t do like that. I can read ebook from kobo. Download ePub , transfer with Adobe Digital Edition because of Adobe DRM. I feel it take a lot of staff. In iPad is OK , just download Kobo app and download ebook easily. In Nook Simple Touch , I can’t do like that.

I can only download from B&N. I can share text only B&N book. Bookmark sync only work in B&N book. All side loaded books are not working with B&N service. I feel , something wrong. I feel it shouldn’t be like that. It look like they are forcing user to buy book from B&N. I don’t want to buy from B&N because it’s a bit expensive then Kobo (not all book but most of the book that I want to buy).

You may ask , why don’t buy ebook reader from Kobo ? Yes, I want but I can’t . I bought Nook Simple Touch at february 2012. At this time , we can’t buy Kobo Ebook Reader.

Ebooks are selling like the apps. They are marketing like app. They are selling service for reading ebook. Like read on web , read on any platform. They are selling device for reading. It look like free app with in app purchases system. I can play free but if you want other feature , you need to pay. Nook Simple Touch reader are like that. You can read ePub from other book store but if you want the sync feature , must buy from B&N. Not possible to transfer current kobo book to B&N account. Yes, it’s not possible. Like Apple iCloud service can’t work on Android.

I understand cloud service cost is expensive. Transfer or merge account from other service it hard. Ebooks is not the Object like book. Book is a Object. You can transfer to other people easily. You can also donate or sell after you read. Ebook is a app. In app , after you finish the game or not using anymore , you can’t sell back. One time you pay , it always for you. Can’t resell or donate or transfer to other people because it’s a app. So, ebook is the same.

For me ebooks are not book object. It’s an app.

EasyDoc

Learn from the SGDoc , I created the EasyDoc again. SGDoc require the node.js and npm. It can’t be edit easily after generated. I want to allow other people to edit easily. So, I create EasyDoc again. EasyDoc is similar code with SGDoc. Just download EasyDoc from Github . Edit in index.html . That all. You can write markdown code in index.html and it will be generate when run on browser. All the feature and design are same like SGDoc. But I think, EasyDoc is more cool and easier than the SGDoc.

SGDoc

Today , I tried to write a API documentation for my work. We are using MS Words but I feel MS Words is not ready for code documentation or API Request Documentation. It’s good for management team but not good for developer. Very hard to see and we can’t know what functions are include in our document.

So, I searched on google and I found daux.io and FlatDoc. Both are really great. Daux is using PHP to generate markdown to HTML document.FlatDoc is using javascript and ajax to generate the makrdown to HTML document. I don’t want to use Daux because it need PHP server side and very hard to share via email or dropbox. We need to hosted on server. FlatDoc look cool. Beautiful and easy to use. However, it use ajax to read file. So, it can’t run at file:// . If we click on .html , it can be open but didn’t show anything. If we hosted on somewhere or localhost and call http://localhost/flatdoc/ , it will be working perfect. But it have one bug. If I gave a same header name , menu link can’t work well.

I thought, it’s not enough. What I want it just html that can share via email or dropbox. This html can copy to apple pages with syntax coloring. So, I decided to write my own and SGDoc was born. But it require npm to install and template design can customize easily. I hope, everybody can use easily. If you found a bugs or issue , you can post on github issue. For demo and documentation , you can check at http://saturngod.github.io/SGDoc/

Surface touch cover isn't waterproof

Last week , water drop on my tables that have surface touch cover and my apple bluetooth keyboard. I dry both first and didn’t use it 2 days. I worried about the apple bluetooth keyboard because it’s a normal keyboard and water can drop inside. Surface touch cover look ok. But the outside is so wet.

After 2 days, I tried my apple keyboard first. I saw my bluetooth keyboard. I tried to connect and pair key is appear. I tried to type and press return key from keyboard. Nothing happen. Something wrong. I tried with my iPad and surface also. Gone. Not working anymore. Bluetooth service still available but can’t press any key. That make me sad. I tried to check warranty at apple. But it only allow to input 15 characters. Keyboard serial number is more than that. So, I couldn’t check the warranty for my keyboard. I also forget when I bought it.

After that, try to open the surface with touch cover keyboard. Lucky , I can move the cursor from touch cover keyboard. I tried to login. Oop! can’t press any key. Mouse can only move. Mouse click , not working. All the keys are not working also.

Unluckly day. I thought , touch cover is water proof. But it didn’t. I bought the type cover for surface and it’s much better than touch cover. I can type easily with type cover in surface. Surface with touch cover look good but useless.

If somebody ask me about Different between UI and UX ? , I have a good answer now. Surface touch cover is good UI but bad UX. Looking good but can’t use well.

Apple Developer Website Update

Last Thursday, an intruder attempted to secure personal information of our registered developers from our developer website. Sensitive personal information was encrypted and cannot be accessed, however, we have not been able to rule out the possibility that some developers’ names, mailing addresses, and/or email addresses may have been accessed. In the spirit of transparency, we want to inform you of the issue. We took the site down immediately on Thursday and have been working around the clock since then.

In order to prevent a security threat like this from happening again, we’re completely overhauling our developer systems, updating our server software, and rebuilding our entire database. We apologize for the significant inconvenience that our downtime has caused you and we expect to have the developer website up again soon.

Comment from Techcrunch

Hi there,

My name is ibrahim Balic, I am a security researcher. You can also search my name from Facebook’s Whitehat List. I do private consulting for particular firms. Recently I have started doing research on Apple inc.

In total I have found 13 bugs and have reported through http://bugreport.apple.com. The bugs are all reported one by one and Apple was informed. I gave details to Apple as much as I can and I’ve also added screenshots.

One of those bugs have provided me access to users details etc. I immediately reported this to Apple. I have taken 73 users details (all apple inc workers only) and prove them as an example.

4 hours later from my final report Apple developer portal gas closed down and you know it still is. I have emailed and asked if I am putting them in any difficulty so that I can give a break to my research. I have not gotten any respond to this… I have been waiting since then for them to contact me, and today I’m reading news saying that they have been attacked and hacked. In some of the media news I watch/read that whether legal authorities were involved in its investigation of the hack. I’m not feeling very happy with what I read and a bit irritated, as I did not done this research to harm or damage. I didn’t attempt to publish or have not shared this situation with anybody else. My aim was to report bugs and collect the datas for the porpoise of seeing how deep I can go within this scope. I have over 100.000+ users details and Apple is informed about this. I didn’t attempt to get the datas first and report then, instead I have reported first.

I do not want my name to be in blacklist, please search on this situation. I’m keeping all the evidences, emails and images also I have the records of bugs that I made through Apple bug-report.

SQLCipher

SQLCipher is Full Database Encryption for Sqlite. It’s supporting iOS and Mac also.

Installation

First you need to pull from github and need to compile ourself.

$ git clone https://github.com/sqlcipher/sqlcipher.git
$ cd sqlcipher
$ ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" LDFLAGS="-lcrypto"
$ make
$ sudo make install

Check sqlcipher ,

$ which sqlcipher
/usr/local/bin/sqlcipher

Create Database with sqlcipher,

$ touch encrypted.db
$ sqlcipher encrypted.db
sqlite> PRAGMA KEY='MyKey';
sqlite> CREATE TABLE t1(a,b);
sqlite> INSERT INTO t1(a,b) VALUES ('one for the money', 'two for the show');
sqlite> .exit

Let try to open with sqlite3

$ sqlite3 encrypted.db
sqlite> SELECT * FROM t1;
Error: file is encrypted or is not a database
sqlite> .exit

Let try to open with sqlcipher

$ sqlcipher test.db
sqlite> PRAGMA KEY='MyKey';
sqlite> SELECT * FROM t1;
one for the money|two for the show

For using with iOS , you can read the detail tutorial at http://sqlcipher.net/ios-tutorial/.

Facetime, iCloud and my Dad

I bought iPad 2 for my father long time ago. He didn’t use much because he may not have a time. He just use for playing game , facebook and email. He don’t have apple account also. He live in Myanmar. In Myanmar, most of the people are using internet via mobile phone. He also use via phone. Last week, I told him “Can you use facetime ?”. He said , “What is it ?”. I told him , search facetime on your iPad. He said, “it is asking email and password”. I understand , he don’t know how to setup apple account , iCloud , facetime , etc.

So, I create the apple id first for him. After that , I create another user account in my mac book pro. I create iCloud with his apple id. I sent message to him “Login with this email and password in facetime”. After he setup , I tried to call him with facetime. Wow, impressive. Video quaility is good enough. Sound is clear. We used Skype before. The quality is not good like facetime. I can’t hear or he can’t hear my voice when we are using. The connection is not stable. However, facetime is really stable. I don’t know , how apple did. But quality is more stable than skype and tango. In Myanmar, Viber is really popular but voice are not always stable. We can say, mostly stable than other services.

He said , “How can I call you ?”. Me: “You need to put my contact in your contact list.” Dad: “????” Me: “OK, Dad. Just wait a minute.”

I login iCloud via www.icloud.com. Setup his contact books. Add all family phone number. Lucky , all of my family are using iOS. All have apple account and facetime. I put all contacts in his iCloud contact list. After that, call him again.

Me: “Dad, go to the setting on your iPad.” Me: “Can you see the iCloud” Dad: “Yes, put it is your email.” Me: “Can you see red button. Delete account. Press it. Just Delete everything.” Dad: “Done.” Me: “Login with your. Enable iCloud contact and email”. Dad: “Wait a minute.” Dad: “OK. Now. what next ?” Me: “Open Contact app from your ipad.” Dad: “Done. It open” Me: “Can you see contact list ? If sometime asking about delete local contact, just click yes.” Dad: “OK.” Dad: “I saw all my family contact list in the app” Me: “OK. Go back to facetime and Click the contact on tab. You will see contact and you can call them with facetime.” Dad: “I saw it. Let me try to call you.”

He called me. After that he called my sistes. We can see each other via facetime. Good sound quailty and video. I happy and he, too.

He said “When I arrive back to Yangon, I will call you again with your Mom.”

Me: “Yes, Dad. Call me when you free. The sound quality is much better than Viber”

Thank you apple. You made our life more easier. Without iCloud , I can’t help my Dad contact page.

New Era for rss readers

Good by Google Reader. Google has been shutdown the RSS reader. I wrote about RIP google reader.

I feel ,it look like after dying Whitebeard in One Piece Anime. It sad but it will bring new era. New innovation RSS readers are appear.

In the old post, I wrote

We are waiting next generation RSS reader. I want to see what Reeder will do ?

Now, we have an answer. Feedly changed to feedly cloud. Not related with google reader. However, My gardar app is dead now. I don’t have enough time to upgrade for gardar app. Reeder support feedly, feedbin and fever.

Most of the people are moving to feedly. Some are moving to pulse.me. Other new awesome RSS readers are

I am happy with digg reader now. It look clean. Awesome feature is , it support Pocket that I use daily.

Now, we need to wait the API. Who will release the public API ? feedbin have public API but it’s not free service. AOL Reader support API and it look like google reader api. So, no need to change a lot. Digg said they will support API and but they didn’t release yet. One unbelievable feature on digg is , they are trying to support Myanmar Unicode with Padauk font in iOS app. However, Padauk font didn’t support on iOS. At least we can see Myanmar characters instead of square.

I am waiting aol and digg API to update gardar. If without google reader dead , we can’t see so many good rss reader like now.

Sublime Text 3 public beta available

Finally you can download Sublime Text 3 beta from http://www.sublimetext.com/3 . Package Control (alpha) for sublime text 3 already release http://wbond.net/sublime_packages/package_control/installation#ST3.

However, sublime text 3 didn’t support Myanmar Unicode rendering.

Sublimte text 3

UINavigationBar Background Color

iOS 5 support appearance to change the UINavigationBar Design. However, we can’t use UINavigationBar setBackgroundColor for changing color. We need to create image and use with setBackgroundImage:forBarMetrics: . So, I am using UIBezierPath to draw the background image instead of using png image.

-(UIImage*)barBackgroundImage{

    static UIImage *defaultImage = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        UIGraphicsBeginImageContextWithOptions(CGSizeMake(20, 44), NO, 0.0f);

        [[UIColor grayColor] setFill];
        [[UIBezierPath bezierPathWithRect:CGRectMake(0, 0, 20, 44)] fill];

        defaultImage = UIGraphicsGetImageFromCurrentImageContext();
        UIGraphicsEndImageContext();

    });

    return defaultImage;

}

-(void)setupUI
{
    [[UINavigationBar appearance] setBackgroundImage:[self barBackgroundImage] forBarMetrics:UIBarMetricsDefault];

}