Half-Elf on Tech

Thoughts From a Professional Lesbian

Category: How It Is

Making philosophy about the why behind technical things.

  • To Block or Not To Block

    To Block or Not To Block

    Ad blockers. Okay.

    I have ads in this site. I have donation buttons. I make more via the ads, naturally, and I use the money to offset the absolute frivolity it is to run a web server. I also use ad blockers.

    And I also understand the worry of ad blockers on iOS because I see the possible loss of income.

    But.

    My ads are not obtrusive. I hope. I test them a lot on browsers. I don’t display them on smaller ones. I am picky about the ads. I don’t have pop-up/lightbox ads or alerts that congenially prompt people to sign up for a mailing list or try a service. I hate those things. They get between me and the content I’m trying to read. They prevent me from visiting sites. And if you’ve tried to click away an ad like that on your iPhone, you know my pain. Let’s not even get into the accessibility problems.

    No, ethically I chose not to host the ads I hate.

    And I lose money because of that.

    A lot of money. Probably a hundred a month, easy. And I’m personally okay with that, because I can afford this website. I have the money to keep it up, and for what it costs me, it’s cheaper than other hobbies. It’s helped turn a hobby into a career.

    But the same cannot be said of all websites. Many need those ads to survive and flourish.

    So in the balance between content and money, with accessibility and speed on the line, what is the right answer? Who is more important? Where is the right path to earn money while showing ads and not pissing off readers?

    And I’m not the only person who has trouble with this balance. The developers of Peace, an iOS ad blocker, pulled his product after two days, saying it didn’t feel good. He doesn’t like being the person who gets to decide what ads are right and wrong. That said, Marco is still a proponent of blocking for the ethical reasons of knowing who’s tracking you.

    Disclosure time! I use an blocker on my computer. It’s µBlock, which Taylor Swift also uses:

    But the truth is I actually block few things. It’s not that I want a blocker but I want an unobstructor tool. Just like we despised pop-ups, I hate the following things:

    1. Ads that redirect my iPhone to the App Store to buy your stupid game
    2. Ads that cover my entire browser window, forcing me to click away
    3. Ads that autoplay, making me scroll the hell around and figure out what I have to turn off
    4. Ads that popup in the background, making me address them before I can read

    If you can’t see a trend, let me explain it for you. I hate all things that pull me away from your content.

    The New York Times has reported on this: Enabling of Ad Blocking in Apple’s iOS 9 Prompts Backlash

    “When ad blockers became the most downloaded apps in the App Store, it forced publishers and advertisers to rethink the role that advertising plays on the web,” said David Carroll, an associate professor of media design at the Parsons School of Design.

    That illustrates the issue. It’s not that we hate ads. Most of us understand them as a necessary evil. We pay for Netflix to get fewer ads. We pay for cable to get higher quality shows… in theory. We get ads with free TV because it’s free and has to make money. We get ads on newspapers and in magazines because they are surprisingly low cost for what they are. Ditto comic books.

    We know and we understand why ads are there. We rebel because the ads make it impossible to get at the content. The thing we came for.

    I don’t have an answer. I know that, sometimes, I actually do click on ads that interest me. I also know that most of the time people don’t click on ads. I know that many sites need ads to keep going and to keep delivering content. But I know what we’re doing, making ads more and more in your face, is not the right way to win.

    Right now I have no iOS ad blocker. I haven’t found one I like yet. I’m sure that will change.

  • Apple News: Only Our News Fits

    Apple News: Only Our News Fits

    iOS 9 has a new tool, Apple News. This is the replacement for the Newsstand app everyone shoved in that ‘Apple Shit’ folder on their iPhones and muttered about how it took up space on their 16G iPhone they didn’t care about, and damn it, I don’t have an iWatch so why do I care about that app either?

    You know you have that folder.

    News, though, is actually pretty damn cool! It’s actually a news reader app I like and want to use. Except for two big issues.

    You see, I have an Apple Watch and I like how it alerts me to things. I get a wrist buzz, I look down, I know things. A text message, a direct message from Twitter (since few people can do that), an email in a certain box (not yet, but as soon as I figure that out…). What I want with News is for my watch to buzz when there’s a new article about a specific thing.

    The first thing I did was set up News to search for topics I wanted. Like you do. And I put in ‘Jorja Fox’ because I’m still running that website.

    Apple News search for 'Jorja Fox' shows me 'Jordan' and two other people with the name Jordan, but no Jorja

    Interesting, right? No Jorja. I clicked on ‘Show more topics’ but even after scrolling and scrolling, I couldn’t find her. The same thing happened with ‘George Eads’ and ‘Rachel Ray’ but not ‘Bobby Flay.’ Looking for ‘Jennifer Tilly’ brought up ‘Jennifer Lopez’ (close!) but weirdly enough I was able to find ‘Sara Sidle’ (the character Jorja played on CSI).

    News Favorites: ADI, CSI, Sara Sidle

    I ended up managing to make my favorites (Animal Defenders Intl, CSI, and Sara Sidle), but I couldn’t find the movie ‘Lion Ark’ or ‘Extinction Soup.’ Actually, finding the ADI was incredibly hard.

    The search function doesn’t seem to trigger for exact matches as much as it should.

    If you want to add a website, it’s not at all logical. You have to add an RSS feed if the news site isn’t located there and even that isn’t logical. Go to Safari, find the RSS feed, click it, and your iOS device will ask you if you want to open in News. Say yes! There you go.

    Except… How do I add an arbitrary search? You don’t. You can’t. If you want to have a ‘Cat Cora’ channel, or a ‘Jorja Fox’ channel, you’re out of luck. If the name doesn’t show up it doesn’t show up, and yes, I scrolled and scrolled. Then I got a little smarter and got the Google RSS link:

    https://news.google.com/news?pz=1&cf=all&q=Jorja+Fox&output=rss

    I opened that on iOS and added it. And it didn’t work. Oh it added something, but it wouldn’t open within News.

    Then I tried Bing:

    https://www.bing.com/news/search?q=jorja+fox&go=Submit&qs=n&form=NWBQBN&pq=jorja+fox&sc=8-9&sp=-1&sk=&format=RSS

    And Apple News said it couldn’t add Bing to News. Bias much? After iOS 9.0.2 dropped (literally that night), I was able to add Bing, but only if I went to that URL and viewed as desktop (if you didn’t know, there’s “Request Desktop Site” button in Mobile Safari).

    Added news.google.com and all I get is a spinning circle

    Now sometimes there’s a button in the ‘Share’ setting in Safari that lets me add to News. And sometimes there is not. Way to go, Apple. In all cases, I get the spinning circle of doom after I add something to News.

    Naturally I went to look for help on Apple News and found none.

    In the midst of all this, I realized a horrible thing. You don’t get alerts on your Watch from News. You do from a variety of other news apps. You can’t from News. So they’ve made a great new tool that doesn’t let you add arbitrary searches, doesn’t alert you to new news about the searches you can make on your Apple Watch. And while I do have notifications on, it doesn’t seem to notify me about anything.

    In contrast, I added Google News & Weather to my iPhone and, once I logged in with my Google account, it remembered I had a saved search and showed that. Except it also showed me general news and weather. I can’t dismiss those. I have to show them, above my custom news, all the time. Plus the alerts I get are for world news, not my personal searches, which is funny since Google can email me when my custom search has new articles, so I know it can do this.

    Here’s what I want: A ‘News Reader’ that lets me get alerts on what I want to get alerts on. If a site it scans publishes something with my keywords, it pings me. When I read the app, it would sort by date (hiding duplicates by default), and let me thumbs-up or thumbs-down the article to help train it as to what was relevant.

    One of the apps I tried, while looking for that, was Nuzzel. Cute hedgehog aside, the idea that I can get the news from people I follow (and one presumes I trust) is nice. But that only shows me what people know about. News360 suffered the same problem as Apple News, that adding certain arbitrary topics proved impossible. It could find some of my terms but not all. At least they had a way for me to file a bug report, though.

  • Mailbag: An Appropriate Solution

    Mailbag: An Appropriate Solution

    Y’all know I don’t really like to answer these questions. I mean. Presumably you’ve noticed I don’t answer this a lot anymore?

    I don’t care if you use Multisite. And I hate this question because you’re (innocently) asking me one of the most incredibly complicated questions possible.

    I’m working with a college who wishes to create a portfolio system for their students. Basically, a student can create their own website – or multiple – to share with employers and others. I’m thinking WP Multisite may be a good option. I could have super admin access, the college’s admin can have super admin access, and each student will have admin access to their individual sites. Would you agree that WP Multisite would be an appropriate solution?

    I agree it can be an appropriate solution.

    I will never agree it’s the solution.

    Read the post I linked to above, will you? The one that explains exactly why this is such a damned hard thing to answer.

    Now. Ask yourself this:

    1. Are those students the people who will be happy where they can’t install a plugin or a theme, or will they badger you endlessly to install them?
    2. Will those students ever want to easily export/move their sites?
    3. Will they ever need ‘more’ than WordPress and, thus, need shell or DB access?
    4. What do you want them to be able to do when they’re done?
    5. How much time do you have to fix their sites?
    6. Are you able to review and ensure security for all plugins and themes they may want?
    7. Do they already have webhosting? (Most universities give you some.)

    Figure that out and you’ll know if it’s the most appropriate solution for them and you.

  • Stupid Easy

    Stupid Easy

    You have made yet-another stupidly easy plugin. I love it!

    My buddy James said that after testing a plugin I wrote for WordPress that has no settings.

    Frankly those are my favorite plugins, the ones where you install them and walk away because they do one thing, they do it well, and you’re done.

    A plugin without options means it does the one thing, I don’t have to decide how I want it to work, and it just goes. Now, at the same time, a black box plugin with no information can be complicated and tricky, which means you have to sit and make the decisions thoughtfully at the beginning.

    The first question I ask is “Who is it for?”

    I love W3TC, but dear god is it complicated. It’s doing a lot of things and while it does them all very well, it’s hard to understand what all the settings mean and how they all need to work together. When I set about adopting a Varnish plugin, it was picked by my coworkers specifically because it was simple and it worked the majority of the time. Can you break it with other plugins and themes? Sure. That’s the nature of WordPress interoperability. But at the same time, it works without user interaction.

    That was the key, we felt. A plugin that just runs, no user interface needed, just let it go. This was simple, this was easy, and this was direct.

    Since then, I’ve added in two ‘options.’ One is the ability to define your true IP address. This is for people who are behind proxy services like CloudFlare. The way a Varnish purge works, is it sends a command to the domain name. If your domain is handled by CloudFlare’s servers, then it gets messy. The second was a ‘purge all’ button on the toolbar, which let you manually flush the entire site.

    Those two settings are hard and easy to access. The defining the IP can only be done via editing your wp-config.php or via command line. Why? The majority of people don’t need it. It’s actually often a latency issue when you cache a cache with a proxy, so it’s not really the best idea in the first place. The purge button is limited only to the admins of a site, because they’re the only ones who should be flushing the cache for an entire site anyway.

    Does this work for ‘everyone’? No. No it doesn’t. Of the 6000 people who like it just fine, there are about a dozen who want things differently. They want a settings page, where they can allow more people to flush cache and define the IP. They want a per-page flush button. They want better error reporting.

    I’m with them on the last one but the others… well it’s interesting. Adding more complications will certainly expand the usability of the plugin, but is that the goal of this plugin? No. In many ways, it would be much better to make a second, different, plugin. Maybe an add-on. Call it “Varnish Advanced” for those people who need more power.

    But the majority need the simple because I knew my target audience were the people who didn’t know or want to know the technical stuff. I handed them a plugin that works in the majority of use cases. I made sure it handled the majority of situations. And I made it so they could just install and walk away.

    I do agree that it needs a little better error reporting, but even that has to be handled carefully. You can’t just hand an end-user an error without simultaneously giving them a direct way to correct it. And no ‘Talk to your host.’ is not a fix. A fix means the user can do something (hopefully simple) to correct a problem. Now, my ‘edit the wp-config file’ fix is not super simple for everyone, but at the same time it serves an important purpose. It makes someone think about how big a change is and what it means.

    Knowing my users means I know they need that stop to think, and it means I know they will think.

  • Mailbag: Curbing Comments By Count

    Mailbag: Curbing Comments By Count

    Someone had a rant in my mailbox about my strong stance on comment moderation, which can be distilled to this question:

    I noticed you really have strong opinions on comment moderation. Do you use anything other than bad words to flag for moderation or outright block?

    Sure do!

    I’m very careful about ‘bad words’ since ‘anal’ will also pick up ‘canal’ and I only moderate for for things that are generally only used as a pejorative. Example? Okay, I have ‘dyke’ and ‘kike’ in my mod list. The first one I get called a lot. Still. The second has fallen out of favor. But because people have a remarkable talent to say words with the sole intent to be hurtful, even under the veneer of “I was just being funny, stop being so sensitive!” I have cherry-picked the popular ones on my sites and tossed them into moderation.

    The only thing I blacklist are people. People’s emails (and user names sometimes) go into the blacklist. That’s why I wrote Sitewide Comment Control, I’m able to blacklist people from the whole network easily. But I only use this for people. People should be blacklisted when they prove themselves to be untrainable.

    That leaves one thing up in the air and that’s moderation. You have three choices with default WordPress: Moderate all, moderate un-approved, moderate none.

    I have “moderate un-approved” which means I have to manually approve all first time comments. To add on to that, I use Comment Probation in order to restrict people I’m not entirely sure about.

    And finally, I moderate by length.

    I month ago, I mentioned on Twitter that I was playing with an idea to have my comments moderated by length. If a comment was over X words long, it should be flagged as needing approval before showing.

    Caspar Hübinger, in the time it took me to get a cup of coffee, wrote Comment Moderation by Word Count. I made one, small, patch to it, and I’m using it now.

    This simple WordPress plugin will send any comment that would otherwise be approved automatically by WordPress to the moderation queue if it contains more than a given number of words.

    The theory I have is this: If your comment is over a certain length, you really may want to consider making it a rebuttal blog post of your own. My limit is currently set to 250 words here, which is half a page of content.

    Mod by comment length is a very basic field on your Comment Settings section

    My one change was this:

    If current_user_can( 'edit_posts' ) then they should be able to leave a comment of any length without moderation.

    My theory here was that admins and editors are trusted users.

    And now you know!

  • CloudFlare Experiment Ends Weirdly

    CloudFlare Experiment Ends Weirdly

    I ended up turning it all off for one reason only.

    I keep getting a 522 error on cloudflare.com.

    Now. I have a working theory that it happens when I’m hitting my own site a lot (be it for development or as recently, a lot of traffic I need to reply to), but what would happen is I got an error 522 on my sites. So I’d go to cloudflare.com to whitelist my IP, since their explanation of “This means your site is down” was wrong (site was up, I was ssh’d in at the time), and I’d get a 522 on cloudflare.com.

    Let me roll back to August 1st.

    That night I went to make some changes on my site to the CSS and, instead of turning on Dev Mode in CloudFlare, I did my thing with Git, pushed my changes, dumped the cache of that CSS file, and was prepared to smile at my glory. Nope! I got a 522. This was odd, since I was currently on the server via SSH and the load on the box was 0.3. Naturally I went to support.cloudflare.com to try and see if I’d missed some directions only to get a 522 there as well.

    Track that for a second. I got a 522 on CloudFlare’s domain.

    The possible answers I could come up with, since I couldn’t read any of their documentation, as either my IP was blocked or the cache server I was proxying through was down. Since I could log into the dashboard for my accounts, I went in and tried to guess how to whitelist my IP. I couldn’t find that, so I opened a support request:

    I can’t access support.cloudflare.com because of 522s. My IP is 172.249.156.169 – Is there any way I can get whitelisted?

    I got reply that it was the wrong place to ask, which I don’t think was correct. One of the solutions (per a Google cache of the support page I couldn’t access, hello) said that you could whitelist your IP to see if that helped. Cool. Except I couldn’t get the part of the page to load that told me where and how that was set.

    So I asked for support with the dashboard via the dashboard support panel. Instead I got someone telling me I had to open a new ticket. And he was incapable of transferring my ticket or saying “Hey, you can’t access the right support place, let me make a ticket for you! Sorry about that.” It was akin to telling me to email them to tell them my email was down.

    I fumed. And then I kept clicking until I found the place to enter my IP. I did and magically CloudFlare started working for me! I quickly went and opened a ticket to complain that I couldn’t have a ticket transferred (or made for me), and suggested this:

    If someone’s logged in via the dashboard and they’re getting a 522 on ALL Cloudflare sites, it’s a logical assumption that something blocked them. But if I can log in, the odds are I’m really me, so that should get an auto-whitelist. If that isn’t possible, can it be detected and alerted? “Hey, we noticed your IP is blocked. Would you like to white list it, since you’ve logged in we can be reasonably sure you’re not an asshat?”

    They replied with a standard ‘A 522 means…’ and told me to whitelist their servers on my server firewall. For some reason the email didn’t get to me, so I made a new ticket.

    In this ticket, I had to wait until I got another 522 (end of August) and when I sent in my error ID and a screenshot, I was told this:

    This was a timeout between our cache server and the origin server that hosts support.cloudflare.com.

    I think he actually meant “Our cache server was down.” because at that time I couldn’t get to any CF hosted site until I rebooted my router and got a new IP.

    I don’t really buy this, though, and I think their IP block is too aggressive. I would run into it all the time when I was at a hotel. I’d be reading comments on my own sites and get blocked. And every single time I got blocked, it was from all of my domains and cloudflare.com. Sketchy as hell to me.

    When I added in the problem that ‘always up’ actually meant if your site was down they’d put up a CloudFlare page to apologize for the site being down, I decided to turn it off. It clearly wasn’t helping me as much as I’d hoped.

    This isn’t to say CloudFlare is terrible and you should never use it, just that it proved to be too frustrating for me to want to use.