Half-Elf on Tech

Thoughts From a Professional Lesbian

Tag: social media

  • Manage Your Social Media Calendar: Post Iz Easy

    Manage Your Social Media Calendar: Post Iz Easy

    I like hosting my own things. While I have WordPress (mostly) on a managed instance, I keep a number of other apps on my dedicated server. Those tend to be apps that aren’t … as popular.

    That isn’t really fair, actually. The apps are often quite popular, but they tend to be less user friendly popular. WordPress is user friendly popular. Drupal is dev friendly popular. And Postiz is super nerd unknown.

    What is Postiz?

    Postiz: An alternative to: Buffer.com, Hypefury, Twitter Hunter, etc…

    Postiz offers everything you need to manage your social media posts, build an audience, capture leads, and grow your business.

    Basically it’s a social media manager. You can post to all your socials at once, you can schedule it, and you can auto post. If you want to pay them for hosting and running it, it’s pretty reasonable ($50 a month for ‘pro’). But I wanted it for LezWatch.TV and spending the least amount possible is better.

    For me, self hosting Postiz was a no brainer. It’s easy enough to install via Docker, it’s easy to set up an Nginx reverse proxy, and it’s easy enough to configure.

    Mastering it, however, I’m still working on.

    Where Postiz Kicked My Ass

    I have it running now, but I wanted to talk about the things I screwed up or confused me,

    There is no UX to enter your data (like API keys for Facebook), you have to put them in your Docker compose file, or in a config file in one of two places. The documentation is pretty clear, but my brain just got turned around. Once I got it working, I realized any time I added one, I’d have to restart Docker.

    Meme of an unimpressed kid: Added a new social media integration... Had to restart docker.

    I can live with that, especially since I can add BlueSky via the UX which suggests to me that this is the way the one man shop is heading.

    That is one of the problems, though. This is one man’s project. He builds this the way he wants to, for his product, and he manages it the way that makes sense for him. I have no idea how he runs it on the service, but maybe it really is him making a separate Docker instance for each customer?

    Actually, it’s probably in Helm, but the point remains.

    Working the Machine

    I don’t have a preferred coding style. By that I mean, tabs and spaces are not the hill I die on. The Oxford Comma, on the other hand, you can pry out of my cold, dead, hands. And please don’t get into a fight with my wife for saying “the proof is in the pudding” because it’s really “the proof of the pudding is in the eating.”

    But I digress.

    The UX of Postiz isn’t really my favorite. It’s not super iPad friendly, and the settings are in weird places — like auto post is under settings, while everyone else is on the sidebar. It’s not how I’d design things. Why aren’t there toggles to enable/disable the AI agent?

    Oh, and why doesn’t Autopost explain it actually requires AI?

    Documention Is A Pain In The Ass

    I know it, you know it, moving on.

    One of the reasons I eventually decided to remove Tianji and go back to HealthChecks.io and Uptime Kuma was documentation, but a different way. Tianji’s documentation was AI generated which, in general, I’m not opposed to … assuming you proofread. Blindly trusting the translations of AI though, for your documentation, is asking for trouble.

    So much of the English was poorly handled that it made aspects of Tianji unusable for me.

    The UX in WordPress wasn’t to ‘my’ taste when I started using it, but after twenty *cough* years, it’s second nature. It was a UX I could adapt myself to. Right now, Postiz feels the same way. Especially since I’m not using auto post.

    AI In All The Wrong Places

    There are two ‘big’ issues.

    1. You’re locked in to using OpenAI
    2. Auto posting requires the undocumented use of the AI

    By default, Postiz uses an AI agent to summarize the content from the rss feed. I don’t want to use AI for auto posting. It’s an rss feed, I assumed it grab the image, but trim the content. That’s how everything else tends to run. Oh yeah, you can only auto post from an rss feed.

    This isn’t a huge problem, I have a custom rss feed for the things I want to auto post anyway. But the AI part? I did not need it. Thus, I didn’t put in any credentials for OpenAI and thus, it did not work. Which took me forever to figure out.

    So I went to WordPress.

    APIs! Let no one else’s evade your eyes!

    Apologies to the late, great, Tom Lehrer. Here are some facts:

    • Postiz has an API.
    • WordPress has an API.
    • My HealthChecks and Uptime Kuma instances have APIs.

    Which means I can use APIs to cross trigger events!

    And better than that, I actually know how I can trigger this. See, once a day I run a cron job (real crontab cron) that triggers changing the “show/character of the day” data. The only way to trigger the update is via WP-CLI (for a number of reasons). This means I can add a hook to my existing ‘of the day’ code and it will trigger a Postiz action.

    Since we have already generated the post of the day, I pass that data to my Postiz class. That code checks if there’s already a post like that within the last 24 hours (to prevent an accidental repost). If there isn’t, we post it.

    That’s it. It’s that simple. And I did the same thing to hook into when blog posts are released. I even made a backend UX for the WordPress site to allow in place adjustments without having to update a config file.

    An example of the WordPress UX. It lets you enter API keys, URLs, channel names and IDs, and lets you toggle on and off.

    I’m tempted to do the same thing to report downtime. If the site is down, we could autopost “we’re aware of issues with our site. Updates will be at status…” because Postiz is on a different server. Once I’m more confident in my status page situation, I may just do that.

    Remember To Call It Research

    I don’t buy into the sunk cost fallacy. Even if I fail miserably at using Postiz, I will have learned a lot more about how the APIs for all the social media sites work.

    I’ve used so many various uptime systems, trying to find the one that worked best for me, and I don’t consider any of that work to be time lost. I’ve learned more about myself and how I work, and what I actually want to track.

    I haven’t yet found a lot of alternatives to Postiz, nothing for self hosting except Mixpost, and they’re only free for the Lite version (which only allows posting on Facebook, X/Twitter, and Mastodon).

    And whatever I learn here, I’m sure I’ll use later.

  • It’s Not About the Money

    It’s Not About the Money

    I left Twitter last year for a very personal and specific reason. That reason? They refuse to protect anyone.

    There remains a number of humans on Twitter who delight in harassing, blasting, humiliating (trying …), and vilifying me. One of whom was actually (briefly) banned. And it was rough enough before the new regime, who has made things objectively worse. Not a little worse, a lot worse.

    I went over to Mastodon and I have no regrets. It’s much nicer, even though there are some flaws (spam at the moment, but also some gatekeeping and racism that needs to stop). For example, on Sunday recently, I posted how I don’t believe in AI. I am my father’s daughter, after all, and there is nothing intelligent about what we’ve created, save in our own. The machine does not think, it does not innovate, it keeps to what it knows.

    On Mastodon? That got a lot of nuanced conversations. On Twitter I had to be handy with the block button.

    Now no social media is “great” for the soul, but Twitter has been doing a dumb ass speed run and hurting as many people as possible.

    Dangerous Minds

    On April 8th, Twitter removed the language in its hateful conduct policy that explicitly protected transgender people from online harassment. 

    Prior to the rule change, Twitter’s Hateful Content Policy stated:

    We prohibit targeting others with repeated slurs, tropes or other content that intends to dehumanize, degrade or reinforce negative or harmful stereotypes about a protected category. This includes targeted misgendering or deadnaming of transgender individuals. In some cases, such as (but not limited to) severe, repetitive usage of slurs, or racist/sexist tropes where the context is to harass or intimidate others, we may require Tweet removal. In other cases, such as (but not limited to) moderate, isolated usage where the context is to harass or intimidate others, we may limit Tweet visibility as further described below.

    It now is:

    We prohibit targeting others with repeated slurs, tropes or other content that intends to degrade or reinforce negative or harmful stereotypes about a protected category. In some cases, such as (but not limited to) severe, repetitive usage of slurs, or racist/sexist tropes where the context is to harass or intimidate others, we may require Tweet removal. In other cases, such as (but not limited to) moderate, isolated usage where the context is to harass or intimidate others, we may limit Tweet visibility as further described below.

    They removed a key number of words.

    1. dehumanize
    2. misgendering
    3. deadnaming

    This removal of stated protections happens at the same time Florida is banning drag shows, health care for trans youths, and more.

    Be Judged By Your Actions

    This is a technical sort of blog, I know. But this overlaps into that, so hold on a second.

    People will judge you by your actions. If you treat people like dirt, you will be seen as an asshole. If you’re Jewish, you’re likely familiar with the saying similar to “If someone sits down at a table with 11 Nazis, and doesn’t leave, you now have 12 Nazis.”

    The point being, your action of giving money to someone’s company when you are aware of their transphobic, homophobic, antisemitic, hate-filled actions, we are all going to look at you like you’re an asshole too. And when you allow those people in your community, you’re saying “I’m okay with these people who dehumanize others.”

    Now, how does this relate to tech, besides Twitter being a tech company?

    Take a LONG hard look at Twitter right now. See how many people are being unmitigated assholes to the users, and see that nothing is being done to stop it. Got that image in your head?

    Awesome. Now. What are YOU doing to stop it in YOUR products?

    I talk about how tech is open to being abused so much because, thus far, we have done very little to actually protect anyone. I mean, you tell me how you can block someone who could spin up a hundred accounts in minutes, just to email you and be a jerk? There are, of course, somethings you cannot stop but think about it this way…

    If someone came to your home to harass you, there are resources (cops, for example). It someone’s harassing you on Twitter, you go to Twitter support, right? They do nothing, which means they have a product and they don’t care about you. Hell, Twitter will tell you that someone telling you to that you deserve to suffer is fine, but will ban you for telling them to jump in a volcano, because you made a death threat.

    Not a joke. Happened to a friend.

    There aren’t laws that properly cover online abuse. They’re aren’t. Don’t get me started. But that means the responsibility is on US, the creators of the tools. I’ve said it a million times, if you make a forms plugin and do not take time to figure out ways to allow people to protect themselves, you failed. Look at how much custom code I’ve had to make just to get people to leave me alone!

    If your code won’t protect me, I won’t use it because it’s not safe. And when you side with people who categorically make things unsafe, well, now I don’t trust you.

    Stand By What You Believe In

    Someone’s probably going to ask me how far I go with this. I’ll put it this way. If, tomorrow, Musk ‘bought out’ WordPress, I would quit my job and start over with anything else. And I’d have to think about what to do with my websites.

    At the same time, if you’re still using Twitter as a non-paying user? That’s your call and I won’t think ill of you for it. There absolutely are some communities that only exist on Twitter, and moving them is a pain in the ass. I feel this way about Facebook, I hate it and I hate how it treats people, but I understand it’s a necessary evil. I wish it was easier to move everyone elsewhere, but not all products are built like WordPress.

    That’s the nice thing, I think. If, tomorrow, I had to quit WP, I really do have options! I can export and migrate! Because WordPress lets you own your data. But that’s another post.

    And contrary to what some people may think, I am absolutely in support of paying for social media! I donated to my Mastodon host (I just switched so I have to set things back up again) because a couple bucks a month for enjoyment is something I can afford.

    I’m opposed to PAYING to be treated like a second or third class human, and I absolutely judge you when you do pay them.

    Listen and Protect

    Here’s my advice and it starts with a story.

    Back in 2010 or so, there was a courthouse in Franklin County Ohio that had a glass staircase.

    Why is that a problem?

    Go put on a skirt while I stand underneath and tell you what color your underpants are (if you wear them).

    That’s a damned obvious problem to anyone who regularly wears skirts and dresses. Why didn’t the courthouse think of that? Men probably designed it and didn’t ask or didn’t listen until the Judge saw it and got pissed off.

    In order to make things safe, you have to listen to people. If a skirt-wearing human comes up and says “Hey, this is bad, people can see my panties” you shouldn’t do what the Courthouse did. They had a guard there to warn women, which is not a solution, and said they’d hope people would be mature … That is not listening, and it sure isn’t protecting.

    What they could have done is change the underside of the glass to reflect, or put a film on, or cordon it off so people can’t stand underneath. But instead they went “meh.”

    If you go ‘meh’, you’re the problem folks. You didn’t listen, and when the opportunity arose, you didn’t help.

    So. Listen. Think about what it means to someone else. Have empathy. And then code with that empathy.

    And spend your bucks with that empathy too, by the way.

  • Poor Customer Service

    Poor Customer Service

    Bad News GuyI have to start this with a confession that I screwed up and lost my WePay account.

    I lost my WePay account for something that was totally my mistake. I have no complaints about that, I screwed up and missed the clause in their ToS that says you can’t use it for digital goods. This needs to be stressed: this was no one’s fault but my own. You can think it’s a stupid clause as much as you want, but it’s theirs, and I agreed to it and broke it. On accident. But ignorance of the law is no excuse. I know this, I support this. I have no quarrel with this.

    My issue is how I found out, and what WePay did about it when I had questions.

    How did I find out I was in violation? I got this email:

    It seems you’re using WePay for one or more of the activities prohibited by our Terms of Service. Unfortunately, you can’t use WePay to accept additional payments. Any pending payments will be canceled and you won’t be able to withdraw funds at this time.

    More specifically:

    We are unable to process payments for digital goods including ebooks.

    Thank you for understanding and we apologize that we couldn’t offer a better solution.

    It’s a nice email, all told, but it doesn’t explain things. Like … if pending payments are canceled, do they get refunded? What about completed payments? Do those get refunded or do I get my money? At first, I had about $70 stuck in some weird degree of transaction hell. Now it’s down to under $20 and I’m still struggling to get a good answer as to where that money goes. Will I get it back? Will my customer get it back?

    I logged into WePay and everything looked … normal. I checked my payment pages, as myself, and they were active. Logically I thought they had disabled my payment API and would be refunding money, but I could find no information on that on my pages. Then my friend Kat pinged me to tell me my Donation Page for ebooks was down. THAT is how I found out my account was actually disabled.

    I emailed them and right away and was direct that I knew, understood, and accepted, that I was at fault, but I asked if they meant by “Unfortunately, you can’t use WePay to accept additional payments.” Forever? Everything? It was over and done with? I felt that was pretty nice, all told. I understood that it was my bad, but I wasn’t clear on what they meant by the wording and asked for clarification.

    They replied with that yes, this account was good and done and gone forever more. I could no longer use it though paradoxically when I was logged in, there was no obvious mention of this. The only way, logged in, to tell I was persona non grata was to try and withdraw my money. Then it said to contact customer service. But my support guy said all was not lost, I could make a new account, and as long as that didn’t break the rules, I would be allowed to stay, “Your current account though, can not be utilized unfortunately.”

    It was a strange way to tell me “Your account has been suspended.”

    Stack of Uruguay BillsBut okay, that’s fine. I accepted this and replied asking if my customers, the couple who were in some various state of pending (I think it was a total of $19.50) would get their money back. And this is where my tale went from ‘Stupid me’ and right into ‘What the hell is wrong with WePay?’

    The initial email I got was at 4:12pm. I didn’t see it until nearly 8pm but I replied right away when I figured out what it meant. I did not know, at that time, that they only did support from 6am to 6pm Pacific, but since I got a reply within 30 minutes, I assumed, like you would, that they had 24/7 support. The second email, my question about the refunds, was sent at about 9pm, and there was no reply by 11pm. As anxious as I was, I went to bed.

    In the morning, there was still no email, so I sent another asking for an update, and repeating the question, at about 6:30am. After two more hours, I thought something was up. Normally you get a reply telling you there’s a ticket. Instead I got asked to ‘rate’ my ticket; it had been closed. Instead of replying via email, I logged into their system and marked the ticket as unsatisfactory, with a now angry rant that I was trying to get an answer. Then I forcibly reopened the ticket and put in BOTH my emails asking for the same information.

    All I wanted to know was if the people who paid me, and whose money WePay put a hold on the payments, get THEIR money back?

    I know I screwed up. But that money, if it’s not mine, is theirs and not WePays.

    It took six more hours for someone to reply to that question. I poked their Twitter account about it, and was told that my 11pm email was outside support hours. I asked (via Twitter) for someone to look at my ticket please, and got no more replies from them. At this point I put my effort into getting Stripe up and running, making my own donation page, and figuring out how PayPal handles invoices again.

    At this point in the game, I was no longer annoyed and understanding, but pissed off and vocal.

    I probably sound angry, and I am. I’m angry at myself for not reading the ToS. I’m angry that WePay actually has a ‘no digital goods’ rule for a online payment service in 2014. I’m angry that I didn’t get a warning and a chance to correct myself. I’m angry that their UI made it so I couldn’t see I was actually suspended. I’m angry that their support system which said ‘reply to this email to reopen the ticket’ decided to turf my mails instead, with no notice.

    I’d been with WePay for over four years. I really liked them because they were everything PayPal was not! You can customize a donation page with a pretty URL, or send a custom invoice that looked personable. And back four years ago, I didn’t have to fight to get answers, I got a freakin’ phone call asking me if everything was okay. Yes, I remember that call and said “Well DAMN, this is great!” That was customer service worth lauding, and why for so long I’ve told people to use WePay.

    This experience was not WePay. I told them “It’s like finding out your favorite actor is a racist.”

    Customer service will make and break you. Customer perception is a huge part of that. WePay went from a service I adored to one that I outright dislike now. And no, I’m not mad at them about shutting my account, I’m mad at them for how they handled it. How they talked to me, how they dealt with my questions, and how I waited almost 6 hours for a reply during business hours, but got them quickly outside them. The money has being refunded to my customers, and I have personally apologized to them for my mistake. I’ll miss you WePay, and I wish you could be less stupid about digital goods. I hope you change your mind one day, but even then I won’t be back. My accounts are deleted, we are no more.

    The coda to all this is that on January 16th, WePay announced they were shutting down everything except their API. No more buttons, no more donation pages, no more crowdfunding, no more store. Just an API, like Stripe, only you can’t sell electronic goods, making it officially the least useful of all the online API stores out there. Way to take a great product and kill it.

  • Presentations Are Not Transcripts

    Presentations Are Not Transcripts

    After my review of SEO Slides (they’re pie, not cake), someone remarked to me that my slide decks are useless because I don’t put all the information on the slides. They pointed out, correctly, that my slides are image heavy with, at most, a couple lines of text (with one notable exception: WordCamp Chicago 2012), except my ‘Who am I?’ slide. I told them “Yes, this is true.” and then Tweeted about it.

    SlidesMy belief (and this is shared by a lot of people) is that slides should accent and relate to my talk. If you just need to read the slides to get all the information, why am I there? Coming to a live presentation to just watch someone reading off slides seems counter intuitive to me. Heck. I could go pester my coworker and get the studies showing that when you have a slide with a lot of text, people read the text, then look at you. That means that they aren’t listening until they read, and if, when they’re done, they come to find you’re just reading what they read? They’re probably bored.

    When I give a presentation, it’s usually on a topic I’ve written about before. Actually, that’s generally how I decide what I want to talk about! I picked “Don’t use WordPress Multisite” for WordCamp SF 2013 because it is still, to this day, the most popular post on my site. And it’s my most popular presentation. Some may ask “Why would you give a presentation on something I could read?”

    BoredPeople learn in different ways. I, personally, suck at learning from videos. However I learn well from presentations in person, where someone talks to the room, pays attention to our energy, and teaches, using the slides as an emphasis. I also learn well from a written post. Finally, I learn best by doing things. So for me, if I’m blowing up a site, it means I’m learning in a speed unparalleled. There’s a converse to this, and if I hit a blocker were I can’t do something, I get really upset.

    What does this have to do with slides and why mine are mostly pretty pictures with a sentence for emphasis? I don’t write my slides to be a transcript because I’m going to write a much longer blog post on the topic, with the same pictures probably, if I haven’t already. So for the person who wants to read the content, I’ll have you covered. And for the person who wants to be inspired by looking at slides? Well I have that. Finally for the person who wants to watch a video, WordCamp does that for me, thankfully.

    This is not a perfect system, of course. Like I said, people learn in different ways, so there’s probably someone out there who loves slideshows of text on pictures who is grumpy. They probably also like infographics. Which I don’t. You see a trend here? I don’t like getting my information from pictures. Because of that I suck at writing them, so I just don’t.

  • Why I Hate Facebook

    Why I Hate Facebook

    I do, you know. I hate it for a couple reasons, but the primary one is the user interface sucks. It’s just horrible. And since I’ve apparently turned Friday into my free, shortform, random topic day, let me explain to you why.

    Ignores My Settings

    I cannot tell you how many times I’ve gone to my timeline and seen garbage from last week. “What the hell?” I would shout, and look to see that my timeline is ordered by something called “Top Stories.” Interesting, because I know for a 100% fact that I set it to “Most Recent.” But no, no, Facebook changed it. So I change it back:

    Sort Order

    And don’t ask me how many times I’ve had to turn chat OFF.

    Click Don’t Matter

    This is worse on iOS where I have to click twice on every single link, but it’s bad on the sort order, which is not a link but a drop down. Only since it’s right above the post in my timeline, I have to wiggle my mouse around until I magically click the right place for it to work. Using Facebook on my iPhone means I have to use their app, which behaves radically differently from the normal app, so thanks. Now I have to learn everything twice.

    Unfollow Does not Mean What You Think It Means

    If I comment in a thread, I follow it. Okay. I can see why you do that, and while I’d like an option to default that to off, I’m not going to argue. But when I make a comment, sometimes I click ‘Unfollow’ right away, because I just wanted to say one thing, or post “Congratulations on your baby!” and move on. That’s the end of it, right?

    Nope. Every time someone ‘likes’ my comment, I get a notification. Every. Smegging. Time. I’m witty. Lots of people like my comments, or find them helpful, or whatever. That means I get a lot of BS notifications I don’t give a horse’s patootie about.

    Wrong location For VERY important information

    Do you know how to ‘tell’ if a post can be shared? Some can, some can’t you see. Let me help. This post is public and can be shared:

    Public Share OK

    This post is friends only and cannot be shared:

    Only Friends

    Different icons, different meanings. Where are these icons? At the bottom of the post. Why is that a problem, you may ask? After all, the share button is down there too! Not everyone shares with share buttons. A lot of people will copy what someone says on FB to a blog. If they don’t happen to scroll down (which, let’s face it, a lot of us don’t), and don’t happen to know magically that a globe is public and a group of little people is a friends-only thing, they’ll copy the post content, paste it to their website, and share with the world.

    I’m not so naive to think anything I put online is ever fully ‘private.’ But I’m intelligent, experienced, and I work in IT. I understand the world around me, and how the digital world shares data. If it’s online, someone will see it, share it, and make it public. Not everyone gets that, and they get upset.

    How could Facebook fix this? Put at the top of the post “Friends Only!” or “Public Post” so it’s clear right away.

    Bad Colors

    Did you know you can embed Facebook posts in WordPress?

    https://www.facebook.com/photo.php?fbid=10151997270514795&set=a.10150154582169795.302445.251152514794&type=1

    That’s my high school celebrating soccer season. The link for embedding FB? Grey. Pale grey. In the image below, I’m hovering over it. It’s still grey. If I didn’t know better, I’d think it was plain text!

    Embed Link

    There should be a color change when you hover over a link, a noticable color change.

    But wait, there’s more!

    I’m sure there is, but at over 600 words, lets call this a day. What annoys you about Facebook’s user interface?

  • Your Photos, Your Way

    Your Photos, Your Way

    PressGramI’m funding PressGram on Kickstarter and you should too.

    I like Open Source. Surprise!

    I don’t mind paying for products (as witnessed by the fact that I have paid for this theme, and even the old DevPress and ThemeHybrid ones I don’t use anymore. I have a slew of plugins I paid for, and all in all, I think every dime was money well spent. Paying for open source makes sense.

    So there’s this guy I know from the Internet, John Saddington, who likes taking photos, and he likes social media, but he wonders, like I often do, what happens when those outlets go away? Where are all my photos if TwitPic or YFrog vanishes? Or if Facebook deletes my account?

    They’re gone.

    John loves WordPress. So do I. John loves photos. Well. I fiddle around with them, but the point is he wants to built something that is way more than ‘just’ a plugin. He wants to make a free iPhone app… look, this is what he wants:

    The premise is simple: I wanted to post filtered photos from my iPhone 5 but without worrying about any privacy or licensing issues (and we’re not interested in asking you to upload photo IDs). In other words, I wanted complete and total creative control of my images and content (as well as the pageviews).

    photo-littleAnd this will post to WordPress, which is so simple, we have a one-click installer at DreamHost for you to use to make it. Imagine that. You could have a photoblog with a couple clicks.

    When I read that John was making PressGram, I had to poke at it, even though it’s not Open Source. It’s an Apple iOS app. I’m not shocked that it’s not open source, and after consideration, I don’t mind. It doesn’t have to be. As long as the plugin is open source (and frankly, given WordPress’s API, I can easily envision how it would be without stepping on closed source apps), it’s good to go.

    John knows his shit. He shares the same concerns and doubts about social media as I do, he rails on Facebook for the same things I do. He’s a guy whose ethics I can get behind. And he’s a guy whose code I can get behind. Remember I review plugins. I’ve seen his code. It’s good.

    So yeah, I’m supporting him so you can have a free app. Go figure. And as with most of the things I kickstart, I get no swag back (I think I get a kudos and a link somewhere), because I like to give for the spirit of giving most of the time. I’ll be getting the Veronica Mars DVD, but I’d be buying that anyway.

    Give in. You know you want this. Pay $5 instead of risking your content belonging to someone else.