I’ve taken a break from Twitter for a while. This means unfollowing everyone. I am using Twitter Lists, though, so I am keeping track of events as they occur.

I have opened up my Direct Messages, and will respond to DMs (following the golden rule, of course).

Books To Read This Winter

Warren Ellis (the British author, not the Australian musician, though both have immaculate beards) asked his friends to recommend one book to read this winter.

I recommend subscribing to his Orbital Operations weekly newsletter.

I asked a bunch of friends for the name of one book they planned to read this winter. I am delighted to be able to share their suggestions with you.

Ingrid Burrington, author of NETWORKS OF NEW YORKThe Mushroom at the End of the World, Anna Tsing (UK) (US)

Lucy Swope, GHOST COP: Jerusalem, Alan Moore

Chris DuFour, White Canvas Group: Twin Peaks: A Secret History, Mark Frost

Steve Prue, photographer: Necrophilia Variations, Supervert

John Rogers, writer/producer: I Contain Multitudes, Ed Yong

Gideon Kiers, Sonic Acts: The Melancholy of Resistance, László Krasznahorkai

Elliot Blake, Amazon Studios: Before the Fall, Noah Hawley

Benjamin Percy, author: The Once and Future King, T.H. White

Damien Williams, writer and teacher: Magic In Islam, Michael Muhammad Knight

Klint Finley, writer and journalist: A Paradise Built in Hell, Rebecca Solnit

Jim Rossignol, videogame producer: Landmarks, Robert Macfarlane

Sean Bonner, Safecast: Everything Belongs To The Future, Laurie Penny

Kyoto Kitamura, vocalist and composer: Showa 1926-1939, Shigeru Mizuki

Justin Pickard, anthropologist: Iraq + 100, ed. Hassan Blasim

Robin Sloan, author & media inventor: Hild, Nicola Griffith

Anab Jain, Superflux: Being Mortal, Atul Gawande

Nalden, co-founder WeTransfer: Postcapitalism, Paul Mason

Chris DiBona, open source director at Google: Luftwaffe Over America, Manfred Griehl

Richard Kadrey, author: Gourmet Ghosts – Los Angeles, James T. Bartlett

Kio Stark, author of WHEN STRANGERS MEET: The Mushroom At The End Of The World, Anna Tsing

Ganzeer, artist and writer: Pictures At 11, Norman Spinrad

Johannes Kleske, Third Wave Berlin: Four Futures, Peter Frase

Arikia Millikan, writer/editor: Cloud Atlas, David Mitchell

Georgina Voss, writer/researcher: The Democratic Surround, Fred Turner

Douglas Rushkoff, theorist & writer: The End of Time, Julian Barbour

Julian Simpson, writer/director: The Nightmare Stacks, Charles Stross

Dan Novy, MIT, Magic Leap, VFX artist: Jerusalem, Alan Moore

Patrick Pittman,writer/editor: This is the Place to Be, Lara Pawson

Kiyash Monsef, writer/director: Universal Harvester, John Darnielle

Jay Springett, artist/theorist: Ifá: A Forest of Mystery, Nicholaj De Mattos Frisvold

Paul Graham Raven,writer: Words Are My Matter, Ursula le Guin

Samuel de Goede, writer: Wild Irises

Deb Chachra, professor: Staying with the Trouble: Making Kin in the Cthulucene, Donna Haraway

Adam Rothstein, archivist, writer & artist: Great Tales of Jewish Fantasy and the Occult, edited and translated by Joachim Neugreoschel

Mikey Pryvt, writer: Star Ark, Rachel Armstrong

Louisa Heinrich, strategist: Star Maker, Olaf Stapledon

E Paul Zehr, professor and author: The Dead Mountaineer’s Inn, Boris & Arkady Strugatsky

Corey White, author: Everything Belongs to the Future, Laurie Penny

Klint Finley, writer: A Paradise Built in Hell, Rebecca Solnit

Wayne Chambliss, strategist: Notes on the Underground, Rosalind Williams

Am I going to read all of the books on this list? Probably not. However, I’m sure you’ll find something to keep you warm.

New Host

I’ve recently moved this website to a new hosting provider. Let me know in the comments, or on Twitter at @rabryst, if you see any weird stuff happening.

What Would You Do?

Many years ago, my family was on holiday at a cottage owned by an uncle. It was a seaside cottage, with no electricity. Light was provided by paraffin lamps, and cooking was done with bottled gas plugged into a gas oven.

One evening, my brother and I, both recovering from chicken pox, were comparing our shadow sizes in front of a paraffin lamp placed at our bedroom door. I was demonstrating, and he was fascinated by, how proximity to a light source could influence the size of a shadow on the wall.

For whatever reason, the lamp was knocked over and landed on the floor, and the glass, paraffin and flames spread quickly.

My father was there almost immediately, but as it all happened so fast, I noticed before he did that the base of the lamp was right next to the door of another bedroom, and the flames were already licking at the wood.

I pulled the lamp away from the door by its handle, taking care not to cut myself, and my mother appeared with a large blue blanket, which she used to smother the flames. It all must have taken less than a minute. There was yelling involved, obviously, but I do recall an exchange, though not word for word, between my father and I, explaining that I was trying to move the lamp to avoid burning the cottage down.

We were all terrified. Needless to say, I didn’t know how I would have reacted until the actual incident. For many years afterwards, I relived the moment where I saw the fire spread to that door. I still remember what I was thinking at the time: fire eats wood. I was ten, my brother was six, and my sister was two. My only thought was to get the fuel source away from the door. I didn’t even think about the consequences of burning my hand or getting cut by the broken glass.

Six years ago, shortly after moving to Canada, I watched and fell in love with a show on Discovery called Canada’s Worst Driver. In that show, a driving instructor called Philippe Létourneau demonstrated a defensive driving manoeuvre where if you are driving in icy conditions and you can’t stop in time, you can make a lane-change manoeuvre to drive around the obstacle, without applying brakes, which slows the vehicle enough so that the brakes work.

During an Edmonton blizzard, I found myself in a situation where I couldn’t stop my vehicle in time. I called on that memory and was able to change lanes (blind spot, mirror, indicator) and bring the car to a stop, almost level with the car we almost hit. It took about four or five seconds for that entire manoeuvre.

Adrenaline makes you do interesting things. I’d love to hear your stories.

What to do at PASS Summit 2016

(Originally posted on my SQL Server blog.)

Next week, while blog posts are scheduled as expected, I will be attending my third PASS Summit.

Summit 2014

In my first year, I attended every single event I could.

The Monday night started with Steve Jones’ regular Networking Dinner. When I arrived, there were already over a hundred people there, all of whom I didn’t recognise. Until I saw Ed. Ed Watson and I had met in Tampa, FL, at a SQLskills Immersion Event in 2012 and stayed in touch on Twitter. I met new people that night through Ed and reconnected with the folks I’d met at the five Immersion Events I’d attended in 2012 and 2013. The Summit hadn’t even started, and I was already seeing its benefits.

On Tuesday was the First-Timers’ Orientation Meeting & Speed Networking event, where I met some folks with whom I reconnected repeatedly during the week. There may be thousands of attendees every year, but humans recognise familiar faces in a crowd, and we didn’t need to feel overwhelmed.

Later on Tuesday night was Denny Cherry’s long-running SQL Karaoke evening, where I met Argenis Fernandez for the first time in the flesh, and sang a duet with Ed Watson (Sonny & Cher’s I Got You Babe).

There were many vendor-sponsored networking events as well, where we received free food and beverages. I attended several of those.

I also attended both keynotes (hint: the first keynote on the Wednesday is marketing, so you can sleep in – but take note, Brent Ozar thinks it might be worthwhile attending this in 2016. The second one, on the Thursday, is worth attending), and I can say that Rimma Nehme is amazing.

I attended a lot of sessions. Many of them were incredible. I had my brain melted by Bob Ward’s talk, “Inside SQL Server I/O”. If you get a chance to view this online, do so.

I hung out a lot with another friend, Larry Toothman, whom I’d met in Tampa at the same SQLskills Immersion Event where I’d met Ed. Sadly, Larry died in 2015, but the SQL Server community was incredible with showing support to his husband, and keeping Larry’s memory alive by sharing stories and handing out ribbons.

Here’s a picture of Larry and me, with Paul and Kimberly.

The main takeaway I had was that I had to return in 2015. The networking aspect alone made it worthwhile. The learning was the cherry on top.

Summit 2015

In 2015, I took a calmer approach. While I still attended a lot of technical sessions, I went to two pre-cons (pre-conference events, which are run separately and cost extra). One was PASS-sponsored, and I got to learn a lot from Aaron Bertrand in his “50 Things All SQL Server Developers Need to Know” full day session.

My other pre-con was unpaid, and unsanctioned by PASS. I attended the Brent Ozar Unlimited “FreeCon” event, with 49 of my closest friends, to learn the things you need to know to market yourself better. That’s the reason I now write at least one blog post a week and have made a bigger effort to sell my skills as a consultant.

I sang another duet with Ed, at the new SQL Karaoke venue (Summer Nights from Grease) and had an impromptu group of ladies helping me sing Sandy’s part.

While I did attend both keynotes again, I decided I would skip the next year’s Day 1 Keynote, because it’s pure marketing. In the second keynote, Rimma Nehme was back again, incredible as ever, with David DeWitt to assist her.

I also did not attend every session I’d planned, because the rumours were true: I was gaining more knowledge by networking with people. I met some new people, including Ewald Cress, a guy I went to school with in a rural town in the middle of nowhere.

Bob Ward melted my brain again, but this time his talk was easier for me to understand. I sat next to Gail Shaw, a fellow South African I know from the old country, and we agreed later that the 2014 talk was a lot meltier.

I met Steve Stedman in the flesh, after taking part in a Database Corruption Challenge he had run earlier in the year. As it turned out, Steve and I did some business together in 2016 as a direct result of this networking. It works, folks.

On Friday evening, David Klee invited a group of us to try again at karting. In 2014, due to bad planning with taxis, we missed out, but ended up crashing a birthday party of my favourite Australian, Rob Farley. Rob and I got to know each other during Steve Stedman’s corruption challenge too.

2015 was more successful at karting too, because I won the final race with David coming in a very close second place.

Summit 2016?

More networking. More karaoke. Because I’ll only be arriving on Tuesday this year, I will miss some of the unsanctioned festivities, but rest assured I’ll catch up with everyone again. I also plan to have my brain melted by Bob Ward. Alas, his talk is the same time as Gail Shaw’s, so I won’t be able to heckle her.

Advice for newcomers

If this is your first year, definitely do the orientation first, and check out the sessions that interest you.

On the other hand, don’t forget to introduce yourself to new people and talk to them about SQL Server. If you are on Twitter, and follow any of us in the SQL family on Twitter, come and say hi. (Heck, even Grant Fritchey, Executive Vice President of PASS, agrees.)

I’ll be wearing my trademark black EAT SLEEP RAVE REPEAT CREATE READ UPDATE DELETE sweater (don’t worry: I have three of them, and they get washed). Since I have terrible concentration, eyesight, hearing, etc., I’m usually sitting right at the front of each session I attend, so you can’t miss me.

Speaking of Twitter, come find me on @bornsql or @rabryst and let me know if you’ll be at Summit 2016. Come to Denny’s karaoke evening.

The golden rule applies to Summit, as it does in life. If you’re respectful to fellow attendees, the favour is returned, and you’ll become lifelong friends with lots of folks, who will be happy to help you out in a bind.

14 August

Two vastly different reasons for remembering the date today, and both have resonance.

14 August 1989:

The resignation of PW Botha
The resignation of PW Botha

(Picture credit: Alex Jay on Twitter, but I’m not sure where he got it from, because it’s a photo of a frame from a public television broadcast.)

State President PW Botha, the second-last apartheid-era leader of South Africa, the cause of economic sanctions against the country due to his defiance of majority rule (South Africans of European descent only counted around 11% of the population), and a pretty scummy dude, but less scummy than the previous ones. His successor, FW de Klerk, dismantled apartheid and made way for majority rule, in a bloodless transition of power, with the help of Nelson Mandela.

Anyone longing for the old days need only remember that this guy here was a fascist. His actions caused the torture and death of many innocent people in the name of white supremacy. He never apologised for what he did.

14 August 2005:

I met my future husband on this day after a play rehearsal. I wrote this on Facebook:

A love story.

Eleven years ago today, I was deep into rehearsals for my debut as Macbeth, in a one-act comedy called Mac The Knife. All my lines were straight (!) from the original Shakespearean script, and I still remember them. Originally directed by Dylan, John took over from him. Leather pants were involved, as was a highland dance-off against my arch-nemesis Macduff, played by Julia. After the rehearsal on Sunday 14 August, I went on a date. My last one ever, because the ones following were just making sure. I knew that night, and Chris will vouch for it, that Marinus was the one. We will be celebrating our 9th wedding anniversary in two weeks. Marinus is going to be a theatre widow for the next two months again as I play Officer Troughton in Run For Your Wife (Morpheus Theatre), but I won’t be wearing leather pants.

Thank you, Marinus, for helping me become a better person, and supporting my habit of pretending to be other people. I love you. Happy first date anniversary.

Every day holds good and bad memories. It’s on us to remember things for the right reasons, no matter where they fall on the goodness scale.

The real value of 70 percent

I wrote previously about an expensive experience with In-App Purchases (IAP) running rampant, to the tune of almost four hundred dollars. This follow-up contains some good news.

As part of the conflict resolution protocol, Apple’s customer service representative, known only as Az, was very quick to offer assistance. My mother-in-law didn’t respond to his original emails, so I took the time to write back on Monday afternoon and received a reply later that evening.

For certain reasons, Az was only able to refund what amounted to $270, or 70% of the original amount. Taking into account my mother-in-law’s original intent of spending $34.99 for coins for this game, the refunded amount is closer to an 80% refund, no questions asked.

Thank you Apple Canada, and thank you Az, for taking this complaint seriously. I don’t think much will come of the problem with IAP in the long run, considering the highest revenue generators in the App Store (six of the top 50 grossing apps on the Canadian store, as of this writing, are slot machine style games), but at least Apple is responding to complaints in a fair manner.

I would still like to see these two changes in the Family Sharing feature:

  • approval of all purchases, no matter the age of the family member;
  • notification of in-app purchases exceeding a certain limit (e.g. $50)

If you have any IAP horror stories, feel free to leave a comment or find me on Twitter at @rabryst.

In-App Shenanigans, an iOS Story

This is not a judgment on Apple (or other platforms). This is not a judgment on this particular app, either, even though I think it’s scummy. Let’s get this out of the way right off the top.

Earlier this week I received an email from Apple, as usual, notifying me of an in-app purchase (IAP) made by a member of the family.

Our family consists of me as the primary credit card holder, my husband, and my mother-in-law. This is important because we’re all over the age of 18.

My husband and I live in Canada, and my mother-in-law lives in South Africa. The Canadian iTunes and App Store offerings are much better than South Africa, for myriad reasons, which is why we added her. She gains access to our purchases and Apple Music. It’s a win-win.

Here’s the email I received.

A word about how I read emails: FAST. I use a system of pattern recognition developed over many years, and when an email looks fine, I file and ignore it. This is why I spot spam and malware very quickly, when shapes of words look “wrong”.

So this was a legitimate email, but what struck me was the amount. I usually ignore purchases under $20–$30, but that number looked big.

What was also interesting in this case was the app. I’d seen this before, so I looked in my email archive. Sure enough, there have been several in-app purchases from the same device since the app was downloaded (free of charge, of course) on 31 March 2016.

Problem 1: Inaccessible IAP for Family Members

I clicked on “Report a Problem”, and that’s where I noticed a significant flaw in the Family Sharing feature. If you did not make the in-app purchase yourself, you cannot see the details. The page returns no results.

After a frenzied iMessage conversation with my mother-in-law in another timezone, she was able to send me her password, and once I logged into iTunes with her account details, I could review her in-app purchases.

Problem 2: Email Notifications

This is where I discovered another issue, one I’ve maintained is problematic with email itself. Not every in-app purchase generated a receipt email. Email is broken. It does not guarantee delivery. Apple can’t fix this. I don’t know how to solve it.

According to the account details, a few more in-app purchases were made from the same device. This is not all of them.

Since 31 March 2016, the in-app purchases from the device totalled a few pennies under $390 (three hundred and ninety dollars).

Problem 3: Scummy Developers

I decided to install the app to find out how this happened. My mother-in-law is smart. She’s been using iOS since almost the start. She understands IAP, and she asks before doing an in-app purchase on games she likes. Until April 2016, she had spent under $200 on the App Store in six years.

It did not take me long to figure it out.

The game, like any other free-to-play game, will prompt you to buy extra plays. Because it’s a slot machine game, this is sold as extra spins on the slot machine.

I spun the wheels about twenty or thirty times. There were the usual flashes of light and colours and shiny things game developers know to put into a game to keep you playing.

And then this is where it all broke down.

If I tap in the open areas, nothing happens (thank goodness). If I tap on one of the three options, I’ll be prompted to spend money. No thanks. So I hit the X on the top right to cancel out of this madness.

And this is what greeted me, even after reinstalling the game.

Anyone want to tell me how to continue? Anyone? Bueller?

Using my 33 years of computer experience, I’ve decided that to continue with the slot machine game, without buying coins, I’d need to tap on the face of Venus. How Freudian. I deduce that there are puzzles I’d have to complete to unlock the other machines.

Since I’m twice shy, I decided to quit the game and delete it once and for all, without risking anything else.

No wonder I’ve got almost $400 worth of IAP on my credit card. This confused me, and I’ve been working with software for over three decades. And I got maybe 30 spins on the wheel.

Problem 4: Reporting IAP Doesn’t Work

Now that I was able to log in as the purchaser on iTunes, I could click the link (in the same receipt email, mind you) and was able to report an issue with the latest purchase.

I understand economics and cooling off periods and contracts. If we couldn’t get some money back from the older purchases, at least $69.99 could be returned. It was in the last week, after all.

I selected the option “Didn’t mean to purchase this item” from the dropdown. After filling in a comment, I submitted and got back the following reply:

This purchase is not eligible for a refund.

Alrighty then.

Taking a look through the other options, I declined choosing “I didn’t authorize this purchase” because, frankly, I did. A court would look at the reasonable man argument, and a reasonable man would say “the purchase happened” because the user (my mother-in-law) entered her password or touched a fingerprint reader, and the receipt was processed by Apple.

Problem 5: Daylight Robbery

I have been writing software since 1983, and I did it for a living for a number of years. I understand that software developers need to eat. However, a mainstream game on a console system, PC or Mac platform, even with DLC (downloadable content) that is charged for in addition to the game, won’t cost me $390. The Sims 4, part of the most popular franchise ever, costs $60 with DLC. If someone is spending over $100 on a game, I want to know about it.

This is not a problem specific to this game, I’m simply using it as an example.

Problem 6: Inconsistent Password Prompts

I get asked to enter my Apple Account password so many times these days on my devices. Imagine this happening when you’re trying to dismiss a “BUY” button in a slot machine game. You click cancel, your finger slips and you accidentally tap the expensive option on the right. Flustered because that stupid password box came up again, you sigh and enter your password anyway.

Problems that Apple Should Address

I identified two main problems through this experience that I would like Apple to address.

Firstly, please let me turn on approvals for any purchases, for any family member, regardless of age.

Secondly, please let me review purchases for all family members from my own account. If it’s good enough for someone to use my credit card, I’d like to be able to report an issue.


There was one time my mother-in-law did want to buy coins, for $39.99. She even texted my husband at the time and said she’d pay him back. So for every other purchase on that game, I submitted a request under “Problem is not listed here” and said none of these purchases was expected except for the one for $39.99.

If Apple responds favourably, I’ll be surprised. This is a major revenue stream for them. No wonder developers are excited about IAP and upcoming Subscriptions.

In the meantime, please be wary of IAP. It’s not a bad thing if used appropriately.

Statement from Pulse, Orlando

Statement from Pulse - Like everyone in the country, I am devastated about the horrific events that have taken place today. Pulse, and the men and women who work there, have been my family for nearly 15 years. From the beginning, Pulse has served as a place of love and acceptance for the LGBTQ community. I want to express my profound sadness and condolences to all who have lost loved ones. Please know that my grief and heart are with you. – Barbara Poma, Owner
Pulse statement

Like everyone in the country, I am devastated about the horrific events that have taken place today. Pulse, and the men and women who work there, have been my family for nearly 15 years. From the beginning, Pulse has served as a place of love and acceptance for the LGBTQ community. I want to express my profound sadness and condolences to all who have lost loved ones. Please know that my grief and heart are with you. – Barbara Poma, Owner