Nov 252017
 

The scariest predictions of robotics and artificial intelligence reveals a desolate future where almost everyone is unemployed because machines can do it better and faster than people. That will not happen simply because the economy would break down if that were the case – if people are unemployed they are too poor to be efficient consumers.

Of course the most rabid Tories will try to cling to the outdated economic model of capitalism beyond the point of sanity so they will try to bring a great deal of pain.

To give you a flavour of what Artificial Intelligence might bring, they are talking about machines replacing lawyers, solicitors, and barristers; which is not all bad. Legal fees are high enough that most people cannot bring civil suits beyond a point where only the simplest decisions can be made. Imagine a future where a civil suit can be automatically handled by machines battling it out at all levels from the County Court all the say up to the European Court in minutes and at a cost that almost anyone can access.

Of course if you work in the legal system, you might well disagree!

The most obvious way of dealing with a future where nearly everyone is ‘unemployed’ but still needs to be an efficient consumer is to use the basic income idea where everyone gets a reasonable income. The most immediate reaction to this is of course the belief that it is too expensive. Except that some basic maths shows that it is possible: the UK population today is around 65 million, and the UK economy is worth £2 trillion; a simple division shows that we could give everyone £30,000 per year.

Of course that would mean a few less amenities – the NHS, defence spending, etc. So in reality the basic income would be a great deal lower than this, but it is broadly feasible given some rather radical changes.

Does everyone deserve a basic income like this? No, of course not. But this is not about what the worst people in our society deserve, but making sure they function as efficient consumers. And as a bonus, by ensuring everyone has a basic income, you can be sure that nobody slips through the net.

This does not mean the end of jobs and industry, but it will radically change it. Imagine for instance that you do not get a salary, but a share of the profits – instantly the cost of labour is removed allowing a company to compete with low labour cost countries. But if that share is too low, people are likely to sit at home.

And of course work will have to be made worthwhile without (or at least minimising) the annoyances we find at work today. Get in the way of what people work to do, and they will disappear in the direction of somewhere else.

Essentially this is almost returning to pure capitalism – companies are free to get rid of workers at whim, and workers are free to leave at any time. That has always been one of the biggest problems with capitalism – workers are not free to leave work with many things keeping them at a potentially abusive work-place.

Those with more than half a brain will realise that housing costs are a big issue here; and a solution needs to be found or all of the above will only apply to those who get their housing costs for free (i.e. almost nobody). Any potential solution comes in two halves – what to do about those with mortgages and what to do with those who rent.

In the former case, the government can simply pick up mortgage payments when the house ‘owner’ cannot afford them. In return, the government gets a proportionate share of the freehold, so when the house is sold, they get their share back.

For those who rent, the government can also pick up the rent payments for those who cannot afford those payment and can decide what a reasonable rent is. Plus no landlord can kick out a resident for non-payment.

The Bench

Nov 022017
 

Autocorrect can be annoying when it happens to you, or amusing if it happens to someone else. But one thing that appears when you look at amusing autocorrects on the Internet is that you often find someone saying “it’s the phone” or “the phone is doing it”.

No it isn’t. It’s your fault.

Way back in the mists of time when we didn’t have smartphones and keyboards were big clunky mechanical things (some of us still use them), one of the first bits of IT security advice I ever gave was to read though the emails you are about to send. Whatever means you use to compose a message, there are chances of making a mistake. So what you get in the message you composed may not be what you intended to write.

As a bonus, you get a second chance to review your message to check for “thinkos” (like typos but where your brain comes out with something you didn’t intend).

If you choose to send messages (of whatever kind) without checking they say what you intended, you are responsible for the mistakes.

The Bench

Sep 202017
 

By default, the Awesome window manager sets up 9 tags and uses a rather clever method for setting keyboard shortcuts for those tags.

And that is also one of the irritations of using Awesome because I have gotten into the habit of using more virtual screens (“tags”) than this. After a dumb way of increasing the number, I have come up with a rather improved method that can be used to replace the existing method in the Awesome rc.lua file :-

local taglist = { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=" }
-- The list of tags that I use.
…
 awful.tag( taglist, s, awful.layout.layouts[1])
…
for i = 1, #taglist do
  globalkeys = awful.util.table.join(globalkeys,
    awful.key({ modkey}, taglist[i],
                  function ()
                        local screen = awful.screen.focused()
                        local tag = screen.tags[i]
                        if tag then
                           tag:view_only()
                        end
                  end,
                  {description = "view tag", group = "tag"}),
        awful.key({ modkey, "Control" }, taglist[i],
                  function ()
                      local screen = awful.screen.focused()
                      local tag = screen.tags[i]
                      if tag then
                         awful.tag.viewtoggle(tag)
                      end
                  end,
                  {description = "toggle tag", group = "tag"}),
        awful.key({ modkey, "Shift" }, taglist[i],
                  function ()
                      if client.focus then
                          local tag = client.focus.screen.tags[i]
                          if tag then
                              client.focus:move_to_tag(tag)
                          end
                     end
                  end,
                  {description = "move focused client to tag", group = "tag"}),
        awful.key({ modkey, "Control", "Shift" }, taglist[i],
                  function ()
                      if client.focus then
                          local tag = client.focus.screen.tags[i]
                          if tag then
                              client.focus:toggle_tag(tag)
                          end
                      end
                  end,
                  {description = "toggle focused client on tag", group = "tag"})
    )
end

That’s three different parts of the code to change – a list of tags to use at the top of the file, a replacement somewhere in the middle, and a large chunk replacing existing code at the end of the keyboard configuration. I don’t claim this is better than the standard way, but it is handy for me.

The Window

Sep 162017
 

My Facebook news feed came up with a post with this embedded within it :-

Now I’m not in the business of telling someone they should own a smartphone, but taking some of the objections in turn …

Firstly if you are letting your smartphone boss you around and letting it overwhelm you, you’re using it wrong. You decide when to use your smartphone as a communications tool; most of those messages and emails that your phone is constantly pinging and burbling to you about can wait until it is convenient for you to answer.

Do any of your friends get annoyed when you don’t respond to their messages within seconds? Tell them to grow up and get a life.

To give you an idea of how I use my smartphone, here’s a typical day :-

  1. The phone is charging downstairs in the front room where it has been since the evening. If it is ringing, bleeping, throbbing, burbling madly, I won’t know until I’ve finished getting up.
  2. If I am curious about the reaction to some photos I posted the previous night I might pick it up and take a quick look at the notifications, or I might not.
  3. As I head out the door for work, I’ll pick it up and put it straight into my pocket. On the way into work I might hear phone calls, or I might not.
  4. may as I approach work, pull out the phone and take a quick look at the agenda screen (particularly if I recall an early meeting).
  5. If I remember, I’ll switch the phone to silent before I sit down to work. If not, and the notifications get annoying, I’ll remember then.
  6. If I get a phonecall whilst I’m working, I’ll pull out the phone, check who is calling, and slide to red (to reject the phonecall) if I don’t recognise the caller.
  7. When I take a break from work, and I’m not chatting to anyone, I’ll pull out the phone and have a quick look at Facebook, home email, etc.
  8. When I head home from work. the phone stays in my pocket. I’ll check the phone on getting home to see if I missed anything.

You might be wondering why I have a smartphone given I use it so little. Well first of all I do use it more than is implied here – particularly whilst travelling (having train timetables and maps in your pocket is really handy).

In terms of ethical production, not all smartphones are the same. There are even places which score phones based on the ethics of their production; there is even a smartphone whose whole purpose in existence is to be an ethically produced phone – the Fairphone.

So giving up your smartphone is the lazy way of ensuring you have an ethically produced phone that you don’t get bossed around by. No harm in being lazy here of course!

Sep 092017
 

I recently switched from Ubuntu to Fedora Core for a variety of reasons :-

  • For a later version of fwupd as I had some vulnerable wireless mice to update.
  • To have a look at what Wayland was like (mostly invisible although oddball Window Managers still only talk to X).
  • To have a look at what it’s like after all these years; RedHat was one of the early distributions I ran.

All is reasonable except for one thing. The software updates.

What is this obsession with restarting to perform software updates? Is the relevant developer a refugee from Windows?

Now don’t get me wrong; a restart is the most effective simple way to ensure that outdated versions are not in use, but restarting every time you perform an update seems excessive.

  • If you need to update the kernel for security reasons, a restart is reasonable if you don’t have “live upgrades” but Fedora Core comes with a kernel that has that feature.
  • If you have a security update to a long-running process (such as Wayland or X), then you need to restart that process. In some cases you can restart a long-running process without notice; in others you will have to be disruptive, or ask someone to quit the long-running process.
  • If it isn’t a security update, you can simply wait until the user restarts the process.

Overall, the update process need not be as disruptive as Fedora Core makes it. It is of course not the end of the world to force a reboot, but it is hardly a very graceful process and some (including me) will find it annoying enough to avoid Fedora Core.

Post Interference