Language does not need to be an obstacle to like with Russian forums in British. While you might like to learn some fundamental Russian as you become to understand a brand new Russian lady, when you're chatting on the internet and understanding one another, this does not have to prevent you from going after rapport. With Russian forums in British, you can start to produce a reference to a lady, past the language confusion. You can start to speak to someone what you are drawn to after which see where these chats might lead.
When you are using Russian forums in British, you will need to observe that a few of these rooms are supplying translation service. Though this can certainly enhance your conversations, translation isn't an exact science. Because there are new ways to the same factor, just like within the British language, you have to make certain you are aware of of the. If something which she states for you is not quite obvious or you are less than sure what she means, make certain to inquire about rather of simply using the translation at face value. When things appear unusual, you need to question the translation before you decide to question her and her attraction for you.
To make sure that what you are saying could be converted most effectively in Russian forums in British, you will need to make certain you use simple phrases and words. This will help you to produce a strong connection, without creating confusion. Try to steer clear of cliches and slang whenever possible. These could be more hard to result in Russian. Stick to simple words and you'll find she has the capacity to understand you easier and that she's in a position to respond to questions – and even perhaps your jokes too. This may take some practice to speak another way, but it is worth the effort.
If you work with Russian forums in British, it's wise to make certain that you simply maximizing their use. For instance, you might like to see the site for some time before you decide to really begin to speak to Russian brides. This should help you get an understanding of exactly what the site might offer after which it will help you to feel at ease when you're prepared to chat. Inside your first couple of chats, ask lots of questions from the lady to be able to become familiar with her rapidly. Make certain you're considering the forums a couple of occasions per week to be able to produce a exposure to a lady, that takes time.


The United Nations has received just 21 per cent of the money it needs to fight a four-pronged food crisis in Africa and the Middle East described as the worst humanitarian emergency since the Second World War.
Famine has already been declared in parts of South Sudan while Somalia, Nigeria and Yemen are set to follow. About 20 million lives are at risk and 1.4 million children are at "imminent risk of death" from severe malnutrition.
Almost two months ago the United Nations requested $4.4 billion from international donors, including Australia, to address the crisis. But so far it has received only $984 million, a fifth of the total.
Local aid agencies say the public response to their emergency appeals has also been subdued.
The Red Cross raised 30 times more money in the month following Cyclone Pam in Vanuatu in 2015 than has been donated for its East Africa Food Crisis Appeal in the same period.
Peter Walton, who directs the international work of the Australian Red Cross, said many still don't realise how serious the four-nation food crisis has become.


text:
local json = require "cjson"
local stringy = require "stringy"
local http_client = require "kong.tools.http_client"
local spec_helper = require "spec.spec_helpers"

local function it_content_types(title, fn)
  local test_form_encoded = fn("application/www-url-formencoded")
  local test_json = fn("application/json")
  it(title.." with application/www-form-urlencoded", test_form_encoded)
  it(title.." with application/json", test_json)
end

describe("Admin API", function()
  local api
  local dao_factory = spec_helper.get_env().dao_factory

  setup(function()
    spec_helper.prepare_db()
    spec_helper.start_kong()
  end)

  teardown(function()
    spec_helper.stop_kong()
  end)

  before_each(function()
    local fixtures = spec_helper.insert_fixtures {
      api = {
        {name = "api-test", request_host = "api-test.com", upstream_url = "http://mockbin.com"}
      }
    }
    api = fixtures.api[1]
  end)

  after_each(function()
    spec_helper.drop_db()
  end)

  describe("/apis/", function()
    local BASE_URL = spec_helper.API_URL.."/apis/"

    describe("POST", function()
      it_content_types("should create an API", function(content_type)
        return function()
          local _, status = http_client.post(BASE_URL, {
            name = "new-api",
            request_host = "new-api.com",
            upstream_url = "http://mockbin.com"
          }, {["content-type"] = content_type})
          assert.equal(201, status)
        end
      end)
      describe("errors", function()
        it("should notify of malformed JSON body", function()
          local response, status = http_client.post(BASE_URL, '{"hello":"world"', {["content-type"] = "application/json"})
          assert.equal(400, status)
          assert.equal('{"message":"Cannot parse JSON body"}\n', response)
        end)
        it_content_types("return proper validation errors", function(content_type)
          return function()
            local response, status = http_client.post(BASE_URL, {}, {["content-type"] = content_type})
            assert.equal(400, status)
            assert.equal([[{"upstream_url":"upstream_url is required","request_path":"At least a 'request_host' or a 'request_path' must be specified","request_host":"At least a 'request_host' or a 'request_path' must be specified"}]], stringy.strip(response))

            response, status = http_client.post(BASE_URL, {request_host = "/httpbin", upstream_url = "http://mockbin.com"}, {["content-type"] = content_type})
            assert.equal(400, status)
            assert.equal([[{"request_host":"Invalid value: \/httpbin"}]], stringy.strip(response))
          end
        end)
        it_content_types("should return HTTP 409 if already exists", function(content_type)
          return function()
            local response, status = http_client.post(BASE_URL, {
              request_host = "api-test.com",
              upstream_url = "http://mockbin.com"
            }, {["content-type"] = content_type})
            assert.equal(409, status)
            assert.equal([[{"request_host":"request_host already exists with value 'api-test.com'"}]], stringy.strip(response))
          end
        end)
      end)
    end)

    describe("PUT", function()
      it_content_types("should create if not exists", function(content_type)
        return function()
          local _, status = http_client.put(BASE_URL, {
            name = "new-api",
            request_host = "new-api.com",
            upstream_url = "http://mockbin.com"
          }, {["content-type"] = content_type})
          assert.equal(201, status)
        end
      end)
      it_content_types("should update if exists", function(content_type)
        return function()
          local response, status = http_client.put(BASE_URL, {
            id = api.id,
            name = "api-PUT-tests-updated",
            request_host = "updated-api.mockbin.com",
            upstream_url = "http://mockbin.com"
          }, {["content-type"] = content_type})
          assert.equal(200, status)
          local body = json.decode(response)
          assert.equal("api-PUT-tests-updated", body.name)
        end
      end)
      describe("errors", function()
        it_content_types("should return proper validation errors", function(content_type)
          return function()
            local response, status = http_client.put(BASE_URL, {}, {["content-type"] = content_type})
            assert.equal(400, status)
            assert.equal([[{"upstream_url":"upstream_url is required","request_path":"At least a 'request_host' or a 'request_path' must be specified","request_host":"At least a 'request_host' or a 'request_path' must be specified"}]], stringy.strip(response))
          end
        end)
        it_content_types("should return HTTP 409 if already exists", function(content_type)
          -- @TODO this test actually defeats the purpose of PUT. It should probably replace the entity
          return function()
            local response, status = http_client.put(BASE_URL, {
              request_host = "api-test.com",
              upstream_url = "http://mockbin.com"
            }, {["content-type"] = content_type})
            assert.equal(409, status)
            assert.equal([[{"request_host":"request_host already exists with value 'api-test.com'"}]], stringy.strip(response))
          end
        end)
      end)
    end)

    describe("GET", function()
      before_each(function()
        spec_helper.drop_db()
        spec_helper.seed_db(10)
      end)
      it("should retrieve the first page", function()
        local response, status = http_client.get(BASE_URL)
        assert.equal(200, status)
        local body = json.decode(response)
        assert.truthy(body.data)
        assert.equal(10, table.getn(body.data))
        assert.equal(10, body.total)
      end)
      it("should retrieve a paginated set", function()
        local response, status = http_client.get(BASE_URL, {size = 3})
        assert.equal(200, status)
        local body_page_1 = json.decode(response)
        assert.truthy(body_page_1.data)
        assert.equal(3, #body_page_1.data)
        assert.truthy(body_page_1.next)
        assert.equal(10, body_page_1.total)

        response, status = http_client.get(BASE_URL, {size = 3, offset = body_page_1.next})
        assert.equal(200, status)
        local body_page_2 = json.decode(response)
        assert.truthy(body_page_2.data)
        assert.equal(3, #body_page_2.data)
        assert.truthy(body_page_2.next)
        assert.not_same(body_page_1, body_page_2)
        assert.equal(10, body_page_2.total)

        response, status = http_client.get(BASE_URL, {size = 4, offset = body_page_2.next})
        assert.equal(200, status)
        local body_page_3 = json.decode(response)
        assert.truthy(body_page_3.data)
        assert.equal(4, #body_page_3.data)
        assert.equal(10, body_page_3.total)
        assert.falsy(body_page_3.next)
        assert.not_same(body_page_2, body_page_3)
      end)
    end)

    describe("/apis/:api", function()
      describe("GET", function()
        it("should retrieve by id", function()
          local response, status = http_client.get(BASE_URL..api.id)
          assert.equal(200, status)
          local body = json.decode(response)
          assert.same(api, body)
        end)
        it("should retrieve by name", function()
          local response, status = http_client.get(BASE_URL..api.name)
          assert.equal(200, status)
          local body = json.decode(response)
          assert.same(api, body)
        end)
        it("should reply with HTTP 404 if not found", function()
          local _, status = http_client.get(BASE_URL.."none")
          assert.equal(404, status)
        end)
      end)

      describe("PATCH", function()
        it_content_types("should update name if found", function(content_type)
          return function()
            local response, status = http_client.patch(BASE_URL..api.id, {
              name = "patch-updated"
            }, {["content-type"] = content_type})
            assert.equal(200, status)
            local body = json.decode(response)
            assert.equal("patch-updated", body.name)

            local rows, err = dao_factory.apis:find_by_keys {id = api.id}
            assert.falsy(err)
            assert.equal(1, #rows)
            local api = rows[1]
            assert.equal("patch-updated", api.name)
          end
        end)
        it_content_types("should update name by its old name", function(content_type)
          return function()
            local response, status = http_client.patch(BASE_URL..api.name, {
              name = "patch-updated"
            }, {["content-type"] = content_type})
            assert.equal(200, status)
            local body = json.decode(response)
            assert.equal("patch-updated", body.name)

            local rows, err = dao_factory.apis:find_by_keys {id = api.id}
            assert.falsy(err)
            assert.equal(1, #rows)
            local api = rows[1]
            assert.equal("patch-updated", api.name)
          end
        end)
        it_content_types("should update request_path", function(content_type)
          return function()
            local response, status = http_client.patch(BASE_URL..api.id, {
              request_path = "/httpbin-updated"
            }, {["content-type"] = content_type})
            assert.equal(200, status)
            local body = json.decode(response)
            assert.equal("/httpbin-updated", body.request_path)

            local rows, err = dao_factory.apis:find_by_keys {id = api.id}
            assert.falsy(err)
            assert.equal(1, #rows)
            local api = rows[1]
            assert.equal("/httpbin-updated", api.request_path)
          end
        end)
        it_content_types("should update strip_request_path if it was not previously set", function(content_type)
          return function()
            local response, status = http_client.patch(BASE_URL..api.id, {
              strip_request_path = true
            }, {["content-type"] = content_type})
            assert.equal(200, status)
            local body = json.decode(response)
            assert.True(body.strip_request_path)

            local rows, err = dao_factory.apis:find_by_keys {id = api.id}
            assert.falsy(err)
            assert.equal(1, #rows)
            local api = rows[1]
            assert.True(api.strip_request_path)
          end
        end)
        it_content_types("should update request_host and request_path at once", function(content_type)
          return function()
            local response, status = http_client.patch(BASE_URL..api.id, {
              request_path = "/httpbin-updated-path",
              request_host = "httpbin-updated.org"
            }, {["content-type"] = content_type})
            assert.equal(200, status)
            local body = json.decode(response)
            assert.equal("/httpbin-updated-path", body.request_path)
            assert.equal("httpbin-updated.org", body.request_host)

            local rows, err = dao_factory.apis:find_by_keys {id = api.id}
            assert.falsy(err)
            assert.equal(1, #rows)
            local api = rows[1]
            assert.equal("/httpbin-updated-path", api.request_path)
            assert.equal("httpbin-updated.org", api.request_host)
          end
        end)
        describe("errors", function()
          it_content_types("should return 404 if not found", function(content_type)
            return function()
              local _, status = http_client.patch(BASE_URL.."hello", {
                name = "patch-updated"
              }, {["content-type"] = content_type})
              assert.equal(404, status)
            end
          end)
          it_content_types("should return proper validation errors", function(content_type)
            return function()
              local response, status = http_client.patch(BASE_URL..api.id, {
                name = "api",
                request_host = " "
              }, {["content-type"] = content_type})
              assert.equal(400, status)
              assert.equal([[{"request_host":"At least a 'request_host' or a 'request_path' must be specified"}]], stringy.strip(response))
            end
          end)
        end)
      end)

      describe("DELETE", function()
        before_each(function()
          local _, err = dao_factory.apis:insert {
            name = "to-delete",
            request_host = "to-delete.com",
            upstream_url = "http://mockbin.com"
          }
          assert.falsy(err)
        end)
        it("delete an API by id", function()
          local response, status = http_client.delete(BASE_URL..api.id)
          assert.equal(204, status)
          assert.falsy(response)
        end)
        it("delete an API by name", function()
          local response, status = http_client.delete(BASE_URL.."to-delete")
          assert.equal(204, status)
          assert.falsy(response)
        end)
        describe("error", function()
          it("should return HTTP 404 if not found", function()
            local _, status = http_client.delete(BASE_URL.."hello")
            assert.equal(404, status)
          end)
        end)
      end)

      describe("/apis/:api/plugins/", function()
        local PLUGIN_BASE_URL
        local api_with_plugin
        local plugin

        before_each(function()
          PLUGIN_BASE_URL = BASE_URL..api.id.."/plugins/"
          local fixtures = spec_helper.insert_fixtures {
            api = {
              {name = "plugin-put-tests", request_host = "plugin-put-tests.com", upstream_url = "http://mockbin.com"}
            },
            plugin = {
              {name = "key-auth", config = {hide_credentials = true}, __api = 1}
            }
          }
          api_with_plugin = fixtures.api[1]
          plugin = fixtures.plugin[1]
        end)

        describe("POST", function()
          it_content_types("should create a plugin configuration", function(content_type)
            return function()
              local response, status = http_client.post(PLUGIN_BASE_URL, {
                name = "key-auth",
                ["config.key_names"] = "apikey,key"
              }, {["content-type"] = content_type})
              assert.equal(201, status)
              local body = json.decode(response)
              assert.equal("key-auth", body.name)
              assert.truthy(body.config)
              assert.same({"apikey", "key"}, body.config.key_names)
            end
          end)
          it_content_types("should create with default value", function(content_type)
            return function()
              local response, status = http_client.post(PLUGIN_BASE_URL, {
                name = "key-auth"
              }, {["content-type"] = content_type})
              assert.equal(201, status)
              local body = json.decode(response)
              assert.equal("key-auth", body.name)
              assert.truthy(body.config)
              assert.same({"apikey"}, body.config.key_names)
            end
          end)
          describe("errors", function()
            it_content_types("should return proper validation errors", function(content_type)
              return function()
                local response, status = http_client.post(PLUGIN_BASE_URL, {}, {["content-type"] = content_type})
                assert.equal(400, status)
                assert.equal([[{"name":"name is required"}]], stringy.strip(response))
              end
            end)
          end)
        end)

        describe("PUT", function()
          it_content_types("should create if not exists", function(content_type)
            return function()
              local response, status = http_client.put(PLUGIN_BASE_URL, {
                name = "key-auth",
                ["config.key_names"] = "apikey,key"
              }, {["content-type"] = content_type})
              assert.equal(201, status)
              local body = json.decode(response)
              assert.equal("key-auth", body.name)
              assert.truthy(body.config)
              assert.same({"apikey", "key"}, body.config.key_names)
            end
          end)
          it_content_types("should create with default value", function(content_type)
            return function()
              local response, status = http_client.put(PLUGIN_BASE_URL, {
                name = "key-auth"
              }, {["content-type"] = content_type})
              assert.equal(201, status)
              local body = json.decode(response)
              assert.equal("key-auth", body.name)
              assert.truthy(body.config)
              assert.same({"apikey"}, body.config.key_names)
            end
          end)
          it_content_types("should update if exists", function(content_type)
            return function()
              local response, status = http_client.put(PLUGIN_BASE_URL, {
                id = plugin.id,
                name = "key-auth",
                ["config.key_names"] = "updated_apikey"
              }, {["content-type"] = content_type})
              assert.equal(200, status)
              local body = json.decode(response)
              assert.truthy(body.config)
              assert.equal("updated_apikey", body.config.key_names[1])
            end
          end)
          it_content_types("should update with default values", function(content_type)
            return function()
              local plugin, err = dao_factory.plugins:insert {
                name = "key-auth",
                api_id = api.id,
                config = {hide_credentials = true}
              }
              assert.falsy(err)
              assert.True(plugin.config.hide_credentials)
              assert.same({"apikey"}, plugin.config.key_names)

              local response, status = http_client.put(PLUGIN_BASE_URL, {
                id = plugin.id,
                name = "key-auth"
              }, {["content-type"] = content_type})
              assert.equal(200, status)
              local body = json.decode(response)
              assert.truthy(body.config)
              assert.False(body.config.hide_credentials)

              local rows, err = dao_factory.plugins:find_by_keys {id = plugin.id}
              assert.falsy(err)
              plugin = rows[1]
              assert.truthy(plugin.config)
              assert.False(plugin.config.hide_credentials)
              assert.same({"apikey"}, plugin.config.key_names)
            end
          end)
          it_content_types("should update with default values bis", function(content_type)
            return function()
              local plugin, err = dao_factory.plugins:insert {
                name = "rate-limiting",
                api_id = api.id,
                config = {hour = 2}
              }
              assert.falsy(err)
              assert.equal(2, plugin.config.hour)

              local response, status = http_client.put(PLUGIN_BASE_URL, {
                id = plugin.id,
                api_id = api.id,
                name = "rate-limiting",
                ["config.minute"] = 3
              }, {["content-type"] = content_type})
              assert.equal(200, status)
              local body = json.decode(response)
              assert.truthy(body.config)
              assert.falsy(body.config.hour)
              assert.equal(3, body.config.minute)

              local rows, err = dao_factory.plugins:find_by_keys {id = plugin.id}
              assert.falsy(err)
              plugin = rows[1]
              assert.truthy(plugin.config)
              assert.falsy(plugin.config.hour)
              assert.equal(3, plugin.config.minute)
            end
          end)
          it_content_types("should override a plugin's `config` if partial", function(content_type)
            return function()
              local response, status = http_client.put(PLUGIN_BASE_URL, {
                id = plugin.id,
                name = "key-auth",
                ["config.key_names"] = "api_key_updated"
              }, {["content-type"] = content_type})
              assert.equal(200, status)
              local body = json.decode(response)
              assert.same({"api_key_updated"}, body.config.key_names)
              assert.falsy(body.hide_credentials)
            end
          end)
          it_content_types("should be possible to disable and re-enable it", function(content_type)
            return function()
              local _, status = http_client.put(PLUGIN_BASE_URL, {
                id = plugin.id,
                name = "key-auth",
                enabled = false,
                ["config.key_names"] = "apikey,key"
              }, {["content-type"] = content_type})
              assert.equal(200, status)

              local response = http_client.get(PLUGIN_BASE_URL..plugin.id)
              local body = json.decode(response)
              assert.False(body.enabled)

              _, status = http_client.put(PLUGIN_BASE_URL, {
                id = plugin.id,
                name = "key-auth",
                enabled = true,
                ["config.key_names"] = "apikey,key"
              }, {["content-type"] = content_type})
              assert.equal(200, status)

              response = http_client.get(PLUGIN_BASE_URL..plugin.id)
              body = json.decode(response)
              assert.True(body.enabled)
            end
          end)
          describe("errors", function()
            it_content_types("should return proper validation errors", function(content_type)
              return function()
                local response, status = http_client.put(PLUGIN_BASE_URL, {}, {["content-type"] = content_type})
                assert.equal(400, status)
                assert.equal([[{"name":"name is required"}]], stringy.strip(response))
              end
            end)
          end)
        end)

        describe("GET", function()
          it("should retrieve the first page", function()
            local response, status = http_client.get(BASE_URL..api_with_plugin.id.."/plugins/")
            assert.equal(200, status)
            local body = json.decode(response)
            assert.truthy(body.data)
            assert.equal(1, #body.data)
          end)
        end)

        describe("/apis/:api/plugins/:plugin", function()
          local API_PLUGIN_BASE_URL

          before_each(function()
            API_PLUGIN_BASE_URL = BASE_URL..api_with_plugin.id.."/plugins/"
          end)

          describe("GET", function()
            it("should retrieve by id", function()
              local response, status = http_client.get(API_PLUGIN_BASE_URL..plugin.id)
              assert.equal(200, status)
              local body = json.decode(response)
              assert.same(plugin, body)
            end)
          end)

          describe("PATCH", function()
            it_content_types("should update if exists", function(content_type)
              return function()
                local response, status = http_client.patch(API_PLUGIN_BASE_URL..plugin.id, {
                  ["config.key_names"] = {"key_updated"}
                }, {["content-type"] = content_type})
                assert.equal(200, status)
                local body = json.decode(response)
                assert.same("key_updated", body.config.key_names[1])
              end
            end)
            it_content_types("should not override a plugin's `config` if partial", function(content_type)
              -- This is delicate since a plugin's `config` is a text field in a DB like Cassandra
              return function()
                assert.truthy(plugin.config)
                assert.True(plugin.config.hide_credentials)

                local response, status = http_client.patch(API_PLUGIN_BASE_URL..plugin.id, {
                  ["config.key_names"] = {"key_set_null_test_updated"}
                }, {["content-type"] = content_type})
                assert.equal(200, status)
                local body = json.decode(response)
                assert.same({"key_set_null_test_updated"}, body.config.key_names)
                assert.True(body.config.hide_credentials)
              end
            end)
            it_content_types("should be possible to disable and re-enable it", function(content_type)
              return function()
                local _, status = http_client.patch(API_PLUGIN_BASE_URL..plugin.id, {
                  enabled = false
                }, {["content-type"] = content_type})
                assert.equal(200, status)

                local rows, err = dao_factory.plugins:find_by_keys {
                  id = plugin.id
                }
                assert.falsy(err)
                assert.False(rows[1].enabled)

                _, status = http_client.patch(API_PLUGIN_BASE_URL..plugin.id, {
                  enabled = true
                }, {["content-type"] = content_type})
                assert.equal(200, status)

                rows, err = dao_factory.plugins:find_by_keys {
                  id = plugin.id
                }
                assert.falsy(err)
                assert.True(rows[1].enabled)
              end
            end)
            describe("errors", function()
              it_content_types("should return HTTP 404 if not found", function(content_type)
                return function()
                  local _, status = http_client.patch(API_PLUGIN_BASE_URL.."b6cca0aa-4537-11e5-af97-23a06d98af51", {}, {["content-type"] = content_type})
                  assert.equal(404, status)
                end
              end)
              it_content_types("should return proper validation errors", function(content_type)
                return function()
                  local response, status = http_client.patch(API_PLUGIN_BASE_URL..plugin.id, {
                    name = "foo"
                  }, {["content-type"] = content_type})
                  assert.equal(400, status)
                  assert.equal([[{"config":"Plugin \"foo\" not found"}]], stringy.strip(response))
                end
              end)
            end)
          end)

          describe("DELETE", function()
            it("should delete a plugin configuration", function()
              local response, status = http_client.delete(API_PLUGIN_BASE_URL..plugin.id)
              assert.equal(204, status)
              assert.falsy(response)
            end)
            describe("errors", function()
              it("should return HTTP 404 if not found", function()
                local _, status = http_client.delete(API_PLUGIN_BASE_URL.."b6cca0aa-4537-11e5-af97-23a06d98af51")
                assert.equal(404, status)
              end)
            end)
          end)
        end)
      end)
    end)
  end)
end)

redpajama_set_name: RedPajamaGithub


I'm not even sure what to say about today. I'm in a strange mood – it's a generally happy and good mood, suppressed somewhat by a bit of contemplativeness. I'm not sure how much more descriptive I can be than that; nevertheless, it's not bad in any way. I quite like this mood, actually. It's due to the day that I've had today, so I suppose I should explain that some more and maybe you'll understand how I'm feeling right now a bit better.
I'm not quite sure what to say about today. Some stuff happened, and then some more stuff happened, and then, when all things seemed done, some more stuff happened. That's about it. I mean, this wasn't bad stuff or good stuff in particular, just stuff.
Right now I'm listening to a CD by a Christian band called Black Talon. Lana told me to listen to it for her – I'm not quite sure why, but she wanted my opinion of it. Her dad's the band manager or something like that. Anyways, I'm on the second song of ten, and so far they're reminding me of a cross between Linkin Park and Pillar. It's sort of like a heavy hip-hop almost. I'm not sure what exactly to classify it, because it's definitely not the typical hip-hop, but there's too much rap to call it punk or anything like that.
Yet another day goes by. I haven't done much today except read some online comics and listen to music. I played bass for a bit as well, but it didn't hold my interest for very long. I've basically just been relaxing, and it feels great.
To expand a bit on what I just said, I was looking for some more online comics to read, and I found one called "Adventurers!" It sounds like a really cheesy title, and believe me – the title fits the comic. But it's still pretty good. It had me laughing, not like some comics where they're just not funny. This one's about video game characters, and plays on some of the quirky little things that video games do – like how bad guys always carry new weapons that you can pick up after you defeat them, but they never seem to use them on you. Or, of course, there's also the times where there's this really impressive attack – and then it does only a tiny bit of damage. Anyways, I've never really been a big fan of RPG games, but I still think it's a pretty funny comic. So I'm working my way through reading it.
Hmm, it looks like there were some problems with Blogger for a while there. I couldn't get on to make a new entry for a while. But it looks like it's working now, which is good.
Today was a pretty normal day, except for a bit of a timetable switch to accomodate the Grade 9s and the Grade 11-12s taking Music going to St. Mark's church to play in the Kiwanis Festival. We had three periods before lunch instead of two, and saved homeroom for the end of the day. Blah blah blah. Nobody really cares anyway.
During lunch, Mr. G went to the doctor's office to find out what the big splotches on his face are. He's been getting little red dots on his face that look similar to acne or chicken pox or something. Apparently, the doctor thought it was a cold sore that got infected from bacteria and was thus spreading. The doc said it was contagious if you touched it. Since I have no plans of touching Mr. G's face (or any other part of his body, for that matter) anytime soon, there's not much chance that I'll get anything more on my face other than the acne I already have. Phew!
There's not much to say today. All my big news was yesterday. I've been fiddling around a bit with my mp3 player, and I think I've got it set up the way I want now. It's working pretty well, and I know it will make it a lot easier for the ride home from school on the bus. It'll be especially handy if I ever miss the transfer at the mall; then I can just walk home with music all the way there. It also won't ever skip, which is great, because my discman was getting horrible with anti-skip. It used to work fine, but lately I've been having troubles with it skipping, especially on the bumpy bus rides. Even sometimes while walking, it would skip, which shouldn't really happen.
I wasn't planning on posting here today, but since the Tozers are late yet again (what else is new?), I decided to head on down to the computer and engage in my two favourite pastimes: writing and listening to music. I just burned the newest Underoath CD since I've been planning to do that for a while now. I wanted to wait to see if I'd get it for Christmas, but I didn't so I burned it. Jordan got it and last night at my aunt and uncle's place, the anti-action was heating up, so we went out to the van and listened to the CD a couple times.
Last night was really boring. Everyone just sat their talking and I was starving – my stomach kept growling. Finally we all went for the food, and and it got boring again. Jordan and I went out to the van after the food. The van's pretty sweet; it's the van that the Tozers borrowed from one of their friends or co-workers or something for their trip up to Ottawa. They were supposed to pick me up at 10:00 today. It's now 11:30… I called their house about 11:00 and Bethany said Aunt Lynn and Uncle Dave decided not to sleep at all last night, so then they decided that sleeping in was better than leaving early. So they should be picking me up about 11:45 – so I'll go upstairs at 12:00 to be ready for them, I suppose.


Read some sample testimonials from satisfied clients.
You can hire our editing facilities as a dry-hire or wet-hire. At DT Editing you get the best of Soho post-production. But without the distractions and hidden costs.


Four months after historic flooding from Hurricane Florence caused widespread damage in Jones County, the county courthouse and jail remain closed for repairs.
"We're just working at the mercy of some of the contractors' schedules to get here and finish," said Jones County Manager Franky Howard.
Jones County Courthouse, located in Trenton, N.C., remains closed four months after Hurricane Florence caused extensive water damage inside on Jan. 28, 2019.
Almost 800 homes, 44 businesses and 23 public and non-profit buildings were damaged countywide, Howard said. The extensive damage and limited supply of restoration crews working in the county has delayed repairs for many. "A lot of homes, businesses are dealing with the same types of problems with scheduling in contractors because everybody's busy," he said.
All three floors of the 80-year-old county courthouse building had some degree of water damage, with floodwaters reaching nearly three feet in the basement, damaging the boiler, chiller and the controls for the HVAC system. "We're trying to get those elevated out of the basement, so that if or when they flood again, they won't be damaged, and we can possibly get back in quicker," Howard said.
Repair work remains incomplete inside the courthouse basement, where the county jail is located, on Jan. 28, 2019.
The county has not yet set a date for the courthouse to reopen, but the repair work will likely end in April, Howard said. In the meantime, Superior Court hearings are taking place in the county Civic Center and district court hearings are happening at the county administration building.
Moving the jail out of the courthouse basement to a new facility outside of the flood zone would save the county the cost to transfer and house inmates elsewhere during a storm, he said.


text:
Embed animated maps and directions on your website
Lani Rosales, COO + News Director
If you're like me and you're awful at giving directions to people over the phone or even typed out and you get people confused by giving them too many details and landmarks, or if you're too familiar with an area to aptly describe it, Google Maps has always been the go to solution. There are mobile navigation apps that solve this problem and there are simple web tools to show mapping. But what if you want an animated view of the map?
Enter TripGeo.com with their "Directions Map" which allows you to enter a start and end location, control whether it shows satellite or road maps, whether drivers should avoid highways or tollways (or not), animation speed, and even allows you to control how far zoomed in you are. Then, it sets up an embeddable map for you that has a play/pause feature on the top panel of animated mapping and the corresponding street map view below, both of which move simultaneously.
Here it is in action:
Simply push "Play" at the top left and watch the trip from my family's old house through the city to our favorite shopping area on the north side:
I found that the only setting that really needed to be changed from its default was "Animation Update Interval" which I set at 100 to speed up the animation.
Because it offers customization on embed width, it is perfect for real estate bloggers. If you're writing about a neighborhood, why not take bloggers for a car ride they can control? If you're writing about a listing and its surroundings, this is a great tool. If there is a hidden jewel of a listing in a neighborhood that is difficult to access, this is a simple way to uncover the mystery behind access. Perhaps you assist relocation clients a lot, this would be a good way to show people how to get from the airport to your office or your listing.
We don't know if there is a mobile application coming soon from TripGeo, but for now, this custom embed option for websites and blog has our gears turning!
AG is not affiliated with TripGeo.
In this article:google directions, google mapping, real estate blog, Tech
Written By Lani Rosales, COO + News Director
Lani is the COO and News Director at The American Genius, has co-authored a book, co-founded BASHH, Austin Digital Jobs, Remote Digital Jobs, and is a seasoned business writer and editorialist with a penchant for the irreverent.
Matt Thomson
Cool tip…but you know that "Play" button is at the top LEFT, right?
Lani Rosales
LOL Thanks, Matt. I fixed it. Math is hard. 😉
Christa Borellini
Awesome info thanks. Having it on the phone would be great too!
American Genius
news neatly in your inbox
Subscribe to our mailing list for news sent straight to your email inbox.
AI tools are rising in popularity and in their complexity, creators say they don't consent to their works being in these AI databases.
Macie LaCau, Staff WriterJanuary 18, 2023
Apple to break ground on massive Austin campus expansion
Apple is adding nearly a million square feet to their already giant Austin campus, to potentially seat another 15K employees.
Stephanie Dominique, Staff WriterJanuary 11, 2023
Tesla has already invested heavily in moving operations to Texas, so what does this new $770M expansion mean?
Why facial recognition technology shouldn't be trusted
Facial recognition as a security measure that is fairly dystopian concept to the modern man. Here's why it's not a reliable source.
Jack Lloyd, Senior Staff WriterJanuary 5, 2023

redpajama_set_name: RedPajamaCommonCrawl


text:
Category: neoliberalism
Hell of a state: What the tragic story of Don Lane tells us about Tory Britain
February 7, 2018 February 17, 2018 · 3 Comments ·
Don Lane, who suffered from diabetes, earned his living by delivering parcels to peoples's homes and businesses throughout the country. Although Mr Lane was paid a salary by the giant courier company he worked for, according to the law, he was "self-employed".
The amount he was paid depended on how many parcels he delivered. Mr Lane received no holiday or sick pay and was under constant pressure to meet targets. Drivers for the company get fined by them for rounds they miss. Mr Lane was recently fined for attending a medical appointment to treat his diabetes where tragically he collapsed and died.
The scandal that underlies the story is one which the bosses and shareholders of giant multinational companies like the one Don Lane worked "self-employed" for, have seen their dividends and pay go through the roof, while workers at the bottom, have experienced a real terms drop in their income over many years. The ideology that drives this "gushing up" of wealth towards the top, is called neoliberalism.
Before its onset four decades ago, the UK was a much more equal society than it is at present. The available data shows that the share of income going to the top 10 per cent of the population fell over the 40 years to 1979, from 34.6 per cent in 1938 to 21 per cent, while the share going to the bottom 10 per cent rose slightly.
As measured by the Gini Coefficient (see below), the redistribution of wealth from the poorest to the richest, rose sharply under the Thatcher government in 1979. The trend continued, albeit less drastically, under successive Tory and Labour governments where it reached a peak in 2009-10.
Figures show that GDP, adjusted for inflation, has grown over the last 60 years from £432bn in 1955 to £1,864bn in 2016. This increase in wealth, however, has become increasingly concentrated in fewer hands.
Source: IFS 2016
Impact of inequality
A report by Oxfam highlights the significant role neoliberalism plays in perpetuating inequality and suggests that the societies most affected are more prone to conflict or instability. The report also points out that extremes of inequality are bad for economic growth, as well as being related to a range of health and social problems including mental illness and violent crime.
Moreover, Richard Wilkinson and Kate Pickett, authors of the book, The Spirit Level. argue that other impacts of inequality include drug addiction, obesity, loss of community life, imprisonment, unequal opportunities and poorer well-being for children.
Left Foot Forward has cited studies that illustrate the close correlation between inequality and unhappiness. The tendency to equate outward wealth with inner worth means that inequality colours our social perceptions. It invokes feelings of superiority and inferiority, dominance and subordination – which affect the way we relate to, and treat, each other.
But rather than introducing socioeconomic policies that help reduce inequality, the Conservative government under Theresa May, has deliberately and consciously continued with the failed high borrowing-low investment/high debt economic neoliberal model that gives rise to it. Under the guise of austerity, the government have instead turned on workers, the sick and the disabled. The result has been increasing rates of depression, anxiety and suicides.
The existence of fragmented and atomised communities outside the confines of the workplace, the reduction in organised labour within it (illustrated by the long-term decline in trade union membership) and the lack of any safety net, means that ordinary people are increasingly vulnerable to the vagaries of "market forces".
The ideology that underpins the neoliberal assault is the pseudo-science concept known as biological determinism, the legitimacy of which rests on the assertion that the social order is a consequence of unchanging human biology, as opposed to the result of inherited economic privilege or luck.
Thus, biological determinism reinforces the notion that inequality, injustice and the existence of entrenched hierarchical social structures of government, media and commerce are "natural".
But it also highlights the artificial limits that a system driven by profit imposes. Any rejection of biological determinism and the rigged market system that reinforces it, is regarded by its promoters as being the fault of the individual, not the social institutions or the way society is structured.
Thus, according to evolutionary psychologists, sociobiologists and those within the elite political and media establishment, the solution to overcoming inequality and injustice is not to challenge existing social structures upon which "reality" is based, but rather to alter the chemical composition of the human brain to accommodate it to this reality.
In extreme circumstances it has been used to justify the elimination of individuals altogether who challenge the prevailing orthodoxy and/or whose values are perceived to be a "drain on the taxpayer".
Years before moving towards explicit racial genocide, the Nazis developed the notion of 'useless mouths' or 'life unworthy of life' to justify its killing of 'undesirables' or 'low hanging fruit'. These ideas are a variant of nineteenth century 'Social Darwinism' and eugenicist theories.
The said theories adapted Darwin's notion of the survival of the fittest to describe relationships within society or between nations and races as a perpetual evolutionary struggle in which the supposedly weaker or defective elements were weeded out by the strongest and the 'fittest' by natural selection.
Intellectual challenges to neoliberalism and evolutionary psychology help undermine the notion that rigid social stratification, inequality and injustice used to justify them, are inevitable. Indeed, prominent economists such as Joseph Stiglitz, Paul Krugman, Dani Rodrik and Jeffrey Sachs have for a long time been raising their voices against the neoliberal experiment.
What is self-evidently clear is that the current rigged economic system in which power is increasingly concentrated at the top, is not sustainable. The only thing preventing our ability to tackle extreme inequality is political will.
At the next election voters will be faced with a clear choice – either to maintain the status quo by returning the Conservatives to power or, alternatively, to engender a paradigm shift by electing a Labour government. If future Don Lane's are to be avoided, then we have no alternative other than to ensure a Corbyn victory.
Why capitalism is safer in Corbyn's hands
January 18, 2018 January 18, 2018 · 2 Comments ·
"If we don't get inequality under control then it's likely to lead to war. Inequality and the rise of a super rich elite is undermining the foundations of capitalism. The trappings of capitalism could be swept away by the pitchfork of revolution unless capitalism is fundamentally re-imagined."
The above is not a quote by Jeremy Corbyn, Nicolas Maduro or Bernie Sanders, but by American venture capitalist, Nick Hanauer. During a 2015 interview with BBC journalist Stephen Sakur, Hanauer said, "If capitalism doesn't change fundamentally, it will destroy itself."
"In my state", he said, "since 1990, close to 100% of growth has been accrued to just 1% of the top earners. People are beginning to get angry and increasingly less patient with a system that rewards nearly all of the benefits of growth to a tiny minority at the top."
This 'gushing upwards' of capital towards the top of the socioeconomic pyramid is not indicative of regulated free-markets, but an extreme form of crony capitalism in which the publicly owned assets of the state are systematically stripped and the spoils distributed to an elite economic and political class.
The potential bailing-out of Carillion, farm, housing and rail subsidies, public sector retrenchment, quantitative easing and share giveaways, are some of the ways in which corporate welfare continues to greatly enrich the wealthiest in society. Figures reported in the Guardian indicate that the richest 1% in Britain have as much wealth as the poorest 57% combined.
No morality
Hanaeur is clear that his argument isn't intended to be a moral one but a pragmatic solution to a growing crisis: "I'm not saying that we capitalists should pay workers more because we feel sorry for them. But the more they get paid, the better it will be for venture capitalists like me", he said.
Hanaeur added:
"The more money ordinary folks make, the greater the opportunity people like me have to innovate, create enterprises and sell them stuff. The better they do, the better I do."
When Theresa May recently described capitalism as the "greatest agent of collective human progress ever created", what she failed to grasp, but what Hanaeur understands, is that economic growth is the culmination of collective human labour. In other words, it's the latter that gives rise to what Hanaeur terms a "thriving middle class", not the other way round.
Similarly, in her critique of the austerity myth, author of The Production of Money, Ann Pettifor, argues cogently that "taxes are a consequence of investment and spending. They are not its cause." The cornerstone of Tory economic policy is not to invest to stimulate the economy in order to boost growth and generate tax revenues, but on the contrary, to attack the welfare state and public sector which has the reverse affect.
What Theresa May and other apologists for the existing system really mean, is not that capitalism is the "greatest agent of collective human progress ever created", but rather that neoliberalism is the best economic model through which the elite class are able to financially enrich themselves by manipulating the institutions of society.
It is not only leading politician's on the political right of the spectrum who apparently have difficulty in untangling socio-environmentally protected notions of free trade from the cronyism associated with its neoliberal capitalist variant, but mainstream political commentators also. On Twitter (January 17), for example, radio presenter Julia Hartley-Brewer, spectacularly mischaracterized Jeremy Corbyn's correct evaluation at PMQ of the Carillion crisis.
Julia Hartley-BrewerVerified account @JuliaHB1
FollowFollow @JuliaHB1
Julia Hartley-Brewer Retweeted Jeremy Corbyn
He means "capitalism". It isn't perfect, that's for sure, but it's a millions times better than the alternative Corbyn is proposing. #socialismhasneverworkedanywheeratanytime
Julia Hartley-Brewer added,
Jeremy CorbynVerified account @jeremycorbyn
Carillion is not one isolated case of government negligence and corporate failure. It represents a broken system. #PMQs
6:21 AM – 17 Jan 2018
Presumably, Hartley-Brewer is of the opinion that consumer-based capitalist economies can be driven with only the extreme wealth of the few and that any attempts to buck the market by ensuring that employers pay their staff a minimum wage of say £10 an hour will bring the said economies to their knees?
Reining-in
Hanaeur, whose primary motivation is to make money, recognises the absurdity of this kind of 'booster of globalization' argument. In the BBC interview outlined above, the venture capitalist argues that rather than being set free by deregulation, capitalism needs to be controlled through a system of planned and coordinated regulation:
"Capitalists have the idea that their things will be bought by everybody else as a result of higher wages paid by other capitalists", he said.
"But this logic of paying higher wages to staff to help improve business activity more generally, is resisted since capitalists will insist on paying their own workers next to nothing thereby not absorbing the costs themselves."
Hanaeur's argument can essentially be summarized thus: There is a need for capitalism to be reined in, in order to save the system from the rapacious actions of competing capitalists who are driven, as Marx put it, by their need to "accumulate for accumulations sake".
In principle, Hanaeur's view is no different from the minority of capitalists in 19th century Britain who argued in favour of the introduction of the Factory Acts of the 1830s and 1840s which set down a maximum length for the working day.
Hanauer's pragmatism is closer to Jeremy Corbyn's vision for society than it is to Theresa May's and underscores the undeniable truth that the ability to accumulate for accumulations sake doesn't necessarily lead to higher profits.
One of the contradictions inherent to capitalism is that the system as a whole needs to spend money to make profits, yet every individual capitalist wants to spend as little as possible. The lengths to which giant companies like Amazon, Google and Starbucks will go in order to avoid paying tax shows how this dilemma is played out.
The failed neoliberal austerity experiment is what economist Paul Krugman describes bluntly as "a con that does nothing but harm the wealth [of nations]. It has been discredited everywhere else: only in Britain do we cling to the myth", he said.
Contrary to mainstream media mythology, Corbynism and the notion of a reformed capitalism are, counter-intuitively, congruous concepts. It's not only aspects like health and social care that are safer the further they are, ideologically, from neoliberalism, but from the perspective of capitalism's longevity, so is the economy.
Britain: the university of corruption
December 22, 2017 · 1 Comment ·
In May, 2016, Roberto Saviano, an expert on the workings of the mafia, stated that "Britain is the most corrupt country in the world." Given that the Western media tend to categorize the issue of corruption along geopolitical and racial lines, one would find it difficult to arrive at such a conclusion after having analysed a mainstream broadcaster like the BBC.
Thus, on an edition of last August's BBC HARDtalk programme, host Stephen Sackur interrogated Nigeria's Minister for Power, Works and Housing, Babatunde Fashola in a way that he wouldn't had he interviewed a UK minister. During the discussion Sackur repeatedly implied that the Nigerian government was systematically corrupt. At one point the BBC presenter related an 'off mic' incident that involved the Nigerian minister and the then UK PM David Cameron. The latter was said to have berated Nigeria after having described the country as one of the two most corrupt countries in the world.
The irony of Cameron's comment would unlikely have gone unnoticed by Fashola. In 2010 the UK government passed into law the Bribery Act. Big business in the UK have repeatedly lobbied against this legislation, thereby undermining all attempts at preventing corruption.
The potential impact of the legislation is likely to be felt primarily, but not exclusively by, businesses. Why? Because bribery and corruption is an inherent part of big business deal-making. The notion that the British establishment occupies the moral high ground on matters of corruption is laughable. Instead, viewers to the BBC were conveniently invited to vent their anger towards a black politician in a far away country.
In 2013, Cameron visited one of the most corrupt and authoritarian countries on the planet, Kazakhstan. Its leader showered him with gratitude and praise. Kazakhstan's former police chief is linked to the ownership of £147m-worth of London properties which forms part of the UKs status as a safe haven for corrupt capital.
This represents the tip of a huge ice-berg of corruption in Britain. Readers might, for example, recall the Straw and Rifkind affair, the MPs expenses fiasco, the on-going PFI saga that's crippling the NHS, the long-running HSBC scandal and establishments complicit role in the Panama Papers and Paradise Papers.
In addition, the UK government is actively involved in the selling of armaments to the Saudi regime who are raining them down on the Yemeni people. A great deal of the trade in weapons of death takes place at the bi-annual international arms jamboree in London's Docklands (of which UK royalty is, historically complicit).
Simon Jenkins is one of the few mainstream commentators to have remarked on the hypocrisy of the British establishment:
"The truth is that hypocrisy is the occupational disease of British leaders. They lecture Africans and Asians on the venality of their politics, while blatantly selling seats in their own parliament for cash. I hope some insulted autocrat one day asks a British leader how much his party has garnered from auctioning honours. The government suppresses any inquiry into corrupt arms contracts to the Middle East. And when does lobbying stop and corruption start?"
The point that Jenkins makes, namely that lobbying and corruption form a seamless whole, is a very good one. The widespread perception that Britain ranks 14th among the most corrupt countries in the world, is clearly indicative of the way in which the media misinform the public by ignoring the fact that corruption is embedded in the heart of the British establishment.
In bringing together a wide range of leading commentators and campaigners, David Whyte shows that it is no longer tenable to assume that corruption is something that happens elsewhere. Indeed, as Penny Green of Queen Mary University of London, contends, "the network of egregious state and corporate corruption in Britain rivals any in the developing world".
This is no accident. The function of the state has shifted from that of 'direct provider' to 'pro-business facilitator'. The ideology that came to embody this change is neoliberalism. Rather than goods and services being administered democratically, the trend has increasingly been for the state to act as a purchaser of these services which have then been provided privately and indirectly. As each separate financial intermediary takes their slice of the financial pie, the temptation for corrupt practices becomes greater and the concentration of capital and deregulation of labour markets more acute.
With the balance of economic power tilted increasingly towards the rich who are able to buy the influence of politician's, the impact on democracy has been devastating for millions of ordinary people. A hollowed-out system is one in which the 99 per cent increasingly find it difficult to establish some personal and meaningful pattern in a social world dominated by huge and distant monoliths whose power over the livelihood of billions seems absolute.
UK government housing policy is driven by greed, not human need
December 18, 2017 · 4 Comments ·
The creation of major housing asset bubbles is a consequence of deliberate Tory government policy geared towards satisfying the asset diversification needs of the super rich rather than meeting the human need for homes for ordinary people to live in. In other words, the key motivating factor shaping government housing policy is not to end the housing crisis, but to bolster the investment opportunities of the rich which will make it worse.
In January, 2016, former Tory PM David Cameron, announced the government's decision to demolish what remains of council homes and replace them with private housing. The Housing and Planning Bill, which became law four months after Cameron made his announcement, enabled the government to set this process in motion. The legislation is forcing families living in social housing and earning £30,000-£40,000 in London to pay rents nearly as high as those in the private sector.
It is also compelling local authorities to sell 'high value' housing, either by transferring public housing into private hands or giving the land this housing sits on to property developers. The purpose is to create firm foundations for foreign investment funds and financial safe havens for billionaires.
It is this combination of factors that explains the exponential growth in the construction of new tower blocks throughout London and other major cities, vast swaths of which lie empty. The development that arguably symbolizes Britain's housing crisis is the London sky-scraper, St George Wharf tower. Eighty-six per cent of the 214-units in the tower lie empty, while almost two-thirds of them are foreign-owned.
Meanwhile, rough sleeping estimates in England show an increase of 134 per cent since 2010. The most effective way to house people is through mass council house building. But this undermines the profits of private firms. One way investors do this is to hold onto land rather than developing it, so that prices are pushed upwards. As prices within the private rental market soar, more firms are trying to get their hands on the profits generated.
To help facilitate demand and attract investors, an assortment of private agencies that specialize in marketing and branding have emerged. "One of the things that attracts people to the UK is the relative stability," said John Slade, CEO of BNP Paribas Real Estate in the UK. "The government remains absolutely committed to ensure that the UK remains one of the most open places for investment," he said.
Bucking the market
But investment opportunities are undermined following any attempts to increase supply – a policy that Labour leader Jeremy Corbyn has publicly endorsed. "There is no convincing solution to the housing crisis that does not start with a new, very large, very active council house building project", he remarked.
Corbyn's intention is to buck the market by increasing housing supply. This partly explains why the elite media establishment – many of whom have extensive property portfolios – regularly attack the Labour leader in their newspaper columns.
Increasing supply would also adversely affect the investment opportunities of numerous politicians. The 126 MPs who declared that they receive rental income from property, represent over 19 per cent of the House of Commons, the vast majority of whom are Tories. It's therefore in the joint interests of MPs and major property developers who lobby on their behalf to continue to push the market further into housing and to limit the building of affordable homes.
In the immediate post-war years (1945 to 1951) the Labour government built 1.2 million new council homes. In 1968, a record 425,000 homes were constructed, over 180,000 of which were local authority builds. The introduction, in 1980, of the Tories right to buy programme, reduced the existing council housing stock by 1.6m, while during the 13 years of the Blair and Brown governments, a paltry 7,870 council houses were built. In 1979, 42 per cent. of Britons lived in council homes. Today that figure is just 8 per cent.
Filling the void
The impact on council house provision that stem from the policies of successive UK governments over the last 40 years has resulted in the gutting of the sector. With an in-work poverty rate in London of 58 per cent, and the average annual salary in the capital approximately one-twentieth of the house price average, the vast majority of the city's workers can't afford to buy their own homes. Private rented dwellings have filled the void.
According to 2015 research from Paragon PLC: "The private rented sector (PRS) is the second largest housing tenure, accounting for one-in-five homes in England alone, overtaking the social rented sector for the first time since the 1960s. This represents a significant increase in the number of households living in private rented homes."
The report added:
"The PRS has more than doubled since 2001 and is now the second largest housing tenure…PRS is now home to 4.9 million households."
But investors think that the change in numbers is down to the market reflecting what people want. Tory policy for housing focuses on getting people to buy houses. But this ideological drive is out of sync with the needs of capital. Investors need a political climate in which renting is encouraged.
But private market rents in London are not affordable for the vast majority of workers. The only option for many is housing associations. But government funds for this sector are drying up. In order to make money these associations are effectively forced to sell their properties to the private sector. The profits gained are then reinvested into their businesses reducing the overall availability of affordable housing stock. Essentially, housing associations behave like private companies.
Social cleansing
The consequences of the lack of availability of affordable housing are profound. It results in the effective social cleansing from major cities of the poor and those on middle incomes. Moreover, it reduces the demographic mix of locales, restricts social networks and undermines local economies upon which local businesses depend for their livelihoods.
The formal ordering and disciplining of the poorest within urban spaces has had the affect of pushing them to the periphery, out of sight and out of mind of urban powers for whom responsibility is increasingly disavowed. In this way, spaces are shaped by neoliberal economic forces which alter the landscapes of cities and re-package them under the banner 'urban renaissance'. A Labour government under Jeremy Corbyn will begin to turn things around.
Theresa May's Mansion House speeches: Is Putin an agent of the British state?
November 16, 2017 November 5, 2018 · 4 Comments ·
In Alfred Hitchcock's classic 1959 film, North By Northwest, Cary Grant plays the part of an advertising executive who inadvertently gets caught up in a web of espionage after he is mistaken for "George Kaplan", a fictional persona created by a government agency in order to thwart the nefarious activities of a spy, Phillip Vandamm (James Mason).
After reading the transcript of Theresa May's recent Mansion House speech in which she alluded to the alleged nefarious activities of Vladimir Putin, one might reasonably conclude that real life imitates art and that the Russian leader is a creation of Britain's secret services.
Hard power
Resplendent with cliches and insubstantial rhetorical flourishes low on substance, May's projection of hard power harked back to the days of the British Empire in which, as George Galloway famously remarked, "the sun never set because God would never trust the English in the dark".
May's vision of a post-Brexit Britain in a globalized world, is marked by 'humanitarian interventionism' predicated on military pre-emption, or as one US administration official put it, "pre-emptive retaliation". Such a foreign policy strategy is one in which the 'responsibility to protect' is informed by a notion of imperialist exceptionalism couched in the language of economic liberalism and free markets. This is regarded by the political establishment as the best way to counter (largely imaginary) military threats.
Last years Mansion House speech
Thus, in the tradition of Kipling, May emphasized that the historic role of Britain was to nurture 'less enlightened' societies by invoking in them the virtues of neoliberal 'trickle-down' economics. This sentiment echoes the substantive part of the Mansion House speech May made this time last year:
"Over our long history, this country has set the template for others to follow", said May.
The PM continued:
"We demonstrate to the world that we can be the strongest global advocate for free markets and free trade."
But as income inequality has continued to increase inexorably since last years Mansion House speech, the PM has been left to ponder as to whether 'trickle-down' is not really a case of 'gushing-up'. Regardless, there is scant evidence she intends to do anything about it, preferring instead to regurgitate the requisite caveats:
"There have been downsides to globalisation in recent years, and that – in our zeal and enthusiasm to promote this agenda as the answer to all our ills – we have on occasion overlooked the impact on those closer to home who see these forces in a different light", said the PM.
May added:
"If we take a step back and look at the world around us, one of the most important drivers becomes clear – the forces of liberalism and globalisation which have held sway in Britain, America and across the Western world for years have left too many people behind."
But rather than acknowledge that neoliberal ideology is the catalyst for growing inequality, May persists with the illusion that the rules-based international capitalist system on which it is based, represents the solution to the problem:
"Liberalism and globalisation…underpin the rules-based international system that is key to global prosperity and security and which I am clear we must protect and seek to strengthen," claimed May.
White man's burden
The alleged merits of a 19th century rules-based liberal system rooted in the Kipling-esque "white man's burden" notion of modern international relations, was a topic May returned to during her November 13, 2017 speech:
"So as we reach out into the world and write this new chapter in our national history, the task of a global Britain is clear – to defend the rules based international order against irresponsible states that seek to erode it", said May.
Clearly, the PM had one country in mind as one of the more significant of the worlds "irresponsible states" who she regards as potentially undermining neoliberalism's global reach:
"The comprehensive new economic partnership we seek will underpin our shared commitment to open economies and free societies in the face of those who seek to undermine them. Chief among those today, of course, is Russia", said May.
Ratcheting-up
Ratcheting-up Russia's imaginary threat to Western civilization, May remarked:
"Russia's illegal annexation of Crimea was the first time since the Second World War that one sovereign nation has forcibly taken territory from another in Europe."
This simplistic analysis conveniently overlooks the subversive actions of the US in the Ukraine and broader geopolitical and strategic contextual objectives of the Western-led alliance which meant that Putin was left with little option other than to incorporate Crimea in order to attempt to fend off an encroaching NATO.
Also, by limiting her critique to Europe, May ignored the attempts by Britain, France, the US, Israel and Saudi Arabia among others, to destabilize Syria in addition to the US-led coalitions decades-long illegal wars of aggression against the sovereign nations of Iraq and Libya.
May stepped-up the anti-Russian line by reproducing unsubstantiated soundbites against the country. The PM falsely inferred that Russia's supposed state-run media propaganda is unique to a country whose official enemies constantly use the rhetoric of war against it.
May's anti-Russian tirade during the latter part of her speech culminated in what were clear threats against Putin – an arrogance akin to that of a 19th century imperial overseer. Seemingly eager to continue justifying the reinforcing of the British industrial-military complex, May added to the fear mongering rhetoric:
"The UK will do what is necessary to protect ourselves, and work with our allies to do likewise", she said.
That it's Britain and it's NATO allies, not Russia, that represents the greatest potential threat to world peace, is unmentionable in mass corporate media parlance.
Weaponising information
Ironically, the Russian state broadcaster, RT, who Theresa May in her speech alluded seeks to "weaponise information…in an attempt to sow discord in the West and undermine our institutions", revealed the collusion between the Western powers and ISIS. This was a fact that the BBC only began to belatedly acknowledge many years later.
So, as Patrick Henningsen astutely pointed out with an air of sarcasm, using May's logic, the much maligned Vladimir Putin – who the PM effectively accused of 'weaponising information' – is presumably meddling in the BBC?
Another possibility is that he is a double agent, who like the Cary Grant character in North By Northwest, is unknowingly working for the British government. The third, and most likely possibility, is that Theresa May is a hypocrite and liar.
Neoliberalism: Manipulation of The Many to Benefit The Few
October 1, 2017 October 10, 2017 · 3 Comments ·
Theresa May recently described free-market capitalism as the "greatest agent of collective human progress ever created". But progress is an ideology linked to advances in technology and science, that since the emergence of industrial capitalism in the mid-19th century, has infected much of intellectual life (see, for example, Chris Harman's 'A People's History of the World, pp. 384-86).
What the obsession with the prevailing neoliberal socioeconomic orthodoxy of successive governments over the last 40 years illustrates, is that right-wing politicians like May proselytize, not on behalf of genuine free-markets, but an extreme form of crony capitalism in which the publicly owned assets of the state are systematically asset- stripped and the spoils distributed to the elite economic and political class.
Farm subsidies, public sector retrenchment, quantitative easing, share giveaways and housing benefit subsidies, are some of the ways in which neoliberal corporate welfare continues to greatly enrich the wealthiest in society. Figures reported in the Guardian indicate that the richest one per cent in Britain have as much wealth as the poorest 57 per cent combined.
More evenly shared
The growth in inequality during the neoliberal era contrasts with the thirty year "post-war settlement" period in which the wealth created by workers was shared much more evenly. For example, data indicates that the share of income going to the top 10 per cent of the population fell over the 40 years to 1979, from 34.6 per cent in 1938 to 21 per cent in 1979, while the share going to the bottom 10 per cent rose slightly. Meanwhile, other figures indicate that economic growth in the UK, adjusted for inflation, has grown over the last 60 years from £432bn in 1955 to £1,864bn in 2016.
The Tory exchequer in 2017, therefore, has roughly four times as much money at its disposal in real terms compared to six decades ago. Moreover, the ratio of national debt to GDP was approximately three times higher in the post-war years compared to 2017. Nevertheless, the then Labour government built hundreds of thousands of "homes fit for heroes" and brought the National Health Service into being.
Many decades later, Theresa May who leads a immeasurably wealthier country than was the case during the post-war period, claimed "there is no magic money tree" to fund public services. Whereas neoliberal fundamentalists envisage the market as an ideological manifestation of a notion of scientific and technological progress, Corbyn's vision is a return to a more equal society in which improvements to the quality of life for the majority through investing in public infrastructure and social capital play a crucial role.
The evidence Jeremy Corbyn intends to break the neoliberal consensus marking a return to the kind of equitable redistribution of the spoils of growth of the post-war years, is an economic strategy that is worrying a Tory government bereft of ideas. May and her Chancellor, Hammond, continue to advance the notion that the aspirations of those at the bottom of the socioeconomic ladder are most effectively met as a result of economic trickle-down emanating from the top – a theory that has – given the subsequent growth in inequality – been comprehensively discredited. Under neoliberalism, wealth doesn't trickle down. On the contrary, it gushes up.
Mixed economy in the right hands
Potentially, sustained economic growth that capitalism engenders can create the conditions for the mass of humanity to overcome poverty and pestilence and to meet its fundamental needs – but only in the right hands. Paradoxically, the neoliberal model is is likely to lead to the exact opposite: the extinction of our species and probably many others.
The poorest who can't afford to enjoy the benefits of capitalism are, in the short-term, the most likely to be adversely affected by the climate chaos and wars it engenders. But the rich are not insulated from the process either since the affects of nuclear fallout and global warming are not undemocratic.
Theresa May's notion that the ideology of progress, manifested in scientific and technological advancement, is indicative of the "greatest agent of collective human progress ever created", is negated by the chaos wrought by global warming, the spread of wars, the growth in relative poverty and the lack of disposable income for millions of people.
Under neoliberalism, the impoverished and war-torn are unable to engage in the kinds of commercial and cultural activities the rich disproportionately benefit from. It is therefore not "collective" human progress that May is referring to when she espoused the virtues of capitalism.
For neoliberal ideologues, progress is measured in terms of the extent to which people are able to consume what the advancements in technology the market is able to deliver. While it is true that more people than ever have access to "luxury" technologies like flat screen TVs, mobile phones and computers, it's still the case that the majority of the worlds population don't.
Moreover, it doesn't necessarily follow that those who do have access to them are not struggling to feed their families. There is no correlation between poverty and the amount of consumer goods people have access to. Poor and hungry people without money who do have access to consumer goods like mobile phones are not able to console themselves by eating them.
Absolute v relative poverty
The Prime Minister is right to infer that the historical inward tidal flow of capitalist development over time has corresponded to an overall reduction in absolute poverty. But if it were only absolute poverty that resulted in social resistance there would never have been general strikes or revolutions after the first years of industrialization. As John Rees in Imperialism and Resistance (pp. 102-3) remarked:
"Few people in modern Britain wake up in the morning to face a new day and content themselves with the thought that at least they are not living like 19th century weavers. They ask themselves different questions. Is my child's life going to be harder than mine? Are we, the people, who do the work, getting a fair share of all the wealth that we see around us in this society?"
It is therefore not capitalism's ability to reduce the level of absolute poverty, but it's socially relative poverty measured in terms of the level of income inequality that counts.
At the turn of the century, the Office of National Statistics provided a snapshot of relative poverty in Britain. In interviews with panelists selected from the General Household Survey, it drew up a list of items regarded as "necessities": a bed, heating, a damp-free house, the ability to visit family and friends in hospital, two meals a day and medical prescriptions.
The study found that four million people do not eat either two meals a day or fresh fruit and vegetables. Nearly 10 million cannot keep their homes warm, damp-free or in a decent state of decoration. Another 10 million cannot afford regular savings of £10 a month. Some 8 million cannot afford one or two essential household goods like a fridge or carpets for their main living area. And 6.5 million are so poor to afford essential clothing. Children are especially vulnerable – 17 percent go without two essential items and 34 percent go without at least one.
With the massive increase in the use of food banks, the rise in zero hours contracts and in-work poverty; the adverse affects of the bedroom tax and cuts to council tax benefit for the poorest over the last decade, these figures almost certainly understate the extent of the current problem.
Wanda Wyporska, Executive Director of The Equality Trust, said:
"The cavernous gap between the richest and the rest of us should be a real source of worry…Extreme inequality is ravaging society…While many people's incomes have barely risen since the financial crash, a tiny elite has continued to pocket billions. If politicians are serious about building a genuinely shared society, then they urgently need to address this dangerous concentration of power and wealth and tackle our extreme inequality."#
System of enslavement
A world in which the mass of humanity is getting increasingly poorer while the rich are getting richer, largely as a result of the latter's collective theft of state assets, is indicative of a form of inherent systemic corruption on a huge scale. This is reflected by the extent to which public enterprises are privatized for profit and private capital debt is socialized through subsidy by the tax-payer. This is the kind of "free-market" capitalism espoused by May – a vision of a system built on the principle of socialism for the rich and enslavement for the rest.
Although many commentators point out, correctly, that this neoliberal socioeconomic model is not working for the vast majority of people, the point is, it was never intended to be that way. The purpose of neoliberal socioeconomic policy is not to improve the living standards or protect the jobs for the many, but to defend the short-term economic interests of the few.
In Spain, the Rajoy governments use of brute force against the people of Catalonia is an illustration of the extent to which the one percent are prepared to go in order to protect their corrupt neoliberal system of wealth usurpation. In theory the EU, as an institution, can be the catalyst for raising the living standards of the poorest, but under neoliberalism, it too, has become a corrupt extension of the sovereign state.
What Theresa May really means, is not that capitalism is the "greatest agent of collective human progress ever created", but rather that neoliberalism is the best economic model through which her class is able to financially enrich themselves by manipulating the institutions of society.
The scourge of inequality: Why we desperately need a change of government
July 11, 2017 February 15, 2018 · 5 Comments ·
As measured by the Gini Coefficient (see below), the redistribution of wealth from the poorest to the richest, embodied in neoliberal ideology, rose sharply under the Thatcher government in 1979. The trend continued, albeit less drastically, under successive Tory and Labour governments where it reached a peak in 2009-10.
The UK was a much more equal society during the post-war years. The data available shows that the share of income going to the top 10 per cent of the population fell over the 40 years to 1979, from 34.6 per cent in 1938 to 21 per cent in 1979, while the share going to the bottom 10 per cent rose slightly.
Neoliberal ideology and inequality are emblematic of the symbiotic relationship between welfare retrenchment and the notion of the role of the state as facilitator of welfare handouts to the corporate sector. Farm subsidies, public sector asset stripping, corporate tax avoidance and evasion, government share giveaways and housing benefit subsidies, are just some of the ways in which neoliberalism continues to greatly enrich the wealthiest in society. Figures reported in the Guardian indicate that the richest one per cent in Britain have as much wealth as the poorest 57 per cent combined.
Analysis by The Equality Trust found:
The richest 100 families in Britain have seen their combined wealth increase by at least £55.5bn* since 2010. An average increase in wealth of £653m each, or £2 million each per week.
Since the financial crash in 2008, the richest 100 families in Britain have seen their combined wealth increase by at least £12.57bn.** An average increase in wealth of £151m each, or £364,052 per week.
By contrast, median household income has increased by just £4 per week since 2010, and £10 per week since 2008***. Median wealth has increased by just £8,600 since 2010.****
£55.5bn is the same wealth as that held by the poorest 19% of the population. £12.57bn is the same wealth as that held by the poorest 12% of the population.
The vast majority are not sharing the nations wealth
The problem has been that while figures show GDP, adjusted for inflation, has grown over the last 60 years (from £432bn in 1955 to £1,864bn in 2016), this increase in wealth has become increasingly concentrated in fewer hands. In other words, since the era of neoliberalism, working people who have created the sustained increase in wealth in society, have had their slice of the pie reduced dramatically.
"The cavernous gap between the richest and the rest of us should be a real source of worry, not just globally but here in the UK, where extreme inequality is ravaging society."
Wyporska continued:
"While many people's incomes have barely risen since the financial crash, a tiny elite has continued to pocket billions. If politicians are serious about building a genuinely shared society, then they urgently need to address this dangerous concentration of power and wealth and tackle our extreme inequality."
A report by Oxfam highlights the significant role neoliberalism plays in the creation of unequal societies and suggests that the most affected are more prone to conflict or instability. The report also points out that extremes of inequality are bad for economic growth, as well as being related to a range of health and social problems including mental illness and violent crime.
Left Foot Forward has cited studies that illustrate the close correlation between inequality and unhappiness. The tendency to equate outward wealth with inner worth means that inequality colours our social perceptions. It invokes feelings of superiority and inferiority, dominance and subordination – which affect the way we relate to and treat each other.
But instead of introducing socioeconomic policies that help reduce inequality, the Conservative government under Theresa May, have deliberately and consciously continued with the failed high borrowing-low investment/high debt neoliberal model that gives rise to it.
Deficit & debt
Public sector net borrowing, the widest measure of the deficit, was £48.7 billion last year (2016/17) and the gap is widening. In 2010, the coalition government said it would clear the deficit by 2015/16. Having missed the target, the stated aim is to clear it by 2026.
In their attempt to cover the deficit which adds to the total stock of national debt (ie the total money owed), the Tory strategy has been to borrow. Public sector borrowing is £1.9bn higher than last year. The government borrowed £6.9bn in June, 2017, £2bn more than at the same time last year.
In fact, the Tories have been the biggest borrowers over the last 70 years. This has culminated in an expected budget deficit from 2010 to 2020, of some £870 billion. This is well over the combined borrowing of Labour governments since 1945, around £490 billion.
Significantly, about 5 per cent of the government budget goes towards paying interest on the national debt which under the Tories has increased in real terms by 53 per cent between 2009/10 and 2016/17 to a huge £1.7 trillion. This represents 87.4 per cent of GDP and a 3.6 per cent rise year-on-year.
Relatively low tax rates for the rich, an inability to tackle evasion/avoidance, unemployment, the increase in poverty pay and zero hours contracts indicative of the rise in inequality, have all contributed to falling tax revenues and higher government debt. This has been used to justify more attacks on the poorest and weakest in society on the spurious basis that "the country can't afford alternatives to austerity" and that "there is no magic money tree."
Author of The Production of Money, Ann Pettifor, summarizes the austerity myth in 2 minutes 17 seconds. As she astutely puts it:
"Taxes are a consequence of investment and spending. They are not its cause."
The cornerstone of Tory economic policy is not to invest to stimulate the economy in order to boost growth and generate tax revenues, but to attack the welfare state and public sector which has the reverse affect.
Work that the Tories claim lift the poor out of poverty, is in reality poorly paid and insecure underwritten by the tax payer which puts more strain on public finances. On the same day that the bedroom tax was announced in parliament (estimated to "save" the Treasury £480 million), the top rate of tax in the UK was cut from 50 percent to 45 percent, resulting in a loss of revenue of £1 billion.
Lowest growth in the G7
With a record level of household debt and reduced levels of household spending combined with a lack of infrastructural investment, the GDP growth rate for the first quarter of 2017 shrunk to 0.2 per cent. This is the lowest growth rate of all the G7 nations. It doesn't leave much scope for a government apparently committed to "living within its means," to fund anything more than the local village fete.
The Tories austerity strategy began to take hold in a significant way following Chancellor George Osborne's June, 2015 budget in which he announced £12 billion of cuts. This included the abolition of working tax credits to the poorest and the top down reorganisation of the NHS brought about by the 2012 Health and Social Care Act which removes the duty of the Secretary of State for Health to provide a comprehensive health service.
The punitive attacks on the unemployed, working poor, sick and disabled have been increasingly stepped up resulting in over a million three-day emergency food supplies given to people in crisis in 2016/17. This in turn has led to increasing rates of depression, anxiety and incidences of suicides.
In social care, a combination of cuts of around 30 percent to local authority budgets since 2010, increasingly restrictive eligibility criteria for services, and inadequate personal budgets are leaving millions without the support they need.
Moreover, the lack of affordable housing, the reduction in housing and council tax benefits to the unemployed and sick and the imposition of the bedroom tax, has resulted in growing rates of homelessness and/or the social cleansing and displacement of entire communities, many of them long established.
Those affected are not just the poor and traditional blue collar workers but also the lower ranks of the middle classes. This is illustrated by the fact that the cuts, which began to have political repercussions within David Cameron's own Oxfordshire constituency, are now a factor in Tory seats up and down the country.
As Theresa May's disastrous General Election campaign and manifesto proved, the Tories can also no longer count on the elderly demographic for their vote. In an increasingly aging society, the pressure on the social care system will become more acute as demand for its services increase.
But a service motivated by profit is necessarily compromised in terms of its ability to provide a universal service of care predicated on need. The electorates rejection of the Tories "dementia tax" manifesto pledge seemed to suggest that there is a limit to which an aging population are willing to vote against its own interests.
As far as the political establishment is concerned, however, maximizing profits for the corporations they represent is given priority over the concept of a properly functioning and accountable social democratic state. Profit has become the guiding principle for the organisation of society from which everything is judged, including perceptions of success and happiness. This is reinforced daily on television programmes and in the lifestyle sections of magazines and newspapers.
Biological determinism
What underlies these contrasting perceptions is the concept biological determinism The proponents of this concept posit that the social order is a consequence of unchanging human biology, rather than the result of inherited economic privilege or luck. Thus, biological determinism reinforces the notion that inequality and injustice and the existence of entrenched hierarchical social structures of government, media and commerce are "natural".
But it also highlights the artificial limits that a system driven by profit imposes. Any rejection of biological determinism and the capitalist system that reinforces it, is regarded by apologists as being the fault of the individual and not the social institutions or the way society is structured.
Thus, the trend among evolutionary psychologists in their attempts to tackle, for example, the current anxiety and depression crisis in society, is not to challenge existing social structures upon which "reality" is based, but rather to alter the chemical composition of the human brain to accommodate it to this reality, or even in extreme circumstances to eliminate individuals altogether whose values are perceived to impact negatively on the 'taxpayer'.
Useless mouths/Social Darwinism
Years before moving towards explicit racial genocide, the Nazis developed the notion of 'useless mouths' or 'life unworthy of life' to justify its killing of 'undesirables' who, like the Tories, they regarded as a 'drain on society'. These ideas are a variant of nineteenth century 'Social Darwinism' and eugenicist theories, which adapted Darwin's notion of the survival of the fittest to describe relationships within society or between nations and races as a perpetual evolutionary struggle in which the supposedly weaker or defective elements were weeded out by the strongest and the 'fittest' by natural selection.
Intellectual challenges to market fundamentalism (neoliberalism) and evolutionary psychology that is its ideological cousin, help undermine the notion that rigid social stratification, inequality, injustice and neoliberal economics used to justify them, are inevitable. Indeed, prominent economists such as Joseph Stiglitz, Paul Krugman, Dani Rodrik and Jeffrey Sachs have for a long time been raising their voices against the neoliberal experiment.
They are not alone. Venture capitalist, Nick Hanauer has said:
"If capitalism doesn't change fundamentally, it will destroy itself. If you allow wealth to concentrate in fewer and fewer hands over time, in the end it cannot be good for anybody, particularly people like me. You show me a highly unequal society and I'll show you a police state or a revolution."
Hanauer continued:
"If we don't get inequality under control then it's likely to lead to war – a similar pattern that followed the last period of massive inequality between 1925 and 1940….. From a capitalists perspective, although it may seem a good idea in the short-term to impoverish the typical family, in the long-term it's a catastrophe."
Whereas progressive venture capitalists like Hanaeur, economists like Stiglitz and Krugman and politicians like Jeremy Corbyn, understand that the functioning of a modern forward-looking society is dependent upon the reduction in inequality to save capitalism from itself, the Tories want to take us back to the vast inequalities of the time of Charles Dickens and a return to a period before the Factory Acts of the 1830s and 1840s which set down a maximum length for the working day.
For the first time in generations, there exists a major alternative credible political force in Britain, that is prepared to challenge the prevailing neoliberal orthodoxy. The Labour party under Jeremy Corbyn, has shown it is serious about tackling head-on the dangerous concentration of power, wealth and extreme inequality that has been deliberately fostered by successive UK governments over the last 40 years.
Neoliberalism is a political and ideological construct that can, and must, be reversed. The transformation to a more just, humane and democratically responsive system is what Corbyn will usher in if elected next time around. It's imperative for the sake of our children and grandchildren, that we don't let the opportunity slip.
*Figures were obtained by comparing Sunday Times Rich Lists in 2010 and 2016. This £55.5bn represents a conservative figure, as 15 of the 100 richest people in 2010 fell out of the list of richest 1,000 (the full list) by 2016, and so their wealth could not be counted. The £55.5bn figure therefore reflects the wealth of the 85 Rich List figures who have remained in the Rich List from 2010-2016. Wealth was adjusted for inflation to 2016 prices.
**Figures were obtained by comparing Sunday Times Rich Lists in 2008 and 2016. This £12.57bn represents a conservative figure, as 17 of the 100 richest people in 2008 fell out of the list of richest 1,000 (the full list) by 2016, and so their wealth could not be counted. The £12.57bn figure therefore reflects the wealth of the 83 Rich List figures who have remained in the Rich List from 2008-2016. Wealth was adjusted for inflation to 2016 prices.
***Figures were obtained from the median household income in the ONS' Households Below Average Income release, 1994/95 to 2014/15 statistical release – https://www.gov.uk/government/statistics/households-below-average-income-199495-to-201415 Looking at difference between 2007/08 (£463), 2009/2010 (£469) and 2014/15 (£473) figures.
****Figures were obtained from the ONS's Wealth and Assets Survey, this shows the median wealth increase from 2010/12 – 2012-14, the first and last releases since 2008. https://www.ons.gov.uk/peoplepopulationandcommunity/personalandhouseholdfinances/incomeandwealth/compendium/wealthingreatbritainwave4/2012to2014


The family manager tool on our Advance Power Pack gives you the user an easier way to find your Revit families on your local computer or company server.
1. You can browse to as many locations as you need on both your local and network and they are all listed in the tree down the left hand side of the family manager window.
2. If further families have been added to those locations or changes have been made to the layouts of those locations, the users can easily refresh the tree so it has all the up to date library listed in the tree.
3. The family manger allows the user to filter what families they are looking for.
Once you have selected the families you can have the option to select all the types or just the ones you need. This reduces the number of families stored with your Revit project and keeps the file cleaner, so you're not having to purge the file as often.
Interested in watching the tutorial for 'Family Manager'? Then follow the link to go to our Graitec Advance PowerPack for Autodesk Revit 2016 blog post.