Numu Beta Build 26

This is the first beta build created under iOS 11 beta. If you cannot download or install it on iOS 10, I apologize. Install the iOS 11 public beta, it’s great.

I had to wipe all user accounts and listening data. I apologize. I did perform a fairly major overhaul of the database structure to improve performance in the app. In the process I switched the user login system over to using email addresses instead of usernames, which makes more sense and avoids confusion with people forgetting their usernames. I apologize, but you’ll need to re-register your account and import your artists again. I’ll never do a full data wipe in the future, so you’re safe from here on out.

The “Your Arists” screen now allows you to search the entire Numu database for artists and follow them at-will. There are still some refinements to be made here–for example: the only way to follow or unfollow artists is to swipe left on the search screen, I need to add a button to the main Artist release view to follow / unfollow the artist; there’s no on-screen indicator notifying you that you’re following an artist or not, the website version solves this problem but adds an extra layer of confusion in its implementation.

I had to temporarily remove push notification support because PusherSwift doesn’t support Swift 4 yet, and I’m not smart enough to figure out how to convert it myself.

I decided to remove references to Spotify as well as the Last.FM Artist Import menu option. I have a few reasons for doing this. First, I don’t use Spotify, so I don’t care. Second, they don’t have a Swift library, and I don’t care to figure out how to have Objective-C libraries in my Swift project, so it was always going to have to be a web interface that handled it. Third, the Spotify link grabber stopped working, so I took that as a sign. Fourth, it’s more important that I get the app out in a way that works really well initially, and catering the app toward Apple Music users is a way to ensure a positive user experience. I’m sure when I release the app there will be people calling for Spotify support and I can add it back in later. In the meantime, the website version will eventually support Spotify and Last.FM artist import, I promise you, and then it’ll make it into the app.

Good Questions for IT Support Interviews

I was recently tasked with hiring someone to essentially run the day-to-day tasks and ticket upkeep for internal IT support at a retail chain (this is in-person and remote support). I’d assisted with and led the hiring of people for entry-level positions elsewhere in the company, but this felt like the first time the hiring was pretty high stakes: not only would this hire affect my happiness first-hand, but also others company-wide.

I had a very clear idea of the sort of candidate I was looking for: someone with a year or two of in-person IT support, and with an outgoing and confident personality style. If they had experience supporting retail, that was a plus, but not necessary. I came up with these requirements just based on my personal experience working in IT at the company, and listening to the sorts of complaints most people had about IT over the years–mainly that historically IT has been very shy and hard to communicate with. Knowing what I wanted from the start helped me develop the questions I would ask during the interview process.

Due to the volume of applications I received–by the time I sat down to go through them there were close to 40–I decided early on that I would do something uncharacteristic for the company and conduct phone interviews. I chose around 12 candidates to phone interview, and I planned on each phone interview lasting around 15-20 minutes.

To determine which questions I would ask, I did some Googling around the terms “good phone interview questions” and “good IT interview questions” and things like that. There’s a lot of sources out there. The questions I settled on were…

What do you know about us?

The phone interview was scheduled a day in advance, so applicants had plenty of time to look the company up online and familiarize themselves. If they did, good on them, that shows curiosity and preparedness.

Tell me a little bit about yourself.

This is a super open-ended questions that often got a question like “Do you mean professionally or…?” and I would usually just say, “You can tell me whatever you like.” In this case I’m just more interested to see what they choose to talk about, to get an idea of who the candidate is and how they see themselves.

What technology related blogs, podcasts, or websites do you follow?

If they’re really quick on the draw with some websites they read, then I know that it’s pretty likely that this candidate is a lifelong learner (a term that business seminars have pounded into my head), or in other words, is curious and interested in technology even outside of the work environment. I want a real nerd in this position, not someone who has wandered into IT by mistake.

What are your favorite and least favorite technology products, and why?

This is another open-ended question that receives a wide range of different responses. If I was asked this question, I would very quickly say “Apple products are my favorite, and least favorite are Android phones,” totally outing myself as a fanboy. But some candidates would list very specific hardware, or platforms, or even software. This is another question where the aim is simply to learn more about the candidate, the only wrong answer would most likely be no answer at all.

Why do you want this job?

I feel like this question is a bit of a curveball and I’m curious to see how I would answer it in an interview myself some day. I found that the people who did prior research on the company seemed to say something like “I want to do IT but I also would like to get involved in (company’s industry) on the side,” and that sounded like a line to me.

I felt like the best answers to this question were the people who had a good honest answer that went something like this: “I want to get back to doing the sort of work that this position would entail.”

The worst answer is the one I think I would be most likely to say: the half-joking, “I need a paycheck! Ha ha, but really…”

What is a typical day like at your current (or most recent) job?

I want to know if the job that they’re doing currently is like the job that they’re interviewing for. If it isn’t, is the experience still pertinent somehow? For a couple candidates I adapted this question into, “What was a typical day like at your favorite job?”

What reasons do you have for leaving your current (or most recent) job?

Another question where the purpose is more to learn about who the candidate is. In a way I can see this question as trying to bait a candidate into saying something bad about their former job or bosses, which is typically considered a red flag.

What skills have you learned recently?

One of those lifelong learner questions. Obviously the best answers would be something technical, but I received a couple interesting responses from new home-owners who are having to learn non-technical DIY skills.

What do you hope to get out of this job?

This question sounds like a re-hash of the previous “Why do you want this job?” question, but it did occasionally yield a different sort of answer. People who did their research would tend to say they hope to learn more about the company’s industry, but since an IT position would have nothing to do with that, I considered that even more of a wrong answer than before. A good answer would be something about gaining good experience, and being a part of something exciting and new.

What questions do you have for me?

Since this was a phone interview, I didn’t expect candidates to have many questions to ask, but I wanted to leave this cue in for me to ask just in case. Candidates asked me for benefits details, some asked me for more details about our hardware that was relevant to their particular areas of interest.

When performing the phone interviews I tried my best to keep it a very informal, relaxed conversation. I opened each talk with an introduction of myself, and an overview of the position and description of the day-to-day duties of it–always asking, “Does this sound like something you’d be interested in?” because if they weren’t, then we’d save a lot of time.

After establishing that they wanted the job, I tried to get any potential “deal-breakers” out of the way as quickly as possible. I’d carefully reviewed their application and taken notes at the top of my form on anything I wanted to address. If they wanted too much money, I brought that up. If it looked like the position was under their experience level, we discussed it. I really wanted to make sure that the candidate and I were on the same page before continuing with the process.

Once I got into the main question portion, I kept the conversational tone going by going off-script here and there. If something they said interested me, I would ask them about it. If they were answering one question and happened to answer another along the way, I’d jot it down but when we’d get to that question later, I’d still mention it and give them an opportunity to elaborate or offer up another answer.

Like I said at the start, one of my top goals was to get someone in the position who was outgoing and personable, so more than anything the phone interview was about that. If I conducted the phone interviews very straight-faced, just rattling off my questions, they would not have been nearly as valuable. The answers to the questions and the tone of the conversation were equally important in my book.

After the phone interviews I’d ended up with 5 candidates that I felt were worthy of in-person interviews. I had a co-worker sit in on the interviews with me, but I lead the interview and did all the talking. It wasn’t necessarily meant to be that way, but I think that having a second person in the room who ended up just taking notes on what the candidates were saying was just slightly unsettling enough to get some interesting reactions from them.

That’s not to say that I believe in trying to unnerve candidates. My hope was that the phone interview would lead to candidates being more comfortable for the in-person interview so that I could get a more genuine experience out of them. At the same time, it’s good to see how a candidate is going to perform in unusual circumstances, but with me by their side to make it a closer facsimile to the actual job. Yes, I might be over-thinking this, but over-thinking is essentially how I handled the whole process and it worked out really well for me (so far), so why not?

I needed to come up with an additional set of questions for the in-person interview. I already had a couple I held over from the prior research, but I did some more Googling and came up with an additional set of questions:

How was the drive?

It’s good to make some amount of small-talk before beginning the in-person interview, so I would often ask this question while we were getting seated to get the conversation started and everyone relaxed. It’s also a good question to ask just to see how far away they live and what their commute is like, either to find out for the first time, or confirm what the candidate has reported before.

I’d really recommend trying to find a little bit more small-talk than this to get started. Crack a joke about the weather. Say something about how it’s been a crazy day for you, ask how their day has been. Don’t small-talk for more than just a few minutes, but do something!

In which IT areas do you consider yourself to be an expert?

We want to know where the candidates feel most comfortable. If they’re experts on networks and switches, that wouldn’t be applicable to this position. If they say they’re experts at supporting users and troubleshooting desktops and connectivity issues, then they might be perfect.

How do you explain a technical process to a nontechnical colleague?

Since this position would be dealing with a lot of nontechnical colleagues, a good answer to this question was really paramount for me. One candidate wasn’t able to come up with a good answer on their own, so I threw them a bone: “How would you explain DHCP?” They fumbled around with that, which immediately told me this candidate didn’t have the technical nor communication skills necessary for the position.

Tell me a time when you successfully adapted to change.

A very generic interview question where I don’t have a correct answer in mind, but am more curious to see what they talk about and how they talk about it. If they talk about change in a really begrudging manner like getting through it was a rigorous chore, then that might not be a good thing. If they talk about change as if it’s a fun challenge, that’s better.

Can you tell me about a recent project or process that you made better, faster, or more efficient?

A candidate should be aware of their abilities and achievements. Being unable to answer this question either means that the candidate has done nothing above-and-beyond the set requirements of their positions in the past, or that they are lacking the self-confidence necessary to recognize their merit and achievements. In either case, it’s bad.

A user tells you that their internet isn’t working. What’s your first step toward diagnosing the problem?

I didn’t realize what a great question this was until I started asking it. Based on a talk with the current IT staff, the most-right answer is something like, “Step one would be to check that the internet is working on other computers in the area / on the same network,” which sounds about right to me as well.

That said, no candidate got this question completely “right”, but without a malfunctioning machine in front of you it’s really hard to troubleshoot what’s going on–it’s kind of a trick question. Candidates universally ignored the “first step” part of the question and ended up rattling off a laundry list of various troubleshooting steps, from checking with the ISP to checking DNS settings. Only a couple eventually landed at, “Oh, and I’d check if the internet was working on other machines on the network.”

In the end answers to this question told me a lot about whether or not the user had any real first-hand experience dealing with random IT issues. If they were able to start with the lower-level tests before progressing to higher-level troubleshooting, that was a good answer. If they said “Call the ISP” right out the gate… not so good.

As an aside, I realized early on that I had to specify that the candidate was supporting the user in-person because several candidates assumed I was talking about phone support.

How do you resolve disagreements?

Another very generic interview question, possibly too generic because it invites a very safe answer: “Communication, of course! Understanding and compassion.” Some candidates asked for clarification, like a specific example, and I would offer: “Imagine that someone is unhappy with your solution to their IT problem.” But still, the most common answer was the generic correct one, and it was hard for anyone to come up with a bad answer.

What does a good day at work look like?

This question is nearly a repeat of one from the phone interview. My main aim is to figure out what makes the candidate happiest, and weigh that against the actual day-to-day of the position to ensure that they’re compatible. The way a candidate talks about their good day can say a lot as well: is a good day exciting, or is it dull or monotonous? Their body language will let you know.

What does a bad day look like?

For an IT support position the most common answer to this was “wide network outage” or “500 tickets at once”, and I don’t think this question is useful for this sort of position. I can see the question being more open-ended in a different field and yielding interesting responses. Not sure what that field would be.

Tell me about something that you documented for others?

This was actually a really important question for this position. I wanted to make extra sure that we got a candidate who is not only good at communicating live, but also recording what they know for future reference. This was a hole I needed to fill in the department for sure. An elaborate answer to this question was absolute gold to me.

Do you have any other questions for us?

Since there was a phone interview and a good day or two between it and the in-person meeting, candidates had plenty of time to think of questions to ask. When I was on the other side of interviews in the past, I was usually that candidate who replied, “No, not at this moment,” to this question. Now that I’m on this side, I really do see that as a shortcoming and wonder how I was ever hired anywhere.

The top candidate for this position had a page of questions to ask. I don’t even remember what they were now, but it demonstrated that he was passionate, enthusiastic, and was really interested in the job. The candidates who simply shrugged and had nothing to ask in response didn’t seem disinterested, but they didn’t have that little bit of extra icing on the cake.

When I was originally going through resumes, I began to have serious concerns that I was getting too many top tier candidates and that I would be faced with making an impossible decision between multiple candidates who could all be a good fit.

I am happy to say that ultimately wasn’t the case. After the phone interview and the in-person interview, I ended up with one candidate who I felt was undoubtedly a great fit. I was prepared to end up with two or even three, and have the tie-breaker be the people who would handle the second in-person interview, but that wasn’t ultimately necessary: the one candidate was enough, and ended up getting the position.

I am reading a book about leadership, and the main thing it has emphasized so far is that you need to make real human connections with the people you work with. This is something I tried to do during the interview process. I wanted to make sure I felt like I had a good understanding of who the candidate was, how they work and what excites them, and I tried to craft the whole process around that goal. I think I did a pretty good job of achieving it. I encourage you to try to work more personality into your interview process, especially because company culture and the relationship you have with your workers is (in my opinion) the primary driver of productivity.

Numu Tracker Blog #1

Jesus Christ.

No one could have adequately prepared me for how difficult it is to single-handedly build an iOS app. Compared to the projects I have worked on in web development, iOS development so far has been around 500% more time consuming and frustrating.

Don’t get me wrong, it’s not bad. It’s just very different. I’m used to being able to just hack things out, but this is a different level. Hacking it out quickly just doesn’t work, for both sides of my project (backend and front end). On the upside, noticing problems on the front end is very easy. But for the backend, issues can pop up much later.

I cranked out the backend for Numu Tracker really quickly months ago just so I could get the app development going. I realize now that the cranking was done too quickly, and that I made a grave mistake: I only tested the import mechanism with artists that had very small release databases. Turns out this entire time I’ve only been grabbing up to 100 releases by certain artists, and depending on the size of that artist, all the releases were only albums.

I’m using a PHP library to access the MusicBrainz database, which was mistake number one. While developing the iOS app I have made attempts to avoid using third-party libraries and code whenever possible. Two reasons for doing this: I want to program these things on my own since I am learning; and I’ve found that relying on other people is generally a bad idea unless you’re paying them.

I broke this rule and ended up with a library that seems completely unaware of the fact that MusicBrainz will limit API lookup requests to 100 results with manual offsets and limits, and never noticed because I didn’t pay attention to any artists with over 100 releases. For a couple months now I’ve been running an automated system on the backend that is missing over half of Nine Inch Nails’ releases.

Furthermore my original planning of backend didn’t factor in the concept of ‘secondary types’ for releases. For example, Nine Inch Nails has several live albums. These are categorized as “Album” as the primary type, which is what I pull in. But they’re not just an “Album”, they’re an “Album + Live”. Numu Tracker is meant to have filters that allow you to filter out live releases and compilations, so importing every live album as “Album” roundly defeats this filter.

Basically, I fucked this shit up. The iPhone app is solid so far, all that stuff works fine so I don’t have to re-do any of that. But I need to rebuild the entire backend of Numu Tracker from scratch, knowing what I know now.

Best Albums of 2016, #8: Sleigh Bells’ “Jessica Rabbit”

I’ve been following Sleigh Bells since they played at SXSW for the first time. I wasn’t there, of course, but I listened live on NPR so my cred is only slightly counterfeit. I played their debut album to death. I saw them open for the “last ever” LCD Soundsystem show at the Hollywood Bowl and was profoundly disappointed (they were not good). I’ve played each of their subsequent albums to death as well. I am a Sleigh Bells fan, simply put.

Their steady progression into strange pop music has made me so happy for reasons I can’t quite explain. They are so unlike anything I have ever listened to in my life. Yet sometimes they feel so familiar. The closing track on this album, “As If”, feels like a homage to my teenage years. It’s an atmospheric and occasionally brutal track that sounds to me like the end of the world, like the last thing we’ll hear before dark forces wipe us out will be that stuttering, somewhat robotic “as if”. There’s some Atari Teenage Riot in there, nestled up against Alexis Krauss’ belted-out pop vocal. Sleigh Bells sometimes sounds like the last 25 years of pop/rock music got the William Burroughs treatment: chopped, pasted, subverted and screwed.

I’m sure some, many, would disagree with me, but I feel like this is the most “Sleigh Bells” that a Sleigh Bells record has ever been. Anyone with ears can hear that the utmost care went into the production of this album. Every beat, guitar riff, and synth stab is layered in lucious reverb. The richly textured songs are often simply beautiful to listen to, the details never getting overwhelming or feeling overdone. It might not sound like their debut album most of the time, or at all, ever, but that’s fine. This is way weirder, and I like that.

My favorite song on the album, far and away, is “Baptism by Fire”. Like many Sleigh Bells songs, it’s hard to parse exactly what it might be about. It’s not quite Paul Simon style word soup, but it’s damn close. I have no idea what the first verse means, but it doesn’t matter because when she sings, “and if you die, I might be dead a long time,” and the synthesizer stabs start going off with the bass drums, it feels like my chest is being squeezed and it takes all my power not to start dancing. The chorus makes me want to organize a flash mob just so I have an excuse to choreograph a dance routine to it. It sounds like love, loud and in your face.

I feel similarly about “Crucible”, another bowl of word soup. My best guess is that it’s a song about dealing with the stress and anxiety of being a workaholic, how easy it is to turn to darkness, and the eventual climb out of that hole. What I just described almost perfectly matches the last three months of my life so I’m probably totally wrong and just hearing what I want to hear. The song does feature this lyric:

Know I cut my hair with a pocket knife when I’m on fire

No fucking idea what that means.

But it doesn’t matter because the song is basically one giant eargasm. Her vocal is just incredible, and the music itself just makes me want to get up and shake my ass. I don’t even have an ass. It just makes me want to lose my shit. I don’t understand how someone could listen to this music and not feel overjoyed by how confidently strangely weird and wonderful it is. It is dark but optimistic, aggressive but beautiful, and strange but familiar.

The album isn’t perfect. There’s songs I could do without. Sometimes the songwriting is incomprehensible. But all of its shortcomings are overshadowed by how much there is to love elsewhere on the album, like the way “Hyper Dark” starts off with a strange underwater interlude, with the “uh oh” sample fitting in so perfectly. How did they think of this? That’s one of my measures for true art: I’ll sit there simply amazed that someone had this idea, or that they stumbled across it and nurtured it until it became what I’m witnessing. Jessica Rabbit is magnificent, warts and all. I can’t wait to hear what comes next.

You can stream Jessica Rabbit on Apple Music and on Spotify. You can also stream Jessica Rabbit on YouTube, if that’s what you’re into.

Sleigh Bells is on tour in the U.S. in March of 2017, you should check them out if you can. I’ll be at the El Rey show in Los Angeles on March 28th, if you’re looking to assassinate me.

Best Albums of 2016: #1, Jeff Rosenstock’s “WORRY.”

With every listen it only becomes more clear to me that Jeff Rosenstock’s “WORRY.” is the soundtrack to my slowly-progessing thirties. It’s an album about getting old (but not as fast as everyone else, it seems), being scared (of living in a society where every feeling you have is already commoditized, packaged and waiting for somebody’s dollar), wanting and finding love (maybe in spite of yourself), and being angry (about our propencity for amplifying ignorance and fear). There’s a song for everything I have felt so far and have yet to feel.

What helped the positioning of some of the bands in my Top 10 were their incredible live performances, but I haven’t seen Jeff Rosenstock live. It doesn’t matter, because his songwriting is so true to life that it just blows away everything else I’ve heard this year. Songs like “To Be A Ghost…” and “The Fuzz” feel like they were pulled from my own side. They stand on their own, walk around pelting me with wisdom, becoming good friends I’ve always known but had never met before.

I’m so tremendously thankful for all the wonderful music I have experienced this year, but I can’t help but feel a little more thankful for the wonderful words Jeff Rosenstock has put into my head, for the intensity and passion that imbues the voice they’re sung in, and the headbanging feel-good punk tunes that support the whole thing.

You can download “WORRY.” for free from Rosenstock’s own site, but you really ought to donate if you do. You can also buy WORRY. on Bandcamp. Here’s links to WORRY. on Apple Music and on Spotify. You can also stream WORRY. on YouTube, if that’s what you’re into.

The Arrival (2016)

I’ve been a fan of Denis Villeneuve since I saw Enemy in theaters twice back in 2013. That film is a waking nightmare, which only makes sense on the most subconscious of levels. Villeneuve seems to have two directors inside him, because Enemy bares little resemblance to his other two major English-language feature films: Prisoners, an emotionally brutal suspense film; and Sicario, a nihilistic drug war thriller. Both are relatively straight-forward films, with little of the dream-like flourishes that make Enemy, and now The Arrival, especially haunting.

The plot is relatively simple: a series of obelisk-looking UFOs have begun hovering over many different parts of the world. Amy Adams plays a linguist who is asked to figure out how to communicate with whatever is inside the UFO hovering over the United States. She’s joined by Jeremy Renner, playing a theoretical physicist who seems to serve no real purpose in the film except to be charismatic despite a total lack of chemistry with Amy Adams. As time goes on the film takes a very familiar nihilistic view of humanity, waves half-heartedly at an anti-war message, and then flies off into space with nearly no explanation as to why any of it happened.

In the middle of The Arrival, the film shifts perspective and, as one online commenter put it, “goes all Snowcrash“. We spend so much of the film just following Amy Adams around, once she’s busy grinding away at her project there’s no way to get us a wider perspective, so they just dump a bunch of exposition on us via a Jeremy Renner voice over. In a way, this feels like a little documentary stuck into the middle of the film, acting as a bit of an emotional intermission. I remember that this sequence opens with a wide, beautiful shot of Montana, like a breath of fresh air.

The film tends to play it pretty straight, but as Amy Adam’s journey begins to kick into high gear, a lot of Villeneuve’s dreamier techniques come into play. My favorite moment was the dream sequence where one of the visitors appears in the room with her. It’s a minor scare, not as much of a jump as the ending of Enemy, but as a fan of that film, it made me grin.

I would almost have nothing bad to say about The Arrival (that I haven’t said already), were it not for the ending sequence making me feel like the explanation was being pounded into my skull. When recommending the film to people I have said, “When you feel emotionally satisified and you understand what happened, just leave the theater at that point because nothing else is going to happen worth sitting through.” The movie almost made me cry, but then kept going for another several minutes until I no longer cared about what I was watching and just wanted to get out of the theater. I can only assume focus group testing is to blame for the overwrought, over-explained ending in this case, so I’m going to give them a pass.

I went into The Arrival feeling like I had a spoiler in my back pocket. A friend of mine on Instagram posted a picture of a coffee cup stain, hashtagged “#thearrival”, and once the movie got going I went, “Oh, goddamnit, the big twist of the film is going to be some stupid bullshit involving coffee cup stains.” Imagine my relief when this turned out not to be the case. If you’re staring at the screen and you’re thinking, “coffee cup stains”, that is way less important than you may think it is.

The Arrival ultimately didn’t feel like an instant classic to me. It was clever, beautiful, very nearly emotionally haunting, and I’ve recommended it to everyone who has any interest in science fiction, but there was just a little something missing. I’m not quite sure what that something is exactly. I feel that even Enemy, Prisoners, and Sicario all suffer from it as well. Maybe it’s a certain level of emotional detatchment that I can’t quite shake… that dreamy, nothing’s quite real feeling.

That said, I am thrilled that Villeneuve is directing Blade Runner 2049. I hope that a little of that Enemy-style darkness comes out in that film. On some level Ridley Scott films share the same aforementioned “dreamy detachment”, so that may work out for the benefit of Blade Runner 2049.

Swift 3 Expandable UITableViewCell Flicker

EDIT: beginUpdates and endUpdates works just fine, the immediate collapsing appears to have been an iOS bug that has been quashed.

Part of a redesign of the Numu Tracker interface involved figuring out how to create an expandable TableViewCell in Swift 3 to show and hide the buttons used for navigating to Apple Music or Spotify. I still haven’t found a perfect solution for this (as of Dec 5th, 2016), but this has been my journey and I’ll share it with you…

My first step on my journey was this YouTube video “iOS 8 Expanding Cell Tutorial (Swift)“. His Github has the code necessary for Swift 2, but the entire thing is simple enough that a Swift 3 implementation was easy to write from scratch.

I ran into a problem here however, this is the command used to trigger the animation for the cell expanding and collapsing:

tableView.reloadRows(at: indexPaths, with: UITableViewRowAnimation.automatic)

When performing this reload, it was causing my cell to “flicker”, essentially the text would fade out and back in really quickly. This was distracting and not ideal. I found other people with a similar problem, and the solution was replacing that code with this code:


This works for the most part, except that only the ‘expansion’ animates, the collapse snaps back to the original width. This is not ideal either, but is better than the cell flickering when you tap it. There’s another tutorial on YouTube that uses a combination, where beginUpdates fires, reloadRows next, and endUpdates after that, but there’s still a flash / flicker on his demo app, though it’s not as obvious.

Anyway, this is a fun problem I’m struggling with…