An iPad, a Mac, and a

I found myself watching some players on this weekend playing Vainglory. It’s pretty much the only game I play these days and has been for months.

This was the first time that I could remember actually watching Twitch streams naturally – not checking it out because it was in the news or whatever. I actually found it helpful to my gameplay, and it was mildly entertaining. Most of you are probably rolling your eyes now, but you can kind of think of this like watching the Golf Channel. If you’re a golfer, you’ll watch because it makes you better. If you’re not a golfer, it’s the most boring thing on your TV.

That’s a big part of Twitch – hanging out, learning from, and socializing with people who take a specific game (or gaming) as seriously as you do.

What’s interesting about Vainglory is that it’s an iOS game. On Twitch, a big part of the experience is watching people play the game. So, they’re streaming live from their iPad (usually with other video, e.g. a webcam looking at them) on screen too.

So, the question is how people stream from the iPad. Today, I snuck in an hour here and there to try and get it setup.

I was prepared to write a nice post with sample videos and screenshots of how I was able to successfully stream and record Vainglory from my iPad, but sadly none of the attempts were good enough to share.

At this point, my conclusion is that streaming from an iPad using a Mac is frustrating and unnecessarily complicated. It involves installing a device driver from Github (to capture audio), running either an Airplay server or routing video through Quicktime, and installing a broadcasting app that’s sparse on the on-boarding.

I gather that the situation is lot better on the Windows side of the world, but I’m amazed that Twitch is so popular considering how barebones the streaming software options are. Even the Windows options, while better, look to involve a few steps.

I’m surprised Twitch doesn’t invest directly in the stream creation experience. They do get Twitch support embedded directly in specific games – that seems to be their avenue of choice – but those integrations tend to be very specific to each game and lack the features that make the good Twitch streams interesting (PIP, the ability for player voiceovers, etc).

On the upside, I learned that Quicktime Player can record video (including sound) off of an iOS device with nothing more than the lightning cable that comes with the device. That’s going to come in handy.

Practicing RC flying with a simulator

One of my recent obsessions has been RC flying. So far, I’ve played with relatively cheap quadcopters and helicopters, but I’ve managed to crash every single one enough times to end up with a pile of damaged copters. So, I basically gave up on the hobby thinking I didn’t have the time (or budget) to really get into it. I felt like I either needed to spend to get an advanced quadcopter that auto-leveled and could correct for novice piloting, or really dedicate more time than I had to do the fly, crash, repair, charge cycle required to practice.

Recently, though, I discovered the world of foam board RC planes. These are planes built from cheap – like under $5 cheap – foam board using either custom plans or downloaded plans over the internet. Pre-made kits for the body of the planes can be found from places like Flite Test for under $40. These kits contain pre-cut or pre-scored foam board and the hardware required to connect to your electronics and servos. Flite Test has a great series of ‘swappable’ designs that make it easy to share batteries and electronics between several planes.

I found out about this via one of Flite Test’s videos featuring planes modeled after characters from Planes: Fire & Rescue, which happens to be my son’s current movie obsession. The models are amazing, and when they mentioned foam board, I had to see what it would take to build one with my son.

As I was trying to figure out if I could build one of these with my son, I discovered that I can now buy hardware that lets me practice RC flying using a flight simulator with a real RC transmitter. So, I could actually practice flying without all the crash, repair, charge steps in between flights.

I finally snuck in an hour to set this up at home and the results were awesome:

Aerofly RC 7 10th flight from sujal shah on Vimeo.

It’s hard to tell from the video, but I’m flying a simple RC plane in the simulator using a transmitter wirelessly. The sim is focused on RC flying, which is a little different than a typical flight simulator. The big difference is that the sim simulates operating the plane from the ground, not from inside the cockpit. This lets me practice the hardest aspect of this for me, which is maintaining an understanding of the spatial orientation of the plane and my controls. In other words, when the plane is flying toward me, I need to remember that pushing right on the stick will make the plane turn toward my left (because it’s facing me). That’s really hard for me, especially with my cheap quadcopters where identifying the “front” is tricky in flight.

That’s all the gear I needed to do this:

The connection process is pretty simple. Make sure the receiver is paired to your transmitter before you start connecting everything up. Then, the basic wiring pattern is the Single Line Converter (SLC) connects the receiver to the USB adapter on the computer side. Just connect channels 1-6 on the SLC (or as many channels as your equipment has) to the same channel output on the receiver using the included cables. The slot labeled S on the SLC should be connected to the USB adapter. Then just plug the USB adapter into the computer and fire up Aerofly. It will detect the USB connection and walk you through the setup process. It was pretty painless, though I recommend reading the instructions that come with the Ikarus stuff (for example, pay attention to connect + pin to + pin, – pin to – pin, etc. between the SLC and the receiver – the instructions contain the diagrams you need to make sure this is done right).

There were some gotchas in my particular setup: the Orange receiver doesn’t label the pins by channel number, but they turned out to be in order. Next, the Spektrum’s channel 6 isn’t in use by default. Aerofly likes all the channels to be calibrated, so I had to figure out how to enable that channel on my transmitter so I could finish the calibration without a warning message (it is a harmless error, but I was being picky).

Once that was done, I was able to get a plane up in the air, which I promptly crashed. I was thrilled, though, and am now just trying to do a simple racetrack around the airfield and then land. So far, I haven’t succeeded. :)

My favorite iPhone case

For the last two years, I didn’t use a case for my iPhone. I really love the look of the 5 & 5S, and didn’t want anything to cover it up. Of course, by the end of the year, the screens had dozens of fine (and one or two not-so-fine) scratches. Really annoying.

So, for the iPhone 6, I decided I’d keep an eye out for a case that I could live with. A few weeks ago, I ran across an ad for the Twelve South SurfacePad (Amazon link). It looked perfect: a minimalist case that looks great and could help simplify my wallet (a separate mission I’m focused on before our move to India).

I bought and received the case last week directly from Twelve South. So far, it’s been great. I’ve included a few photos below. It’s easily the best case I’ve seen for the iPhone 6.

The case attaches to the back of the iPhone using a special adhesive that can be reattached multiple times. It took a few tries to get it attached squarely.1 It feels secure.

I love having my license and primary credit card with the phone. I can basically lock my wallet up when I’m traveling, and I rarely need to pull it out otherwise.

It also looks great, and it seems like the leather is breaking in as Twelve South indicates in the booklet they include with the case.

There are two drawbacks with this case. First, the cover can be awkward in two situations. When taking photos, the cover needs to dangle or get folded in the stand mode so that it doesn’t block the lens. When trying to use the phone one handed or as a phone, the case needs to be flipped around to the back (think of the smart cover on the iPad), which makes me slightly nervous about having the cards exposed. They are quite snug in their slots, but as the leather softens, I worry about the slots loosening up. Hopefully the cards will stay securely in their slots.

The second drawback has to do with combining a wallet with the phone. This weekend, for example, I had to use my card outside at a parking kiosk. It was raining, so getting to my primary credit card meant pulling my phone out and exposing it to the elements. Manageable, but not ideal.

Those are both tradeoffs I can live with, though. I really love this case. It looks gorgeous and functions well for me. Recommended.

I included some photos below of the case on my iPhone 6. (photos taken with a Google Nexus 6).

New iPhone case: SurfacePad for iPhone 6

Front of the SurfacePad

New iPhone case: SurfacePad for iPhone 6

Back of the SurfacePad

New iPhone case: SurfacePad for iPhone 6

Inside of the SurfacePad

  1. Truth be told, it’s still not perfectly square, which I only noticed when taking the pictures. OCD sufferers, take note. :)

Watch Thoughts

The Apple Watch had very few surprises. It was, as these things tend to go, a reasonable and well designed entry into the watch space. Like the iPad before it, it does enough to make it interesting, but really draws its strength from the surrounding ecosystem, built on the ridiculous popularity of the iPhone.

I do wish they had tried something a little more radical: lose the screen. My ideal Apple Watch based on what they’ve announced so far:

  • Apple Pay
  • All the fitness sensors, including the pulse sensor
  • bluetooth
  • Taptic haptic feedback
  • some customization

I really don’t care about the touchscreen and or the digital crown. I don’t want to read notifications or look at maps or touch message people. I have a phone, which will have a larger screen than ever before. I have no idea why I’d look at a maps app on my watch. Consider me unconvinced about the overall utility of smart watches in general.

But a secure payment wristband combined with fitness sensors and non-visual feedback/output (think Taptic)… I’m in. Bet the battery life would be awesome, too.

Path & Apple

It’s a single source, and I have no idea if it will happen, but I’m probably the only person I know that’s happy about Apple possibly buying Path.

My family uses Path as a very effective private-ish social network for our extended family. It’s the default place for kid photos, quick family broadcasts (“flight landed, at the hotel”), and other things where, quite frankly, we don’t want to share with out entire social network. The app is beautiful, well made, and fully featured. Heck, it even has private chat & stickers.

The only concern I have about Path, the company, is their somewhat iffy policies around privacy and data access. They’re nowhere near as bad as Facebook, but they clearly fall from the same tree. They’ve had a few privacy scuffles.

That’s what makes an Apple acquisition so enticing. Apple’s stance on privacy basically eliminates my only concern with them, and takes away Path’s monetization problems (and thus any motivation to sell our data in any way).

So, from my standpoint – I really hope this deal happens. It would be great for users, and Apple will get a fully featured social network they can wire into iOS to improve iCloud sharing.

What I’m Looking for from Apple Tomorrow

Like everyone else, I’m curious to see if the leaks have nailed the updated iPhones and what the wearable gadget looks like, and what new capabilities are in both that we haven’t expected. I’m also pretty sure that this won’t be the most important info from tomorrow’s announcements.

I always go back to the original iPhone announcement when I try and think about evaluating what matters from these sorts of product announcements. By far, the most important details of the new iPhone were mobile Safari coupled with an unlimited data plan at a reasonable-ish price. We got a new capability (real Internet on a mobile device!) with the means to use it without friction.

So, tomorrow, if Apple announces a mobile payment solution, for example, the key will be scoping the limitations around its use1. If it’s like Google Wallet (“hey, we’ll figure out where you can use it… some day”), then it’s obviously useless. Apple solves business problems when they ship features.

Also worth linking to my earlier post about why I hate the smart watch rumors I’ve heard so far.

Can’t wait for the announcements tomorrow.

  1. And there will be limitations. The original iPhone only had 2G, only ran on AT&T, and had limited enterprise integration. Ultimately, those didn’t matter for adoption in the first year, and were soon remedied in subsequent iterations. So, a lot of tomorrow will be figuring out if the limitations matter, and why. So far, Apple has a good track with this, especially for their highest priority project at any moment.

SSL & other notes

Just a quick note that Fatmixx is now https only – please let me know if you see any weirdness or browser complaints. I’m working on cleaning up loose ends that I know about (right now, the photos are borked because I’m working on my service that aggregates them, for example).

Speaking of that service, I’m keeping announcements and details about its ongoing maintenance over on the Forche blog. I’ll probably retweet those posts into my main Twitter account, but from here on out I probably won’t mention it much here.

Changes a comin’

For those of you that pay attention to these sorts of things, Proxigram has had some bug fixes and will be getting an overhaul soon. This blog is also undergoing some much needed maintenance and improvements.

At the top of my priority list right now is getting SSL setup everywhere and consolidating some of my hosting. Shouldn’t see too much on the user side, except for the switch to https when I finally figure out how to do that with my current web host.

Sad face – blog hacked

So, it looks like this site and the other blogs I host on this server were defaced earlier today. I’ve repaired most things I can check and have engaged the support team at my host to help diagnose the attack vector and other details.

I’m posting this publicly, though, because I know many of my friends (and former contributors to this site) have accounts on FM, so I want to make sure you’re aware that it’s possible that the passwords stored in this WordPress install might be compromised.

I’m also tempted to just blow away the blog and start over again elsewhere… it’s safer, and really, this blog could use a reset button.

Need Mavericks troubleshooting ideas…

(The post below lays out a system crash that had been plaguing my home system for a few months now. The updates are at the top – think of it like an email thread. Start from the bottom if you want the whole saga)

Update 5: OK, bug report submitted to Apple along with a consistent test case. The issue does really seem like a memory leak in the Spotlight plugin for emails, but I’ll leave it to the experts to sort out. It’s Radar rdar://problem/15695276 and I’ve submitted a copy to OpenRadar here (sans the email file, since it has real email addresses in there).

I went through and deleted every email larger than ~27MB, then turned on Spotlight indexing for mail. After that finished, I turned on Time Machine again. I haven’t seen the memory spike at all. So, this seems like the culprit.

On a related note, as I was submitting the bug report to Apple, I copied the email file to my MacBook. Immediately, it started feeling sluggish and stuttering. Looked at Activity Monitor and, sure enough, memory was going absolutely nuts. The MBP has twice as much RAM as the iMac, though, so I think it’s been able to recover when this happens (though it has locked up a few times that I can remember… probably because of this).

I’ll update if/when Apple confirms anything.

Update 4: no luck – crashed again after an hour or so. I found a bunch of other large emails still on the disk, so I think I need to clean them up. Or, I’m just wrong. Either way, more debugging later this week.

Update 3: Solved, maybe! So, I was able to narrow this down to files in the mail folder. I happened to inspect the mdworker processes in Activity Monitor and saw they were always in .emlx files around when the memory would spike. So, taking that as a clue, I told Spotlight to ignore that folder under the Spotlight Privacy tab and suddenly, machine stayed up. But… I also had to shut down Time Machine because that somehow uses mdworker or caused it to hit those folders, leading to another crash.

So, next step was to try and log what files mdworker was accessing. There’s probably a more elegant way to do this, but I ended up using fs_usage and then opensnoop, which are both part of OS X. They both let you see what files a process is interacting with while the process is running using DTrace hooks. The final command line was opensnoop -a -n mdworker | tee mdworker.log.

I then unblocked the Mail folder from the privacy settings and let Spotlight go (left Time Machine off for the first run). I let the machine crash a few times. After a few restarts, it was clear that largest mdworker processes last touched large emails that were in partial emlx (.partial.emlx) files. I manually ran mdimport against some representative files (mdimport -d4 /path/to/file) and was able to recreate the near 5GB kernel_task behavior. One email (~30MB on disk), in particular, added 7-8GB of SWAP space. It was crazy.

So, went and disabled TM & Spotlight again, went into and tried to delete the files and kicked off spotlight again. It all worked. Time Machine just finished, too. I think this may be sorted out. Fingers crossed – will wait a few days before declaring victory.

So, the only bummer is that in my zeal to see if those emails were the issue, I deleted them before backing them up somewhere. So… no test case to send off to Apple. These sorts of emails show up now and again for me (they’re basically digests of an attachment heavy PR mailing list), so I will probably have another sample case soon.

Update 2: crashed again. FML. I posted a screenshot of the Activity Monitor at time of death:

Update: So, this last reboot, mdworker was still running, but memory was fine. Then, Time Machine kicked on and started prepping a backup. That’s when memory usage spiked and memory pressure went red. I killed the TM backup, memory returned to normal, but then a few moments later, went crazy again. Hmm – it looks like at least one mdworker is indexing Mail right now… wonder if this is a variation of the Gmail thing in Mavericks?

I’m hoping the Mac mavens among you can help me find some ideas on how to debug an issue I’m seeing now with both of my Macs running Mavericks. I’m going to file a bug report with Apple soon, but based on history, that will take a while and I really can’t deal with this for much longer. I may just downgrade.

Short summary:

  • after some amount of time, measuring in minutes to a few hours, my iMac 27″ (from 2010) will randomly freeze, hard. Tapping on the Magic Trackpad won’t do anything, hitting a key on the keyboard will sometimes get the backlight to go on, but no screensaver will be visible. Just a dark screen. Only way to recover is to reboot.

  • Disk Utility & DiskWarrior say everything is fine with the drives

  • memtest passed when I ran off the recovery partition, but running it in my normal logged in state, the whole memory pressure red/swap going nuts thing happened and the system froze.

  • the most consistent symptoms I can see pre-crash, based on logs and live monitoring using Activity Monitor are the following. This is the situation just before it crashes:
    — Activity Monitor shows memory pressure is high
    — kernel_task memory usage is listed at 4.68GB (or more, but in that ballpark)
    — mdworker has 3-4 processes running, each listed at ~500MB

So, why would mdworker make kernel_task use so much RAM?

(Also, I’ve tried resetting my spotlight cache, removing old unused Spotlight plugins… no luck)

Other observations:

  • I tried turning off Time Machine, which seemed to help. My current theory is that when this crash happens, my computer is in the high memory_pressure state, caused my mdworker, and then Time Machine kicks in trying to backup and the world just stops.

I’m trying to catch that, but I’m busy enough that I doubt I will catch it happening…

Any ideas on where to look next or something to try?

(iMac has 8GB of RAM, but today my MacBook with 16GB of RAM just exhibited the same symptoms, and has been less stable than I’d like with Mavericks… I’m wondering if it’s just more stable because it has more RAM…)