17-May-2019 (Fri)
Wherein it's now easier to buy tickets.

I just added a User Account system to the DNA Lounge store. So now when you buy tickets, you can enter a new password too, and it will create an account for you. The next time you log in, it will remember your card and your billing address, so next time, you just log in and hit Buy.

I've wanted this for years, but I kept putting off implementing it because it just sounded like a pain in the ass. There are a lot of moving parts: verifying email addresses, "forgotten password" emails, login throttling, etc. I would periodically search around for some PHP library I could just drop in, but no such luck. The relevant libraries out there all have a list of dependencies as long as your arm, and also mostly seem like someone's "learning experience".

I previously tried to get most of the way there by just having the store save your billing address (but not card) in the browser's localStorage, so at least you wouldn't have to re-enter that. But that wasn't terribly helpful. From what I'm seeing in the logs, it appears that iOS devices tend to erase localStorage pretty frequently: I was seeing months-old session cookies, yet purged storage.

Anyway, I finally just said "fuck it" and knocked out 2000 lines of code in a couple of days. I think it works pretty well. Shit, I think people get VC funding for less. Anyway, let me know if you find any bugs.

You can help test it buy buying tickets! Let's say, just for example, to The Black Manifest, Dead Souls, Death Angel, The Drowns, Bridge City Sinners, Gender Circus, and/or Turbo Drive.

Wherein a winnar is us:

BEST BAR THAT CONSTANTLY INVENTS NEW CURRENT-EVENT INSPIRED COCKTAILS -- DNA Lounge

You'll only find cocktails named R. Kelly's Tears or the Papa Smurf Cocksucker at DNA Lounge, whose seven -- count 'em! -- seven bars invent original cocktails with names taken straight from the headlines or the material being performed that night on stage. The home of Bootie SF, Hubba Hubba Revue, and Mortified started naming cocktails after internet memes during the "Shut up Woman! Get on My Horse!" craze of 2009, and they've since started mixing political-themed cocktails like the Self Vaxxer or Sing This Collusion To Me. The Valar Starbuckus was recently added after a famous prop accident on a popular zombies-and-dragons TV program.

Honorable mentions: The Sacralicious, Pedopear.

Arcade games:

Both Tempest and Star Wars are dead. I dunno, it's almost as if 40 year old hardware that was designed for a 3 year lifespan has reliability problems! Tempest's monitor died and I thought I had fixed it but I was wrong and now It think something else is wrong too. Star Wars is having a power supply problem, I think, maybe. Investigations are ongoing.

Oh, but I did put better coin mechs in all four games, so they should jam up less often. Also I put an NVRAM kit in Pac-Man so that it remembers its high score -- and someone racked up 134,000 last week, which is a pretty respectable score. We're making over a HUNDRED BUCKS A MONTH on these things!! The rains have come and the crops are saved!!

You may have noticed that we're closed tonight, and last night: both rooms dark on a Friday, and a Thursday. That's just fucking tragic. It's because we literally could not find a single event that would have been able to draw 100 people. So yeah, maybe collecting quarters is what we've been reduced to.

Incidentally, we only had three new sign-ups for our Patreon last month, so now would be a great time for you to up your contribution.

Dog tags:

You know how we used to sell dog tags? Well if you have one, hang onto it, because they're unobtainium now. We can't find any manufacturer who can reproduce them these days. The old ones had the logo etched into the metal: it wasn't deep, but you could tell, there was some physicality to it. But what all of the dog tag manufactures these days call "etching" is more like "we painted it with enamel, and then lightly scraped off some of the paint". They're awful, so we've discontinued them rather than being awful.

Actually I use the word "sell" loosely here, because over the last two decades we've sold about a hundred of them online, but many thousands of them have left the building...

Keeping it Real:

The other day I was chatting with a guy who said something very flattering about us. He said, "I work at a club in San Jose and we sometimes do events like this but... down there it always feels like 'an EDM party in a club." But at DNA, it's a rave!"

So kudos to our staff for that! It's a very fine line to walk when allowing a party to feel "underground" while also keeping people safe, and they've been doing a great job of it.

The ongoing dismantling of San Francisco's local music scene:

Hey, you want to see something depressing? Hemlock has finally been literally demolished:

The ongoing dismantling of San Francisco's small businesses:

Here's a great article about those blatantly criminal enterprises that we euphemistically call "Delivery" "Services". They're just the worst. No, wait, Twitter is the worst. No, wait, I mean Facebook is the worst. Oh there's just no bottom, is there.

Custard's Last Stand: Mission Pie vs. the gig economy

Heisler's workforce is all employees. They have health insurance. She hands over payroll taxes and, additionally, with more than 20 employees, she and her co-owner Krystin Rubin are subject to any number of "employer mandates" this city has chosen to impose on its resident businesses.

Well, some of those businesses: The app-based food delivery outfits do not tend to categorize their workers as employees. They do not tend to offer workers healthcare. They do not tend to pay the requisite employment taxes. They do not deem themselves subject to employer mandates. And yet they claim their pound of flesh from brick-and-mortar establishments that pay all these taxes and do all these things.

"If this was a fair competition, I would be willing to accept it if the consumers didn't want what I had to offer," Heisler says. "But I am not willing to accept being outcompeted by virtue of another sector being given a pass when it comes to compliance with the law."

"We will not participate. We will not be extorted from."

[...] As such, Newsom's message in the wake of the Dynamex ruling hasn't been "enforce the law." It's been about collaboration and conciliation and creating a blue-ribbon panel to "expand worker opportunity."

That's fun. One could argue that the state Supreme Court's ruling already did just that.

There are a few recent photo galleries. Oh, also mixtapes 203 and 204 saw the light of day since my last blog post, too.

Dorkbot
Hante + Box and the Twins
The 69 Eyes + MXMS
Hubba Hubba Time Machine
I'm perpetually thinking, "Eh, I don't really have much to talk about in a blog post" and then once I start typing, a thousand words comes out. I'd like to post shorter entries more often, but somehow I never end up doing that.

13 Responses:

  1. MattyJ says:

    It's the gig economy, all the way down.

    I'll have to brush up on my Pacman skills. I spent two hours on it one time, rolling over the score on my first life. Then I had to take a mad piss, flubbed the hiding spot and died. There may have been a scrap piece of paper in the coin box commemorating the event. :) Or maybe I threw that away.

  2. Jeremy Wilson says:

    A local bar here went full force on having pins and vids and now it's busy even on Wednesdays.

  3. Jonathan says:

    I wasn't aware that you had Tempest or Star Wars @DNA. I hope one day to witness them myself. Last year, I went to "Arcade Club" in Bury, UK, as part of a Stag weekend, which has two floors of arcade machines from various eras. Coincidentally (or not), my two favourite games at the whole place were Tempest, and Star Wars '83 (which they had at least two instances of, situated next to a '93 or '98-era Star Wars game, which only served to highlight how fantastic the '83 one was)

  4. Coward says:

    I appreciate you doing that, but please be aware that credential stuffing is rampant these days. It's a huge problem these days, especially considering that you'll be storing payment data, etc.

    • Coward says:

      In fact I would go as far as suggesting not doing any user / password management and using OAuth + Google/Facebook/etc.

    • jwz says:

      Not my first rodeo. I don't ever see or retain the credit card number, it goes through a nonce provided by our payment processor, authorize.net.

      As for the OAuth of Fealty, I will not tie my business to the whims of Google or Facebook. It would be great if there was a widely-used, stable and trustworthy identity service, but there is not.

      • Congratulations on the win but… SF Weekly's getting way over-specific with the categories these days, aren't they? (Not just this one.)

        • Huh, weird. That's not where I intended to insert that comment.

          Up here, I meant to say: thanks for clarifying where the CC gets stored! (I still think I'll probably choose not to have it stored, if possible, but that's on me.)

  5. Stephen says:

    Hi Jamie!

    You mention: "Anyway, I finally just said 'fuck it' and knocked out 2000 lines of code in a couple of days."

    I'm sincerely curious about something, and I hope that you interpret this in the genuine manner in which I intend the question to sound. Before you banged out the 2000 lines of code, did you create some kind of outline to help guide the process? I guess at some level I often perceive you as being so next-level when it comes to pretty much everything that I honestly wonder if you are able to just start coding without much forethought and essentially have a clear vision of what you're trying to create without having to really think about it. An entire blog post devoted to the topic of how you approach software design and/or coding projects would be insanely insightful. Thanks!

    ^Stephen

    • jwz says:

      I made a list of feature requirements, then wrote the database schema, and by the time that was done I was in the mindset of, "Ok, this isn't actually complicated, just tedious, let's get it over with."

      And tweaking continues as I read the logs and see how people are actually using it, and try to think of ways to make those interactions smoother.

  6. Also: how much time did you spend on the "Title" word list? Time well-spent, because it's awesome, just curious. :^>