text:
'use strict';

angular.module('mapProjectApp.widgets.terminologyBrowser', [ 'adf.provider' ]).config(
  function(dashboardProvider) {

    dashboardProvider.widget('terminologyBrowser', {
      title : function() {
        return 'Terminology Browser';
      },

      description : 'Tree view for terminology',
      templateUrl : 'js/widgets/terminologyBrowser/terminologyBrowser.html',
      controller : 'terminologyBrowserWidgetCtrl',
      resolve : {},
      edit : {}
    });
  })

angular.module('mapProjectApp').controller(
  'terminologyBrowserWidgetCtrl',
  function($scope, $rootScope, $q, $timeout, $http, $routeParams, $location, localStorageService,
    utilService, gpService) {

    // Scope variables
    $scope.listMode = false;
    $scope.focusProject = localStorageService.get('focusProject');
    $scope.userToken = localStorageService.get('userToken');
    $scope.terminology = null;
    $scope.terminologyVersion = null;

    // initialize currently displayed concept as empty object
    $scope.currentOpenConcepts = {};
    $scope.descTypes = {};
    $scope.relTypes = {};

    // initialize search variables
    // the query input
    $scope.query = '';
    $scope.treeQuery = '';
    $scope.searchResults = [];
    $scope.selectedResult = null;

    // Paging
    $scope.pageSize = 5;
    $scope.pagedSearchResults = [];
    $scope.paging = {};
    $scope.paging['search'] = {
      page : 1,
      filter : '',
      sortField : null
    };

    // whether the back button is displayed
    $scope.searchBackAllowed = false;
    // whether the forward button is
    $scope.searchForwardAllowed = false;
    // displayed
    // an array of search terms from query input
    $scope.searchStack = [];
    // the current position in the stack
    $scope.searchStackPosition = 0;
    // the number of results currently in the
    $scope.searchStackResults = 0;
    // array (may be less than array length)

    // watch for project change and modify the local variable if necessary
    // coupled with $watch below, this avoids premature work fetching
    $scope.$on('localStorageModule.notification.setFocusProject', function(event, parameters) {
      $scope.focusProject = parameters.focusProject;
      // Set default list mode
      if ($scope.focusProject.destinationTerminology === 'GMDN') {
        $scope.listMode = true;
      }
    });
    // Check current focus project setting
    if ($scope.focusProject.destinationTerminology === 'GMDN') {
      $scope.listMode = true;
    }

    $scope.$on('mapEntryWidget.notification.clearTargetConcept', function(event, parameters) {
      $scope.query = '';
      $scope.treeQuery = '';
    });

    // Code to auto-perform a search - turns out to be not that useful.
    // when mapEntry.js is populated
    // $scope.$on('mapRecordWidget.notification.changeSelectedEntry',
    // function(event, parameters) {
    // // If no query and the entry is empty, search the map record
    // automatically
    // if (!$scope.query && !parameters.entry.targetId) {
    // $scope.query = parameters.record.conceptName.toLowerCase().replace(/[^
    // A-Za-z0-9\.]/g, "");
    // $scope.search();
    // }
    // });

    // function called on storage listener event
    function onStorageEvent(storageEvent) {
      console.debug(storageEvent);
      var targetCode = localStorage.getItem('targetCode');

      // if target code is set, focus window, remove from storage, and set
      // target
      if (targetCode) {
        localStorage.removeItem('targetCode');
        console.debug('test');
        $scope.query = targetCode;
        $scope.search();
        $timeout(function() {
          window.alert('Target code selected in index viewer: ' + targetCode);
        }, 250);

      }
    }

    // add the storage listener
    window.addEventListener('storage', onStorageEvent, false);

    // remove listener on location change
    $scope.$on('$locationChangeStart', function(event) {
      window.removeEventListener('storage', onStorageEvent);
    });

    // REQUIRED WATCH VARIABLES: focusProject, userToken. None others needed.
    $scope.$watch([ 'focusProject', 'userToken' ], function() {
      if ($scope.focusProject != null && $scope.userToken != null) {

        $scope.terminology = $scope.focusProject.destinationTerminology;
        $scope.terminologyVersion = $scope.focusProject.destinationTerminologyVersion;
        $scope.model.title = $scope.terminology + ' Terminology Browser';

        $http.defaults.headers.common.Authorization = $scope.userToken;

        // get the root trees
        $scope.getRootTree();
      }
    });

    // Helper function to ensure all the collapsible truncated information is
    // initially not expanded
    function initTruncationWells(node) {
      // if the first time this has been viewed, close the truncation wells
      for (var i = 0; i < node.descGroups.length; i++) {
        for (var j = 0; j < node.descGroups[i].treePositionDescriptions.length; j++) {
          if (node.descGroups[i].treePositionDescriptions[j].isCollapsed == null
            || node.descGroups[i].treePositionDescriptions[j].isCollapsed == undefined) {
            node.descGroups[i].treePositionDescriptions[j].isCollapsed = true;
          }
        }
      }
    }

    // Handler for the "Search" button
    // Perform a search - list or tree depending on the state
    $scope.search = function() {

      // Query is implied
      if (!$scope.query) {
        return;
      }

      // bail on only whitespace search
      if (new RegExp('^\s+$').test($scope.query)) {
        return;
      }

      // clear the search results
      $scope.searchResults = [];

      console.debug('search, listmode', $scope.listMode);

      // list or tree mode
      if ($scope.listMode) {
        $scope.performSearch($scope.query);
      } else {

        // Perform tree search
        $scope.treeQuery = $scope.query;
        console.debug('get root tree with query', $scope.query);
        $scope.getRootTreeWithQuery(true);
      }
    };

    // Handler for the 'Reset' button
    // Perform a search - list or tree depending on the state
    $scope.clearSearch = function() {
      $scope.searchStatus = '';
      $scope.query = '';
      $scope.searchResults = [];
      $scope.pagedSearchResults = [];

      $scope.searchStack = [];
      $scope.searchStackPosition = 0;
      $scope.searchStackResults = 0;

      // Get root tree
      $scope.treeQuery = '';
      $scope.getRootTree();
    };

    // Search a terminologyId in the tree from the list
    $scope.selectResult = function(result) {
      $scope.selectedResult = result;
      $scope.treeQuery = result.terminologyId;
      $scope.getRootTreeWithQuery(true);
      $scope.toggleListMode();
    };

    // Page search results
    $scope.getPagedSearchResults = function() {
      $scope.pagedSearchResults = utilService.getPagedArray($scope.searchResults,
        $scope.paging['search'], $scope.pageSize);
    };

    // Perform a query search for a list
    $scope.performSearch = function(query) {
      $scope.searchStatus = 'Searching...';
      var t = $scope.focusProject.destinationTerminology;
      var v = $scope.focusProject.destinationTerminologyVersion;
      var lquery = query + ' AND terminology:' + t + ' AND terminologyVersion:' + v;

      gpService.increment();
      $http.get(root_content + 'concept?query=' + encodeURIComponent(lquery)).then(
      // Success
      function(response) {
        $scope.searchStatus = '';

        // if just 0 results, show a message
        if (response.data.searchResult.length == 0) {
          $scope.searchResults = response.data.searchResult;
          $scope.searchStatus = 'No results';
          $scope.getRootTree();
          $scope.manageStack($scope.query);
        }

        // If just 1 result, leave results blank, set tree query and search
        // the root tree
        else if (response.data.searchResult.length == 1) {
          $scope.selectResult(response.data.searchResult[0]);
        }

        // otherwise display results and root tree
        else {
          $scope.searchResults = response.data.searchResult;
          $scope.getPagedSearchResults();
          $scope.getRootTree();
          $scope.manageStack($scope.query);
        }
        gpService.decrement();
      },
      // error
      function(response) {
        gpService.decrement();
        utilService.handleError(response.data);
      });
    };

    // function to get the root nodes
    $scope.getRootTree = function() {
      console.debug('get root tree');

      $rootScope.glassPane++;
      $http({
        url : root_mapping + 'treePosition/project/id/' + $scope.focusProject.id + '/destination',
        method : 'GET',
        headers : {
          'Content-Type' : 'application/json'
        }
      }).success(function(response) {
        console.debug('  tree = ', response);
        $rootScope.glassPane--;
        $scope.terminologyTree = response.treePosition;
        for (var i = 0; i < $scope.terminologyTree; i++) {
          $scope.terminologyTree[i].isOpen = false;
          $scope.terminologyTree[i].isConceptOpen = false;
        }
      }).error(function(data, status, headers, config) {
        $rootScope.glassPane--;
        $rootScope.handleHttpError(data, status, headers, config);
      });
    };

    // function to get the root nodes with query
    $scope.getRootTreeWithQuery = function(isNewSearch) {

      // Bail on an empty search
      if ($scope.treeQuery == '') {
        return;
      }
      // bail on only whitespace search
      if (new RegExp('^\s+$').test($scope.treeQuery)) {
        return;
      }
      $scope.searchStatus = 'Searching...';
      $scope.terminologyTree = [];
      console.debug('get root tree with query', $scope.treeQuery);
      $rootScope.glassPane++;
      $http(
        {
          url : root_mapping + 'treePosition/project/id/' + $scope.focusProject.id + '?query='
            + encodeURIComponent($scope.treeQuery),
          method : 'GET',
          headers : {
            'Content-Type' : 'application/json'
          }
        }).success(function(response) {
        $scope.searchStatus = '';
        console.debug('  result = ', response.data);
        $rootScope.glassPane--;

        // limit result count to 10 root tree positions
        for (var x = 0; x < response.treePosition.length && x < 10; x++) {
          $scope.terminologyTree[x] = response.treePosition[x];
        }
        if ($scope.terminologyTree.length == 0) {
          $scope.searchStatus = 'No results';
        }
        $scope.expandAll($scope.terminologyTree);
        if (isNewSearch) {
          $scope.manageStack($scope.treeQuery);
        }

      }).error(function(data, status, headers, config) {
        $rootScope.glassPane--;
        $rootScope.handleHttpError(data, status, headers, config);
      });
    };

    // Manage the search stack
    $scope.manageStack = function(query) {
      // update the position counter
      $scope.searchStackPosition++;

      // check that array still has space, if not reallocate
      if ($scope.searchStack.length <= $scope.searchStackPosition) {

        var newSearchStack = new Array($scope.searchStack.length * 2);
        for (var i = 0; i < $scope.searchStack.length; i++) {
          newSearchStack[i] = $scope.searchStack[i];
        }

        $scope.searchStack = newSearchStack;
      }

      // add the query to the stack
      $scope.searchStack[$scope.searchStackPosition] = query;

      // remove any elements past the search stack position
      for (var i = $scope.searchStackPosition + 1; i < $scope.searchStack.length; i++) {
        $scope.searchStack[i] = '';
      }

      // set the total number of results to this position
      $scope.searchStackResults = $scope.searchStackPosition;

      // set the variables for back/forward
      $scope.searchBackAllowed = $scope.searchStackPosition > 0;
      $scope.searchForwardAllowed = $scope.searchStackPosition < $scope.searchStackResults;

    };

    // search history
    $scope.changeSearch = function(positionChange) {
      $scope.searchStatus = '';

      // alter the position, set the query, and call the search function
      $scope.searchStackPosition += positionChange;
      if ($scope.searchStackPosition < 0)
        $scope.searchStackPosition = 0;
      $scope.query = $scope.searchStack[$scope.searchStackPosition];
      // set the variables for back/forward
      $scope.searchBackAllowed = $scope.searchStackPosition > 0;
      $scope.searchForwardAllowed = $scope.searchStackPosition < $scope.searchStackResults;

      // clear the search results
      $scope.searchResults = [];
      // if query is not populated or undefined, get the root trees, otherwise
      // get query results
      if ($scope.listMode) {
        $scope.performSearch($scope.query);
      } else {
        // Perform tree search
        $scope.treeQuery = $scope.query;
        if (!$scope.treeQuery) {
          $scope.getRootTree();
        } else {
          $scope.getRootTreeWithQuery(false);
        }
      }
    };

    $scope.gotoReferencedConcept = function(referencedConcept) {
      $scope.treeQuery = referencedConcept.terminologyId;
      $scope.getRootTreeWithQuery(true);
    };

    $scope.getLocalTree = function(terminologyId) {
      var deferred = $q.defer();
      $timeout(function() {
        $rootScope.glassPane++;
        console.debug('get local tree', terminologyId);
        $http(
          {
            url : root_mapping + 'treePosition/project/id/' + $scope.focusProject.id
              + '/concept/id/' + terminologyId,
            method : 'GET',
            headers : {
              'Content-Type' : 'application/json'
            }
          }).success(function(response) {
          console.debug('  tree = ', response);
          $rootScope.glassPane--;
          deferred.resolve(response);
        }).error(function(data, status, headers, config) {
          $rootScope.glassPane--;
          $rootScope.handleHttpError(data, status, headers, config);
        });

      });

      return deferred.promise;
    };

    // function to recursively expand tree positions
    // also returns true/false if:
    // - the id of the node or one of its children exactly matches the search
    $scope.expandAll = function(treePositions) {
      var retval = false;
      for (var i = 0; i < treePositions.length; i++) {

        // initialize the truncation wells
        initTruncationWells(treePositions[i]);

        // if children have been loaded, expand
        if (treePositions[i].children.length > 0) {
          treePositions[i].isOpen = true;
        }

        // Stop on an exact id search match
        if (treePositions[i].terminologyId.toUpperCase() === $scope.treeQuery.toUpperCase()) {
          // load the concept detalis
          $scope.getConceptDetails(treePositions[i]);

          /*
           * // expand children, but do not expand their info panels for (var j =
           * 0; j < treePositions[i].children.length; i++) {
           *
           * treePositions[i].children[j].isOpen = true; }
           */

          // stop recursive expansion here;
          retval = true;
        }

        // If this will stop an an exact id search, expand the concept details
        // concept id, get details
        else if ($scope.expandAll(treePositions[i].children) == true) {

          // if this is a root node, bail immediately without expanding anything
          if (treePositions[i].ancestorPath == null || treePositions[i].ancestorPath === '') {
            return false;
          }

          // $scope.getConceptDetails(treePositions[i]);
          retval = true;
        }

      }

      // Return true if any exact match was found
      return retval;
    };

    // Toggle the list/tree mode
    $scope.toggleListMode = function() {
      $scope.listMode = !$scope.listMode;
    }

    // Toggle child nodes
    $scope.toggleChildren = function(node) {
      node.isOpen = !node.isOpen;

      // only perform actions if node is open
      if (node.isOpen == true) {
        // check if this node has been retrieved
        if (node.children.length == 0 && node.childrenCount > 0) {
          $scope.getLocalTree(node.terminologyId).then(function(response) {

            // shorthand for the conceptTrees (may be multiple paths)
            var data = response.treePosition;

            // find the tree path along this node
            for (var i = 0; i < data.length; i++) {
              if (data[i].ancestorPath === node.ancestorPath) {
                node.children = node.children.concat(data[i].children);
              }
            }
          });
        } else {
          // do nothing, content already loaded
        }

      }

    };

    // function for toggling retrieval and display of concept details
    $scope.getConceptDetails = function(node) {

      // initialize truncation wells
      initTruncationWells(node);

      // if called when currently displayed, clear current concept
      if (node.isConceptOpen == true) {
        node.isConceptOpen = false;

        // otherwise, retrieve and display this concept
      } else {
        if (node.descGroups.length > 0)
          node.isConceptOpen = true;
        else
          node.isConceptOpen = false;
      }
    };

    // given a typeId and a list of elements, returns those elements with
    // matching typeId
    function getConceptElementsByTypeId(elements, typeId) {
      var elementsByTypeId = [];
      for (var i = 0; i < elements.length; i++) {
        if (String(elements[i].typeId) === String(typeId)) {
          elementsByTypeId.push(elements[i]);
        }
      }
      return elementsByTypeId;
    }

    // ////////////////////////////////////////////////////////////////
    // REFERENCE HANDLING
    //
    // Used for ICD10 * and † display
    // For each reference relationship:
    // - find one or more descriptions matching this relationship
    // - attach the reference information to this relationship
    // - remove the description from the description list
    // ///////////////////////////////////////////////////////////////

    function getFormattedDescriptions(concept, typeId, relTypes) {
      // first, get all descriptions for this TypeId
      var descriptions = getConceptElementsByTypeId(concept.description, typeId);

      // format each description
      for (var i = 0; i < descriptions.length; i++) {
        descriptions[i] = formatDescription(descriptions[i], relTypes, concept);
      }

      return descriptions;

    }

    function formatDescription(description, relTypes, concept) {
      var relationshipsForDescription = [];

      // find any relationship where the terminology id begins with the
      // description terminology id
      for (var i = 0; i < concept.relationship.length; i++) {
        if (concept.relationship[i].terminologyId.indexOf(description.terminologyId) == 0) {
          relationshipsForDescription.push(concept.relationship[i]);
        }
      }
      if (relationshipsForDescription.length > 0) {
        description.referencedConcepts = [];
        for (var i = 0; i < relationshipsForDescription.length; i++) {

          // add the target id
          var referencedConcept = {};
          referencedConcept.terminologyId = relationshipsForDescription[i].destinationConceptId;

          // if a asterisk-to-dagger, add a †
          if (relTypes[relationshipsForDescription[i].typeId].indexOf('Asterisk') == 0) {
            referencedConcept.relType = '†';
          }
          // if a dagger-to-asterik, add a *
          if (relTypes[relationshipsForDescription[i].typeId].indexOf('Dagger') == 0) {
            referencedConcept.relType = '*';
          }
          description.referencedConcepts.push(referencedConcept);

          // remove this relationship from the current concept (now
          // represented in description)
          concept.relationship.removeElementByTerminologyId(relationshipsForDescription[i]);

        }
      }

      return description;

    }

    $scope.getDescriptionGroups = function(terminologyId) {

      var concept = $scope.getElementByTerminologyId($scope.currentOpenConcepts, terminologyId);
      $.map(concept.descriptionGroups, function(v, i) {
        if (v['terminologyId'] === terminologyId)
          return v;
      });
      return null;
    };

    $scope.hasElementByTerminologyid = function(array, terminologyId) {
      $.map(array, function(v, i) {
        if (v['terminologyId'] === terminologyId)
          return true;
      });
      return false;
    };

    $scope.getElementByTerminologyId = function(array, terminologyId) {
      $.map(array, function(v, i) {
        if (v['terminologyId'] === terminologyId)
          return v;
      });
      return null;
    };

    // function to remove an element by id or localid
    // instantiated to negate necessity for equals methods for map objects
    // which may not be strictly identical via string or key comparison
    Array.prototype.removeElementByTerminologyId = function(terminologyId) {
      var array = new Array();
      $.map(this, function(v, i) {
        if (v['terminologyId'] != terminologyId)
          array.push(v);
      });

      this.length = 0; // clear original array
      this.push.apply(this, array); // push all elements except the one we
      // want to delete
    };

    $scope.truncate = function(string, plength) {
      var length = plength;
      if (length == null)
        length = 150;
      if (string.length > length)
        return string.slice(0, length - 3);
      else
        return string;
    };

    $scope.truncated = function(string, plength) {
      var length = plength;
      if (length == null)
        length = 150;
      if (string.length > length)
        return true;
      else
        return false;
    };

    $scope.selectConcept = function(node) {
      $rootScope.$broadcast('terminologyBrowser.selectConcept', {
        key : 'concept',
        concept : node
      });
    };
  });


9th Nov 2006 The IWDG has been awarded a Vodafone/CVI Ireland Nature Fund Award. The award will enable us to continue with our large whale Photo ID project over the coming year.
The award was presented by Mairead McGuinness MEP who also chaired the judging panel. The Nature fund is distributed twice a year, with a yearly prize fund of €40,000.


'All God's Children' recalls the travails of a West Africa boarding school.
The writer of Ecclesiastes says there is a time for everything—a time to be silent and a time to speak. All God's Children was made for the latter. The 2008 documentary was inspired by an article that ran in Christianity Today in April 1998, exposing alleged child abuse at the Mamou Alliance Academy in Guinea, West Africa, a Christian and Missionary Alliance (C&MA) boarding school for missionary kids.
At Mamou during the 1960s, dozens of children were beaten, abused, and even raped by teachers and overseers, and told that if they ever revealed what went on, they would be defeating their parents' work and damning millions of potential African converts. Now adults, many of Mamou's survivors have banded together to confront the demons of their past, seek justice, and, in some cases, offer forgiveness.
All God's Children is a harrowing tale. Including firsthand interviews and footage of children at the school (though showing no abusive situations), the film offers a glimpse into the long-term mental and spiritual ramifications of violence practiced against the innocent. Many of the former students have left the faith, some struggle with their sexuality, and others battle depression and suicide. One ex-student could not conceive of a world in which anyone would want children, while another finds hymns nauseating because they were the soundtrack of his abusive childhood. Yet another felt compelled to show the world that his experiences were a perverted aberration of God's will and is now a minister.


The Wealth DNA radio show is dedicated to helping you increase your wealth, as well as educating savers & investors. During this pre-recorded show we'll deal with one of the most contentious debates – Should I pay off my mortgage early? If not, then how should I invest that money? And this topic is directly related to some of the most common questions we get: Is there good debt, or is all debt bad? What is the highest return guaranteed investment? Should I ignore the financial advice I got from my parents & grandparents? Where will I get the money for a down payment or to invest in a new business? What's the source of some of these commonly held beliefs?
This show will take some listeners outside of their comfort zone, since we'll be challenging their long held beliefs. Long held beliefs are just like habits we've developed over many years. We don't question why we do what we've always done, unless someone points out the benefits of changing, or the risks of continuing. The key question you should consider during this show: Would I rather be debt free, or financially free?
Call-in with Questions: +1-917-388-4162 or Click to listen online.


Well, that was lovely. Six hours spent in the company of local nuns was just what the doctor ordered. In actual fact, I barely saw a nun. Aside from the person who showed me to my room, I didn't lay eyes on another person all day.
Spending time in silence was different this time round. A whole plethora of emotions bobbed to the surface – sorrow, shame, anger, guilt, love and joy. They all came to the party.
I did what I have been instructed to do by the Journey practitioner and invited them in. Frankly, I wasn't expecting quite so many feelings to show up, but it wasn't a problem as they all passed through without exception.
I touched the bliss that is stillness once again and can't quite believe it's taken me this long to get there. And how is it that I have lived just a few miles from this amazing sanctuary and only just discovered it?
The place was warm and cozy. It has been newly decorated, the facilities are great and it felt like a home from home. It only cost me £15 to have a room to myself for six whole hours. I had the use of a kitchen, lounge/diner and prayer room, all of which I utilised without seeing a single soul.
There was a leaflet in my room about BBC Two's Big Silence, a three-part documentary about a group of five people from varying backgrounds, who were asked to spend eight days at a silent retreat. I watched the lot when I got home – I am sure binge TV watching is not a good way to finish a day such as the one I had, but at least the subject matter was spiritual.
Every single one of the participants in the TV show discovered something big, something spiritual, loving and ever present in the silence. A few called this thing 'God' while others felt more comfortable calling it the 'universe' or their 'soul'. I've glimpsed this thing too. I don't know what word to give it. God has too many connotations for me. I see it as the universe.
A thought struck me at the nuns' place. The earth and all life on it is a creative expression of the universe. It has all come from somewhere and it's all part of the same thing. It's that oneness that I keep reading about – by people who are clearly far more able to put it into words than I am. It doesn't matter what you call it, but when you've felt it, it changes everything. Things that once seemed important – like work, money, nice cars etc, are not while stuff that seemed a bit airy fairy starts to look like a much saner reality.
It won't be easy, but I have to make time for silence in my life. I intend to spend a 24 hour spell with the nuns, followed by a whole weekend and in my daily life, I aim to take at least 20 minutes a day to sit in silence. I have been following guided audio meditations, but yesterday I discovered that I don't really need them. I am more than capable of guiding myself – or more to the point, allowing myself to be lead by the thing that's bigger than your or I.
I put myself in the loving hands of the universe.
Be quiet and listen to God. Or whatever you call him. I believe in a universal consciousness. I also believe that if we're willing, we'll be told what we need to know. Peace be with you.


Voting period has started. Remember to vote Liu for SAC!
After representing Langley at the SAC for a year, I am now running for reelection. What we need now is steady leadership; someone who has experience, someone who can represent Langley.
Re-elect Thomas Liu as your SAC Representative.
Remember to vote from 4/24 to 4/27 on Blackboard!
Q: Mr. McElveen, what led you to run for public office?
I was interested in giving back to the community. I had gone off to graduate school and I was coming back to this area. I had a job lined up, but I did not really have any community involvement. So I just wanted to be more involved in the community locally because my day job is more international.
Q: Did you hold any elected office before running for School Board?
No, I did not. School Board is my first elected office.
Q: What goals did you have before you decided to run for School Board?
I really had nothing to lose, I was really young. I didn't know people in the community, so my goal was just to get to know more people and to get involved. I was really lucky to get as far as I did.
Q: What is your greatest success, so far, at the Fairfax County School Board?
I think I have helped to change the dialogue around school food, we brought in a new Food and Nutrition's Service Director who has really changed the dialogue and brought in more fresh food and things like that.
Q: Are there any thoughts on politics or leadership you will like to share with us, the younger generation of leaders?
Leadership is really about listening, doing hard work and making tough decisions. Most of the people do not realize the hours of work that leaders put in and the difficult decisions that leaders have to make. They often just criticize them on the surface issues. So leadership is really about getting out into the community and really listening to people and making hard decisions based on all the information that they have.
Q: What was your greatest challenge since you've been in office?
One of the greatest challenges was making those tough decisions. We had the transgender issue, and that was something that I brought forward. This issue is critical to the students, but at the same time a lot of people in the community were against it. There were two constituencies battling each other, so reaching the middle ground is difficult.
Q: Lastly, I guess this is a good way to end the interview, what advice do you have for people who want to get involved in politics and public policy? What advice can you give us?
So my main advice is to take risks, most of life is about the courage to do the difficult things. So my advice to the younger people is to run and go out into the community and make themselves noticed as much as possible.


The highway funding situation in Alabama isn't all that different from what exists in most other states. Roads are falling apart, funding is insufficient because increases in vehicle fuel economy means less gasoline and diesel is sold, and the anti-tax crowd continues to bray the "no tax increases" mantra. The governor has proposed raising taxes to fund, among other things, deficits in the transportation budget. Part of the deficit, as revealed in this story was caused by the shift of $63 million from the highway fund to the general fund.
But, according to this report, Republican state senator Bill Holtzclaw rented a billboard on which he proclaimed, "Governor Bentley wants to raise your taxes. I will not let that happen. Semper Fi - Senator Bill Holtzclaw." In response, the state Department of Transportation suspended funding for highway projects in Holtzclaw's district. The governor confirmed that the suspension continues.
My suggestion is that the governor acquire billboard space to post this message: "Senator Holtzclaw doesn't mind those potholes. I want to spare you the expense of fixing your car when you hit them. Governor Bentley." People need to understand, as I have pointed out time and again, that it makes more sense to pay a small tax increase than to pay ten times that amount in repair bills, and infinitely times that amount to cope with death and injury caused by deteriorating transportation infrastructure. My explanation can be found in previous posts, such as Liquid Fuels Tax Increases on the Table, You Get What You Vote For, Zap the Tax Zappers, Potholes: Poster Children for Why Tax Increases Save Money, When Tax and User Fee Increases are Cheaper, Yet Another Reason Taxes and User Fee Increases Are Cheaper, When Potholes Meet Privatization, When Tax Cuts Matter More Than Pothole Repair, and Back to Taxes and Potholes.
When asked about the suspension tactic, the governor gave a marvelous response. "You know, I don't want to embarrass any of our legislators by bringing tax dollars into their district when they really don't like taxes." On a national level, that approach would unclog the D.C. logjam rather quickly, considering that "red states," which provide strong support for the anti-tax movement, pull down more tax dollars from the federal government than they pay in, as reported in numerous studies, including this recent one.
Holtzclaw included the ridiculous "won't raise taxes" pledge in his campaign. The governor's advice? "It's OK to change your mind when you see the real issue out there. It's OK. In fact it takes more courage to do that than it does to say no." Indeed. Courage. Something lacking among the politicians who defer to the oligarchs whose self-interest blinds them to the well-being of everyone else.
In a recent commentary, Tom Giovanetti of The Institute for Policy Innovation explains that tax uncertainty causes economic harm. Tax uncertainty exists when taxpayers don't know what the tax law applicable to a particular year will be because the Congress waits until near the end of the year to extend or not extend provisions that expired as of the end of the previous year. In the commentary, Giovanetti focuses on the ever-changing specifics of the section 179 deduction.
Giovanetti is correct. Tax uncertainty causes economic harm. It also cause other problems, not the least of which is taxpayer anxiety and the opportunity for politicians to grandstand on the issues and to use taxpayer fear as leverage for gathering up campaign contributions.
What needs to be done? I concluded that post with these words: "It ought to be crystal clear to the business leaders of America where the problem lies, and it ought to be crystal clear to them what needs to be done. Will they rise to meet the challenge? Or will they remain mired in the woeful world of tax politics, caught up in a spiral of economic degeneration?" Today I add the simple observation that during the five years since I made that point, the Congress has sunk even deeper into the swamp of politics. Soon the nation will run out of time to clean house.
A recent case, McCarthy v. Comr., T.C. Memo 2015-50, illustrates why it is easy to become confused when retirement plan benefits, social security benefits, and tax law meet up at a three-way intersection.
The taxpayers are a married couple. The wife was a participant in a state retirement plan for teachers. Her employment was not covered employment for social security purposes. Accordingly, her social security benefits were reduced on account of the retirement payments from the state retirement plan. The husband's employment was covered employment, and he received social security benefits of $19,132.
When the taxpayers filed their joint federal income tax return, they reported as pension income only $9,233.72 of the $27,412.68 retirement payments. The $27,412.68 was the amount shown on the Form 1099-R provided to the wife. They reported total social security income of $37,600.24, with a taxable amount of zero. In other words, what the taxpayers did was to treat a portion of the pension payment as social security benefits.
The Tax Court held that the taxpayers were required to report $27,412.68 of gross income on account of the retirement payments, and $3,868 of the social security benefits because the adjusted gross income increased by one-half of the total social security benefits put the taxpayers' adjusted gross income at a level that required inclusion of a portion of social security benefits in gross income.
In their answering brief, the taxpayers stated that they sought "judicial redress" of the "financial inequity created by two different Arms of Government (SSA and IRS) defining the same monies (2/3 of the STRS Pension) in two completely opposite ways each to the detriment of the taxpayer." They suggested that the solution "could be to allow 50% of what the SSA claims is SS included in the STRS Pension (Employer share) to be treated as SS on our Tax Returns." The Tax Court held that it did not have the authority to do what the taxpayers wanted it to do.
The taxpayers make a good point. By reducing social security benefits on account of the state retirement system benefit payments, the Congress causes the portion of the taxpayer's overall retirement receipts that is treated as taxable pension payments to increase, which in turn not only increases gross income on its own account but generates gross income from a portion of the social security benefits. This is a creature of Congressional action, and any remedy requires Congressional action. Unfortunately for the taxpayers and others in the same position, Congressional action is not something to be expected in this day and age, particularly Congressional action to deal with a tax glitch that no one in the Congress understands and which Congress has no interest in fixing.
A recent case, Pittman v. Comr., T.C. Memo 2015-44, hammers home the point that a taxpayer is not entitled to claim the credit for purchasing a home for the first time if the taxpayer does not purchase a home. It seems a simple proposition, but sometimes the simplest of things can be confusing when thinking disappears.
On January 22, 2007, the taxpayer rented a residence from a homeowner. On the same date, the taxpayer and the homeowner entered into an option contract, giving the taxpayer the option to purchase the residence. The option expired on January 31, 2008. The taxpayer paid an option fee that would be applied to the purchase price if she purchased the residence. The taxpayer also paid $150 each month to be applied against the purchase price if the option was exercised. The taxpayer did not exercise the option because she could not option financing. No sales contract for the residence was executed. On November 26, 2008, the homeowner filed for bankruptcy. The taxpayer filed an adversary complaint against the homeowner because of his alleged failure to sell the residence to her. Her pleadings in the bankruptcy proceedings indicate she did not purchase the residence and never had title to it. She contended that the homeowner intended to defraud her with the option contract. Her bankruptcy complaint was dismissed. The taxpayer did not produce a settlement statement, a deed, an executed purchase agreement, or any other documentation to prove she purchased the residence.
The first-time homebuyer credit is available to a taxpayer who purchases a principal residence, and who does not own an interest in a principal residence for the three years ending on the date of the purchase. A purchase requires transfer of title or a shift of benefits and burdens of ownership. The Tax Court explained that in Florida, where the residence was located, an option does not shift any interest to the option holder until it is exercised. If the option is in connection with a lease, the parties remain landlord and tenant.
Nothing in the opinion explains why the taxpayer thought she had purchased the residence. Nor does it explain why the taxpayer, if not thinking that she had purchased the residence, would claim that she did. We probably never will have those answers.
Last week, in Moving? Let the IRS Know, I explained why it is important for taxpayers to keep the IRS informed of changes in address. Because the IRS generally is permitted to send deficiency notices to the address on the taxpayer's most recently filed return, a taxpayer who no longer resides at that address is apt not to receive a deficiency notice. There is an exception for notification by the postal service, which generally requires the taxpayer to initiate a change of address filing with the post office. In other words, the burden of keeping the taxpayer's address up to date sits with the taxpayer.
One of the not-so-common exceptions was the topic of a recent Chief Counsel Memorandum. The memorandum focused on how the IRS should deal with notices sent to incarcerated taxpayers. The memorandum explained that the fact the taxpayer's address has been changed to that of a prison on the database maintained by the Bureau of Prisons on its website does not fit within the exception that applies to notification by the postal service. Nor does the Form 13308 prepared by Criminal Investigation when closing and transferring a case to Exam or Collection unless it is signed by the taxpayer and includes a statement that the taxpayer wants to change the address of record.
Though the IRS is required to use a different address if it becomes aware that the taxpayer's address has changed, courts have held that the address on the most recently filed return can be used as the last known address, even if the IRS knows that the taxpayer has been incarcerated, unless the taxpayer provides clear and concise notification that the place of incarceration should be used as the address. But to this principle there is an exception. If the IRS has specific knowledge of the taxpayer's incarceration, participated in prosecuting the taxpayer, and knows that there is an infirmity on the address that the IRS would otherwise use, then the IRS must use the place of incarceration as the last known address.
It amazes me that Americans, given the choice between paying $100 in some sort of road use tax and paying $500 for uninsured vehicle repairs necessitated by poorly maintained roads, prefer to pay $500. It's no wonder that tax cut con artists ply their trade with impunity.
The inability of most Americans to figure out that paying $100 is better than paying $500 has been the topic of more than a few posts in this blog. In posts such as Liquid Fuels Tax Increases on the Table, You Get What You Vote For, Zap the Tax Zappers, Potholes: Poster Children for Why Tax Increases Save Money, When Tax and User Fee Increases are Cheaper, Yet Another Reason Taxes and User Fee Increases Are Cheaper, When Potholes Meet Privatization, and When Tax Cuts Matter More Than Pothole Repair, I have tried to explain why it makes sense to pay the taxes that are necessary to avoid paying far more for vehicle repairs.
According to this recent story, focusing on the arrival of pothole season, people are shelling out hundreds of dollars to replace wheels and tires damaged by potholes. It's at the point where flat tire calls are exceeding dead battery calls to emergency road service outfits. Add in damage to shock absorbers, springs, and other suspension components, and the wages of tax avoidance indeed are steep.
According to the story, the city of Philadelphia alone has filled in 12,000 potholes, and I'm confident its workers have made much of a dent in the damage. Though 2014, as I noted in some of my previous posts, set records in my area of the country for potholes, 2015 is surpassing its predecessor quite easily. From personal experience, I can attest to the fact that finding even a one-quarter mile stretch of highway free of potholes is impossible. In Coatesville, according to the story, every street is damaged. I can believe it.
Here are some numbers to ponder. The state of Pennsylvania has spend close to $33 million on road maintenance this winter, and that includes the cost of snow. Culling out the portion spent on pothole repair and extrapolating it across the country is at best a guess, and though my attempts to find an annual pothole repair cost figure have failed, it seems reasonable to conclude that $1.5 billion gives an idea of the scope of the problem. Though current levels of taxation fund some part of that amount, Pennsylvania, and surely other states, are already over budget. Let's guess that half of the $1.5 billion needs to be funded by increased road use taxes of some sort. "Horrors!" would be the cry of many taxpayer. "Over our dead bodies" would scream the anti-tax crowd, which could get its wish considering that potholes have caused accidents that have killed motorists. According to the story, quoting industry officials, potholes generate almost $5.4 billion in motor-vehicle damage nationally, each year. In 2014, a bad year for potholes about to be eclipsed by 2015, the AAA claimed that the annual cost was $6.4 billion.
Surely what triggers the choice to resist $100 tax increases in face of $500 repair costs is the "it can't happen to me" attitude of most taxpayer-motorists. Yet as potholes become no less common than mosquitoes on a summer night, the odds of hitting a pothole are soaring. At what point does opinion shift? When twenty percent of motorists experience the disappearance of $500? Thirty percent? What critical mass is required to stand up to the anti-tax crowd and tell them that enough is enough?
Wouldn't it be nice if the only vehicles that hit potholes are those driven by the anti-tax folks and that no one else is harmed thereby? One can dream, just as one can dream of the day when democracy returns to the republic.
Who's to Blame for Tax Fraud?
A recent commentary by Tom Giovanetti of the Institute for Policy Innovation takes the position that it is wrong to blame tax software for tax fraud, which is what some members of Congress have been alleging. The commentary then concludes that tax fraud should be blamed on the IRS and Congress.
As to the first point, that tax software is not the reason for tax fraud, I agree. Giovanetti is correct that software is a tool. To blame Excel for the success of an embezzler makes no sense. Similarly, to blame software for the entries that users insert into the software's data fields makes no sense.
As to the second point, that tax fraud should be blamed on the IRS and Congress, I disagree. It's not as though Congress has failed to enact statutory provisions imposing civil and criminal penalties on taxpayers who commit fraud. It's not as though the IRS and the Department of Justice haven't pursued and prosecuted fraudulent behavior by taxpayers. Giovanetti claims that "the relevant federal agencies have done little or nothing about" all sorts of fraud, including "obtaining Social Security disability payments under false pretenses, massive, organized Medicare fraud, or making multiple false refund claims for the Earned Income Tax Credit." That' simply not true. For the amount of fraud being perpetuated by miscreants, Congressional funding of federal agency anti-fraud efforts is woeful. That's to be expected from a Congress held hostage by anti-government forces intent on shrinking government into a nullity.
Giovanetti claims that federal programs are so complicated that they cannot be managed. Though there is some truth in that assertion, it does not explain the rising tide of fraud in this nation. There is something to be said about Giovanetti's complaints that federal officials are slow to deal with reports of fraud, that too many resources are infused into higher salaries at the administrative level, and that agencies are in a rush to issue checks. Giovanetti puts responsibility "squarely at the feet of the IRS" and yet admits that responsibility falls "ultimately to Congress." Indeed. To blame the IRS for failing to increase resources dedicated to anti-fraud efforts while the Congress continues to cut the IRS budget makes no sense. Yet failure to fund anti-fraud efforts is not the cause of fraud. Similarly, a complicated tax code, though surely responsible for untold innocent mistakes, is not the cause of fraud.
So what causes fraud? Fraud is caused by dishonest persons. In a world of honest taxpayers, fraud would not be undertaken. Certainly mistakes would be made trying to comply with a complex tax law, though that is not an excuse for the unnecessary complexity of tax law. Fraud exists because some people are dishonest. The fact that fraud cuts across all areas of human activity, and all areas of law, demonstrates that the cause transcends any particular area of law. Tax fraud exists for the same reason that Medicare fraud, disability benefits fraud, embezzlement, burglary, robbery, and phone scams exist. Dishonest people who have no allegiance to a higher moral sense are to blame. The Congress and the IRS are not responsible to instill honesty and integrity into the psyche of Americans. Surely Giovanetti would not support throwing tax dollars into a federal program designed to instill honesty in people. Nor would I. The responsibility for stamping out fraud sits elsewhere.
A recent case, Gyorgy v. Comr., No. 13-3363 (7th Cir. 2015), provides a good example of why taxpayers need to let the IRS know their new address when they move.
The taxpayer earned income in 2001 through 2003, but did not file federal income tax returns for those years or for 2004 through at least 2007. During the period in question, he moved frequently, living at eight different addresses in four cities in two states. Using Forms W-2 and 1099, and other information from third parties, the IRS generated substitute returns for the taxpayer and computed tax liabilities for 2001 through 2003.
On or shortly after March 9, 2004, according to the IRS computer system, it sent a notice of deficiency for 2001 to the taxpayer's apartment on Octavia Street in San Francisco. That address was the one provided on the taxpayer's 2000 return. Whether the notice actually was sent is unknown, but by that point Gyorgy no longer lived on Octavia Street. In August 2004, the IRS assessed the 2001 tax deficiency.
Gyorgy did not provide any address updates to the IRS. One of the Forms W-2 for 2002 provided an address on Lee Street in Oakland, California. The taxpayer's Form W-2 and one of his Forms 1099 for 2003 provided an address on Jean Street in Oakland. Other forms provided a business address at Goodby Silverstein in San Francisco. On November 29, 2004, the IRS sent a Form 2797 to the taxpayer, using the Jean Street address, in attempt to confirm that address as being the appropriate address. No response was received.
On December 11, 2006, the IRS sent a notice of deficiency for 2003 to the Octavia Street address. The notice was returned to the IRS by the Postal Service marked "not deliverable as addressed" and "unable to forward," accompanied by a date stamp of "12/17/06." There is no indication that the IRS made any other attempts to locate the taxpayer or re-issue the notice. In May of 2007, the IRS assessed the 2003 tax deficiency.
On July 30, 2007, the IRS sent a notice of deficiency for 2002 to the Octavia Street address. The notice was returned by the Postal Service marked "attempted – not known" and "unable to forward," accompanied by a date stamp of "08/03/07." The IRS did not try to locate the taxpayer and did not re-issue the notice. In December of 2007, the IRS assessed the 2002 tax deficiency.
The taxpayer did not pay the tax, nor did he petition the Tax Court for a redetermination of the deficiencies. Two years later, the IRS instituted collection efforts. It filed a notice of federal tax lien in the recorder's office in Cook County, Illinois, in August of 2009. The lien was placed on the taxpayer's residence at 8900 Forestview Road in Evanston, where he had been living since 2008. It is unclear how or when the IRS figured out that the taxpayer was living at that address in Evanston. The IRS sent a notice of the lien filing to the Forestview Road address. The taxpayer received the notice and requested a collection due process hearing. He contended that the IRS had not followed the necessary procedures and claimed he was not liable for the assessed taxes.
The collection due process review lasted from 2009 until 2011. The taxpayer did not respond to requests for documentation and did not participate in the review. He insisted on a face-to-face meeting, but the appeals officer conditioned doing so on the taxpayer filing returns for 2001 through 2010, as he had not filed returns for those years. Because he refused to do so, the appeals officer performed the review using the information in the administrative file. On July 15, 2011, the Appeals Office issued a notice of determination sustaining the lien notice and concluding that the IRS had followed all legal and procedural requirements. It determined that the Octavia Street address was the most recent address on record and that the taxpayer had not notified the IRS of any address changes.
The taxpayer filed a petition in the Tax Court on August 15, 2011, challenging the Appeals Office determination. The Tax Court granted a de novo review, and held a bench trial on January 28, 2013. The IRS presented the deficiency notices, evidence, and testimony to support its computations. The taxpayer presented no evidence and made no arguments with respect to liability. He testified that he lived on Octavia Street until the spring of 2002, on Lee Street in Oakland until the spring of 2003, on Jean Street in the same city until November of 2004, in Irvine, California until the spring of 2005, on Quail Bush in Irvine until the winter of 2006, on Ridge Street in Evanston until the spring of 2007, on Colfax Street in that city until the spring of 2008, and then on Forestview Road.
The taxpayer claimed that he called the IRS 800 number and submitted a change-of-address form to the post office every time he moved. He claimed to have written letters to the IRS once or twice when he moved but could not remember for which moves. He could not remember the dates or other details of the calls or letters. He provided no documentation. The IRS appeals team manager for the taxpayer's case testified that the Octavia Street address was his address of record when the notices of deficiency were mailed, and that he did not update his address until 2009.
The Tax Court issued oral findings of fact and an opinion on January 31, 2013. It vacated the lien notice for 2001 because the IRS could not produce a copy of the notice of deficiency or other proof it was mailed. The IRS did not appeal that ruling. The Tax Court sustained the lien notices for 2002 and 2003. It denied the taxpayer's motion to vacate on July 22, 2013. The taxpayer appealed to the Seventh Circuit on October 21, 2013.
The Court of Appeals for the Seventh Circuit concluded that the IRS mailed the notices of deficiency to the taxpayer's last known address. It pointed out that in previous cases, it had allowed the IRS to use the address on the return being audited, unless there is clear and concise notification from the taxpayer directing the IRS to use a different address. Other Courts of Appeal have adopted similar principles. A similar formulation has been adopted in Treasury Regulations, though with a reference to the most recently filed tax return rather than the one being audited. The regulations provide that address information from a third party is not a clear and concise notification of a different address unless it comes from the United States Postal Service National Change of Address database.
The court explained that presumptively Gyorgy's last known address was the Octavia Street address on his 2000 return, as he had not filed any subsequent returns. The taxpayer argued that he had notified the IRS, but the court pointed out that he had failed to prove he had done so. The taxpayer argued that the Forms W-2 and 1099 sent to the IRS with different addresses for him provided the IRS with information, but the court determined these did not constitute clear and concise notification, particularly because they were possible addresses but not known addresses. The taxpayer argued that because the IRS knew he did not live at the Octavia Street address because correspondence sent there was returned, it should have done more to find him through its own investigation, citing two cases from other circuits suggesting that the IRS should do so. The court rejected this argument. It distinguished those cases because they involved taxpayers who proved that they had tried to notify the IRS. In contrast, not only did Gyorgy move around, by failing to file tax returns he made IRS attempts to find him close to futile. Nor did Gyorgy identify the steps that the IRS could or should have taken but failed to take.
The lesson is undeniable. Taxpayers who move need to send a change of address notice to the IRS. It also helps to file returns as required, because doing so increases the odds that the IRS will have the taxpayer's last known address.
It is rather unfortunate that the amount of time that the taxpayer invested in pursuing this case eclipsed by orders of magnitude the time it would have taken to send notices of address change to the IRS. And had he filed his returns, paying his tax liabilities, the address issue would not have arisen.
A reader directed me to an article reporting the results of a study examining the connection between food consumption and the type of movie being watched by the subjects of the study. According to the study by the Cornell Food and Brand Lab, people watching sad movies ate between 28 and 55 percent more popcorn, both in the lab and in an actual theater. A related study concluded that people watching action and adventure television shows eat more, but only if the food is within arm's length.
The answer, I suppose, is whether a tax class should be classified as tragedy, comedy, action, or adventure. It surely isn't romantic. Learning about tax can make a person sad, and so in some respects tax class is like a tragedy. I'm not referring to the students who, at the beginning of the semester, perceive an expected grade that they rate as a tragedy, especially as those students generally end up with decent or even better grades.
But as I told the reader, in my classes, tax or otherwise, so much is happening at such a law-practice-world pace, there is no time to eat. Students are taking notes, flipping through statute books, turning pages in the course book, bringing up materials on their laptops, reading questions posted on the projection screen, and operating their student response pads ("clickers") that they probably don't have a free hand often enough to eat. Actually, I do see students bring food into the classroom but almost all of them make a point to finish their meal before class begins.
At the risk of seeming crude, the idea of tax law making someone want to eat strikes me as the opposite of reality. For me, when I read tax law, especially recent amendments, and examine the underlying policies, I want to do the opposite of eating. Yes, the depths into which the federal, and some state, tax law has sunk makes many people nauseated.
On March 4, the IRS released information on the progress of the 2015 income tax filing season. The highlight is the IRS estimate that "three out of five taxpayers have yet to file their tax returns." Is this a surprise?
One might guess that with more taxpayers expecting refunds than expecting to owe additional payments, a majority of taxpayers would file early. The sooner one files, the sooner the refund arrives. But that's not what's happening. Why? Increasing numbers of taxpayers have invested in partnerships, and are waiting for Schedules K-1. Those need not be sent to taxpayers until April 15. Increasing numbers of taxpayers are waiting for Forms 1099. I'm still waiting for one of those. The days of January 31 being the day when Forms 1099 need to be in the hands of taxpayers are long gone.
Most taxpayers receive Forms 1099, because most taxpayers have interest-bearing accounts, or stocks, or other investments, or some combination. Until someone, in this era of rapid information processing, figures out how to get the transactions of one year summed up within a few weeks of that year's ending, increasing numbers of federal (and state) income tax returns will be filed in late March and April.
The facts in the recent case of Morles v. Comr., T.C. Summ. Op. 2015-13, at least as they related to one of the issues, are simple. During 2010, the taxpayer maintained an IRA, funded by an initial contribution of $1,000 in 2008. The taxpayer did not claim a deduction for that contribution. In 2010, a distribution was made to the taxpayer from the IRA of $950.81, and that amount was shown on a Form 1099-R issued to the taxpayer by the IRA administrator. The taxpayer was younger than age 59.5 years when the distribution was made. The taxpayer did not include any amount on his 2010 federal income tax return on account of the distribution.
Because the distribution was not in the form of an annuity, section 72(e) applies. Under that provision, the taxpayer's investment in the IRA is taken into account in computing the amount that must be included in gross income. The Tax Court concluded that the taxpayer's failure to maintain the required records with respect to the contribution for which no deduction was claimed did not prevent treating the non-deducted contribution as the taxpayer's investment in the IRA.
The taxpayer argued that because the distribution from the IRA was less than the his investment in the IRA, it should be treated as a return of investment. The IRS argued that the entire distribution should be included in the taxpayer's gross income. The Tax Court concluded that both the taxpayer and the IRS were wrong. The court directed the parties to compute the taxpayer's gross income by applying section 72(e)(3). Because the opinion does not include any other information, it is not possible to do that computation, but my best guess is that some portion of the $950.81 must be included in the taxpayer's gross income. That amount reflects the untaxed increase in the value of the IRA attributable to interest and other investment growth between 2008 and 2010. The gross income would be an amount less than what is shown on the Form 1099-R.
A recent case, Villegas v. Comr., T.C. Memo 2015-33, demonstrates a very basic principle applicable to the section 121 exclusion from gross income of gain from the sale of a principal residence. A residence is not a principle residence if the taxpayer never lives in it.
The taxpayers, husband and wife, purchased a four-bedroom home in 1994, paying $200,000. They decided to use the home as a group home for developmentally disabled individuals. The taxpayers used three of the bedrooms to house six clients, two in each room, and used the fourth bedroom as their office. The home also included a kitchen, two bathrooms, a living room, a garage, a patio, and a pool.
Though the wife occasionally slept in the home, the taxpayers resided in another town, La Puente, California, with their three children, a nephew, and the husband's parents. The La Puente is what appeared on the taxpayers' checks, bank records, payroll records, tax preparation documents, and their children's school records. The bookkeeper for the group home business visited the La Puente home to prepare reports in connection with the group home business. There also was evidence that the taxpayers held social gatherings at their La Puente residence.
In 2007, the taxpayers sold the group home for $600,000. According to the Tax Court, the taxpayers filed separate returns, and "each excluded more than $250,000 og fain from the sale," claiming that the group home was their principal residence. It is unclear how $400,000 of gain realized generates more than $250,000 of gain realized for each of two taxpayers.
Additional evidence presented to the Tax Court shut the door on any section 121 claim. None of the employees of the group home saw the taxpayers live at the group home. Two employees testified that the taxpayers lived at the La Puente residence. None of the school records for the taxpayers' children listed the group home address, but showed their residence as the La Puente home. The wife's sister told an IRS agent that the taxpayers lived at the La Puente residence. The Tax Court also discounted the claim that the wife slept at the group home, because the room she claimed to use as a bedroom was the room used as the office.
A taxpayer who has never lived at a residence ought not claim it is or was a principal residence. If a taxpayer does live in a residence, it makes sense to retain evidence of the residency, and if characterizing the home as a principal residence appears to be something that might need to be proven in the future, the taxpayer ought to retain evidence that the residence is the principal residence. Certainly when there are witnesses ready to testify that the taxpayer did not live at the home in question, the idea of claiming it is the principal residence is not a very good one.
As mentioned in this article, Pennsylvania faces a deficit of $2.3 billion in its budget. The deficit is structural, that is, it reflects revenues and spending that persist from year to year. There are only two ways to eliminate structural deficits. One is to change the revenue structure so that more revenue is collected. The other is to reduce spending. Raising taxes triggers all sorts of opposition. Reducing spending sounds appealing, but once people realize it's not a matter of cutting spending that benefits others but cutting spending that benefits them, opposition to spending cuts grows. The public also suffers from a perception that it is easy to cut spending, but when given a list of spending cut options, they hesitate because they then realize the reality of the spending budget.
On top of this, according to this report, the new governor of Pennsylvania, a Democrat, wants to reduce the corporate income, franchise, and capital stock taxes. That will increase the current and structural deficit. According to the same report, the governor is expected to propose increases in individual income taxes. It will take quite a bit of personal income tax increases to cover a $2.3 billion-dollar deficit plus the revenue loss from cutting corporate taxes.
According to Republican state legislators, the solution is to privatize the state's alcohol stores. This one-time "fix" supposedly would raise $1 billion, less than half of the deficit, even aside from the proposed corporate tax decreases. But this so-called solution does not address the structural deficit. What happens next year when the deficit re-appears? What, then, does the state sell?
A decision to sell the state store system ought to reflect analysis of the advantages and disadvantages of state-controlled alcohol sales. It ought not be done simply because of a one-time revenue infusion that does not address the underlying cause of the structural budget deficit. It is unknown if sale of the state store system is part of the governor's overall plan, because only a few pieces of the budget plan has been released. Very soon, the entire budget plan will be disclosed, and that will permit closer analysis. In the meantime, state officials need to fix the causes of the structural deficit, or the state's fiscal fortunes will continue to spiral downward.


text:
A birthday beer to celebrate ten years of Great Yarmouth's Out There festival
Nadene Chandler
Left to right - Ohto Alvarez, Judi-mae Alderton, Wil Wood, Darren Criss and Raul Canaz raising a toast to the Out There Ale. Photo: Richard Endall - Credit: Richard Endall
Raising a glass to ten years of Out There festival
Ohto Alvarez enjoys a pint of Out There Ale, circus style. Photo: Richard Endall - Credit: Richard Endall
To celebrate ten years of Great Yarmouth's Out There festival, Lacons brewers have created a special edition ale for the anniversary.
The ale has been brewed especially for the festival where it will be available at the Dril House and in St George's Park on the weekend of the festival.
Out There festival is celebrating its ten year anniversary this year and the festival of circus and street arts will be lighting up the streets of Yarmouth on the weekend of September 16 and 17.
Judi-mae Alderton, marketing manager at Lacons said: 'Being the Great Yarmouth brewery we're really excited to be supporting the Out There festival this year on their tenth year anniversary of the festival.
'It fills up Yarmouth on the third weekend of September. Which is full of arts and celebration and everything really. Circus acts and acrobats, so we're really pleased to be helping out and supporting them and we've brewed a special beer called Out There Ale.
'Out There is bold, fresh and full of sparkling ideas. We'd like to think we've created a beer that reflects this.
'We're really pleased to be working with Out There estival. It's a natural partnership. Both brands celebrate vital elements of the towns' heritage, but have successfully developed them in a contemporary fashion.'
Festival producers, SeaChange Arts were invited to the brewery for a tasting of the beer. The ale is a 3.9pc golden ale which will be distributed to pubs around Yarmouth and Norwich over the coming weeks. The beer can also be found at the festival in St George's Park and at the Drill House.
Darren Cross, communications director of SeaChange Arts said: 'We're pleased to be working alongside Lacons. Festival goers will be able to enjoy the very best, world-class art and culture across the festival sites this year, then sit back and relax in one of our festival bars to enjoy a celebratory pint from the town's award-winning brewer.'
Out There festival is a family friendly weekend of comedy, skill and colour and since its launch in 2008 has gone on to establish itself as one of the UK's leading outdoor arts events.
The festival attracts around 50,000 visitors and this year's tenth anniversary welcomes 100 artists from more than ten countries.

redpajama_set_name: RedPajamaCommonCrawl


We began working on bud.com in earnest in September 2017. We knew we wanted to launch an online store within the first month of recreational in California, and we knew we wanted our company to be a net contributor to society. We established our company as a California benefit corporation so any future bud.com participants know that's part of our commitment to our communities.
For our impact with bud.com, we want to focus on three areas: social justice, environmental responsibility, and plant medicine. While we want to find ways to make cash or time contributions, we also want to see how our very business itself could support the growth of these values in recreational cannabis.
There are staggering social justice issues in cannabis. There are communities still being persecuted. There are people who have invested their lives in this plant and have nothing to show for it in the recreational era. I'm not sure what bud.com can do about that yet; for starters we will research and work to build a diverse organization.
I'm personally depressed about disposable glass/metal/plastic carts used for cannabis vape oil. Our drivers seem happy to do some kind of used cannabis product recycling pick-up, but we need to talk to the suppliers to figure out who might take & re-use such things, and if that vape pod pickup can be done with any net carbon/water use efficiency.
Fortunately working within the regulated cannabis industry in California means that many of our partners are beginning to account for water / power / mileage use so that makes some fledgling environmental impact measurement seem possible by the time of our first benefit corp annual report due at the end of this year.
Ultimately, plant medicine is a powerful motivator for us at bud.com. We know people who have had debilitating injury and unbearable pain eased by bud. So we'd like to find ways to promote cannabis as a safe and healthy alternative pain management tool to help with America's opioid crisis.
Those are the three areas of impact where we are focused as we get started. There are many positive examples of cannabis providers ensuring their profits from this plant go back into their communities. Recreational cannabis should lead with that spirit. bud.com's "benefit corp" status is a commitment and a challenge to ourselves as we hustle up to get our store online and architect our business.
* note: bud.com is not a certified "b corp" which is another way to designate positive social impact businesses. When we last checked in late 2017, B Corp – the certification agency – does not work with recreational cannabis companies.


text:
Tenor David Lewis jailed for child sex crimes
The former Opera Australia chorus member has been sentenced to three years in prison for sexually assaulting a 14-year-old girl.
by Angus McPherson on December 17, 2018
David Lewis, a former Opera Australia chorus member, has been sentenced to three years in prison for historic child sex offences. Lewis, who was a permanent member of the Opera Australia chorus for 25 years – and whose most recent appearance for Opera Australia was in 2017's Two Weddings, One Bride – pleaded guilty in March to two counts of sexual intercourse with a person aged between 10 and 16, judge Sarah Huggett also taking into account three further charges of aggravated indecent assault in the sentencing.
David Lewis. Photograph © Opera Australia
The offences occurred between 1993 and 1995 when Lewis was in his mid-30s. The victim was 14 and 15 years old at the time and a member of the Opera Australia children's chorus. While a number of assaults occurred at the Sydney Opera House – one witnessed by a crew member, the Sydney Morning Herald reported, and another by Opera Australia's dance captain and ballet master, according to the ABC. Lewis also drove the victim to his house where he assaulted her in his spa, the court heard.
No action was taken against Lewis when the crew member who witnessed his behaviour reported it to the chorus master, however Opera Australia – then the Australian Opera Company – employed a childminder to "keep the children away from the adults and the adults away from the children," according to court documents.
Opera Australia told the ABC it was unable to find any official record of the incident. "Opera Australia has cooperated fully with the police authorities since they approached the Company and will continue to do so," CEO Rory Jeffes said in an official statement issued to Opera Australia staff last year, adding that there was "no record of any allegations of this nature against David Lewis being reported to Opera Australia."
In sentencing Lewis, Huggett said: "The offending only stopped because the offender was caught, not because he realised the inappropriateness of his conduct," finding that Lewis "deliberately took advantage of [the victim's] relative emotional immaturity," the ABC reported.
"I have no doubt [Lewis] is remorseful in so far as it affects himself," Huggett said.
Lewis will serve at least two years in prison and will be eligible for parole in 2020. He was taken into custody following the sentencing.
Opera for One at OA
Opera Australia has introduced a new program for people who'd love to go to the opera but have no-one to go with. Heathcliffe Auchinachie agreed to try it out for us.
Review: Wozzeck (Opera Australia)
A stunning production, visually and musically, that tips you into a nightmarish world, though the emotion is sometimes overwhelmed.
Review: Turandot (Opera Australia)
Amber Wagner blazes as Puccini's icy princess.
Review: La Bohème (Opera Australia)
A cast of uncommon distinction headed by Joyce El-Khoury's powerful Mimì makes this revival feel anything but routine.
Joyce El-Khoury: Mimì and Musetta are two sides of the same coin
The Lebanese-Canadian soprano tells us about her musical friendship with Lorin Maazel, singing Mimì and Musetta, and bringing to life rarely performed works.
Classical Music, Musical Theatre & Cabaret, Opera, Opera
Bryn Terfel to return to Australia in 2019
The bass-baritone will give recitals featuring his favourite opera arias and musical numbers.
Musical Theatre & Cabaret, Opera
Dictating terms: The rise of Paulo Szot aka Juan Perón
The Brazilian baritone on being Mr Evita, Tony Awards and the importance of good coffee.
Limelight's top shows of 2018: Opera
With the year drawing to a close, we look back over the operas that wowed our critics in 2018.
Review: Die Meistersinger von Nürnberg (Opera Australia)
An imperfect realisation of Wagner's comedy, but the music making more than compensates.
Opera Australia loses its second Hans Sachs
Shane Lowrencev has withdrawn from Meistersinger, leaving the company to find its third Hans a week out from opening.
Review: Metamorphosis (Opera Australia)
Brian Howard's opera is given an impressive revival in a suitably grungy new performance space.
Review: Evita (Opera Australia, Gordon Frost)
Tina Arena gives us a vocally high flying Evita in Hal Prince's original production.
Tama Matheson: Grappling with Kafka
In preparing to stage an operatic version of Kafka's Metamorphosis for Opera Australia, the director has been pondering what this story of a man who turns into a bug really means.
Evita: High Flying Adored
As a revival of Hal Prince's original staging of Evita heads for Australia, Sir Tim Rice explains how a dangerously glamorous Argentinian dictator turned out to be surprisingly good for him.
Dame Joan Sutherland's Costumes Coming to Melbourne
Opera Australia will donate 30 of Joan Sutherland's most recognisable costumes to the nation's largest collection of performing arts memorabilia.
Opera, Opera
Opera Australia announces its 2019 season
Three new digital productions, William Kentridge's Wozzeck, a new opera about Brett Whiteley, and singers including Jonas Kaufmann and Lise Lindstrom.


"We wrote here about a recent effort by a group of climate alarmists headed by geologist Shaun Marcott to resurrect Michael Mann's discredited hockey stick. The Marcott paper, as you would expect, received uncritical coverage in the liberal press. But it didn't take long for climate scientists to begin taking it apart, as we noted in our post.
It seems the uptick in the 20th century is not real, being nothing more than an artifact of shoddy procedures where the dates on the proxy samples were changed for some strange reason.
The final date of the Marcott reconstruction is AD1940 (BP10). Only three cores contributed to the final value of the reconstruction with published dates ("pubend" less than 10): the MD01-2421 splice, OCE326-GGC30 and M35004-4. Two of these cores have very negative values. Marcott et al re-dated both of these cores so that neither contributed to the closing period: the MD01-2421 splice to a fraction of a year prior to 1940, barely missing eligibility; OCE326-GGC30 is re-dated 191 years earlier – into the 18th century.
Re-populating the closing date are 5 cores with published coretops earlier than AD10, in some cases much earlier. The coretop of MD95-2043, for example, was published as 10th century, but was re-dated by Marcott over 1000 years later to "0 BP". MD95-2011 and MD-2015 were redated by 510 and 690 years respectively. All five re-dated cores contributing to the AD1940 reconstruction had positive values.
If this is not flat-out fraud–which, sadly, has come to typify the climate alarmism movement–then what is the justification for Marcott's wholesale re-dating of samples? We are reminded of the NOAA/NCDC weather data on the U.S., which are routinely relied on by alarmists who claim that the last few years have been the warmest ever. In order to justify this assertion, NOAA has gone back and revised the data for prior decades. Instead of reporting temperatures for prior decades, like the 1930s, as it did at the time and for many years thereafter, NOAA has now changed those temperatures downward to support the politically-motivated claim that the last years of the 20th century were the warmest ever. If you look at NOAA data today for the 1920s, 1930s, 1940s, etc., you will have no idea that the numbers NOAA now reports are not the ones that were measured by thermometers at the time.
In short, the global warming movement is corrupt to the core. Billions of dollars in government funding–I am too polite to say "bribes"–have bought not just the acquiescence but the eager collaboration of many scientists in a massive fraud. If Marcott wants to distinguish himself from fraudsters like Michael Mann, he has a great deal of explaining to do.
One more thought: the publicly available evidence suggests that alarmist scientists have repeatedly committed fraud in research conducted and papers published that were paid for by United States taxpayers. It seems inconceivable that felonies have not been committed in connection with those frauds. Are there not criminal statutes that prohibit the publication of fraudulent data in taxpayer-supported research? Eric Holder, obviously, will not pursue any such line of inquiry, but there must be state law enforcement authorities who could look into this question. Fraudsters like Bernie Madoff, for instance, have tried to hide the decline in the value of funds invested with them. But that is nothing compared to the fraud that the global warming alarmists have perpetrated."
"Last week, a group of climate alarmists headed by Shaun Marcott, a geologist at Oregon State, released a study that purported to resurrect the infamous hockey stick. Relying on an assortment of data sources, Marcott and his colleagues tried to reconstruct global temperatures over the last 11,000 years, since the end of the last Ice Age. While acknowledging that the Earth has often been warmer than it is today, they claimed that the Earth is now the warmest it has been "in at least 4,000 years," and that the rate of warming over the last 100 years is unprecedented. Voila! The hockey stick returns. Naturally, the study was acclaimed uncritically in the press; this NPR story titled "Past Century's Global Temperature Change Is Fastest On Record" offers a good summary of Marcott's research.
There are two fundamental problems with Marcott's claims. First, thermometers have been in existence for only a very small portion of the last 11,000 years. It is hard enough–some say impossible–to calculate even the current average temperature of the Earth. To compare 100 years of contemporary records against reconstructions of thousands of years based on proxies like tree rings and ice cores is, at best, matching an apple against millenia of oranges. Second, the Marcott reconstruction is contradicted by just about everything we know about the temperature history of the last 11,000 years.
Both the Greenland GISP2 temperature curve (Figure 1B) and the oxygen isotope curve (Figure 1C) clearly show that except for the Little Ice Age and Dark Ages Cool Period, temperatures for all of the past 4,000 years have been warmer than the end of the ice core (1950 AD). The Medieval Warm Period was 1.1° C warmer than the top of the core (1950) and at least four other warm periods of equal magnitude occurred in the past 4,000 years; four other warm periods were ~1.3°C warmer; two other warm period were 1.8-2.0°C warmer; and one warm period was 2.8°C warmer. At least a dozen periods more than 1°C warmer than 1950 occurred, clearly contradicting the Marcott et al. conclusions.
Let us test this conclusion against real-time data. First, their statement that "Global temperature…has risen from near the coldest to the warmest levels of the Holocene within the past century" is not true. The coldest part of the Little Ice Age occurred about 400 years ago, during the Maunder Minimum, so right off the bat, their conclusion is flawed. They appear to be unaware of the cyclic nature of temperature change and use the low point of the 1880-1915 cool period as their starting point for assessing the rate of warming over the "past century," rather than 1913-2013. Comparing the depth of cooling in a cool period with a warm period peak is comparing apples and oranges. It distorts the real rate, which should be measured from cool peak to cool peak or warm peak to warm peak. The 1880-1915 cool period was followed by the 1915-1945 warm period, the 1945-1977 cool period, and the 1978-1998 warm period (Figure 4). The rate of warming from 1913 to 2013 is about 0.7°C per century (which is about the same as the warming rate over the past 400 years as we have been thawing out of the Little Ice, long before atmospheric CO2 began to rise significantly).
So let's compare this rate (0.7°C per century) to rates of temperature increase in the past 11,300 years. Figure 5 shows rates of temperature change in the Greenland GSP2 ice core from the end of the last Ice Age through the Holocene (Figure 4A). Figure 4B shows some of the higher rates of temperature change in Figure 4A. The highest rates occurred at the transition from the Ice Age to Holocene when warming rates in Greenland were 20 to 24°F per century and the huge continental ice sheets that covered large areas of North America and Eur-Asia melted dramatically. As shown in Figure 4B, the rate for the past century (0.7°C) is puny indeed compared to late Ice Age/early Holocene rates.
Holocene rates of warming and cooling were not as profound as those at the end of the last Ice Age, but were nonetheless greater than or equal to recent warming rates. Marcott et al. contend that "If any period in time had a sustained temperature change similar to what we have today we would have certainly seen that in our record." As shown in Figure 4A, we do indeed have a record of warming rates far in excess of those in the past century."


1) Remember that connectivity is a 1:1 relationship, so live stream viewers can have a wide range of Internet speeds. This can severely impact consumption of your streaming content. It's therefore important to investigate automatic multi-bitrate switching, which increases quality for end users across the board.
2) Be aware that, in some cases, live captioning and translation are available for your stream. Using one or both can greatly extend the reach of your content.
3) Utilize social media integration tools during your streaming program. Make sure to ask your streaming expert about the wide range of social media tools available on different platforms.
4) Studies show that interactivity during streamed events increases user engagement with your content and retention of your messaging. Know options to expand interactivity, such as: Live Social Media Updates, Live Q&A Sessions, Voting Tallies, and News Tickers.
5) Promotion and reminders are key to a succesful live stream. Announce your go-live time as early as possible, on all available marketing channels, and schedule reminders for the viewers who sign up. You can also embed your player anywhere, including on the homepage of your corporate website.
6) Define success criteria before choosing your streaming service because many offer different tools and benefits. For example, if reach is your #1 criteria but your promotion budget is limited, Facebook might be a good pick. If metrics are your #1 success criteria, not all platforms provide them, so a service like Youtube may make the most sense.
7) A large segment of corporate videos fall within the 'explainer' or 'how to' categories. Remember that live streams can be incredibly effective as an alternative to this type of pre-produced educational videos.


text:
Energy transition must include everyone, advocates researcher
New research initiative seeks to bring marginalized voices to the debate.
March 05, 2018 By Angela Johnston
As the world's energy sources slowly shift, there is an opportunity to include everyone in the transition, according to a University of Alberta researcher.
Sheena Wilson, an associate professor of comparative literature at the U of A's Campus Saint-Jean, is the co-founder and co-director of the Petrocultures research group, which, since 2011, has been exploring the ways oil and energy affect cultures and societies.
"Energy is the foundation of any society. It shapes all of the networks. It shapes entirely how our lives are designed," said Wilson. "I've spent a lot of years thinking through with my colleagues how our lives are shaped by oil and the networks and power it creates, and I've also spent a lot of time thinking about how that impacts women and marginalized communities."
Wilson will be leading a panel discussion at Change for Climate-Epcor Stage alongside four other members of Just Powers, a new multidisciplinary national research group, focusing on climate justice from the perspectives of activists, artists, writers and scientists.
One of Just Powers' goals is getting the voices of people who aren't usually heard to the forefront of the conversation.
"Certain voices dominate in the media and in the public discussions about what energy transition should look like," said Wilson. "We want to make sure we're hearing a diverse number of people talk about what energy transition means to them and what they expect from the communities they live in."
Through bringing together diverse and interdisciplinary perspectives, Wilson hopes to expand people's vision for what is possible in the future, in terms of both energy and society.
"Going through an energy transition just calls into question how we live right now, and it should make us think deeply about what we want to salvage from the way we live and what could possibly be gained by living differently."
The panel discussion takes place tomorrow from 3:45 p.m. to 4:25 p.m. in Hall A of the Shaw Conference Centre. Change for Climate-Epcor Stage is a public event running alongside the 2018 Cities and Climate Change Science Conference, which is hosting 800 delegates from around the globe to discuss research on climate change and how cities can take action.


Hello, I want to renew my domain bonusfamiljen.se, is my blog still and all the info still there or do I have to re do it all? Can I pay and it comes back to as it was?
Your domain, bonusfamiljen.se, is not expired – it looks like it only expires in October, and that has to be renewed at your domain provider, as you did not buy that domain from us.
Your site is still fine, and can be found at the free WordPress.com address, http://bonusfamiljense.wordpress.com, but to reconnect that domain you'll need to first log into the bonusfamiljense, and then buy a new plan at My Site ->Plans. Then you will be able to add a new domain mapping upgrade to reconnect the domain.
The topic 'Bonusfamiljen.se' is closed to new replies.


Do you offer different finishes?
Why yes, we do! Light, Medium, and Dark.
Do you offer tables and benches with stained legs instead of painted legs?
While we don't offer this at the moment, feel free to contact us for a custom order.
Can you ship tables and benches?
Yes, we can ship anywhere within the contiguous United States. We offer a flat rate shipping price, so regardless of whether you live in California or Tennessee, the Farm Table is $150 and the Farm Bench is $50-$80 per bench, depending on size.
Nope! Unless you live in KY, then you got to pay---sorry.
How do the table legs detach?
The table legs attach and detach by simply unscrewing two nuts from two bolts on the table legs.
Shipping usually takes between 5-7 business days.


NEW THIS YEAR: ONLINE VOLUNTEER SIGN-UPS!
Choose your date, choose your time slot, and choose your booth.
Click "Submit & Sign Up"
You will receive a confirmation email, and you will receive a reminder email a few days prior to your shift.
Click the search engine on the left side of the screen. Select "search for a sign up".
Choose your date, choose your time slot, and choose your booth.
Volunteers are needed in order to make this event possible! Sign up to volunteer after the April 21/22 and April 28/29 weekend Masses at the Festival booth or call 904-282-0439. OR fill in the form on this page --- >>and we will call you!
Donate new or gently used books for the Book Fair. Please no encyclopedias or magazines. Contact Rose Reed at 904-282-3694.
Donate for the Live and Silent Auctions!
Donate new items or services for the Silent Auction. Tax deductible paperwork available. Contact Joyce Johnson at 237-0636 or Wendy Hughes at 631-6885.
Bake goods for the Sweet Shoppe!
Baked goods are needed for the Sweet Shoppe. Contact Royanne Birtz at 904-272-2521.
The St. Luke's Annual Spring Festival offers your business a unique and comprehensive opportunity to broaden your customer base while supporting a worthwhile cause. Please contact us at 904-282-0439.


IN THE DECADES FOLLOWING INSTALLATION, the pipes and manholes that make up Nashville's system deteriorate, resulting in cracks and other defects along the pipe and at pipe joints. These defects allow excess rain or groundwater, known as infiltration and inflow, to enter the sewer system and can lead to sanitary sewer overflows. To combat this problem, the defective pipes can be unearthed and replaced, which can be quite disruptive, or they can be repaired in place through sewer system rehabilitation.
Cured-in-place pipe (CIPP) lining is one of several sewer rehabilitation methods used to repair leaking or structurally unsound existing pipelines. Little to no digging is involved in this trenchless process, making for a more cost-effective, environmentally friendly process that is completed more quickly and with fewer impacts and disruptions than pipe replacement. CIPP is the primary sewer pipe rehabilitation method used by Metro Water Services (MWS) since the early 1990s. CIPP results in a seamless, tight-fitting, corrosion-resistant liner within the original host pipe that improves pipe hydraulics and restores the pipe to a structurally sound condition.
CIPP consists of a flexible felt tube which is saturated with gel resins. The cured-in-place pipe liner is stretched inside the defective pipe between two manholes. After the liner is placed inside the pipe, the resins within the liner are activated, typically using recirculated hot water or steam from a boiler truck. This creates a chemical reaction that converts the flexible felt liner into a rigid, solid pipe that adheres to the interior of the defective host pipe, resulting in a new pipe within the old pipe.
After the CIPP curing process is complete, which may take from a few hours for small diameter pipes to 24 hours or more for large interceptors, the connections for service laterals to homes or businesses are restored internally using a robotically controlled cutting device. Typically a new access location (cleanout) is installed at the property line unless surface features make excavation difficult. Depending on the location of the service lateral, the portion of the service line between the property line and the main sewer line may be rehabilitated through CIPP or replaced through excavation.
CIPP requires diversion pumping of the sewer flow in the existing pipeline while the liner is being installed. This may involve temporary pumps and pipes on the top of the ground from the upstream to the downstream manholes. For larger diameter pipes, preparing the pipe for lining may take longer than the actual lining process. A number of trucks and some large equipment are required to perform the work, and temporary access roads in easements may be necessary.


XXSexyFoxXX FAYSAL livejasmin. jhonnybravo4you. ScarlettReyes. XxXBarbara.
LadyLilith69tght1NEKKOphanor1x .00melissaxxjhonnybravo4youTimmyYoungSandraDale .LoreleNeal01CandyCherryPriyaCharmzXXDirtyKevinn .zehusBearEDWAR9INCHlovelyalexxxTimmyYoung .OzelesiaTheBestCumWeBphanor1xAlexaFiery .alisonbenyxslutvsboyxxlilyamen95Ozelesia .richstrawberryxxMaryJonesLesterHollyKrystalDream .xslutvsboyxxkatalinalopezMellissEZELvsALEX .FISTINGHOLESXXXAbbaMilfMaryJonesStrongJared .LyllyaPearlMaryJonesKatieNekoTattooTeona .NicolGlamKrystalDreamLyllyaPearlMaryJones .
PIERCeCUmFUCKCaramelHoneiDreamyEllieMELANYFOXHOT23 .DanaLopezizmiraDreamyEllieLesterHolly .KHEYKHOValyBlissAishaDuffCuteeSophie .EZELvsALEXANDHYHOTGentleKsyScarlettReyes .ANDHYHOTMostYummyLipsKANDESWEETMILKCuteeSophie .davetest3340IvannaHKrystalDreamlovelyalexxx .JackLisExoticAgnesViolettaSexDollAishaDuff .hotinside01richstrawberryxxhotinside01EDWAR9INCH .CuteeSophieNEKKOlovelyalexxxMaryJones .katalinalopeznikkysnowAlinaUrDreamexclusivesweet .FISTINGHOLESXXXFetishCoupleColophanor1xPriyaCharmzXX .


text:
'Marvel's The Punisher' Trailer: Frank Castle Is Ready to Avenge His Family One Bullet at a Time
Jon Bernthal returns as Marvel anti-hero Frank Castle in spin-off Netflix series "The Punisher."
Jamie Righetti
@JamieRighetti
When "Marvel's Daredevil" introduced Frank Castle in Season Two of the series, fans had every right to be skeptical. The violent, anti-hero of the comics had faltered in two previous big screen interpretations, but the third time was truly the charm. Jon Bernthal's tortured and disgraced war hero blazed a bloody and bullet-ridden trail through Hell's Kitchen, bringing along an intriguing mystery and backstory that eventually lured Karen Page (Deborah Ann Woll) onto his side.
It seemed like a no-brainer that Marvel and Netflix would give The Punisher his own series (can Elektra be next?), and the new series promises to dive deeper into what turned Frank Castle into The Punisher. According to the official synopsis, after exacting his revenge on those responsible for the death of his family, Castle uncovers a conspiracy in New York that goes deeper than just his own loss and lack of justice.
"Marvel's The Punisher" is still being coy about the release date, but the trailer does promise it the new series will drop in 2017. Watch the trailer below:
This Article is related to: Television and tagged Jon Bernthal, Marvel Comics, Netflix, The Punisher


DentalPlans.com makes it easy for you to save money on General Dentistry and more at a Titusville dentist. Basically, by entering your ZIP code, you can save money on General Dentistry with an easy-to-use discount dental plan. Pick the best discount dental plan for you and your family to save 10% to 60% on your dental care bills at dentists such as Dr. John Algood. Then, you can make an appointment with Dr. John Algood in Titusville to save money on General Dentistry and more.
We feature more than 30 discount dental plans that will save you money with dental care discounts on services like General Dentistry. If you are looking for an affordable dentist in your area, DentalPlans.com features over a hundred thousand participating dentists listings in combined networks such as orthodontists, endodontists, pedodontists, and more. So if you are looking to save money on braces or cosmetic dentistry treatments like teeth whitening, bonding, and veneers, we can easily help you find a dentist or dental care specialist in Titusville, FL.