Archive for November, 2016

Maximum wage

Wednesday, November 30th, 2016

So, I was watching a facebook meme which had Jessie Ventura suggesting that we should have a maximum wage. I agree with him, although I think I’d use a somewhat different implementation than he would.

This goes back to my ‘keeping score’ money idea. Basically, your wage should be capped at whatever you managed to spend in the past few years, run through a moving average filter, plus a bit of a cap. There should be a process for appealing that you have some project or idea that means you need to be able to spend more – after all, we don’t want to slow down the Teslas and Elon Munsks of the world – but normally, anything you earn beyond what you spent last year plus, say, 10%, goes into ‘keeping score’ money rather than ‘spendable’ money. There’d be a minimum at which this would take effect – probably somewhere around the 2% marker for overall wealth (so only the top 2% earners would ever have to worry about this)

This is a band-aid, a workaround for the fact that there’s not enough money in the system for the real-value, tangible resources in it, and the fact that our current system has a bunch of features that lead to almost all the money ending up in the hands of 1% of the users.

Why I’m not in favor of in-person or voice status meetings

Sunday, November 27th, 2016

So, one of the things I occasionally have to put up with in my day job is status meetings. Fortunately, I don’t get sucked into too many of them, and also fortunately, I get paid by the hour. However, recently a volunteer project that I’m coding for attempted to institute regularly scheduled status meetings. I tried two, and then announced my disinterest in participating in any further ones, but I thought I might take a minute to explain why I think these types of meetings are counterproductive and better handled over a text asynchronous channel.

So, a list of the reasons I don’t think they’re the right venue:

1) Voice is not seekable. This means that you can’t ‘fast-forward’ over parts of the meeting that are not relevant to you – and in the case of this particular project, we’ve got two developers (me and A) working on two separate codebases that only touch via a defined API, so by definition anything that isn’t my description of my status isn’t relevant to me. This also means you can’t ‘rewind’ to hear something you missed – and if you’re listening to a bunch of people talk about things that are mostly irrelevant to you, you’re therefore forced to still give your entire conscious experience to listening so that you don’t miss a irretrievable chunk of audio that *is* relevant to you. With text, you can easily skim or skip ahead or look back to any bits you missed

2) Voice is expensive to decode. This is easy to demonstrate by looking at how much CPU it takes us to do even flawed voice recognition. Our minds have a lot of computing capacity, so we generally don’t think about this, but it takes a lot more mental CPU to decode voice than it does to decode text. In my case, reading a incoming text while coding often does not require a full ‘context switch’, while listening to a incoming audio/voice message does. Neural context switches are expensive – they mean wasted time and lost momentum.

3) Voice is fast to send, but slow to receive. I don’t know about the rest of you, but I can talk slightly faster than I can type, but read many times faster than I type. This means that a group getting status updates via voice is wasting whatever overspeed beyond hearing their reading speed is times the number of participants in the group.

4) Scheduled meetings are to be avoided whenever possible as they present a spinlock that blocks all CPUs / are a forced synchronous event. I don’t deny that there are appropriate times to have a meeting. A decision which requires group consensus, a blocker which everyone on the group may have input that can help resolve, and a celebration of a accomplished task (major milestone) are all examples of meetings that I would think of as being a good idea to hold. However, let us not lose sight of the fact that meetings are *expensive*. They cost the time of every person in the room, plus the time to set up the meeting and agree on a scheduled time – something that presents a extra challenge in my case because I do not adhere to any type of standard sleep schedule. And status meetings do not, generally, move the ball down the field.

5) Having a scheduled meeting to discuss blockers encourages a counterproductive behavior. If you get hung up on a blocker, the best first step is to see if anyone is available to help you with it, *right now*, and to do research using google and the like to see if a solution is already out there. Beyond that, the next logical step is to document the blocker in a asynchronous communication channel like email or skype and ask the people who can potentially resolve it for help, allowing them to respond in their next available time slice. Having a scheduled time each day or week to discuss blockers discourages treating them as something to be resolved as a interrupt. If your project is experiencing enough blockers that the majority of team members have one to present at a scheduled status meeting, you have other, bigger problems that you should be spending your time resolving. You may have a lack of appropriate documentation or massive technical debt, or very poor communication methodologies.

6) Neural context switches are expensive. I touched on this in #2, but let me amplify my thoughts a little bit. Most of us can only keep a few threads visible in our conscious experience at any point in time. In order to participate meaningfully in a group meeting, we generally have to drop the context of what we’re currently working on. This means that we have to push whatever our current state is into medium-term memory, and then pull it back out at the end of the meeting. This takes considerable time and also breaks up the energy and momentum of whatever we’re currently doing.

7) Hitting exact scheduled times requires some buffer time – whenever you have a scheduled meeting with several participants, you do NOT want to be late, because that’s causing dead time for everyone else participating, but thanks to the realities of modern life, the only way to not be late is to plan to be somewhat early, in case something goes wrong. This is part of what makes meetings expensive, and why they should only be used for purposes that require them.

8) Voice has considerable switching deadtime – handing the baton / token between participants in a voice meeting often involves many seconds or minutes. This is especially a problem over the phone – in person we generally have body language that resolves who should talk next fairly quickly.

In general, as I’m on record as saying, whenever possible, I prefer using a text broadcast medium for status updates (i.e. “I finished this”) and one-on-ones for resolving technical difficulties. I participate in meetings regularly – including some ill advised ones – but you only get to drag me into ones that I think are counterproductive if you’re paying me.

Now, the person who suggested the meeting said one of the reasons it was important was “he didn’t even know what I was working on.”. This is healthy and normal. In general, as long as I’m completing my queue, the only person who needs or should want to know what I’m working on is me. It’s a waste of mental horsepower for more than one person to be keeping track of something that one person can do. I make exceptions for mission critical ops (things like SSL renewal, or race car prep, or whatever) where one person dropping the ball can put people or the project in actual danger. But normally, wanting to know the exact details of something another team member is doing is a sign of micromanagement, which is a very bad idea.

Neurological wealth

Thursday, November 24th, 2016

The most impressive – and disruptive – technology that we could possibly come up with would be neurological. If we could load software on our minds the way we do on computers, we could give the experience of unlimited wealth to all of us, for virtually no cost.

Now, there are some major problems with this. The security implications alone are terrifying – we already have enough problems with viral propagation of bad ideas via religion and just plain ol’ fashioned entrainment.

However, the win is equally huge. Let me give you a few examples.

First of all, whatever your ‘day job’ is, chances are it takes up a very small percentage of your total mental capacity. It would be possible for you to do whatever task helps keep this old ball spinning using background capacity, while never actually having the conscious experience of doing it.

Second of all, everything you experience in this world is made up of information. And there is no doubt that our 10^11 neurons are sufficient computing capacity to generate any experience you care to name out of whole cloth. Get them working in the right way and you can experience anything *anyone* can experience. The software to do this represents wealth of a very interesting kind. It can be copied indefinitely, without costing the creator anything. It can potentially add value to the experience of everyone who uses it. It would reduce our impact on the planet considerably – since we would no longer need physical ‘things’ for most of the adventures we might want to have.

Of course, there’s absolutely no proof that this hasn’t already happened, and that the controls of whatever network is responsible for rendering our experience of reality are just in the paws of someone who favors a less than utopic experience for everyone else. I think there are people who would enjoy the power that denying utopia to others represents.

Anyway, when I talk about giving everyone everything, I do think this is a reasonable approach to doing it. Yes, the hurdles are high – we haven’t even learned to build software that runs well on digital state machines, the idea of us writing software for our minds is a bit shiver inducing. But, the reward is even higher.

Given that everyone’s utopia is different, this is the only reasonable way I can see for us to give everyone a utopic experience at the same time.

About credit

Friday, November 18th, 2016

With the exception of music, any ideas contained in this blog are free to a good home. I don’t need credit for them. I want the current situation fixed more than I want to be known as the person who fixed it. Feel free to claim credit for yourself if you can get something implemented that will improve the situation for all.

Can I tell you something (Lyrics – Kansas)

Friday, November 18th, 2016

Can I tell you something?
Got to tell you one thing.
If you expect the freedom
That you say is yours,
Prove that you deserve it.
Help us to preserve it,
Or being free will just be
Words and nothing more.

Resource Allocation Systems : Intellectual property – possible solution?

Wednesday, November 16th, 2016

TL;DR=Treating intellectual property as a resource that has a maximum ROI in real world dollars could prevent some of the IP-related failures our current system has

One possible solution for solving the very real issue that intellectual property presents when working in a money system that has money as a finite resource is to change the way we pay the creators of intellectual property.

It is necessary to pay the creators of intellectual property in some way, because we want to continue discovering it – it’s very high value for all of us makes the continued discovery of it a very desirable thing.

The problem is, wildly popular creations of intellectual property result in large amounts of capital getting stuck in a few bank accounts, and unless the people who get that capital are wise enough to spend all the incoming, you end up with the problem described in this article.

One possible solution is to cap the amount of money that one can generate with intellectual property. I can see several variations on this – one that I like is that once intellectual property has generated more than a set amount of money, it begins to accrue unspendable dollars instead of spendable ones, and the people “purchasing” it are not charged except for the cost of actually moving the content. (Let’s say perhaps a penny per movie, or a tenth of a penny per mp3)

Those unspendable dollars are “keeping score money”, which enables artists to still understand how big of a win for humanity they’ve achieved, but because the customers did not have to pay for the content, they remove the problem of a finite resource (dollars) chasing a infinite one (IP content)

Note that I would set a fairly high cap on this. We do not want to discourage innovation, we just want to prevent having certain innovations break the system. We also would need some system in place to prevent “bogus innovation” to game the system – i.e. the creation of a “new drug” which is actually just two pre-existing drugs in the same pill.

I should mention that intellectual property is not always just content. The surcharge for Apple products, beyond the actual increased cost of production, is a example of intellectual property, as well.

It is possible the idea of “unspendable dollars” – “Keeping score money” will arise again, as we talk about interest.

Resource allocation system implementation

Friday, November 11th, 2016

TL;DR=Go slow, be careful, don’t break it trying to fix it. Do not reassign all the wealth to your new system – any worthwhile system can compete with existing ones and win.

There is something I want to make abundantly clear here.

Some people seem to be under the impression that as I discuss bucketed currency and other alternative resource allocation systems, I want to just go out and grab all the existing wealth, stuff it into the new system, and redistribute.

That would not be a good idea. It is not my goal.

Big systems have inertia for a reason. If my resource allocation system is so superior, it should be able to run in parallel with the existing system and add value without controlling distribution at all, or run standalone competing and trading with the existing system and succeed. If it can’t do either of those two things, then it’s a failure and we should toss it back to the drawing board.

The way to succeed at a big project is to start small, test small, develop small, and scale up. ANY system attempting to reassign the wealth of a economy even the size of a small state would likely fail spectacularly – the people losing the wealth would be justifiably resentful, and the people gaining the wealth would likely be the wrong people, for the wrong reasons – we’d end up just like Communism did, with six sets of boots and no pots.

There are some who want to tear our republic apart and start over. I say to you, unless you have a superior system that you’ve tested small and medium scale, or a idea so good we will *all* agree that it’s time has come, PLEASE DON’T. You will only be adding fuel to the fire of entropy burning against our minds and our land.

Also please consider that the fundamental “bones” of the constitution are sound. Nowhere does the constitution say we are a capitalist society, and we could try alternate resource allocation systems while maintaining the design of government which is, largely, well done in my opinion. It is possible that another, better government is possible – I have a number of ideas on the subject – but I think that most of the problems facing us have to do with the resource allocation system and some of the fiddly implementation details surrounding voting, and that the basic structure of the constitution is a fine work and shouldn’t be tampered with.

People, we can build a better mousetrap – but we must:

1) Make sure it addresses close to everyone’s needs. It must beat the current system, which is doing better than you might think.
2) Treat it like a technical problem. Test. Plan. Work together in teams. Use simulation. Avoid getting overly attached to one idea or set of ideas.
3) Understand that if we damage people’s quality of life, they will not thank us for our revolution.
4) Deal with people as they really are, not as we wish they would be. Deal with our culture as it really is, not as we’d like it to be. A good system may literally require a cultural shift, in which case that must be part of our plans.
5) Do not release it until it is stable enough to run wild and free. If we resist the urge to do anything stupid, we can keep civilization as it currently stands together for quite some time – at least until the oil has almost run out. Let’s not end up starving in the cold because we were in a hurry to release.
5.1) Don’t get so caught up in designing a new system that we don’t also continue to apply band-aids, and look for band-aids that could be applied. However, when band-aiding, remember not to ever think the band-aid is the final solution. Raising the minimum wage is a stopgap solution at best, for example. This is probably my biggest criticism of the plans of Bernie Sanders.
6) There is a compelling reason to keep civilization online. If DARPA’s SyNAPSE project scales according to Moore’s law, in 17 years we should be able to build a neural network bigger than we are. A larger mind than ours might be able to see what we can’t. If we can befriend the entity this network represents, we might be able to get their help.

There will be more.. the next article that is worthy of this series has just not yet been written. If you want to see my meandering thoughts as I try to figure out how to build a resource allocation system that works, check out the resource allocation systems category.

Go Cubs Go (w/ Jefferson Jay)

Friday, November 4th, 2016

So, just for fun, here’s a collaboration with my friend Jefferson Jay, a cover of a Steve Goodman song:

http://www.sheer.us/stuff/2016/GoCubsGo_Song.mp3

All the wrong notes are mine, all the right ones are his. 😉

Pride And Conviction

Wednesday, November 2nd, 2016

http://www.sheer.us/stuff/2016/PrideAndConviction.mp3

You stand here before me
Saying “Truth Is Absolute”, and yours is the one that’s true
I tell you that this can’t be
Because I don’t see things the way you do

Chorus
You may think, my brother
That you’re the good side and they’re the evil ones
While your opposite number
Stands with pride and conviction in all that they’ve done

Any attempt to sway you
Will meet with nothing but a brick wall
Change is no longer an option
You will hold this belief, stand or fall

*chorus*

So what is about some knowledge
That makes us think it’s irreproachable, beyond disproof
What is it about our memories
That makes us think that we remember absolute truth

*chorus*

Dedicated to everyone in this election who thinks the other side might also be made up of thinking, feeling, capable beings.

Note this later appeared on Believing Is Seeing.