Showing Debug and Info Logs in the macOS Sierra Console

This is one of those "it's obvious in hindsight" problems I ran into recently.

At the day job, we have been migrating all of our logging code from Aspen to Apple's new Unified Logging System. This has been a win for the most part: we got to terminate a third-party dependency, while also getting some advanced features such as log filtering based on a category or subsystem.

The problem I ran into last week was trying to debug a background session issue on my iOS device. We use the different logging levels provided by os_log to help keep users logs a bit less chatty than just spitting out print or NSLog statements everywhere. By default, the new Console app in macOS Sierra only shows logs that match the error level (or have no level at all). I needed to see our debug and info log information.

If you watch the WWDC video on the new logging system they show you a few Terminal commands you can run to adjust your logging level on the Mac. It doesn't really show you how to adjust that for an iOS device plugged into your Mac, however.

Long story short, there's no Terminal command. There's two options in the "Action" menu on the Console. Just select "Include Debug Messages" or "Include Info Messages" and you are good to go.

Turn on info and debug messaging in the Sierra Console

I sure felt dumb once I figured that out. You win this round, Apple.

Read more about. . .

Improving the iPad By Making it an iMac

Jason Snell on “improving” iOS for the iPad:

Will we see a 20-plus-inch iOS desktop with a windowed interface anytime soon? I doubt it–but I could imagine one existing in the next three or four years. And I have to be honest, I’d be intrigued by the idea of replacing my 5K iMac with one. It just needs to be able to run a bunch of apps at once, and let me arrange them in a way that works for me.

Tabbed interfaces, multiple windows, and a laptop form factor? If he had just mentioned needing a file system, I would have hit BINGO.

Read more about. . .

The Conference Circus

I want to quote this entire article by Pedro Piñera, but I’ll just highlight my favorite part.

By tagging the elite as “experts” in different areas we put them under pressure. Pressure to keep that label and keep being active. I have to be at more conferences, I have to keep proposing more talks, I have to check Twitter or post that I opened a radar about a crash in the last Xcode version that is still beta. As you might guess some people can’t handle that and it leads them to burnout. I’ve heard it from a few developers. I had to stop attending conferences because I got burnout. Moreover, some can’t control the ego. Being part of the elite sets them levels above you. No matter how you approach them, the way they get back to you depends on the levels you are far from them. That’s very bad.

I spent a good chunk of 2010 to 2014 on the Conference Circuit accepting speaking gigs as exciting as a theatre in Australia to a Holiday Inn in the Chicago suburbs. I noticed pretty much the same things as Pedro. You had a pretty good mix of:

  1. Person who does nothing but conference talks year round. They talk about writing software more than actually writing software.
  2. Person who is incredibly unprepared and will just eat shit in front of their audience. This is the worst person of all.
  3. Person who is speaking for the first-ish time and has new and interesting ideas to share.

I’d much rather attend a conference with the third person than the first two. I want to learn from people in the trenches, not someone who makes their living collection frequent flyer miles going from conference to conference. When I stopped doing the conference circuit, I was worried I was spending way too much time becoming #1.

Now, I do one conference a year: 360iDev. Moreover, I will only do 360 if I have something new to share. I did three separate years worth of Auto Layout talks, each with a unique set of content for anyone that came annually. This last year I instead opted to do a talk on application architecture, because I had spent so much of the summer of 2016 digging into the guts of the application I work on most of the day and trying to imagine how to rearchitect it for its next 5 years of growth. Instead of just trying to sell more copies of the Auto Layout book by rehashing an old Auto Layout talk, I opted to take my newest learnings and share them with the audience. It takes me a week to prepare my presentation, but I hope everyone that leaves my room learns something and doesn’t feel like their time was wasted.

Fighting Back

Like most people in my bubble, the US Elections didn’t exactly go how I planned.

There’s been a lot of handwringing about how to best fight back against an administration that you and other like-minded folks are staunchly against. While I’m all for a good bit of slacktivism as much as the next guy, I’m trying to extend my anti-Trump rhetoric beyond just a safety pin and a few angry tweets.

Staying Informed

I admit that I have tuned out much of the news and politics over the last decade. As the right has gone farther right (and the left farther left), I have been left on an island in the center feeling unrepresented. Sticking my head in the sand and ignoring the issues hasn’t exactly worked out that well, so now I’m focused and paying attention.

Keeping up with the daily news of what happens in Washington, locally in Denver, and even globally is more important than ever.

The Affordable Care Act is flawed, but it’s also the only way I have been able to get healthcare in the last few years. I’ve long been rejected for individual coverage because I take anti-depressants. I’m otherwise a healthy, fit 34 year old. But my one $25 a month prescription was grounds for Anthem, United, or whomever to reject me. For all its flaws, Obamacare fixed that for me. If Donald Trump and his party want to repeal the ACA, they damn well better have a better solution. I’ll be paying attention and ready to judge that.

Supporting The Press

Beyond just paying attention to the news, I’m putting my money towards journalism more directly than just eyeballs through ads. I’ve subscribed to both the New York Times for my national news coverages and the Denver Post for local coverage.

The approximately $20 a month this costs me won’t pay anyones salary, but my hope is that if newspapers have a bit more money to work with, they can focus on keeping our leaders honest instead of just keeping their lights on.

Supporting Your Causes

I am not much for protesting, a bit too busy to work a phone bank, and way too socially awkward to run around trying to collect signatures or whatever people with outgoing personalities do. I am however able throw a little money at problems.

I have long been a financial supporter of the EFF, but my donations to other causes have either been nonexistent or one-off as I felt necessary. No more. I’m now a recurring supporter of the causes I care about and want to help protect.

You don’t have to support these, but if you are able, I’d recommend finding a group that you do align with, and supporting them however you can.

Netflix, iOS, tvOS, CenturyLink, and a Netgear Nighthawk, Oh My!

There is zero point to this post. I’m only writing it in case someone else runs into this issue. Hopefully they don’t have to spend as many hours as I did to debug this. Maybe someone can also explain why this was an issue in the first place.

For the last six months or so I have been unable to use Netflix on any iOS or tvOS device (version 10.x at the time of this writing). I could sometimes get my list of content to load, but any attempt at playback failed with generic Netflix errors. Even signing into my Netflix account would be a chore. If you search the Netflix support site they offer the basic unhelpful support information: have you tried restarting your device or router?

I have a CenturyLink Gigabit fiber line, so hearing that it might be an issue with my connection seemed wrong, especially when you consider that I use a variety of other streaming services without issue. The other questionable thing is that Netflix does work on any non-iOS device such as my Xbox One, TiVo Bolt, and (gasp) Android phone. Any device with a fruit logo, however, was a no-go.

My home network setup isn’t super complex, but it’s also not a stock setup either.

What I tried and What Actually Worked

My first thought was maybe it was some sort of Quality of Service (QoS) issue with the router. I checked and I didn’t have any QoS settings enabled. Just as an experiment I tried turning them on. Still no Netflix on iOS or tvOS.

My next experiment involved trying to put my tvOS devices as the DMZ host so they had a straight passthrough from the router to the open Internet. My hope was that maybe whatever is going on in the router that was filtering the Netflix connection would just be bypassed. Hopes dashed. Still nothing.

My last idea was based off a random guess, but turned out to actually work: I disabled IPv6 on the Nighthawk. Success!

I have no idea what issue is with the chemistry between Netflix, Apple’s network stack, my router, and IPv6. All I know is that I can now watch Black Mirror.

Update: Maybe it has something to do with IPv6 being blocked by Netflix’s war on VPNs?

Read more about. . .