Recent site activity

Home

Welcome to www.superarts.org!


  • Google Gone Evil... Finally
    I used to respect Google. Even Steve Jobs said it's "bullshit", Google has still been way less eviler than Apple obviously, so Steve's speech could be take as some kind of jealousy - until recently, Google decided to ban the users not using real name from using Plus, Buzz, and reader. It's improper because:

    1. Any internet service providers, SHOULD NOT change their policy because of they have gained a huge user base, so that they can do it "safely". Yes, it is legal, but it's evil definitely. For example, I've been using Google Reader for years, and suddenly my profile was banned and I can't share anything anymore. If Google apply this to Plus it's fine, because it's a new SNS which is even in beta. To Buzz it may be OK, because it's fairly new (although I may have doubt about that, but) to an old service like reader, it's very rude for Google to change their policy. The question about whether a user should provide his real name to share some articles is another thing, I'm just saying that, no service provider should make such a big change suddenly, and....

    2. Without any options,noticing, or even some basic hint. All you will see is something like "cannot share you post now... please try again later". This is VERY misleading and fraud. It's not the law, but most people see this they will consider it's kind of server downtime, internet problem, etc. By reading all this, who is able to know that it's "your profile has been suspended"? Not me. I tried a lot of thing to ensure Google works well for my connection, and finally I Googled it myself. I don't know what Google thinks; maybe it feels like if things are not going well, they can revert everything and pretend nothing happened? Or it's too risky to inform a lot of users that they cannot use their profile at the same time? Nonetheless, you can't even share something with your online friends with your online ID, that's all Google's up to. so...

    3. Everyone should have their rights to be anonymous online. It's not about hacking or cracking or something, it's about the nature of our society: if something is not enforced by law, you can do it. Some people may be keeping anonymous for bad reason, but way more people do this for good reason, like protecting themselves, etc. If you were in China, you must not do anything that looks "suspicious" to the government, but we're in the free world. Everybody's choice should be respect. Well of course Google also has its rights to ban user without real name, and that's protected by the law, but at the same time Google wants to use this right, it became evil. Finally.

    Google is already so big and so successful that your "protesting" against it will be in vain, like you protest Microsoft for being a douche bag, or Apple for being an evil cult or something. And it's never been hard for anyone to choose a fake "real name" like John Doe or Jim Smith. But all these don't effect one thing: the once noble search giant has fallen because it's lust to beat facebook. "You don't have to be evil to make money", but yea, if you're it's much more easier for you to make money. Google finally stopped resisting it.

    What a shame to the whole world.
    Posted Jul 22, 2011 10:05 PM by Leo - www.superarts.org -
  • Post json in appengine-rest-server
    POST
    Content-Type: application/json
    With body:
    {
        "list": {
            "gdb_model": [{
                "value": "123",
                "dbname": "database-test",
                "id": "004",
                "name": "latitude"
            }, {
                "value": "-45",
                "dbname": "database-test",
                "id": "004",
                "name": "longitude"
            }]
        }
    }
    Posted Jul 17, 2011 3:02 AM by Leo - www.superarts.org -
  • Some Tricky Codes to Bind UISwitch with NSUserDefaults Settings
    Since iOS does not have NSDefaults binding (official document: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CocoaBindings/Concepts/NSUserDefaultsController.html), if we want it we have to write some codes ourselves. Of course, there should be tons of ways of doing this, and I'll share some codes which in my opinion are quite interesting.

    First, in an NSString category, write something like this for codes like [@"setting-enabled" setting_set_switch:my_switch]:


    546 //  setting + ui
    547 
    548 - (void)setting_set_switch:(UISwitch*)a_switch
    549 {
    550     a_switch.on = [self setting_bool];
    551 }
    552 
    553 - (void)setting_get_switch:(UISwitch*)a_switch
    554 {
    555     [self setting_bool:a_switch.on];
    556 }

    Then in an NSObject category, these codes are for "fake instance variables" (got the idea from here: http://oleb.net/blog/2011/05/faking-ivars-in-objc-categories-with-associative-references/):


     48 #pragma mark associate
     49 
     50 - (void)associate:(NSString*)key with:(id)obj
     51 {
     52     objc_setAssociatedObject(self, key, obj, OBJC_ASSOCIATION_RETAIN_NONATOMIC);
     53 }
     54 
     55 - (id)associated:(NSString*)key
     56 {
     57     return objc_getAssociatedObject(self, key);
     58 }

    Finally, add our own UISwitch Category:


     39 #pragma mark LYSwitch
     40 
     41 @interface UISwitch (LYSwitch)
     42 - (void)bind_setting:(NSString*)key;
     43 @end
     44 
     45 @implementation UISwitch (LYSwitch)
     46 - (void)bind_setting:(NSString*)key
     47 {
     48     [key setting_set_switch:self];
     49     [self associate:@"ly-setting-name" with:key];
     50     [self addTarget:self action:@selector(value_changed) forControlEvents:UIControlEventValueChanged];
     51 }
     52 - (void)value_changed
     53 {
     54     [[self associated:@"ly-setting-name"] setting_bool:self.on];
     55 }
     56 @end

    How to use:


    In the init routine, simply set binding info:

     17     [switch_setting_shuffle bind_setting:@"setting-player-shuffle"];
     18     [switch_setting_repeat bind_setting:@"setting-player-repeat"];

    So the settings are binded with the UISwitches:

    623 - (IBAction)action_setting_changed
    624 {
    625     NSLog(@"setting shuffle: %i", switch_setting_shuffle.on);
    626     NSLog(@"setting repeat: %i", switch_setting_repeat.on);
    627 }

    To be continued: you can use code like this to bind all the UIControls. Quite funny codes, huh?
    Posted May 25, 2011 8:09 PM by Leo - www.superarts.org -
  • An Idea about the Libraryhack Event

    From here: http://libraryhack.org/ideas/

    This idea is called "This Place in History", which let user check the photos taken near them, and even the old map of that area (if available). It can be used for either a mobile app or a web site, but mobile apps for devices like iPhone, iPad, or Android phones/pads are preferred, due to the nature of the touch-based gestures and the ability to determine user's current location.

    To use this app, the user firstly agrees it to use his current location, and a map will be displayed based on this location. User is able to use either gesture or buttons/scrollbars to navigate and zoom in/out. There's a long bar called "timeline", which has 2 points on it, one is "starting year" and the other is "ending year". By selecting these 2 points, photos captured between these 2 years will be shown as thumbnails on the map based on the place they've been taken, and user can click them to see the full picture and related information like author, description, date, etc. User can save the picture, share them on facebook, twitter, or by email. User can also navigate to previous / next pictures, sorting by either time or distance.

    If the old map of the current displayed place is available, there will be a scroll bar to let the map face into the past map, or the present map (that is, map or satellite image or hybrid mode). Alpha transparent effect can be used so that the old and current maps can be mixed together, with proper visual effect.

    I understand that some old photos may not have geodetic information. In this case, keywords can be used to determine their positions. About map, or geodetic info is not available, additional efforts will be needed to implement the features described above.

    Social networking can also be added, like making friends with people who are near you and are interested in the same history time / places / photos. People can leave comments on a certain photo. Of course, this will make things much more complex and may not be provided in the first release of the app.

    Posted Apr 29, 2011 4:31 AM by Leo - www.superarts.org -
  • Ever Heard about Jessica Patuzzo?
    This kind of things are almost too many in China, so... No need to mention indeed (if you know what I'm talking about).
    Posted Mar 23, 2011 9:45 AM by Leo - www.superarts.org -
  • Promoting Our iOS Solutions
    Super Art Soft is now offering various kinds of inexpensive iPhone / iPad business solutions. If you're interested in build your own apps to promote your business, please contact superartsoft·gmail·com.
    Posted Mar 16, 2011 7:15 AM by Leo - www.superarts.org -
  • Geohot Needs Your Help
    Update: Geohot settled with Sony and promised never touch Sony's products again. If he wasn't asking for donation it would be OK, but people may consider his act as some kinds of fraud since he said he would see Sony offer a homebrew opportunity to everyone. Anyway, personally I think it's a big loss. Can't say shame on Geohot but this isn't a good thing for every single person except for Sony.

    You can visit http://www.geohot.com/ for further information, and I've copied all the texts down here in case he changes the homepage later. Anyway, though my first thought of this was "definitely I'm going to support him although his look isn't pleasant to a lot of people including me", after a while I started questioning myself: why I SHOULD support a hacker? As an iOS developer myself, definitely it's against my interests to allow "root" or "jailbreak" a device that I'm working on. There can be several reasons, like big cooperation hatred, not a PS developer but a PS3 owner myself, etc. but they are not strong enough for me to justify myself. 

    But maybe combining them may be. Doing technical study and suddenly sued by big cooperation and facing bankrupt. Running homebrew and got banned. Terrific things like these can definitely break one's peaceful life, and these things should not happen. That may be what I've been believing.

    Besides, if we still can't open source everything, at least we SHOULD make everything as open as possible. Shouldn't we? 


    Donations here are for legal defense ONLY
    I checked with my lawyers before setting this up
    If you have another substantial way to donate aside from money, let me know

    tl;dr
    Sony is lame, and is suing me for hacking MY OWN PS3. Help me own them in court

    Sony are bullies
    Sony doesn't care if what you did was legal, if they don't like it, they sue. Sony tried to sue a guy for getting his AIBO to do non Sony approved tricks, making it apparent that they don't really care about piracy, they care about control. In (Sony v Bleem), Bleem was the winner on all counts, but the high cost of a legal defense shut them down. Fortunately, that suit helped set precedent on the legality of emulators. I would hate to lose this case due to resource starvation, and with the support of the masses, I won't. Lets turn the bully back on itself. This case has the ability to set a huge precedent for consoles and all closed systems to come. The other two should be begging Sony to back off.

    Sony sued the wrong guy
    I am an advocate against mass piracy, do not distribute anyone's copyrighted work but my own, do not take crap lying down, and am even pro DRM in a sense. For example, I believe Apple has every right to lock down their iPhone in the factory as much as they want, but once it's paid for and mine, I have the right to unlock it, smash it, jailbreak it, look at it, and hack on it. Fortunately, the courts agree with me on this point.
    My PS3 goal has been to provide users a legitimate path to homebrew, which by the standards of all previous cases (or, in reverse), is 100% legal. Sony does not even try to allege piracy or copyright infringement in this case, they allege I did things like play "super mario world, an unauthorized game" on MY PS3. And access MY PS3 in an unauthorized way. Who are they to authorize what I do with my taxed and paid for property?
    fail0verflow's goal was even nobler than mine. They wanted to give you back a feature Sony illegally stole, Linux on your PS3. It's shameful on Sony's part that they are being sued at all. If you have a problem with pirates, sue them, don't sue people who point out your shortcomings.

    Why should I care about your personal legal troubles?
    You shouldn't. For example, if I was taken to court for sex crimes in Sweden, I would never ask for donations. But this case isn't about me. Clearly I am not being sued because of something I have that Sony wants, I am being sued in order to send a message that Sony is not to be messed with. But if I(and all codefendants likewise) actually win this, we have the power to send a much stronger message back. That consumers have rights, and we aren't afraid to stand up for them.

    Why should I trust you? I just saw you trying to rap battle Sony
    My attempts at humor aside, I do take this whole matter very seriously. Again, it's not about me, I was on the verge of quitting this stuff last June, and I would hate to be the one who sets a reputation for hackers that all a company has to do is sue us and we back down. In fact, I want the opposite reputation set, that the more a company tries to abuse the legal system, the harder we rally back. I will be the first person in line on the launch date of the Xperia Play, and itching to get my hands on the Next GEOHOT Project.

    Why did you wait until now to set this up?
    I didn't want to be trigger happy, and thought the suit might go away quickly. Also, I had to consult with my lawyers about how to do this. It's been over a month, and it looks like this is going to be a drawn out case. I am in this for the long haul. I am very serious ethically when I take donations, for all iPhone work I only accepted after the fact, here after the fact is too late. Now I am pot committed so to say. 

    How much should I donate?
    Put it this way, Sony has 5 lawyers, I have 2. I'd like to level the playing field, and really get some hard hitters in there. I have already racked up over 10k in legal bills; donate whatever you feel like. Leftover donations at the end of all this will be donated to the EFF.

    What if I want to donate more than I feel comfortable sending through PayPal?
    I'm excited! Email me, we'll figure it out.

    Why doesn't the EFF fund this?
    Ask them. They have offered to provide some legal help though, which is much appreciated.

    Donate to help you, you're the reason I can't play Modern Warfare now�
    No, I'm not. Kakaroto explains this really well here. I have never played PS3 online ever. Frankly I'm amazed by the apparent ease with which these cheats were created, security 101, why is the security in the client anyway? I had no idea this would happen, and am in full support of the cheaters being permabanned from PSN.

    I'm a poor college student, what can I do to help?
    I feel you, don't worry. Spread the word. Let people know how you feel about what Sony is doing. Let Sony know how you feel about what Sony is doing.

    What if SCEA tries to settle?
    Lets just say, I want the settlement terms to include OtherOS on all PS3s and an apology on the PlayStation blog for ever removing it. It'd be good PR for Sony too, lord knows they could use it. I'm also willing to accept a trade, a legit path to homebrew for knowledge of how to stop new firmwares from being decrypted.

    Why isn't SCEA trying to settle?
    RAGE RAGE RAGE RAGE RAGE...THEY POINTED OUT OUR SECURITY FLAWS...IM SO MADDDDDDDD...WAHHHHHH

    Check out the new blog
    Old index page for archival purposes here

    Contact Me
    geohot ... gmail
    Posted Apr 12, 2011 4:00 AM by Leo - www.superarts.org -
  • Android Webapp Guide

    The Basics

     
    This is the demo project. We are going to create a new project based on this one. 


    The directory ~/prj/android is essential.




    Make A Copy of WebDemo


    cd ~/prj/android/WebDemo
    ant clean
    cp -r ~/prj/android/WebDemo ~/prj/android/cvhod

    *"cvhod" stands for Castlevania: Harmony of Dissonance, キャッスルヴァニア 白夜の協奏曲.



    Changing Strings (URI, App Name, Package Name, etc.)

    Rename source file

    ~/prj/android/cvhod$ mv src/org/superarts/android/webapp/WebDemo src/org/superarts/android/webapp/cvhod

    Modify URI

    ~/prj/android/cvhod$ vim AndroidManifest.xml
      3     package="org.superarts.android.webapp.WebDemo">
    ->
      3     package="org.superarts.android.webapp.cvhod">

    Modify package name

    ~/prj/android/cvhod$ vim src/org/superarts/android/webapp/cvhod/WebDemo.java 
      1 package org.superarts.android.webapp.WebDemo;
    ->
      1 package org.superarts.android.webapp.cvhod;

    ~/prj/android/cvhod$ vim res/layout/main.xml
      3     xmlns:myapp="http://schemas.android.com/apk/res/org.superarts.android.webapp.WebDemo"
    ->
      3     xmlns:myapp="http://schemas.android.com/apk/res/org.superarts.android.webapp.cvhod"

    Modify App Name

    ~/prj/android/cvhod$ vim res/values/strings.xml 
      4     <string name="app_name">演示程序</string>
    ->
      4     <string name="app_name">恶魔城——白夜的协奏曲完全解说</string>

    Modify build script

    ~/prj/android/cvhod$ vim m
      4 adb uninstall org.superarts.android.webapp.WebDemo
      6 # adb -s emulator-5554 install bin/WebDemo-debug.apk
      7 adb install bin/WebDemo-debug.apk
    ->
      4 adb uninstall org.superarts.android.webapp.cvhod
      6 # adb -s emulator-5554 install bin/cvhod-debug.apk
      7 adb install bin/cvhod-debug.apk

    Project Update


    ~/prj/android/cvhod$ android update project --name cvhod --path .
    Updated local.properties
    File build.xml is too old and needs to be updated.
    Updated file ./build.xml
    Updated file ./proguard.cfg


    After run ~/prj/android/cvhod/m, you should be able to see the app as above. Now we can start our actual work.

    Working with Web Page

    Editing Contents

    ~/prj/android/cvhod$ vim assets/demo.html 

     25 <div class="demo">
     26 <div id="accordion">
     27     <h3><a href="#">Section 1</a></h3>
     28     <div>
     29         <p>
     30         Mauris mauris ante, blandit et, ultrices a, suscipit eget, quam. Integer
     31         ut neque. Vivamus nisi metus, molestie vel, gravida in, condimentum sit
     32         amet, nunc. Nam a nibh. Donec suscipit eros. Nam mi. Proin viverra leo ut
     33         odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.
     34         </p>
     35     </div>
    ->
     25 <div class="demo">
     26 <div id="accordion">
     27     <h3><a href="#">释名</a></h3>
     28     <div>
     29         <p>
     30         Concerto,便是所谓的“协奏曲”,词源是意大利语“Concert”(音乐会,同时有“协调”之意)。它的读法应该是[ken'cheatou],颇有
     31         <br>
     32         <br>
     33         “协奏曲”指的是这样一种音乐:它由一个交响乐队和一个(或几个)独奏乐器组成,通常分为三个乐章。在游戏中,杰斯特·贝尔蒙>
     34         <br>
     35         <br>
     36         而本作的名称如果直译成英文,显然应是“Concerto of the White Night”;日版的英文如果直译的话,意思应该是“午夜太阳的协奏
     37         <br>
     38         <br>
     39         另外,“白夜”的非官方英文翻译乃是“White Night Concerto”。有必要说明,在英文中White Night和Midnight Sun都是确有其词,>
     40         </p>
     41     </div>

    Changing Theme

    ~/prj/android/cvhod$ vim assets/demo.html 

      3     <link type="text/css" href="jquery/css/ui-darkness/jquery-ui-1.8.8.custom.css" rel="Stylesheet" />
    ->
      3     <link type="text/css" href="jquery/css/THEME-NAME/jquery-ui-1.8.8.custom.css" rel="Stylesheet" />

    Checking Available Themes

    ~/prj/android/cvhod$ ls assets/jquery/css
    le-frog     smoothness  ui-darkness

    Downloading New Theme


    Changing Background Color

     16     <body style="background-color:black">



    *Always run ./m to check your progress.

    Preparing Materials

    res/drawable/icon.png - Maker: http://www.quirco.com/iPhoneIcon/
    artwork.png: 512x512
    At least 2 screenshots: 320w x 480h, 480w x 800h, or 480w x 854h 

    Making Release APK


    Making Release APK
    /home/louisa/Downloads/apache-ant-1.8.2/bin/ant release
    <input passwords twice>
    ~/prj/android/cvhod$ adb uninstall org.superarts.android.webapp.cvhod
    ~/prj/android/cvhod$ adb install bin/cvhod-release.apk 
    Test Release Build
    # adb uninstall org.superarts.android.webapp.XXXXXXX <- your name here
    # adb install bin/XXXXXXX-release.apk

    Publishing App












    Posted Feb 5, 2011 2:31 AM by Louisa - www.superarts.org -
  • My 1st Blog
    I'm just moving things from https://sites.google.com/a/superarts.org/studio/ because I found it'd been an awful idea to mix English and Chinese contents at the same site. But anyway, this site is merely for personal use only. It may expand in future, but not very likely.

    Anyway thanks for reading this. I'll try my best to make it useful.
    Posted Jan 16, 2011 9:05 AM by Leo - www.superarts.org -
Showing posts 1 - 9 of 9. View more »

Subpages (1): Start