yosun.me: yosun is me http://yosun.me a diary. maybe. Tue, 30 Sep 2014 22:07:10 +0000 en hourly 1 http://wordpress.org/?v=3.1 Resolutions 2014 http://yosun.me/2013/12/31/resolutions-2014/ http://yosun.me/2013/12/31/resolutions-2014/#comments Wed, 01 Jan 2014 01:30:19 +0000 yosun http://yosun.me/?p=319
  • Build a network of solid trust that I can depend on, to try avoid doing everything myself.
  • Write down daily or at least several-times-a-week “pithy insights” to try not getting stuck in variations of old squalls.
  • Either
    1. Stop being indie
      1. stop ignoring/resisting corporate recruiters
      2. accept $300k+
    2. Figure out what I’m doing
      1. become a millionaire
      2. be the cat lady
  • ]]>
    http://yosun.me/2013/12/31/resolutions-2014/feed/ 0
    Conferences I’m presenting/demoing at – 2013 http://yosun.me/2013/10/07/conferences-im-presentingdemoing-at-2013/ http://yosun.me/2013/10/07/conferences-im-presentingdemoing-at-2013/#comments Mon, 07 Oct 2013 20:19:54 +0000 yosun http://yosun.me/?p=310 Showing more hacks at formal events!

  • MakerFaire (AReality3D World Builder) – May 17-19
  • Augmented World Expo (BoatAR via AReality3D World Builder) – June 4-5
  • Intel Android Meetup (Native apps for Google Glass, inc first gyroscope-tap Glass game) – July 31
  • Intel IDF (Perceptual Computing, keynote/showcase demo) – Sept 10-12
  • SF Music Tech (Musical Instruments on Google Glass) – Oct 1
  • SV Code Camp (gyroFire hackinGlass) – Oct 6
  • On Android – Designing Native apps for Google Glass + Live Demos! Oct 22 23
  • ]]>
    http://yosun.me/2013/10/07/conferences-im-presentingdemoing-at-2013/feed/ 0
    hackinGlass.com and Native Apps for Glass via Sensors http://yosun.me/2013/08/16/hackinglass-com-and-native-apps-for-glass-via-sensors/ http://yosun.me/2013/08/16/hackinglass-com-and-native-apps-for-glass-via-sensors/#comments Fri, 16 Aug 2013 08:38:34 +0000 yosun http://yosun.me/?p=291 Started a new blog called hackinGLASS.com (note, there is no g)

    Also, gave a talk at an Intel Android meetup about Native Apps for Google Glass. Slides and video available in link therein.

    http://yosun.me/2013/08/16/hackinglass-com-and-native-apps-for-glass-via-sensors/feed/ 0
    Making DeadDropAR in Battlehack NYC http://yosun.me/2013/08/07/making-deaddropar-in-battlehack-nyc/ http://yosun.me/2013/08/07/making-deaddropar-in-battlehack-nyc/#comments Wed, 07 Aug 2013 09:25:36 +0000 yosun http://yosun.me/?p=282 At PayPal’s Battlehack NYC a few weekends ago, my friend Brian and I hacked together an app called DeadDropAR — it’s an app that lets you put digital money on real objects in real locations — just like how you’d do a dead drop in real life, but now, via your smartphone.

    The flow is simple — as shown above:

    • List of Drops: Load a list of “Drops” nearby, select and then scan for it!
    • Create Drop: Create your own “Drop” by going to the location to scan (right photo, map) and specifying the object to scan (left photo, augmented image to track) and specifying the amount.
    • Scanning: When the object is recognized, choose to pick up the amount deposited there (addendum due to popular demand: and see the equivalent virtual 3D dollars and coins in augmented reality!)

    DeadDrop AR started as a boring old hackneyed augmented reality scavenger hunt: computer-vision scan objects to get money via paypal. But then, someone had already pitched that idea, and we were mostly just toying with our skills to see if we could make it in limited time, with intentions to go home early without actually pitching or entering the contest.

    As usual, I worked with the hackathon junkie handicap of starting everything from scratch. As for hack idea — with me being still stuck in my AR phase, even on hiatus in NYC, the hack had to be something relating to augmented reality. Here are some ingredients from the final recipe that we worked on during the hack before we finally figured out what our hack was actually going to be:

    • an iOS-like GUI framework for Unity, including bounce-scroll!
    • (I wanted to show this off) computer vision-based object recognition with dynamic marker-object creation
    • Google maps and geofencing based on lat lng
    • straight-forward MySQL database on the serverside for logging each drop transaction
    • PHP wrappers for the above transactions
    • Basic ImageMagick image cropping and such for thumbs vs high resolution image recognition bread crumbs
    • CC payments via PayPal sandbox via their new API

    Several iterations later, in the dead of night, when such ideas are prone to occur, we pivoted from a marketing platform to a free economy money-trade implementation — what if, instead of just searching for objects, the user could openly leave money on real objects in real locations. Effectively, do a dead drop completely virtually, by “placing” digital currency in the real world.

    Basically, give digital currency a real world body.

    During the quick QA session we had for our Battlehack pitch, I think someone asked about the element of privacy and anonymity that real cash has that virtual currency inherently cannot have due to the necessary client-server transaction record in depositing the payment. After attending defcon, and taking a deeper look at the workings of distributed systems such as Tor or torrents, I’m convinced that digital transactions could be as anonymous as cash payments. (Also, a quick extension of our hack would be to simply use this system as something better than scan-a-QR-code-to-fetch-your-bitcoin.)

    After showing the app to other participants, it seems people wanted to see a gimmicky version where 3D coins and bills are augmented — the third frame above shows the hack.

    Funny caveat on digital money – In optimizing some currency textures from Wikipedia for hacking out the virtual version of this, I stumbled upon an odd Photoshop caveat:

    This application does not support the editing of banknote images

    Photoshop CC: This application does not support the editing of banknote images

    I ended up just using Preview to crop and resize these images to powers of 2. Import, orient to pose tensor on recognized surface and presto – 3D augmented reality money sits on that surface. :D

    Being handed battleaxes to represent NYC and the US against hackers from other countries in the Global finals, I suppose we did okay with our app for Battlehack — for this app’s next step, we only have to make a few breakthroughs to change how people perceive digital money as real as real world cash can be.

    And as for the next round of Battlehack – we’re planning to make something totally new. PayPal is offering to fly us to San Francisco, but did not actually specify from where… I wonder if we’d be able to fly from space!

    http://yosun.me/2013/08/07/making-deaddropar-in-battlehack-nyc/feed/ 0
    50k Q1 – Doing okay as an indie http://yosun.me/2013/04/09/50k-q1-doing-okay-as-an-indie/ http://yosun.me/2013/04/09/50k-q1-doing-okay-as-an-indie/#comments Tue, 09 Apr 2013 17:30:45 +0000 yosun http://yosun.me/?p=265 Won three first place prizes from Intel Perceptual Computing Challenge (after about 5 days of sleepless mania – me in an ugly blue sweater currently shown on homepage) and 7 other hackathons Q1, scored two more Prototype48.com deals, bringing Q1 weekends-only income to ~$50k — this is how I’m bootstrapping AReality3D.

    Q2 is starting out okay – just won (received a non-equity-loss investment of) 15 bitcoins from Jack Levin at PHD4 with Lightbox Reality last weekend.

    Still keeping things low-key… because I still haven’t figured what to do with all this.

    Accepted to Makerfaire and Augmented World Expo. Waiting on SIGGRAPH.

    http://yosun.me/2013/04/09/50k-q1-doing-okay-as-an-indie/feed/ 0
    Hacking “You’re submitting too fast. Please slow down.” http://yosun.me/2012/12/28/hacking-youre-submitting-too-fast-please-slow-down/ http://yosun.me/2012/12/28/hacking-youre-submitting-too-fast-please-slow-down/#comments Fri, 28 Dec 2012 08:18:30 +0000 yosun http://yosun.me/?p=251 I don’t post on hackernews, not because it’s more noisy and hodgepodge than a Taiwanese peasant barnyard, but because my desired user handle yc is both not being used and forbidden.

    More recently, I had a spare hour to burn waiting for a Play Store cache to refresh, so I tried posting under my first name. It’s impossible not to get sucked into a barnyard, once you get into it.. Or rather, I made two posts and received the dreaded error message:

    “You’re submitting too fast. Please slow down.”


    Apparently, someone has already added this ambiguous and oddly-enforced message to the worst place for pg to start a features request list ever, and some tech-ish startup guy who writes less than me and has issues with hadoop thinks it has to do with political correctness. There are a bunch of people who believe that this is what the hellbanned message looks like.

    So, reading the message at face value, my initial impression was:

    Ridiculous, considering that I spent many solid minutes pondering and reviewing content in-between posts. Apparently, “many” has been quantified by limits set here https://github.com/wting/hackernews/blob/master/news.arc

    (def recent-spam (site)
      (and (caris (banned-sites* site) 'ignore)
           (recent-items [is (sitename _!url) site] 720)))
    (def recent-items (test minutes)
      (let cutoff (- (seconds) (* 60 minutes))
        (latest-items test [< _!time cutoff])))
    ; New user can't submit more than 2 stories in a 2 hour period.
    ; Give overeager users the key toofast to make limit permanent.
    (def oversubmitting (user ip kind (o url))
      (and enforce-oversubmit*
           (or (check-key user 'toofast)
               (ignored user)
               (< (user-age user) new-age-threshold*)
               (< (karma user) new-karma-threshold*))
           (len> (recent-items [or (author user _) (is _!ip ip)] 180)
                 (if (is kind 'story)
                     (if (ignored user) 0 1)
                     (if (ignored user) 1 10)))))

    It appears that users subject to this draconian punishment are discriminated based on

  • age (new-age-threshold* 0 – which is also the legit-threshold* 0),
  • karma (new-karma-threshold* 2),
  • recent items in the past 180 minutes, modified by recent items with a cutoff of 60 minutes (effectively 120 minutes, expressed in convoluted logic).
  • if it’s a story and you have the distinction of being an ignored user, this will always return false. But, even if you are ignored (read: hell-banned), you apparently only have to wait 10 minutes for posts that are not stories. Baas from sheeple are welcome, even if they’re deemed worthy of being ignored.
  • I’m tempted to fix up the snippet, except it’d never get accepted… and it really doesn’t seem a good use of time to spend any more time than the past ten minutes on arc, a language invented to be a dead language.

    (And, posted!)

    http://yosun.me/2012/12/28/hacking-youre-submitting-too-fast-please-slow-down/feed/ 0
    If I had a billion dollars… http://yosun.me/2012/10/12/if-i-had-a-billion-dollars/ http://yosun.me/2012/10/12/if-i-had-a-billion-dollars/#comments Fri, 12 Oct 2012 20:33:17 +0000 yosun http://yosun.me/?p=237 The other day, during my talk on KUBIKULO and Mobile 3D Augmented Reality, at SV Code Camp, an audience member asked me where I wanted to take things, whether I wanted to continue just making cool hacks, or to take things towards the enterprise level — somewhere along the lines, I tried answering the question of what I’d do if I somehow figure out how to score that high score in capitalism to become a billion dollars rich…

    I’m a big believer that, “With great power, comes great responsibility,” and money — on the order of a billion dollars — is essentially extreme power. With that amount, you can buy anything you (or anyone you personally knew) could ever need, and you’re going to end up with a lot of it left, unless you make a lot of unsensible purchases of arbitrary amounts… The best use would be more in the area of philanthropy, to make the real lasting contributions to humanity, beyond the shallow overhang of acquisitions and corporate politics.

    So, that said, to finally answer the question… If I had a couple billion dollars, the first thing I’d do is call up Peter Diamandis and launch an X Prize for Teleportation. And then, I’d retire to being a physicist again, and solving that teleportation problem myself to earn my own money back. Transportation and allocation seems to be the biggest problems in the world — from time wasture in commute to people being inevitably late to world hunger (there is probably enough food being thrown out daily at these SF bay conferences to feed Africa, now what if you could instantly beam this food over to someone who really needs it). Along the way, I suppose I’d also figure out how to make a Star Trek-worthy replicator, to instantly create anything, for reals — including coffee, black and genuine-tasting tomato juice. Talk about crazed intellectual philanthropy? xD

    http://yosun.me/2012/10/12/if-i-had-a-billion-dollars/feed/ 0
    Conferences I’m presenting at in 2012, Part II http://yosun.me/2012/10/12/conferences-im-presenting-at-in-2012-part-ii/ http://yosun.me/2012/10/12/conferences-im-presenting-at-in-2012-part-ii/#comments Fri, 12 Oct 2012 20:08:01 +0000 yosun http://yosun.me/?p=234
  • Oct 7 @ 2:30 pm – Silicon Valley Code Camp – KUBIKULO and Mobile 3D Augmented Reality (as an indie dev)
  • Oct 20 – Urban Prototyping Expo @ downtown SF near TechShop – ProtoAR iOS and Android app demo in the streets (as an indie artist)
  • Oct 29 @ 5:05 pm – Technical Symposium in Santa Clara – Examples and Implementations of Mobile 3D Augmented Reality (as CTO, AReality3D o.O)
  • (New!) Nov 15 in Sydney, Australia! – JSConf Down Under!
  • (New!) Nov 29 (conference-crashing) AU2012 Autodesk University @ Las Vegas – ProtoAR shown @ Mobile Technologies in AEC – Thursday @ 5 PM session
  • ]]>
    http://yosun.me/2012/10/12/conferences-im-presenting-at-in-2012-part-ii/feed/ 0
    Protected: Hackathon.io and Power without Responsibility http://yosun.me/2012/08/13/hackathon-io-and-power-without-responsibility/ http://yosun.me/2012/08/13/hackathon-io-and-power-without-responsibility/#comments Mon, 13 Aug 2012 08:41:39 +0000 yosun http://yosun.me/?p=226

    This post is password protected. To view it please enter your password below:

    http://yosun.me/2012/08/13/hackathon-io-and-power-without-responsibility/feed/ 0
    Archive.org API in a Box http://yosun.me/2012/07/22/archive-org-api-in-a-box/ http://yosun.me/2012/07/22/archive-org-api-in-a-box/#comments Mon, 23 Jul 2012 05:11:13 +0000 yosun http://yosun.me/?p=218 This weekend I had the pleasure (pain) of working with an API with infinite storage and infinite expanse, except it has little documentation and even littler support community. But, it’s basically free S3, when it works…

    Archive.org API is similar to S3, with objects (files) contained in a bucket (organizer) system. The base url is s3.us.archive.org

    Putting files on there requires an odd curl syntax, with basic-auth – this may cause issues with some existing S3 wrappers/SDKs.

  • This syntax will both create a bucket and upload a file at the same time.
  • curl --location --header 'x-amz-auto-make-bucket:1'
           --header 'x-archive-meta01-collection:opensource'
           --header 'x-archive-meta-mediatype:texts'
           --header "authorization: LOW [KEY]:[SECRET]"
           --upload-file [/path/to/filename] http://s3.us.archive.org/[bucketname]/[filename]

    After you call this, you should delay() or sleep() for 10 seconds or more, or do a mini-DDOS loop checking if the bucket resource exists, before proceeding to adding more files:

  • This will let you add more files to the above bucket:
  • curl --location --header "authorization: LOW [KEY]:[SECRET]"
           --silent --show-error
           --upload-file [/path/to/filename] http://s3.us.archive.org/[bucketname]/[filename]

    Make sure that a space separates all parameter and values.

  • Once the object is stored…
    • The endpoint to load its page is:


    • The endpoing to download the content is:


  • The server is very unreliable. If you followed the above, and put sleep() or delay() methods in between calls, and things still don’t work, it’s very likely archive.org ran into a blip, usually in retrieval, rather than storage.

    http://yosun.me/2012/07/22/archive-org-api-in-a-box/feed/ 0