Updates to ASDFJKL;

I made many updates to the game. You can play the game here:


This is a continuation of the work mentioned two posts ago.

I’m happy with the progress and have been getting some good feedback. Most of the work was ironing out the user flow to make it way less confusing. Then I posted to social media and got some good response.

The biggest power user as of right now is my buddy Drew Stone (@stonedrew), who made a handful of good ones. Here’s on he shared with me that has some pretty solid choreographic composition!

As I was developing all these updates, I realized that I was totally under-using something that I, by chance, had. Back in around 2008-ish I was working for a nifty web firm and, as a part of the gig, someone registered me for some system with the username “Albert”. Well, that system turned out to be Github. So because of this, I was at the right place at the right time to get github.com/albert. This also means that I get albert.github.io as well.

I’ve had stuff hosted on there for a while, but it was completely raw HTML and no styling, so I replaced that with a minimal markup and a smidge of CSS. It’s still a super bare site, but at least it doesn’t look like an error message anymore.

Not completely sure how that URL relates to albert-hwang.com. Maybe I’m looking for a fresh start? Anyhow, good problems to have, I think.

It's refreshing to be back out in the public again

When I moved to Seattle, one of my goals was to get involved in the new media arts / tech scene out here. I wanted to go to meetups and share my perspective and bounce ideas off of others.

But when I arrived, I started working for a company that didn’t really want me to be social. My creativity wasn’t really allowed to be expressed in a public manner because of PR fears. They didn’t want any of their employees / contractors to say things that caused controversy.

Well, I finished that job in January, and things are slowly changing for the better. Additionally, I’m at a new gig at Looking Glass Factory that wants me to be more public across the board Here’s a list of a handful of things I’ve been back at engaging with the public now that I’m a free digital person again.

I presented at 4 public events

So the public events I’ve recently been at were:

This last one was particularly interesting for me. I loved blabbing about my opinions and also engaging with the two other panelists, who were clearly super well-informed on the topic. It’s also nice to occasionally take a step back (as I did in these last two public appearances) and to reframe my career, which has been kind of a wile ride.

Anyhow, here’s a shot of me in a panel.

(shot by Alexandra Steele, https://twitter.com/EmergentStgy/status/1111455207433474048)

(shot by Alexandra Steele, https://twitter.com/EmergentStgy/status/1111455207433474048)

I’ve been posting to my blog, sorta

This is the third post since leaving my job. It feels good to simply share some of the things I’m super curious about lately. The previous two posts were for projects that I had knocking around for a while, but am happy now to sort of let them go…

I’ve been posting videos

I’m taking a smidge of a pause with my YouTube account. Not that I’m a YouTube star or anything, but I find my subscriber count on YouTube to be a little overwhelming — so much so that I feel that if I post it really ought to be edited down and not be super rambly. Well, that and I should either turn off comments or be okay with… uhm… you know, YouTube comments. I mean, my last YouTube video I posted has literally one comment:


Ugh… Hard for me to motivate myself to engage w/ this audience and to ask them to remember to like and subscribe. Like what am I doing on this platform?

Anyhow, as an alternative low-pressure way for me to still have a creative outlet, I’ve instead jumped onto another video service: https://diode.zone/video-channels/albert_channel/videos. Diode.zone is an instance of peertube — which is a federated version of YouTube. It I love it! It reminds me of what YouTube used to be for me — just a place to document my unfiltered crappy progress updates and rambly rants.

I’m making a game, sort of…

A lot of what I’ve been doing on diode.zone is documenting my process for building a game. It’s in it’s super infant stages. I currently have two participants and am learning a lot from how they’re engaging (and often not engaging) with what I want them to do. Anyhow, I don’t know if I can convert this into a real game, but so far it’s been a fun and healthy process.

"asdf jklsemi" -- a YouTube rhythm game

I made a YouTube Rhythm game. Here’s footage of me playing it:

Here’s the experience if you’d like to try it out yourself.

  1. Go here (Seems to work best in Chrome): asdf jklsemi for Blur Song 2: Finger Choreography by Phedhex

  2. Press the “Play” button under the video (Not the play button on top of the video)

Here are a couple other songs I choreographed rhythms to:

And if you’d like to make one on your own, you can… kind of. The tool for making your own choreography is a bit ass right now, but hey, it’s better than nothing…

  1. Go find yourself a musical YouTube video (preferrably short)

  2. Copy that YouTube URL

  3. Fill out this page (with Chrome) with your YouTube URL

  4. Press “Record”

  5. As the song plays, tap out a sequence

  6. When the video is done, you’ll get a chance to try out your game

  7. If you like what you’ve made, just copy the URL so that others can try it out


Vim Motion Graphics

So I’m a fan of this program called “Vim”. Vim if a text editor that, among other things, lets you move your cursor around the screen really really quickly.

I wondered what it would feel like if my Vim cursor left a trail — like a pebble skipping along the surface of a water. So I decided to build a (very limited) prototype. Here’s a screen cap of that prototype:

If you want to try the prototype out yourself, you can do so here. Warning — it does seem to chop a bit in Firefox, so I suggest trying it in Chrome:


Why prototype this?

My initial impulse was simply that I felt the desire to create something pretty. I like the feeling of flying around quickly with Vim, and I wanted something that helped me express that feeling.

Once I built this and felt how my fingertips fired impulses around in a Vim buffer, I got inspired. I couldn’t help but wonder if there was potential for more than just an aesthetic value. If this simple effect existed in a proper version of Vim, could it also serve a functional value?

In a limited way I think the answer is yes. This would be useful anytime I lose my cursor. Maybe it’s because my Vim Motion was bigger than expected. Maybe it’s because I’m disoriented after my buffer scrolled elsewhere. Maybe it’s because I hit a typo. For whatever reason, I think a simple ripple would help me get my bearings.

But I also wonder if these ripples could hold semantic value. Perhaps ripples could reflect off the edges of the file. If your buffer were at the end of the file, you’d get a ripple reflection off the bottom edge of the screen. If instead you were mid-file, the ripples would exit off the bottom of the screen signifying more space down there. This could also help signal if you are in a soft-wrap or no-wrap condition.

My mind also wanders to other types of effects that I’d love to at least try out. Maybe I only crave this because sometimes Vim is so fast that I wish I had some transition to help me better understand what I just did. Anyhow, here are some other thoughts:

  • When you delete large chunks (typing “da]” to delete an entire bracket pair), see a ripple visualization that outlines the extents of what was just deleted

  • Command line mode (hitting “:”) will ripple from down below

  • Different ripple colors for different modes (normal, insert, visual)

  • Visual mode to cast large ripples as per the geometry of the entire selection

  • Tiny ripples to indicate inertia of last motion. For example: “i” for insert would cast a mini ripple backwards, but “a” for append would cast a tiny ripple forward.

Is this even possible in a real Vim environment?

I have no idea! All I know is that it’s not possible for me to complete in any reasonable amount of time. This is why I decided to blog about it — to note how far I got before completely abandoning the concept.

That said, the premise I think is at least a theoretical possibility. The prototype design treats the Vim buffer as a 2d graphical array, with each “pixel” being the width and height of a single character. In principle, a grotesquely hacked Vimscript should be able to power this with a sufficiently powerful computer. How grotesquely hacked, and how powerful the computer needs to be, I have absolutely no clue.

Another possibility is building something for Atom, which is built upon common web technologies. In some ways CSS sounds like a smarter way to approach this problem. Again, no clue what the level of effort would be here either.

The last idea I had would be to run a transparent Vim window on top of another window that somehow knows cursor location and can render graphics using a different, more sane graphics library.

A few VR180 videos...

So over the past few months I’ve made a handful of VR180 videos. Here’s the playlist so far:

My favorite video in the playlist is when I captured Icon Sleepy Tut. Happy I was able to get footage of him in stereoscopic VR180.

Also, at my urging my good friend and very talented photographer / videographer Eric made a VR180 reel of DC which turned out beautifully.

I have thoughts on a few other videos I’d like to produce. I know weird people who know how to do weird 3d things, and think just filming doing cool stuff could be nice.

Another neat aspect to having a VR180 camera is that I’ve been taking 3d shots of my family and they’re turning out quite nice. This Christmas I’ll be getting my dad a “Retroviewer”, which is essentially a “View Master” but with 3d photos I made. I haven’t seen them yet (I know, I’m late for Christmas), but I’m really hopeful that they turn out well, and if they do I may order one for myself.

XOXO, my experience + VR photos...

How I found out about XOXO

Many years back, I somehow stumbled upon Waxy.org. I actually can date it to 2011 because I remember the blog post I saw was a link to the House of Cosbys. A comedy sketch created by a relatively unknown Justin Roiland that, for a variety of obvious reasons, hasn’t really aged well, but was still packed with sparks of brilliance.

Anyhow, Waxy.org was a blog that managed to stand the test of time, and at some point I caught wind that the owner of the blog, Andy Baio, was running a conference. I was on the fence about going in 2016, but was living in NYC and had a hard time justifying the flight to Portland just for a conference.

Then, after the conf was over, I saw some amazing talks from 2016 and started kicking myself. My favorite was a talk by Jenn Schiffer. Also a fan of the talk by David Reese. Started looking back in the history and found this fascinating and sometimes bizarre gem as well by Justin Hall.

Anyhow, now that I live in Seattle, when the announcement for the 2018 conference popped up, I decided to go.

So on Thursday I left for work early to drive down to PDX to catch the conference.

It was by far the best conference I’ve ever attended. While the talks were great, the crowd was the main attraction. Everyone was a creator, and they tended to approach their own crafts with genuine human curiosity and interest. Also, people were abnormally kind and nurturing and gave others the space needed to share what they were up to, no matter how weird their way of thinking was…

Speaking of weird ways of thinking, I spent my time sharing what I’ve been fascinated by and curious about recently: VR photography. I had with me my VR camera along with my VR photo viewer:

With this setup, I would take a VR photo, and then pull out this VR headset out of my pocket and let people see themselves in this VR standard. And what’s so amazing about this VR standard is that you can see what just occurred, in 3d, and at full scale. The act of shooting my subject, transferring it to my phone, equipping this ridiculous VR headset to my phone, and sharing — all of that became a nice cozy ritual, which sorta felt like the ritual of a Polaroid. It also packed a nice wow factor when people finally saw themselves in full scale 3d.

So the photos I took were of some really amazing and interesting people, but one challenge of this type of photography is the setup it takes to view. Recently, I’ve discovered that a great way to sidestep this challenge is through gifs that wiggle between the two different lenses of the camera. So if you don’t have a VR headset and and want a glimmer of the 3D-ness of the photos, here are those gif representations:

If, however, you do have a Google Cardboard, or are willing to buy (currently only $3 over at Best Buy), you can peep the original, full-scale 3d photos in this album. To view:

  • Install “Google Photos” onto your phone

  • Click on the 360 icon on your phone when looking at the photo

  • Click on the Cardboard icon in the lower right corner of the image

  • Load your phone into your cardboard

At the conference, I got to dance w/ some really great shakers and movers, too! Portland has really REALLY stepped up it’s game in the dance scene over the last few years, and I saw some locals get down at a funk night while I was there. I also got to share a dance session with others at the conference, both at the funk night as well as at the party the last night of the conference, where there was a big dance circle.

I usually dislike dancing with strangers. I almost always abhor dancing with tech conference crowds. It’s often lots of awkwardness and pretension. But the dance party at the closing night of XOXO felt like we were at a wedding or something, just people who were genuinely happy having a good time and sharing and creating. I really still don’t understand how it was such a great environment, and I’ll be scratching my head for a while tryin to figure that out.

Anyhow, I’ll keep gushing about this conference for a few months, I’m sure. My wife rolls her eyes now when I bring up XOXO because I talk about it so much. As in, apparently it’s recently become my new “one time at band camp” moment.