Ads are probably more trouble than you think

In a news post a long time ago, I mentioned that admins and logged-in Tools don't see any ads on the site, but I asked the team to code my user (balder) as an exception. That way I'll always be "eating my own dogfood" and keeping an eye on just how crappy our ads really are.

As I write this news post, I'm watching one (or more) of our sidebar rectangles repeatedly making calls to some .tv domain, trying over and over to show a video in one of our ad slots.

Our ads are not supposed to do that. They're not allowed to show in-banner video. I've talked with our current ad company about it several times.


They are also not allowed to play any audio. They are not supposed to take over your screen. They are not supposed to "stuff" ads from other providers (i.e. resell ad space to other ad companies, by refreshing the ad slot over and over). They are not allowed to show political, religious, adult, or multi-level-marketing ads. They are not supposed to give you a fake virus message (or a real virus). They are not supposed to make your phone go to the Google Play or Apple store.

Many of these things still happen. When they do, that's a problem that I created for you, and it's my problem to solve. So it has been my part-time job for the last nine years, tracking down these kinds of things and trying to make sure they never happen.

We've been through about thirty different ad providers since 2014. I've had countless emails and conference calls with the ad companies and the affected users. John, Red, Brendan and I have tried lots of different, often fairly sophisticated things. For example, you might notice that our sidebar ads will time out after one minute and become Amazon affiliate banners. That's one thing we've tried that worked a little and didn't reduce revenue by too much.


But because of the nature of how ads are sold and served, we generally can't do anything to control what the ad does on the browser's side. We have to rely on the ad companies themselves to root out malicious actors and undesired ads. They do that, and they work hard at it. But for them, it's a game of whac-a-mole that can never be won for good.

Well, I started 2018 with some goals. And one of the biggest is "solve ads forever."

Ads are probably more necessary than you know

My ideal solution would be to kill ads forever, for all users. I don't want them on my site, or my screen. I'm sick of fighting a war I can't win.

Mostly, I really, really don't have time to mess with this anymore. If my time spent fighting ad-related fires causes even one extra skipped update in a year, then the cost of lost pledges (and the hard-to-count cost of letting you all down) has to be counted against our ad revenue.

Unfortunately, ads are still a lot of money. They're the only way to monetize the 97-99% of readers who don't subscribe or buy merch. It's important to have some revenue that is *not* tied to updates. And ads don't require capital costs and fulfillment, like selling a T-shirt or a deck of cards. They're one important pillar in our business model.

So when I look around for something to replace that pillar, I don't see many good options. Affiliate marketing doesn't come close. I've dug pretty deep into selling our ad inventory directly. It's just way more work for way less money. I've carefully considered things like the Basic Attention Unit, but it won't work for Erfworld, and I seriously doubt its longterm viability. I considered the "reduce ads but snark at people who use AdBlock" strategy. I hate AdBlock, but I understand why people use it and I can't say I blame anybody who does. Penny Arcade once ran a Kickstarter to get rid of ads on the site for a year. I won't even start with that. Just, no. I've even gotten pitches to sell our (hashed) user data.



Quadruple flippin' no.


In many years of looking, I've never seen a plausible "maybe if we did this, it could replace ads" idea.


But! I'm still trying. Here's our new best shot.

Mining is a thing in Erfworld. Maybe it can be a thing for Erfworld

In the final week of 2017, an idea came up with the web team that made us all say, "That's not obviously dumb. Let's test it."


John mentioned that he's been mining cryptocurrency, specifically Ethereum ($ETH), for some time, netting him a couple of bucks a day even after accounting for electricity costs. Quick maffs, and it didn't take an implausibly high number of people mining crypto for Erfworld to approach what we make in ads.

There were lots of questions and concerns around this idea. I'm always extremely cautious about asking Erfworld readers to do anything. We talked it through, researched, talked some more, built something simple, and bug tested it. In early January, we asked the IRC channel-goers to try it out, and I dogfooded it with them. I've been running our crypto miner daily since then.

It definitely worked in alpha. We mined enough Ethereum to be worth it. Not everybody's computer could manage it, but nobody's computer broke, and there's no reason it should have. We learned some things that let us make a plan. Everybody who participated in the test got sent some goodies (thanks Renter, Bandaid, Danielle, Omnimancer & sdub!) and I created the Special: Digging badge for them:



You can get this badge if you mine even one share in our mining pool. You'll be mining Ethereum to our wallet, but mining gems for yourself.

Gems - collectible, minable, sellable for Shmuckers

Part of trying out this idea was to make sure it wasn't too big a distraction for me or the team, and would fit into everything else we're trying to do with the site. We were already working on collectible units (users could already collect 3D things, like Fred the stabber and the Decrypted Orly), and we'll be rolling out those before too much longer. By December, we had also built and tested stuff like a marketplace to sell your units and ways to organize your collection. (Another goal for 2018: create more uses for Shmuckers.)

When the alpha test for mining worked, we said "let's make some gems to reward the miners first." This gem mining thing is a beta test that will help us prove that stuff can be generated/bought/sold/arranged on the website.

Here's what they look like:


You can generate up to 10 (fake) gems by clicking the button. Click and drag to rotate the 3D scene, click on any gem and use keyboard commands to arrange it in the scene. We fussed over the color names and lighting, to make them pretty.

Natural allies with the Digging special

You will notice there's a Marbit in the middle of the scene. That is one of the figures that Lauri Ahonen completed before he moved on, and we happen to have a Gobwin figure done by him, too. They're both very cute. In Erfworld, they're both also natural allies who mine for gems.

Since we're asking you to be our natural allies, it seemed natural to make you a Marbit or a Gobwin as you mine. As soon as you have found your first gem, you will be assigned to one of these tribes for the duration of the contest.

Gems have a point value. Whichever tribe mines the most valuable hoard during the contest will win. Everyone who mined at least one gem for the winning tribe will get a badge and a collectible unit of the winning tribe's type.



There will also probably be some prizes for the top miners of each tribe, but let's get through this initial test before talking about those.

Gems are found by Luckamancy

Mining cryptocurrency is telling your computer to solve hard math problems, in hopes of finding a share of a valid solution (that's not a perfect analogy, but close enough). Like real mining, crypto mining's a combination of work and luck. Letting your processor work as part of our mining pool will earn you shares in the miner, more or less at random.

When I run the Erfworld miner with a GTX 1070, I average about 20 shares an hour. For every hour that your miner finds at least one share in the pool, you earn a spin. The spinner looks like this:



For every share you mined during that hour, you get one chance in 1024 of finding a gem. So even if I run my miner constantly, I would only expect to find one gem every 2 or 3 days. As it is, I mainly run it at night when I'm not using the machine, so I am only getting about one gem a week.

Tools at all levels get a free gem to start

To kick this off, we're giving everyone who has been a Tool in 2018 a free spin, with 1024 chances to find a gem. Claim your spin by clicking the Mine4erf link on your user profile:



Once you find your gem, you'll also find out what tribe you are mining for. If your tribe wins the February contest, then you'll get the unit of that tribe (even if you don't mine). Tribe assignment is random, and weighted to favor the tribe with the lower score.

Sell or buy gems for Shmuckers (just not your only gem)

There is now a marketplace for gems. Gems can only be sold for Shmuckers. The one catch is that you can't offer a gem for sale if that it would leave you with no gems. This will keep the market from being flooded by free gems during the beta.



Some additional notes and rules

Other than the free spin for Tools, the gems are strictly a reward for mining. We've created many pretty gems for ourselves in testing, but we're wiping out our collections (I'm not crying, *you're crying*). Any gems on the market, including any sold by the Titans, will be the result of a fair spin on shares mined in the pool.



The only possible exception I can see is if Xin or Lillian wanted to design a gem and put it up for sale or bidding. Titan-created gems might become an occasional and special thing in the future. But programmatically generated gems for sale by us never will be.

Speaking of auctions, there is currently no built-in way to solicit bids if you're selling a gem. We may build an auction system later, or maybe not. My advice for getting the best price for your gem is to put it up for sale at a ludicrous price so it can be gawked at, then post in the Gems4sale thread in the forums. Reach an agreement with a buyer, and you can re-list your gem at that price and send them a private link.

What if this idea is stupid and fails?

I have to say, even if nobody mines Ethereum for Erfworld, this was worth doing. We've learned and coded a lot of things that will apply to unit collection. The gems are pretty. This is going to be fun, whether it's enough to kill the ads or not.

But if it does finally let me strip all the ads off this website? I will just be like...



Personally, I'm going to keep mining every night, and not just for the sake of dog food. I can't wait to get my real spins for my real gems. (Bandaid and Renter and John have earned some, too.)

So head over to the mining page for instructions on downloading and running the miner. If it's something you want to try out, then we'll see you in the mines!




    • kilmor

      what about mobile users? wouldn't this eat battery life?

      • ArtyD

        At some point in time I will have a deposit address for my mining... but apparently it is not this day (yet)

        • name lips

          How much performance does it suck from my GPU? Can I leave it running while gaming?

          Also, all I see is a text box scrolling text. Is that what I'm supposed to be seeing?

          • name lips

            nevermind, it looks like I don't have enough vram to run it.

            • Bandaid

              For all people wanting to experiment:

              If there is any real performance requirement from your GPU while playing you will notice. Modern 3D-RPGs for example are unplayable while having the GPU miner on. Games that need little or none 3D power might run. If you have a spare GPU of course...

              • Omnimancer

                Can I just say how impressed I am that Erfworld keeps being a badass R&D lab? Heck, just shmuckers alone are awesome, and you keep transcending them with new inventions. 

                • Airwhale


                  Any chance that we could get a etherium donation address for those of us who have NVIDA cards and want our hashing power to go the extra mile? (It's sometimes like 30% more value/time than mining ethash,  especially if you use some cheap auto-exchange service like that found in miningpoolhub, for example).  Or for those of us who want to use our CPU power to mine cryptonight for erfworld?

                  • DukeBG

                    Ugh, cryptocurrencies.

                    If a person wants to use their computing cycles and electricity for something, they can run projects studying human microbiome, fighting childhood cancer, stopping tuberculosis and ebola, or just folding proteins. At least helping solve some math conjectures.

                    Or you can mine cryptocurrencies. Which does nothing but being a workhorse in running the blockchain – just part of its Proof of Work system, backbone of it functioning.

                    I don't really want to post a negative opinion, but I'm so dubious about this. It's basically just a roundabout donate button, which also fuels things I don't like about the modern world. Probably on the same leverl on which Rob doesn't like Adblock.

                    • j scheibel

                      i saw got as far as the crypto currency mention then though "surely someone has thought about embeding javascript that does hashing instead of ADs." turns out they have! this i share here for others to read. turns out at the time it didnt make much money, but i like the idea of it. it makes more sense than most things i've read, though in september last year when they tried it, it didnt make enough. ... now to go finish reading the article above :)

                      • giladi

                        I don't have enough VRAM :(

                        • Valareos

                          As a miner and pool owner of Burstcoin (the first green cryptocurrency!!) I fully support this endeavor

                          • Valareos

                            Question! Where do I buy gems others have mined? How do I choose my team?

                            • Bandaid

                              @ Valareos: You do not choose a team. You are assigned to a team the moment you get your first gem that given month.

                              As for your other question:

                              • labster

                                I am seriously considering canceling my Toolshed membership over this announcement.   Cryptocoin mining is an ongoing environmental disaster.  Even Etherium uses terawatt-hours of electricity, enough to power one Slovenia.  By mining for ETH on your computer, you will use more energy.  But obviously pulling my support will be counterproductive from a revenue point of view.  So... I don't know what to do.  I'm just ashamed.  Ashamed that Rob needs more support, ashamed of my profession of computer programming.

                                • Gresteh

                                  Cryptocurrency mining is a bad idea, it's bad for the environment and it serves no purpose other than pure speculation and greed... saying that, i'll help, just for erfworld even if i think that it's an inherently flawed idea. I've been running it for an hour or so and so far i've only obtained 1 share, it seems that while my graphics card is good enough to run the miner is not really good enough to get shares. I'll leave it running for a while, i may get lucky and get a gem (other than the one i got as a tool).

                                  • Adept

                                    I'm sorry, I won't participate in the crypto currency nonsense. Bitcoin alone is a significant environmental problem with the huge amount of wasted electricity.

                                    I'll continue to subscribe as a tool, that should cover my part.

                                    • rstoffel

                                      Very cool! Wish I wasn't at work all day so I could go home and get this started!

                                      I'm definitely in the camp that cryptocurrency is a fad that will drop out once it crashes enough times, and the only time to get in on cryptocurrency is the very beginning (god I wish I had gotten into bitcoin back when I was in college).  BUUUT, crowd-sourced mining makes sense. If enough people get in on it, this is a great way to support Erfworld!

                                      I am interested to see if my laptop is able to do this or not.

                                      • The Unlurked

                                        Which domains will I need to allow in NoScript in order for the web-based side of this to work?  For example, I can't tip people without temporarily allowing because Erfworld doesn't host jQuery locally and things crash silently with Google blocked.

                                        What do these gem-related games require?

                                        • Templar

                                          Echoing Adept.  Not down with cryptocurrencies, but am down with Erfworld, so I will continue to be a paying Tool as I have always been.  And frankly, the only time I am running my PC for long periods is when I am playing Overwatch, so I need my processing power for that.  :-)

                                          • JBeshir

                                            I did worse than not get into it; I played with it early enough that I mined about 100 bitcoins on a laptop (mining complete blocks! on my own! without a pool!), then turned it off just because I kind of lost interest (I could have mined ten times as many, easily), and later sold them at $7 because I didn't think much of it.

                                            The current price of bitcoin is $10,879.04 each.

                                            • greycat

                                              None of my computers have "graphics cards" -- just the integrated motherboard Intel video chipsets.  Even after installing "clinfo" and "beignet", it doesn't work:

                                              $ ./bin/ethminer -S ...

                                              No protocol specified
                                              No protocol specified
                                              beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware
                                              (If you have multiple ICDs installed and OpenCL works, you can ignore this message)
                                              No GPU device with sufficient memory was found. Can't GPU mine. Remove the -G argument


                                              Nice idea, no problem with the concept, but some of us just aren't [i]that[/i] kind of gamer.

                                              • JBeshir

                                                @The Unlurked you might need to allow, for their which is used for some animations, and, because we use DataTables for the gem and unit tables. Offhand I'm not sure of anything else; it's mostly local.

                                                • OccamsTireIron

                                                  Been a loyal reader and multiple Kickstarter backer since the GiantITP days. I've been increasingly not-impressed with the direction the Toolshed is going for a while now, but I stuck around in hopes the comic might someday return to its Book 1 level quality. Unfortunately, I think this is where I and Erfworld have to part ways. Skinnerboxing readers for cryptocurrency just isn't something I can actively or passively support.

                                                  • The Unlurked

                                                    @JBeshir - Thank you for the quick reply!  Unfortunately I discovered my graphics card can't run this shortly after I commented.  I am doing some research to see if there's an alternative Etherium program that can either run off my CPU and RAM or that has lower system requirements.  In the latter case I assume it would mine slower but at least Erfworld will get paid.

                                                    • qualiyah

                                                      This idea is really clever. But cryptocurrencies have an enormous environmental cost, and I really can't support that. I hate ads too, but I'd rather have ads than mass extinctions. (Joke's on me, the future is nothing but ads and mass extinctions. Until everything is dead, I guess, and then it's just ads.) I'll continue to support Erfworld with (admittedly small amounts of) regular ol' dollars instead.