Custom Chase Covers - North Reading MA - Sweepnman Inc.
Nothing does more damage to a prefabricated, factory-built, or Class A Chimney than water. Is your chimney protected? Let Sweepnman's team of reliable and friendly chimney professionals make sure of it. We're proud to install stainless steel custom chase covers, which can provide your chimney with years and years of protection against moisture.
What Is A Chase Cover & How Does It Prevent Chimney Leaks?
What is a chase cover? It's simply a metal covering that fits at the top of the chimney chase, protecting the entire chimney opening, with the exception of the flue. Just like the crown on a masonry chimney, the chase cover sits horizontally and takes on water so that your chimney opening doesn't have to. But a perfect fit and a high-quality material are vital! That's why we offer custom stainless steel chase covers.
Unlike aluminum chase covers, which oftentimes come standard on prefab or factory-built chimneys, stainless steel chase covers are resistant to rust and corrosion. When you choose stainless steel, it's a little bit more of an investment up front, but the payoff is great. You'll enjoy protection against chimney leaks and other unwanted intruders (like birds and animals) for years and years, without worrying about rusted holes, deterioration, and ugly rust stains running down your chase.
When you have your chase cover installed by Sweepnman, a Chimney Safety Institute of America (CSIA)-certified chimney sweep will measure your chase opening and create a custom cover that will fit perfectly. No gaps. No areas for water to get in. Just a quality product and a custom fit.
If you'd like to learn more about our custom chase covers, reach out to us here on our website or by calling 978-664-6642. Our team of knowledgeable and friendly professionals will be more than happy to answer your questions and get you set up with an appointment.
Wouldn't you enjoy the convenience of a new clean-out door for your fireplace? Ask us about installation details now.


text:
All Universities American University Arizona State University Ben-Gurion University of the Negev Bilkent University Boston University Brown University Columbia University Dartmouth College George Washington University Georgetown University Georgia State University Georgia State University Perimeter College James Madison University Koç University National University for Political Science and Administrative Studies, Bucharest, Romania Northeastern University Ohio State University Rhode Island School of Design Rollins College Sabanci University Sacramento State University Saint Louis University Salem State University Skidmore College Suffolk University SUNY-Binghamton Uncategorized University of California, Davis University of California, Los Angeles University of California, San Diego University of Chicago University of Denver University of Georgia University of Louisiana, Lafayette University of Memphis University of Pennsylvania University of Surrey University of the Philippines, Diliman University of Utah Ursinus College Utah State University Williams College Yale University
The Culture of Silence on Sexual Harassment is Broken and Women are the New Political Actors by Dorothy Spector @ Boston University
posted on November 14, 2017 by Dorothy Spector
Boston University Tagged With: Harvey Weinstein, Roy Moore, sexual harassment, United States, women
Due to the media's exposure of Harvey Weinstein's history of sexual misconduct, a new awareness of sexual harassment and consciousness of male power abuse has been created. For years women have lived …
Continue Reading about The Culture of Silence on Sexual Harassment is Broken and Women are the New Political Actors by Dorothy Spector @ Boston University →

redpajama_set_name: RedPajamaCommonCrawl


Viewing 15 of 54 products.
Snapshot: The Brother DCP-1610W connects via WiFi and USB and has a 2" display. How well does it print?
Get instant access to test results for 54 printers.
Snapshot: The Brother HL-1210W connects via WiFi and USB, but doesn't have a display screen. How well does it print?
Snapshot: The Brother HL-3170CDW connects via ethernet, WiFi and USB and has a 2" display. How well does it print?
Snapshot: The Brother HL-L5100DN connects via ethernet and has a 2" display screen. But how well does it print?
Snapshot: The Brother HL-L5200DW connects via ethernet and WiFi and has a 2" display screen. But how well does it print?
Snapshot: The Brother HL-L8260CDW connects via ethernet and WiFi and has a 2" display screen. But how well does it print?
Snapshot: The Brother HL-L8260CDW connects via ethernet, WiFi and USB and has a 2.25" display screen. But how well does it print?
Snapshot: The Brother MFC-J5330DW connects via ethernet, WiFi and USB and has a 2.75" display. How well does it print?
Snapshot: The Brother MFC-J5730DW connects via ethernet, WiFi and USB and has a 3.75" display. How well does it print?
Snapshot: The Brother MFC-J6530DW connects via ethernet, WiFi and USB and has a 2.75" display. How well does it print?
Snapshot: The Brother MFC-J6920DW connects via ethernet, WiFi and USB and has a 3.75" display. How well does it print?
Snapshot: The Brother MFC-J6930DW connects via ethernet, WiFi and USB and has a 3.75" display. How well does it print?
Snapshot: The Brother MFC-L2700DW is a multifunction laser printer with WiFi, but how good is the printing?
Snapshot: The Canon Maxify MB2160 connects via WiFi and USB and has a 2.75" display. How well does it print?


Saturday, 17. August 2019, Texas A&M University College of Dentistry | 605 - Lecture Hall, Advanced Course Dental Photography: Artistic photography, laboratory images and facial scanners.
Artistic photography, laboratory images and facial : Dr. Marta Revilla León and Dr. Amirali ZandinejadLength course: 1 complete dayStructure of the course: 30% lecture and 70% hands on.
This is an advanced course in photography - you must have taken the beginning or basic photography course in order to participate or provide information of your experience with photography.
The goal is to develop an advance protocol for different light sources and filters to analyze theoptical behavior of natural teeth. Furthermore, to develop a protocol for non-tooth elementsphotographs such as dental casts, diagnostic wax-ups, dental prostheses, etc.
- Introduction optical dental properties.- Filters and light sources.- Framing and composition.- Laboratory photography.- Artistic patient's photographs for final documentation.- Digitizing patient's **** using facial scanner.
It is indispensable that the participant attend the course with a digital SLR camera, macro lensand ring/twin flash. If you dint have the basic photography equipment, please contact the CEorganizer for further information.
Dr. Revilla graduated from dental school in 2004. She completed a 3-year graduate program in Aesthetic Dentistry at the Complutense University of Madrid in Spain and 3-year graduate training in Prosthodontics at the University of Washington in Seattle. Before joining Texas A&M University, Dr. Revilla has been working in private practice and collaborating as an Affiliate Faculty at the Graduate Prosthodontic program at the University of Washington. She created a research group where the main goal of the group is the validation and development of dental applications of additive manufacturing technologies. She has numerous clinical and scientific publications. She joined Texas A&M University College of Dentistry as Assistant Program Director and Assistant Professor of AEGD residency program.
Dr. Zandinejad completed his dental training in 1996. He also completed a residency program in operative dentistry and received his Master degree in restorative dentistry from Sheffield University in the United Kingdom.He completed his AEGD residency and prosthodontic program at the Universityof Rochester in NY. He recently joined the A&M Texas University, College Dentistry as the Director of AEGD residency program. maintains his practice limited to implants, esthetic dentistry and prosthodontics.
Application and longevityof all ceramic systems.
Digital impression and its accuracy.
Introducing new technique for reinforcing dental ceramic.
Infiltrating ceramic with resin and investigating the mechanical properties.
Fracture resistance of all-ceramic crowns supported by implant.
Texas A&M University College of Dentistry is an ADA CERP Recognized Provider.
Concerns or complaints about a CE provider may be directed to the provider or to ADA CERP at . Continuing education credits issued for participation in the CE activity may not apply toward license renewal in all states/provinces. It is the responsibility of each participant to verify the requirements of his/her state/provincial licensing board(s).
REGISTRATION CANCELLATION:Tuition is refundable if a course is canceled by the Office of CE. A $50 fee will be assessed for any course cancellation. All payments by check or cash are deposited into the Texas A&M account and CANNOT be refunded. "No Shows" for a course forfeit all tuition. Confirm notification of cancellation by e-mail.The CE Office cannot be held responsible for a non-refundable airline ticket.


As we write the FFA is at serious loggerheads with its elite clubs. The clubs, in their financial demands, are so far from what is being offered to them that the impasse threatens to fracture the game.
Many have forgotten, and some never even knew, that the same thing happened 60 years ago this year. And it did fracture the game.
In 1957 football's world in Australia was a very different thing. The game was run by the Australian Soccer Football Association (ASFA), an amateur collection of dilettantes in blue blazers. The players were in the most unpaid. The ASFA became a FIFA member only a year earlier, before which it was only affiliated with the world body through its membership of the English FA.
There was no national league, no Socceroos with a World Cup agenda. The game was without professionalism, ambition and vision, a suburban pastime of no national significance, a status the game's governors of the time were content to maintain.
Then came the emergence of the migrant community clubs, the massive effect of the migrant boom which impacted heavily across all of Australian culture including its football.
Soon there would be a major impass between the strongest clubs and the governors, just like now.
The bottom line was that the established order wanted no part of the wogs and wog clubs. Many immigrants who wanted to play football were faced with closed doors when they wanted to join local clubs. They were not wanted, no matter how good they were.
This was one reason, among others, why the migrant communities formed their own clubs.
In the absence of a national competition the most important league in the land was the NSW first division. It was a division filled with suburban clubs like Canterbury, Auburn, Granville, Corrimal and Gladesville. In 1955 the league was expanded to 12 teams and two migrant community clubs, Prague (Czech) and Sydney Austral (Dutch) were admitted.
But when Hakoah, a Jewish community club, won the second division the following year promotion to them was denied. This despite the fact that the second division, parading a host of migrant community (ethnic) clubs, was buoyant with big crowds and money. The first division, in contrast, was poor and a show for crowds of meagre hundreds.
With that a soccer revolution of seismic proportions was triggered.
In 1957 the president of Hakoah, Walter Sternberg, convened a meeting in his Bellevue Hill home of disgruntled clubs. Among them were local, suburban clubs like Canterbury and Auburn who saw the commercial opportunities being wasted by not embracing the migrant soccer movement.
At the meeting a breakaway governing body, the NSW Federation of Soccer Clubs, was formed. A new first division was launched that year. The breakaway was in train at a cracking pace. Soon all other states followed suit and before long the movement was federated with the founding of the Australian Soccer Federation (ASF). The game in Australia was never the same again.
The old ASFA for all intents and purposes was dead. The only vestige that remained was the ASFA's continued recognition by FIFA.
But the game, under the governance of the ASF, forged ahead. Game attendances were large and boisterous. There was new media space available for football. Quality, high profile players were imported, albeit without the payment of transfer fees which kept the ASF under a FIFA ban for three years.
There were pioneering innovations by football, such as games on Sundays and games at night under floodlights, neither of which were heard of in any sport before soccer's new era came along. The Socceroos were launched in 1965 with an Australian tilt at the World Cup for the first time. Eight years further on Australia qualified for the World Cup.
And 20 years after the 1957 breakaway the NSL was launched - Australia's first national league of any football code or any sport. One of its instigators was Frank Lowy. His son Steven, current chairman of the FFA, was 14 years old.
This was the era of the so-called ethnic clubs, when control of the game rested in the hands of immigrants. Cynics of the time referred to the 1957 breakaway as 'the day the wogs hijacked the game'.
In fact the reality was nothing of the kind. The game was not hijacked by wogs but taken over by people who actually cared for the game and harboured bold ambitions for it.
I spent much time being amongst the people who administered football and its clubs between 1957 and the ultimate demise of the NSL in 2003. Most of them worked hard, for no salary or financial reward. For decades the ASF head office had two full time employees, the CEO and a secretary.
All these people, most of them immigrants, had one over-riding mission: to make football accepted and popular among all Australians. For this effort they were labelled, as Johnny Warren recalled, sheilas, wogs and poofters.
Yet their legacy is golden and one we should all cherish. As I have said in this space before, there would be no new football without old soccer which was kept alive and breathing mostly by immigrants. That was the measure of the 1957 breakaway's long term impact.
In seriousness one has to doubt that the current standoff between the FFA and its elite clubs will lead to anything like what happened 60 years ago. But, if anything, 1957 showed how much power the clubs can wield if they decide to use it.
The FFA would be well advised to note that when they put their minds to it, the clubs can do a variety of damage.


text:
using namespace std;

inline bool IsSpace(char c) { return isspace(c); }

class recursion_strategy {

 public:
  virtual void GetSubdirs( const string &source_tree_path,
			   set<string> &subdirectories ) = 0;
  virtual ~recursion_strategy() {};
};

class cvs_recursion_strategy : public recursion_strategy {

 public:
  virtual void GetSubdirs( const string &source_tree_path,
			   set<string> &subdirectories );
  virtual ~cvs_recursion_strategy() {};
};

class full_recursion_strategy : public recursion_strategy {

 public:
  virtual void GetSubdirs( const string &source_tree_path,
			   set<string> &subdirectories );
  virtual ~full_recursion_strategy() {};
};

class makefile_builder {

 public:

  makefile_builder( recursion_strategy *rs,
                    bool ignore_archived_directive,
                    bool print_dep_graph,
                    int ubiquitous_cutoff )
    : make_archived( ignore_archived_directive ),
      print_graph( print_dep_graph ),
      ubiq_cutoff( ubiquitous_cutoff ),
      recursion_strat( rs )
  { }

  void ParseDependencies( const string &source_tree_root );

  void GenerateMakefile( const string &makefile );

  void DumpDependencies( const string &filename );

 private:

  class dependency {

   public:
    dependency() {}
    dependency( const string &dependent, const string &provider )
      : dependent_(dependent), provider_(provider) { }

    const string & Dependent() const { return dependent_; }
    const string & Provider()  const { return provider_; }

    bool operator< ( const dependency &other ) const
    { return ( dependent_ < other.dependent_ ||
               dependent_ == other.dependent_ &&
               provider_ < other.provider_ ); }

    struct order_by_dependent
      : public binary_function<dependency,dependency,bool>
    {
      bool operator() ( const dependency &lhs, const dependency &rhs ) const
      { return ( lhs.Dependent() < rhs.Dependent() ); }
    };

    struct has_dependent
      : public unary_function<dependency,bool>
    {
      has_dependent( const string &dependent ) : dependent_(dependent) {}

      bool operator() ( const dependency &thing ) const
      { return ( thing.Dependent() == dependent_ ); }
     private:
      string dependent_;
    };

   private:
    string dependent_;
    string provider_;
  };

  class subdir_and_target {
   public:
    subdir_and_target() {}
    subdir_and_target( const string &subdir, const string &target )
      : subdir_(subdir), target_(target) { }

    const string &Subdir() const { return subdir_; }
    const string &Target()   const { return target_; }

    bool operator< ( const subdir_and_target &other ) const
    { return ( subdir_ < other.subdir_ ||
               subdir_ == other.subdir_ &&
               target_ < other.target_ ); }

    bool operator== ( const subdir_and_target &other ) const
    { return ( subdir_ == other.subdir_ &&
               target_ == other.target_ ); }

    struct order_by_subdir
      : public binary_function<subdir_and_target,subdir_and_target,bool>
    {
      bool operator() ( const subdir_and_target &lhs, const subdir_and_target &rhs ) const
      { return ( lhs.Subdir() < rhs.Subdir() ); }
    };

    struct order_by_target
      : public binary_function<subdir_and_target,subdir_and_target,bool>
    {
      bool operator() ( const subdir_and_target &lhs, const subdir_and_target &rhs ) const
      { return ( lhs.Target() < rhs.Target() ); }
    };
   private:
    string subdir_;
    string target_;
  };

  vector<dependency> compile_time_deps;
  vector<dependency> link_time_deps;
  vector<dependency> run_time_deps;

  set<string> sources_found;
  set<string> headers_found;
  set<string> objects_found;
  set<string> executables_found;

  bool make_archived;
  bool print_graph;
  int ubiq_cutoff;

  recursion_strategy *recursion_strat;

  map<string, string> special_compiles;

  bool IsDirectory( const string &path ) const;
  bool FileIsHeader( const string &filename ) const;
  bool FileIsSource( const string &filename ) const;
  bool FileIsObject( const string &filename ) const;

  void ParseHeaderFile( const string &full_path, const string &partial_path );
  void ParseSourceFile( const string &full_path, const string &partial_path );

  bool CheckLineForInclude( const string &line, string &included_file );
  bool CheckLineForMain( const string &line );
  bool CheckLineForDirective( const string &line, string &directive );

  void RecursiveParseDependencies( const string &source_tree_root,
				   const string &source_tree_subdir );

  void AddHeaderSourceDependencies();

  void GenerateMakefileForObjectFiles( ostream &makefile );

  /// Add to makefile a list of compile commands for .o files whose
  /// .cc files had special compilation directives.
  void GenerateMakefileForSpecialCompiles( ostream &makefile );
  void GenerateMakefileForExecutables( ostream &makefile );

  void GenerateTargetLists( ostream &makefile );

  set<string> nodes;
  set< pair<string,string> > edges;

  void PrintGraphNode( ostream& graphStrm, const string& file );
  void PrintGraphEdge( ostream& graphStrm, const string& fromFile, const string& toFile,
                       const bool dashed = false );
};

//
// MAIN
//

int main( int argc, char **argv )
{
  recursion_strategy *rs = new full_recursion_strategy;
  bool ignore_archived_directive = false;
  string target;
  bool print_graph = false;
  int ubiq_cutoff = 0;
  bool print_help = false;

  bool error_in_options = false;
  int option;

  char * options = "Ad:g:u:fh";

  while ( ! error_in_options &&
	  ( ( option = getopt( argc, argv, options ) ) != -1 ) )
    switch ( option )
    {
      case 'A' :
        ignore_archived_directive = true;
        break;
      case 'd' :
        target = optarg;
        break;
      case 'f' :
        rs = new full_recursion_strategy;
        break;
      case 'g' :
        target = optarg;
        print_graph = true;
        break;
      case 'u' :
        ubiq_cutoff = atoi( optarg );
        break;
      case 'h' :
        print_help = true;
        break;
      default:
        error_in_options = true;
        print_help = true;
    }

  if ( ! print_graph && ubiq_cutoff > 0 ) {
    cout << "The -u option is only usable in combination with the -g option." << endl << endl;
    print_help = true;
    error_in_options = true;
  }

  if ( print_help )
  {
    cout << "Usage: MakeDepend [-h] [-f] [-d file] [-g file [-u percent]] [-A] dir " << endl
	 << " Parses C and C++ files in dir building a dependencies tree." << endl
	 << "  -h : print this help" << endl
	 << "  -f : recurse over all dirs, not just dirs that are CVS entries" << endl
         << "  -d : dump dependencies of the specified file" << endl
	 << "  -g : print a graph of the dependencies of the specified file in Makefile_auto.<file>.dot" << endl
         << "  -u : the X percent most #included files are excluded from the -g graph" << endl
         << "  -A : ignore 'archived' directives" << endl;

    if ( rs )
      delete rs;

    if ( error_in_options )
      return 1;
    else
      return 0;
  }

  if ( rs == 0 )
    rs = new cvs_recursion_strategy;

  makefile_builder make_depend( rs,
                                ignore_archived_directive,
                                print_graph,
                                ( print_graph ? ubiq_cutoff : 0 ) );

  char * dir = argv[optind];

  make_depend.ParseDependencies( ( dir ? dir : "." ) );

  // If no particular target was specified, use the dependency graph to generate a
  // makefile with the filename "Makefile_auto".  If a particular target was
  // specified, print that target's dependencies to stdout or to a DOT file,
  // depending on the -g option.

  if ( target.empty() )
    make_depend.GenerateMakefile( "Makefile_auto" );
  else
    make_depend.DumpDependencies( target );

  //   cout << "Done!" << endl;

  delete rs;

  return 0;
}

//
// makefile_builder methods
//

// Recursively apply the slave function RecursiveParseDependencies() to
// construct the dependency vectors compile_time_deps, link_time_deps, and
// //run_time_deps from the entire content of the directory subtree rooted at
// source_tree_root.  Each of these three vectors contains ordered pairs (class
// dependency) (A, B) where A depends on B.

void makefile_builder::ParseDependencies( const string &source_tree_root )
{
  this->RecursiveParseDependencies( source_tree_root, "." );

  this->AddHeaderSourceDependencies();

  sort( compile_time_deps.begin(), compile_time_deps.end() );
  sort( link_time_deps.begin(), link_time_deps.end() );
  sort( run_time_deps.begin(), run_time_deps.end() );
}

void makefile_builder::GenerateMakefile( const string &makefile )
{
  ofstream mf( makefile.c_str() );

  mf << "###" << "\n";
  mf << "### This file is generated automatically.  DO NOT MODIFY BY HAND!" << "\n";
  mf << "###" << "\n";
  mf << "\n";

  this->GenerateMakefileForObjectFiles( mf );
  this->GenerateMakefileForSpecialCompiles( mf );
  this->GenerateMakefileForExecutables( mf );
  this->GenerateTargetLists( mf );
}

void makefile_builder::PrintGraphNode( ostream& graphStrm, const string& file ) {
  string base( file.substr( 0, file.rfind( "." ) ) );
  if ( nodes.count( base ) ) return;
  nodes.insert( base );
  graphStrm << "  \"" << base << "\" [shape=box];" << "\n";
}

void makefile_builder::PrintGraphEdge( ostream& graphStrm,
                                       const string& fromFile, const string& toFile,
                                       const bool dashed ) {
  this->PrintGraphNode( graphStrm, fromFile );
  this->PrintGraphNode( graphStrm, toFile );
  string from( fromFile.substr( 0, fromFile.rfind( "." ) ) );
  string   to(   toFile.substr( 0,   toFile.rfind( "." ) ) );
  if ( from == to ) return;
  if ( edges.count( make_pair( from, to ) ) ) return;
  edges.insert( make_pair( from, to ) );
  graphStrm << "  \"" << from << "\" -> \"" << to << "\"";
  if ( dashed )
    graphStrm << " [style=dashed]";
  graphStrm << ";" << "\n";
}

void makefile_builder::DumpDependencies( const string &target )
{
  set<dependency> unexpanded_deps;
  set<string> expanded_deps;
  set<string> real_deps, exec_deps, obj_deps;

  ostream* pGraphStrm = 0;
  if ( print_graph ) {
    // Remove slashes and dots from target name so that is safe to use as a
    // filename and put the result in safe_target.
    string safe_target = target;
    string::size_type slashdotpos;
    while ( ( slashdotpos = safe_target.find_first_of( "/." ) ) != string::npos )
      safe_target[slashdotpos] = '_';
    // Open a stream to the file "Makefile_auto.<safe_target>.dot".
    string dotfile = "Makefile_auto.";
    dotfile += safe_target;
    dotfile += ".dot";
    cout << "Saving output to " << dotfile << endl;
    pGraphStrm = new ofstream( dotfile.c_str() );
    *pGraphStrm << "digraph \"" << target << "\" {" << endl;
  }

  // provider_counts[] is, effectively, a symbol table: that is, it's a data
  // structure that maps unique strings to integers, where no string in the
  // table is duplicated.  In the case of this particular symbol table, the
  // strings are the names of code modules (that is, the file names with the
  // extensions such as ".cc" deleted) and the integers are reference counts.
  // If the ordered pair (A, B) is present in the vector link_time_deps - that
  // is, if A depends on B, then the reference count associated with the name B
  // is incremented.

  map<string,int> provider_counts;
  for ( vector<dependency>::iterator dep_iter = link_time_deps.begin();
        dep_iter != link_time_deps.end(); ++dep_iter ) {
    string base( dep_iter->Provider().substr( 0, dep_iter->Provider().rfind( "." ) ) );
    provider_counts[base]++;
  }

  for ( vector<dependency>::iterator dep_iter = compile_time_deps.begin();
        dep_iter != compile_time_deps.end(); ++dep_iter ) {
    string base( dep_iter->Provider().substr( 0, dep_iter->Provider().rfind( "." ) ) );
    provider_counts[base]++;
  }

  // The vector of pairs count_per_provider[] simply reverses the map
  // provider_counts[], copying each map element B->n to an ordered pair (n,B),
  // so that the resulting vector can be sorted by number of occurences, rather
  // than provider name.  (Why not build the mapping as a vector in the first
  // place?  Efficiency: keeping the vector sorted while building up the map
  // would require a lot of copying of data everytime a new provider name was
  // encountered.)

  vector< pair<int,string> > count_per_provider;
  for ( map<string,int>::iterator count_iter = provider_counts.begin();
        count_iter != provider_counts.end(); ++count_iter )
    count_per_provider.push_back( make_pair( count_iter->second, count_iter->first ) );

  // Modules with very high out-degrees - that is, modules on which large
  // numbers of other modules depend - are defined as "ubiquitous providers"
  // of dependencies.  More specifically, this class is defined as the top
  // 'ubiq_cutoff' percent (rounded down) of out-degrees of all dependency
  // providers.

  sort( count_per_provider.begin(), count_per_provider.end() );
  int cutoff_count = count_per_provider.size() * ubiq_cutoff / 100;

  // ubiquitous_providers[] is a vector whose elements are the names (strings)
  // of all the providers in this aforementioned class.  It is alphabetically
  // sorted, then dumped to stdout.

  vector<string> ubiquitous_providers;
  for ( int i = 1; i <= cutoff_count; ++i )
    ubiquitous_providers.push_back( count_per_provider[ count_per_provider.size()-i ].second );
  sort( ubiquitous_providers.begin(), ubiquitous_providers.end() );

  if ( ! ubiquitous_providers.empty() ) {
    cout << "Not displaying these \"ubiquitous\" nodes:" << endl;
    copy( ubiquitous_providers.begin(), ubiquitous_providers.end(),
          ostream_iterator<string>( cout, "\n" ) );
  }

  pair<vector<dependency>::iterator,vector<dependency>::iterator> target_range;

  // Make the ordered pair target_range the range covering every dependency
  // within link_time_deps[] that specifies a dependency on the given module
  // name 'target'.

  target_range = equal_range( link_time_deps.begin(),
                              link_time_deps.end(),
                              dependency(target,""),
                              dependency::order_by_dependent() );

  unexpanded_deps.insert( target_range.first, target_range.second );

  while ( ! unexpanded_deps.empty() )
  {
    dependency a_dep = *(unexpanded_deps.begin());

    unexpanded_deps.erase( unexpanded_deps.begin() );

    const string &dependent = a_dep.Dependent();
    const string &provider = a_dep.Provider();

    string base( provider.substr( 0, provider.rfind( "." ) ) );
    if ( binary_search( ubiquitous_providers.begin(), ubiquitous_providers.end(), base ) )
      continue;

    // If printing a graph, print only dependencies of a source file on a header
    // file, or dependencies where one or the other file is neither header nor
    // source file.  (This implies that object dependencies will not be printed,
    // and in the unlikely event that there are any header files that depend on
    // source file, such dependencies will not be printed either.)

    if ( print_graph )
      if ( ! this->FileIsSource( dependent ) && ! this->FileIsHeader( dependent ) ||
           ! this->FileIsSource( provider )  && ! this->FileIsHeader( provider ) ||
           this->FileIsHeader( dependent ) && this->FileIsSource( provider ) ) {
        this->PrintGraphEdge( *pGraphStrm, dependent, provider, true );
      }

    // If this dependency provider has not yet been expanded, then insert it
    // into expanded deps, and queue its dependencies for expansion.  If this
    // dependency provider is either a source or a header file, then add it to
    // the set real_deps.  Otherwise, add it to the set obj_deps.
    //
    // Also add any and all run-time dependencies (from run_time_deps) to the
    // set exec_deps, but do not queue these for expansion.

    if ( expanded_deps.count( provider ) == 0 )
    {
      expanded_deps.insert( provider );

      pair<vector<dependency>::iterator,vector<dependency>::iterator> more_deps;

      more_deps = equal_range( link_time_deps.begin(),
                               link_time_deps.end(),
                               dependency( provider, "" ),
                               dependency::order_by_dependent() );

      for ( ; more_deps.first != more_deps.second; ++more_deps.first )
        unexpanded_deps.insert( *(more_deps.first) );

      if ( this->FileIsSource( provider ) ||
           this->FileIsHeader( provider ) )
        real_deps.insert( provider );
      else
        obj_deps.insert( provider );

      more_deps = equal_range( run_time_deps.begin(),
                               run_time_deps.end(),
                               dependency( provider, "" ),
                               dependency::order_by_dependent() );

      for ( ; more_deps.first != more_deps.second; ++more_deps.first )
        exec_deps.insert( more_deps.first->Provider() );
    }
  }

  if ( this->FileIsObject( target ) )
    obj_deps.insert( target );

  for ( set<string>::iterator obj_dep_iter = obj_deps.begin();
        obj_dep_iter != obj_deps.end(); ++obj_dep_iter ) {
    target_range = equal_range( compile_time_deps.begin(),
                                compile_time_deps.end(),
                                dependency(*obj_dep_iter,""),
                                dependency::order_by_dependent() );
    unexpanded_deps.insert( target_range.first, target_range.second );
  }
  expanded_deps.clear();

  while ( ! unexpanded_deps.empty() )
  {
    dependency a_dep = *(unexpanded_deps.begin());

    unexpanded_deps.erase( unexpanded_deps.begin() );

    const string &dependent = a_dep.Dependent();
    const string &provider = a_dep.Provider();

    string base( provider.substr( 0, provider.rfind( "." ) ) );
    if ( binary_search( ubiquitous_providers.begin(), ubiquitous_providers.end(), base ) )
      continue;

    if ( print_graph )
      this->PrintGraphEdge( *pGraphStrm, dependent, provider );

    if ( expanded_deps.count( provider ) == 0 )
    {
      expanded_deps.insert( provider );

      pair<vector<dependency>::iterator,vector<dependency>::iterator> more_deps;

      more_deps = equal_range( compile_time_deps.begin(),
                               compile_time_deps.end(),
                               dependency( provider, "" ),
                               dependency::order_by_dependent() );

      for ( ; more_deps.first != more_deps.second; ++more_deps.first )
        unexpanded_deps.insert( *(more_deps.first) );
    }
  }

  if ( print_graph ) {
    *pGraphStrm << "}" << endl;
    delete pGraphStrm;
  } else {
    copy( real_deps.begin(), real_deps.end(),
          ostream_iterator<string>( cout, "\n" ) );
    copy( exec_deps.begin(), exec_deps.end(),
          ostream_iterator<string>( cout, "\n" ) );
  }
}

// This function is effectively a mapcar of the subordinate functions
// Parse{Source,Header}File over the content of source_tree_subdir.  These two
// subordinate functions add dependencies, represented as ordered pairs (A, B)
// where A depends on B, to the three vectors of class dependency
// compile_time_deps, link_time_deps, and run_time_deps.

void makefile_builder::RecursiveParseDependencies( const string &source_tree_root,
						   const string &source_tree_subdir )
{
  string subdir_path = source_tree_root + "/" + source_tree_subdir;

  const char* dirname = subdir_path.c_str();

  struct stat dir_stat;
  if ( ( stat( dirname, &dir_stat ) == 0 ) &&
       ( S_ISDIR( dir_stat.st_mode ) ) )
  {
    if ( DIR* dir_ptr = opendir( dirname ) )
    {
      while (struct dirent* dir_entry = readdir(dir_ptr))
      {
	string entryname( dir_entry->d_name );

	if ( entryname[0] == '.' )
	  continue;

	if ( "MakeDepend.cc" == entryname )
	  continue;

	string partial_path = source_tree_subdir + "/" + entryname;

	while ( partial_path.substr( 0, 2 ) == "./" )
	  partial_path.erase( 0, 2 );

	string full_path = source_tree_root + "/" + partial_path;

	if ( this->FileIsHeader( entryname ) )
	{
	  // 	  cout << "Parsing header file " << partial_path << "." << endl;
	  this->ParseHeaderFile( full_path, partial_path );
	}
	else if ( this->FileIsSource( entryname ) )
	{
	  // 	  cout << "Parsing source file " << partial_path << "." << endl;
	  this->ParseSourceFile( full_path, partial_path );
	}
      }
    }
  }

  set<string> subdirs;
  recursion_strat->GetSubdirs( subdir_path, subdirs );

  //   if ( ! subdirs.empty() ) {
  //     cout << "Recursing over:" << endl;
  //     copy( subdirs.begin(), subdirs.end(),
  //           ostream_iterator<string>( cout, "\n" ) );
  //   }

  set<string>::iterator subdir_iter;
  for ( subdir_iter = subdirs.begin(); subdir_iter != subdirs.end(); ++subdir_iter )
    this->RecursiveParseDependencies( source_tree_root,
				      source_tree_subdir + "/" + *subdir_iter );
}

void cvs_recursion_strategy::GetSubdirs( const string &source_tree_dir,
					 set<string> &subdirectories )
{
  vector< pair<string,string> > file_and_prefix;
  file_and_prefix.push_back( make_pair( source_tree_dir + "/CVS/Entries", "D/" ) );
  file_and_prefix.push_back( make_pair( source_tree_dir + "/CVS/Entries.Log", "A D/" ) );

  for ( unsigned int i = 0; i < file_and_prefix.size(); ++i ) {
    string entries_file = file_and_prefix[i].first;
    string dir_entry_prefix = file_and_prefix[i].second;
    struct stat file_stat;
    if ( ( stat( entries_file.c_str(), &file_stat ) == 0 ) &&
         ( S_ISREG( file_stat.st_mode ) ) )
    {
      ifstream entries( entries_file.c_str() );

      const int bufsize = 8092;
      char buffer[bufsize];
      string line;

      while ( entries.getline( buffer, bufsize ) )
      {
        line = buffer;
        if ( 0 == line.compare( 0, dir_entry_prefix.size(), dir_entry_prefix ) &&
             line.find( '/' ) != line.rfind( '/' ) )
        {
          line = line.erase( 0, dir_entry_prefix.size() );
          subdirectories.insert( line.substr( 0, line.find( '/') ) );
        }
      }
    }
  }
}

void full_recursion_strategy::GetSubdirs( const string &source_tree_dir,
					  set<string> &subdirectories )
{
  const char* dirname = source_tree_dir.c_str();

  if ( DIR* dir_ptr = opendir( dirname ) )
  {
    string dir_entry_path;
    struct stat dir_stat;

    while (struct dirent* dir_entry = readdir(dir_ptr))
    {
      dir_entry_path = source_tree_dir + "/" + dir_entry->d_name;

      if ( ( stat( dir_entry_path.c_str(), &dir_stat ) == 0 ) &&
	   ( S_ISDIR( dir_stat.st_mode ) ) )
      {
	if ( dir_entry->d_name[0] != '.' )
	  subdirectories.insert( dir_entry->d_name );
      }
    }
  }
}

void makefile_builder::AddHeaderSourceDependencies()
{
  for ( set<string>::iterator source_iter = sources_found.begin();
	source_iter != sources_found.end(); ++source_iter )
  {
    if ( ! this->FileIsSource( *source_iter ) )
      continue;

    const string &source_file = *source_iter;

    string source_base( source_file.substr( 0, source_file.rfind( "." ) ) );
    string corresp_header1( source_base + ".h" );
    string corresp_header2( source_base + ".hh" );

    if ( headers_found.count( corresp_header1 ) )
      link_time_deps.push_back( dependency( corresp_header1, source_file ) );

    if ( headers_found.count( corresp_header2 ) )
      link_time_deps.push_back( dependency( corresp_header2, source_file ) );
  }
}

void makefile_builder::GenerateMakefileForObjectFiles( ostream &mf )
{
  pair<vector<dependency>::iterator,vector<dependency>::iterator> compile_target;

  compile_target.second = compile_time_deps.begin();

  while ( compile_target.second != compile_time_deps.end() )
  {
    compile_target = equal_range( compile_time_deps.begin(),
				  compile_time_deps.end(),
				  *(compile_target.second),
				  dependency::order_by_dependent() );

    if ( ! this->FileIsObject( compile_target.first->Dependent() ) )
      continue;

    //     cout << "Building makefile for compile target: "
    //  	 << compile_target.first->Dependent()
    //  	 << endl;

    set<dependency> unexpanded_deps;
    set<string> expanded_deps;
    set<string> real_deps;

    string target = compile_target.first->Dependent();

    unexpanded_deps.insert( compile_target.first, compile_target.second );

    while ( ! unexpanded_deps.empty() )
    {
      dependency a_dep = *(unexpanded_deps.begin());

      //       cout << "Looking at " << a_dep.Dependent() << " -> " << a_dep.Provider() << endl;

      unexpanded_deps.erase( unexpanded_deps.begin() );

      if ( expanded_deps.count( a_dep.Provider() ) == 0 )
      {
	expanded_deps.insert( a_dep.Provider() );

	pair<vector<dependency>::iterator,vector<dependency>::iterator> more_deps;

	more_deps = equal_range( compile_time_deps.begin(),
				 compile_time_deps.end(),
				 dependency( a_dep.Provider(), "" ),
				 dependency::order_by_dependent() );

	//  	cout << "Found " << distance( more_deps.first, more_deps.second )
	//  	     << " more deps, " << flush;

	// 	int before = unexpanded_deps.size();
	for ( ; more_deps.first != more_deps.second; ++more_deps.first )
	  if ( expanded_deps.count( more_deps.first->Provider() ) == 0 )
	    unexpanded_deps.insert( *(more_deps.first) );
	// 	int after = unexpanded_deps.size();

	//  	cout << after - before << " of which are new." << endl;

	real_deps.insert( "$(SRC)/" + a_dep.Provider() );
	// Is file there???
	//cout << "Testing: " << a_dep.Provider().c_str() << endl;
	//FILE * pTest = fopen(a_dep.Provider().c_str(), "r");
	//if (pTest != NULL)
	//  real_deps.insert( "$(SRC)/" + a_dep.Provider() );
	//else
	//  real_deps.insert( "$(SRC)/Spines/" + a_dep.Provider() );

	//if (pTest != NULL)
	//  fclose(pTest);
      }
    }

    mf << target << ": ";
    copy( real_deps.begin(), real_deps.end(),
	  ostream_iterator<string>( mf, " " ) );
    mf << "\n";
  }
}

void makefile_builder::GenerateMakefileForSpecialCompiles( ostream &mf )
{
  map<string,string>::iterator iter;
  string ccfile;
  for (iter = special_compiles.begin();iter != special_compiles.end();++iter){
    //ccfile = iter->first.substr(0, iter->first.rfind('.')) + ".cc";
    mf << iter->first << ":\n"
       << "\t@ mkdir -p $(OBJ)/${@D}\n"
       << "\t$(CPLUSPLUS) $(CPPC) " << iter->second
       << " -c $(SRC)/$*.cc -o $(OBJ)/$*.o\n";
  }
}

void makefile_builder::GenerateMakefileForExecutables( ostream &mf )
{
  pair<vector<dependency>::iterator,vector<dependency>::iterator> link_target;

  link_target.second = link_time_deps.begin();

  while ( link_target.second != link_time_deps.end() )
  {
    link_target = equal_range( link_time_deps.begin(),
			       link_time_deps.end(),
			       *(link_target.second),
			       dependency::order_by_dependent() );

    //     cout << "On " << link_target.first->Dependent() << ".  " << flush;
    //     cout << distance( link_target.second, link_time_deps.end() ) << " to go." << endl;

    if ( this->FileIsHeader( link_target.first->Dependent() ) ||
	 this->FileIsSource( link_target.first->Dependent() ) ||
	 this->FileIsObject( link_target.first->Dependent() ) )
      continue;

    //     cout << "Building makefile for link target: "
    //   	 << link_target.first->Dependent()
    //   	 << endl;

    set<dependency> unexpanded_deps;
    set<string> expanded_deps;
    set<string> obj_deps;
    set<string> exec_deps;

    bool needs_xerces_lib = false;

    unexpanded_deps.insert( link_target.first, link_target.second );

    while ( ! unexpanded_deps.empty() )
    {
      dependency a_dep = *(unexpanded_deps.begin());

      //       cout << "Looking at " << a_dep.Dependent() << " -> " << a_dep.Provider() << endl;

      if ( a_dep.Provider().find( "xerces" ) != string::npos )
	needs_xerces_lib = true;

      pair<vector<dependency>::iterator,vector<dependency>::iterator> rt_deps;
      rt_deps = equal_range( run_time_deps.begin(),
                             run_time_deps.end(),
                             dependency( a_dep.Provider(), "" ),
                             dependency::order_by_dependent() );
      for ( ; rt_deps.first != rt_deps.second; ++rt_deps.first )
        exec_deps.insert( rt_deps.first->Provider() );

      unexpanded_deps.erase( unexpanded_deps.begin() );

      if ( expanded_deps.count( a_dep.Provider() ) == 0 )
      {
	expanded_deps.insert( a_dep.Provider() );

	pair<vector<dependency>::iterator,vector<dependency>::iterator> more_deps;
	more_deps = equal_range( link_time_deps.begin(),
				 link_time_deps.end(),
				 dependency( a_dep.Provider(), "" ),
				 dependency::order_by_dependent() );

	//  	cout << "Found " << distance( more_deps.first, more_deps.second )
	//  	     << " more deps, " << flush;

	// 	int before = unexpanded_deps.size();
	for ( ; more_deps.first != more_deps.second; ++more_deps.first )
	  if ( expanded_deps.count( more_deps.first->Provider() ) == 0 )
	    unexpanded_deps.insert( *(more_deps.first) );
	// 	int after = unexpanded_deps.size();

	//  	cout << after - before << " of which are new." << endl;

	if ( this->FileIsObject( a_dep.Provider() ) )
	{
	  obj_deps.insert( a_dep.Provider() );
	}
      }
    }

    // Executable dependencies
    mf << link_target.first->Dependent() << ": ";
    for ( set<string>::iterator dep_iter = exec_deps.begin();
	  dep_iter != exec_deps.end(); ++dep_iter )
      mf << " " << *dep_iter;
    mf << " checkLock";
    mf << "\n";

    // Object dependencies
    mf << link_target.first->Dependent() << ": ";
    for ( set<string>::iterator dep_iter = obj_deps.begin();
	  dep_iter != obj_deps.end(); ++dep_iter )
      mf << " " << *dep_iter;
    mf << "\n";

    // Generate instructions to build main program executable.  The second for
    // loop does nothing more than select the main program.

    string targetname = link_target.first->Dependent( );
    string libname = "_" + targetname + "_temp";
    mf << "\t" << "/bin/rm -f lib" << libname << ".a\n";
    mf << "\t" << "$(AR) $(ARFLAGS) lib" << libname << ".a";
    for ( set<string>::iterator dep_iter = obj_deps.begin();
          dep_iter != obj_deps.end(); ++dep_iter )
    {
      mf << " $(OBJ)/" << *dep_iter;
    }
    mf << "\n\t$(BIN)/checkLock $(BIN)/$@";
    mf << "\n\t$(CPLUSPLUS) $(LINK_OPTIONS) -o $(BIN)/$@ ";
    for ( set<string>::iterator dep_iter = obj_deps.begin();
          dep_iter != obj_deps.end(); ++dep_iter )
    {
      string tofind = "/" + targetname + ".o";
      string context = "/" + *dep_iter;
      string::size_type found = context.rfind(tofind);
      if ( found == string::npos ) continue;
      if ( found + tofind.size( ) == context.size( ) )
      {
        mf << " $(OBJ)/" << *dep_iter;
      }
    }
    mf << " -L. $(LINK_LIBS) -l" << libname;
    if (needs_xerces_lib) mf << " $(XERCES_LIB)";
    mf << "\n\t" << "/bin/rm lib" << libname << ".a\n";
  }
}

void makefile_builder::GenerateTargetLists( ostream &mf )
{
  mf << "\n";
  mf << "# Target lists\n";

  mf << "\n";
  mf << "OBJECTS = \\\n";

  set<string>::iterator object_iter = objects_found.begin();
  for ( ; object_iter != objects_found.end(); ++object_iter )
    mf << "  " << *object_iter << "\\\n";

  mf << "\n";
  mf << "nolink: $(OBJECTS)\n";

  mf << "\n";
  mf << "EXECUTABLES = \\\n";

  vector<subdir_and_target> targets_by_subdir;

  vector<dependency>::iterator link_target = link_time_deps.begin();
  for ( ; link_target != link_time_deps.end(); ++link_target )
  {
    if ( this->FileIsHeader( link_target->Dependent() ) ||
	 this->FileIsSource( link_target->Dependent() ) ||
	 this->FileIsObject( link_target->Dependent() ) )
      continue;

    const string &provider = link_target->Provider();

    // grab the directory part of the provider's path
    string::size_type slash_pos = provider.rfind('/');
    if ( slash_pos == string::npos )
      slash_pos = 0;
    string subdir = provider.substr( 0, slash_pos );

    // change all slashes to dots while simultaneously making each
    // subdir a dependency of its parent so that making 'foo' will not
    // only make the executables in 'foo' but also those in 'foo/bar'.
    string parentdir, currdir;
    while ( ( slash_pos = subdir.find('/') ) != string::npos )
    {
      currdir = subdir.substr( 0, slash_pos );
      if ( ! parentdir.empty() )
        targets_by_subdir.push_back( subdir_and_target( parentdir, currdir ) );
      parentdir = currdir;

      subdir[slash_pos] = '.';
    }
    if ( ! parentdir.empty() )
      targets_by_subdir.push_back( subdir_and_target( parentdir, subdir ) );

    if ( ! subdir.empty() )
      targets_by_subdir.push_back( subdir_and_target( subdir, link_target->Dependent() ) );

    mf << "  " << link_target->Dependent() << "\\\n";
  }

  mf << "\n";
  mf << "everything: $(EXECUTABLES)\n\n";

  sort( targets_by_subdir.begin(), targets_by_subdir.end() );
  targets_by_subdir.erase( unique( targets_by_subdir.begin(),
                                   targets_by_subdir.end() ),
                           targets_by_subdir.end() );

  pair<vector<subdir_and_target>::iterator,vector<subdir_and_target>::iterator> range;
  range.second = targets_by_subdir.begin();
  while ( range.second != targets_by_subdir.end() )
  {
    range = equal_range( targets_by_subdir.begin(),
                         targets_by_subdir.end(),
                         *(range.second),
                         subdir_and_target::order_by_subdir() );

    const string &subdir = range.first->Subdir();
    mf << ".PHONY: " << subdir << "\n";
    mf << subdir << ": \\\n";

    for ( ; range.first != range.second; ++range.first )
      mf << "  " << range.first->Target() << "\\\n";
    mf << "\n";
  }
}

void makefile_builder::ParseHeaderFile( const string &full_path, const string &partial_path )
{
  const string &header_file = partial_path;

  headers_found.insert( header_file );

  ifstream header( full_path.c_str() );

  if ( ! header )
  {
    cerr << "Unable to open '" << full_path << "' for reading." << endl;
    cerr << "Exiting." << endl;
    exit( -1 );
  }

  const int bufsize = 8092;
  char buffer[bufsize];
  string line;
  string included_file;
  string directive;

  while ( header.getline( buffer, bufsize ) )
  {
    line = buffer;

    if ( this->CheckLineForInclude( line, included_file ) )
    {
      string prefix;
      if (strstr(header_file.c_str(), "Spines") != NULL)
	prefix = "Spines/";

      dependency new_dep( header_file, prefix + included_file );

      //if (strstr(header_file.c_str(), "System") != NULL)
      //cerr << "Included: " << included_file <<" from " << header_file <<  endl;
      compile_time_deps.push_back( new_dep );
      link_time_deps.push_back( new_dep );
    }
    else if ( this->CheckLineForDirective( line, directive ) ) {
      cerr << "Found a MakeDepend directive in the file" << endl;
      cerr << header_file << endl;
      cerr << "Directives are not allowed in header files." << endl;
      exit( -1 );
    }
  }
}

void makefile_builder::ParseSourceFile( const string &full_path, const string &partial_path )
{
  const string &source_file = partial_path;

  sources_found.insert( source_file );

  ifstream source( full_path.c_str() );

  if ( ! source )
  {
    cerr << "Unable to open '" << full_path << "' for reading." << endl;
    cerr << "Exiting." << endl;
    exit( -1 );
  }

  string sourcefile_base( source_file.substr( 0, source_file.rfind('.') ) );
  string object_file = sourcefile_base + ".o";

  string filename( source_file.substr( source_file.rfind('/') + 1 ) );
  string filename_base( filename.substr( 0, filename.rfind('.') ) );
  string executable = filename_base;

  const int bufsize = 8092;
  char buffer[bufsize];
  string line;
  string included_file;
  bool is_main = false;
  bool found_include = false;
  bool bSkip = false;

  if (strstr(source_file.c_str(), "Spines") != NULL)
    bSkip = true;

  string directive;
  string compflag;
  vector<string> explicit_dependencies;

  while ( source.getline( buffer, bufsize ) ) {
    line = buffer;

    if ( this->CheckLineForDirective( line, directive ) ) {
      if ( directive.substr(0,12) == " dependency " ) {
        explicit_dependencies.push_back( directive.substr(12) );
      }
      else if ( directive == " archived" ) {
	if ( ! make_archived ) return;
      }
      else if (directive.substr(0,4) == " CC_" || directive.substr(0, 7) == " cflags") {
	if (directive.substr(0,4) == " CC_")
	  compflag = directive.substr(4);
	else
	  compflag = directive.substr(7);

	//remove all whitespace
	compflag.erase(remove_if(compflag.begin(),compflag.end(),
				  IsSpace),
			compflag.end());
	compflag = "$(" + compflag + ") ";
	//either create the flag or just append to it;
        special_compiles[object_file] += compflag;
      }
      else {
	if (directive.substr(0,8) != " library" && line != "// MakeDepend: shared SortKmers") {
	  cerr << "Warning: Unknown MakeDepend directive: ";
	  cerr << line;
	  cerr << " in " << full_path << ". ";
	  cerr << "Continuing...\n";
	}
	//exit(1);
      }
    }

    // Check for main program.
    else if ( !bSkip && this->CheckLineForMain( line ) ) {
      is_main = true;
    }
    else if ( this->CheckLineForInclude( line, included_file ) ) {
      found_include = true;
      string prefix;
      if (strstr(source_file.c_str(), "Spines") != NULL) {
	prefix = "Spines/";
      }
      //cerr << "Using prefix for file " << included_file << endl;
	//}

      compile_time_deps.push_back( dependency( source_file, prefix + included_file ));
      link_time_deps.push_back( dependency( source_file, prefix + included_file ) );
    }
  }

  objects_found.insert( object_file );
  compile_time_deps.push_back( dependency( object_file, source_file ) );

  if ( is_main ) {
    if ( executables_found.find( executable ) != executables_found.end() ) {
      // Conflicting executables.

      vector<dependency>::iterator link_target;

      // Find other object file.
      link_target = find_if( link_time_deps.begin(),
			     link_time_deps.end(),
			     dependency::has_dependent( executable ) );

      if ( link_target == link_time_deps.end() ) {
        cerr << "Unknown error caused by executable target collision." << endl;
        cerr << "There are two source files that will produce identically named" << endl;
        cerr << "executables.  Until this is resolved, compilation cannot continue." << endl;
        exit(1);
      }

      string other_object_file = link_target->Provider();

      link_target = find_if( link_time_deps.begin(),
                             link_time_deps.end(),
                             dependency::has_dependent( other_object_file ) );

      if ( link_target == link_time_deps.end() )
	{
	  cerr << "Unknown error caused by executable target collision." << endl;
	  cerr << "There are two source files that will produce identically named" << endl;
	  cerr << "executables.  Until this is resolved, compilation cannot continue." << endl;
	  exit(1);
	}

      string other_source_file = link_target->Provider();

      cerr << "There is a conflict between two main programs." << endl;
      cerr << "The executable '" << executable << "'"
           << " could be built from either of these files: " << endl;
      cerr << "  " << source_file << endl;
      cerr << "  " << other_source_file << endl;
      cerr << "Until one of these source files is removed or renamed,"
           << " compilation cannot continue." << endl;
      exit(1);
    }

    executables_found.insert( executable );

    // If this is a main program, when linking we'll need to be able
    // to get from the executable to the object to the source (and
    // thence to the other headers/sources/objects).
    link_time_deps.push_back( dependency( executable, object_file ) );
    link_time_deps.push_back( dependency( object_file, source_file ) );
  }
  else
  {
    // If this is not a main program, when linking we'll need to be
    // able to get from the source to object file, so executables can
    // find the object file.
    link_time_deps.push_back( dependency( source_file, object_file ) );
  }

  // Add in the explicit dependencies.
  for ( vector<string>::iterator exp_iter = explicit_dependencies.begin();
        exp_iter != explicit_dependencies.end(); ++exp_iter )
    run_time_deps.push_back( dependency( object_file, *exp_iter ) );
}

bool makefile_builder::CheckLineForDirective( const string &line, string& directive )
{
  directive.clear();

  const unsigned int DIRECTIVE_START=14;
  if ( line.size( ) >= DIRECTIVE_START && line[0] == '/'
       && strncmp( line.c_str(), "// MakeDepend:", DIRECTIVE_START) == 0)
    directive = line.substr(DIRECTIVE_START);

  return ( ! directive.empty() );
}

bool makefile_builder::CheckLineForInclude( const string &line, string &included_file )
{
  if ( line.size() < 8 )
    return false;

  if ( line[0] != '#' ||
       strncmp( line.c_str(), "#include", 8 ) != 0 )
    return false;

  string::size_type first_quote = line.find( '"', 8 );

  if ( first_quote == string::npos ) // if not found
    return false;

  string::size_type first_letter = first_quote + 1;
  string::size_type next_quote = line.find( '"', first_letter );

  if ( next_quote == string::npos ) // if not found
    return false;

  included_file = line.substr( first_letter, next_quote-first_letter );
  return true;
}

bool makefile_builder::CheckLineForMain( const string &line )
{
  return ( strncmp( line.c_str(), "int main(", 9 ) == 0 );
}

bool makefile_builder::IsDirectory( const string &path ) const
{
  struct stat path_stat;
  if ( stat( path.c_str(), &path_stat ) != 0 )
  {
    cerr << "stat() failed on path '" << path << "'." << endl;
    cerr << "Exiting." << endl;
    exit( -1 );
  }

  return ( S_ISDIR( path_stat.st_mode ) );
}

int CompareSubstring( const string &the_string,
                      unsigned int start,
                      unsigned int length,
                      const char *query )
{
#if __GNUC__ > 2
  return the_string.compare( start, length, query );
#else
  return the_string.compare( query, start, length );
#endif
}

bool makefile_builder::FileIsHeader( const string &filename ) const
{
  return ( filename.size() > 2 &&
	   ( CompareSubstring( filename, filename.size() - 2, 2, ".h" ) == 0 ) ||
	   filename.size() > 3 &&
	   ( CompareSubstring( filename, filename.size() - 3, 3, ".hh" ) == 0 ) );
}

bool makefile_builder::FileIsSource( const string &filename ) const
{
  return ( filename.size() > 3 &&
	   CompareSubstring( filename, filename.size() - 3, 3, ".cc" ) == 0 );
}

bool makefile_builder::FileIsObject( const string &filename ) const
{
  return ( filename.size() > 2 &&
	   CompareSubstring( filename, filename.size() - 2, 2, ".o" ) == 0 );
}

redpajama_set_name: RedPajamaGithub


text:
Beesus - The Rise Of Beesus
noise rock / sludge
New Sonic Records
THISISNOTABANDSHIRT - unique shirt designs to support Merchants Of Air
Do you it will one day be possible to use soundwaves as a form of transportation? You know, trains or streetcars with massive speakers on the bottom, driving on drones? It's not very strange when you think about it. Scientists have already balanced objects between speakers and put out fire with soundwaves. It's true, look it up on Youtube if you don't believe me. So, imagine one day we ride on soundtrains. Guess who drives the damn thing? Yes, Beesus (among others).
Beesus is an Italian band, formed in 2010. After their first demo and some live gigs, the band went on a hiatus, only to come back with a serious vengeance. This debut full-length is a massive piece of noise rock, with tentacles towards stoner rock, sludge metal. Influences by the likes of Alice In Chains, The Jesus Lizard, Kyuss and Butthole Surfers, Beesus rages on in a fury of fuzz, noise and energy. Yes, most of the album is quite slow, but still intense enough to snap the elastic in your underwear.
'The Rise Of Beesus' (both the song and the album, which is quite normal since the song opens the album, making it easy for me to not confuse my beloved readers with the question whether I'm reviewing the song or the album) opens with a drone and slowly turns into something you know will leave you with a severe headache. Yet, it's one of those worth-it-headaches, an afterblow of something awesome you did last night. From there one, Beesus drive their stoner-noise through your skull with sheer intensity.
Once in awhile, Beesu takes a step back to engage themselves in a bit of a psychedelic jamsession. 'Kusa' is one of those. It's the kind of song that The Doors could have played when they were too stoned to notice the distortion being too heavy. It's not too heavy for Beesus, that's for damn sure. Much like The Melvins, Beesus stand for a massive wall-of-sound, with a thick, hazy atmosphere and harsh riffs. 'Zenza', for instance, will make every noise rocker party his socks off.
To conclude, this is one of those albums that will stun a lot of fuzz-fans and each of them knows that this music will be even better live. In fact, the album is recorded live. This is the stuff for ecstatic live shows, loaded with all kinds of psychotropic substances. So check it out if you like any of the bands listed in this review, and if you don't, check it out anyway.


This post about Closet Door Images was published at August 27, 2018 at 2:57 am. It is uploaded on the Closet category. Closet Door Images is labelled with Closet Door Images, Closet, Door, Images..
When the wooden floor is currently increasingly popular, Closet Door Images CAn't be denied, actually has turned into a tendency while in the sphere of interior planning. Various kinds and form are significantly currently mushrooming available in the market. This calls for you to precisely pick what sort of wood floors are of top quality. But regrettably most of you're still in choosing a normal timber ground with all the imitation, baffled.
Evident in the following queries that typically arise from consumers concerning the wooden flooring. From the previous post we can locate wooden floors balanced for that household and before deciding to decide on a floor, should be thought about beforehand unidentified destination using wooden floor.
Because a lot of lumber flooring goods available on the market are not all-wood floor goods are wooden floors that are original. Below we explain three kinds of wood floor products noticed from the product as being a factor while in the selection. Listed here are on selecting a pure wood surfaces: Closet Door Images such as for example sheets of panel of the specific size three tips.


The first film festival bringing exclusively African films to Barcelona is here with a program of ten movies from nine countries and, with four African guests, also offers round tables and debates. It all kicks off with the magical Supa Modo from Kenya, about a terminally ill girl and her sister who are fighting a cruel destiny with the strength of imagination.
Another Kenyan film is Rafiki, a lesbian love story that has been banned from screenings in its country of origin as homosexual relationships are considered a crime. The Train of Salt and Sugar is a love story between a nurse and a soldier during the Mozambique civil war of the 1980s; Five Fingers for Marseilles discusses South African apartheid; while Sacred Places from Cameroon is a bright portrayal of a drummer, a video club owner and a writer who enrich the cityscape with music, film and philosophy, refreshing the environments they inhabit.


Maharishi Vidya Mandir, Yamuna Nagar like all other Maharishi Institutions is established to introduce Maharishiji's Consciousness Based Education System in mainstream school education to its students. This system (MCBE) has been tried, implemented successfully and is repeatedly verified by over 600 scientific research studies conducted in 215 universities and independent research institutions of 35 countries. These studies have been published in 6 volumes and have documented the remarkable benefits of Consciousness Based Education e.g. greater use of intelligence, superior brain wave functioning, faster learning ability, faster reaction time, coherent thought process, longer retention of knowledge, improved health and reversal of aging.
Maharishi Vidya Mandir, Yamuna Nagar is affiliated to CBSE Delhi (up to class 12th). The school has obtained NOC No. F-73-12/2007-20-3 on 21/02/2013 from the C.B.S.E. The school has a unique approach to complete and holistic education. The genius of Maharishi school curriculum is that every student studying different subjects identified by the NCERT and Central Board of Secondary Education, seamlessly integrates these with Supreme Science of Life–Vedic Science and Technology.
All students practice Yog, Maharishi Transcendental Meditation and Advance Techniques, to attain higher states of consciousness. This scientific approach to train and balance correlation between mind, body and consciousness has received wide appreciation from parents and they have acknowledged the substantial improvement in their wards.
In the words of Maharishi Ji, 'the roots of modern day problems are the incomplete growth of human brain because of incomplete, fragmented education. The education is incomplete when the student is not able to utilize or develop the creative brain potential, thereby allowing imbalances to creep in.
'The dissatisfaction created by the failure is nothing but an outcome of cumulative stress and strain due to gross violation of the laws of Nature. Thereby, it is essential to take the knowledge through education to pure consciousness level, where all the laws of Nature are aligned. This facilitates every student to adhere to the Laws of Nature and to realise an ideal and successful environment'.
To fulfill this aim, Maharishi Vidya Mandir schools are establishing the value of pure consciousness in all the students across the country, thereby not only helping the students to acquire conventional knowledge for gaining professional skills but also for implementing their total knowledge of natural law in personal life. This allows a student to lead a stress-free and strain free life to accomplish their desires without any difficulty. The aim is to allow each generation to enjoy fruits of all knowledge and with its own accomplished life can enliven the whole world consciousness and play again the role of Jagat Guru.


This is an excerpt (day 3 of 5) from Broken Crayons Still Color: From our mess to God's masterpiece, is a Devotional Study offered through YouVersion/Bible.com. Shelley Hitz, author and publisher, shares how we cannot see who and what God sees in us because we look through judgemental lens and negative self-talk.
Body image issues are so common in our culture today. A majority of teen girls and women I talk to struggle with body image. Even men feel the pressure to look a certain way.
If I can change ____________ (fill in the blank) about my body, others will finally accept me and I will be able to accept myself.
I know my answer without even thinking about it. The thing I have struggled with the most is acne and the scars it has left behind.
I tried most everything from Mary Kay to Proactiv to Arbonne to supplements and vitamins to hormone creams, changing my diet, etc.
One day I felt challenged by God to go out to eat with my husband, CJ, without wearing one drop of makeup.
Go out in public without any makeup? Surely not.
You see, I was using makeup as a means of self-protection and to feel better about myself. So to go out without any makeup literally felt like I was leaving the house naked! How embarrassing and devastating.
After some resistance, I finally obeyed God that night and left without a trace of makeup. After a few minutes, I couldn't stand it any longer, so I asked my husband if he noticed anything different about my appearance.
I felt exposed, naked, and self-conscious, but he did not even notice. In fact, he affirmed my natural beauty.
What I learned from that experiment is most people do not notice my imperfections nearly as much as I do. I am so much harder on myself than anyone else could ever be.
The truth is that my value comes from God, my Creator, and not from my appearance and what others think of me.
Once God began to heal my heart in this area of body image, an inner beauty began to shine out through my eyes, my smile, and my personality. Now, most people tell me they don't even notice my acne scars.
I still see all my imperfections. We are our own worst critics. Others often see us much differently than we see ourselves.
However, if we will allow Him, God will take our imperfections—our broken crayons—and create something beautiful, a masterpiece.
Lord, I thank you that I am fearfully and wonderfully made. Even though the world shouts that I am not enough and that I never measure up, I choose to find my value in you. Thank you for your patience with me and walking with me step-by-step through this journey. I love you. In Jesus' name I pray, amen.
Previous Previous post: How the Apostles Died.


The x86 architecture supports additional memory ordering flags to mark critical sections for hardware lock elision. These must be specified in addition to an existing memory order to atomic intrinsics.
Start lock elision on a lock variable. Memory order must be __ATOMIC_ACQUIRE or stronger.
End lock elision on a lock variable. Memory order must be __ATOMIC_RELEASE or stronger.
When a lock acquire fails, it is required for good performance to abort the transaction quickly. This can be done with a _mm_pause.


text:
Home » Opinion » Our Editorial
Harness the power of belief for a better…
Opinion12 January 2022
By Darren Lum The new year brings optimism.I have a dream when there will be better days ahead.It's a fitting sentiment for this time in our lives with so much uncertainty.Art Ward, a Rotarian with…
Opinion6 January 2022
By Darren Lum Whatever the new normal will be we're far from it.Omicron and a reactive provincial government instead of a pro-active one has contributed to that.In light of the provincial government's announcement on Monday…
Connection is the strength we all need
Opinion15 December 2021
By Darren Lum As the winds wailed outside the Club Room at the Royal Canadian Legion in Haliburton, Essonville Hank belted out a tune of his own making about life here in Haliburton. He was…
We're in this together
Opinion8 December 2021
By Darren Lum The heated debate at Haliburton County council recently regarding vaccinations is a clear indication the province needs to take charge when it comes to vaccination mandates.We've seen the past few years how…
No introduction needed
Opinion30 November 2021
Readers may have noticed a few changes at the papers lately, most notably here on the editorial page. As of last Monday, I am the "new" editor of the Haliburton County Echo and County Life.…
Working to see the light
By Darren Lum We all need to cheer for something after close to two years of living during a pandemic that left us in the dark, wondering when … when would we see the light…
Courtesy or tyranny?
Opinion19 October 2021
By Katrina Boguski Earlier this month, Dmitry Andreyevich Muratov and Maria Ressa won the Nobel Peace Prize. They shared the honour, "for their efforts to safeguard freedom of expression, which is a precondition for democracy…
Time to stock up on the goods
Opinion30 September 2021
By Katrina Boguski The squirrels and chipmunks in my yard have been stocking up for some time already, stashing food originally intended for birds. I would be tempted to scold them for their thieving antics,…
The lost art of handwritten communication
By Katrina Boguski Last week, driving through downtown Haliburton the number of impressive signs on the local storefronts made me think about a man who made his living painting signs by hand.His name is Maurice…
Haliburton you make a great first impression
Opinion9 September 2021
By Katrina Boguski You never get a second chance to make a first impression. As it happened, on Aug. 18 the town of Haliburton made a pretty good impression on me, and that was one…
It's time to act
By Mike Baker I've lost count of the number of sad, horrific stories I've heard in recent years about how a promising young life was destroyed, and sometimes even cut short due to illicit drug…
The dog days of summer
Opinion27 July 2021
By Mike Baker You know, I didn't truly understand what the term "the dog days of summer" meant until this past weekend.It's funny – it's a term I've heard, and even used myself on occasion…
Common sense has to prevail
By Mike Baker Ontario Premier Doug Ford surprised me once again last week, and not in a good way.During a press conference last Thursday, Ford said he would not make COVID-19 vaccinations mandatory for healthcare…
That summertime feeling
By Mike Baker If anyone walking around downtown Haliburton on Friday afternoon heard an accented voice bellowing out the word "freedom" in a loud, over-the-top manner, don't worry, there wasn't a live re-enactment of the…
A class to be proud of
By Mike Baker Congratulations are in order.Last Tuesday, June 29, I had the pleasure of attending Haliburton Highlands Secondary School's 2021 graduation ceremony, where 113 students joined, spiritually, in celebration as they marked the culmination…
Fighting for change
Opinion2 July 2021
By Mike Baker The kids, they did alright.OK, maybe they did better than just alright.When word first got out a few months ago that a collection of elementary school students had banded together to ask…
We need a local option
Opinion23 June 2021
By Mike Baker I think it's fairly safe to say that the Haliburton vaccination clinic, which operated out of A.J. LaRue Arena from early April until this past Wednesday, June 9, was an overwhelming success.There's…
By Mike Baker There was finally something to celebrate this past weekend, as the Haliburton Legion, Haliburton Highlanders Riding Club and dozens of onlookers paid their respects to a man who laid his life on…
Opinion28 May 2021
By Mike Baker The local movement seeking to add Black athletes Lesley Tashlin and Taly Williams to the mural wall of fame at A.J. LaRue Arena in Haliburton is starting to receive national attention.As reported…
By Mike Baker I have to admit, I let my emotions get the better of me last week when Ontario Premier Doug Ford announced yet another extension to this seemingly never ending third provincial lockdown.It…
Hockey in the Highlands
By Mike Baker I'm sure I wasn't the only one who felt a smile stretch across their face last week when news that Haliburton County would be getting its very own Jr. A hockey team…


Speakers (among others):Jo Bardoel (University of Nijmegen), Petty Bozonelos (Ryerson University, Toronto), Leen d'Haenens (University of Nijmegen), Per Jauert (University of Kopenhagen), Lou Lichtenberg (Bedrijfsfonds voor de Pers/Netherlands Press Fund), Bart Pattyn (University of Leuven), Marc Raboy (Universit� de Montr�al), David Taras (University of Calgary), Luc Van Liedekerke (University of Leuven), Hans Verstraeten (University of Ghent), Christina von Wackerbart (VRT/Flemish Public Broadcaster).
A conference on entrepreneurship, communication and culture organized by: The Association for Canadian Studies in the Netherlands and Flanders.
The purpose of this conference is to go beyond the polarized, short-sighted and all too common notions held by political and business leaders and commentators of all persuasions, for whom the information society is either a miracle cure for the acute structural crises currently plaguing the Western world, or a juggernaut imposing an unwanted revolution and to be fought off at all costs.
How do federal States like Belgium and Canada combine federal unity and a national-federal identity with the cultural and linguistic aspirations of their two major linguistic communities ?
The seminar aims at offering a better insight in the Canadian experiences to maintain unity between the different communities: the use of federalism as a tool for unity and the protection of a federal Charter of Rights and Freedoms to offer individual protection.
In the imaginary of Canada, 'Other Cultures' have been accommodated by framing issues in terms of an official policy of multiculturalism moulded by the influential theories of Taylor, Kymlicka and Tully. In Europe, by contrast, the theory and praxis of multiculturalism grew out of the detritus of colonialism, the legacy of 'guest workers', the declaration of global triumph of free market economies and virulent forms of ethnocentrism and xenophobia emerging since 1989. The conference aims to open a critical multilogue on 'Multiculturalism' or 'Plurality of Cultures' from both Canadian and European - particularly Dutch/Flemish - perspectives.


text:
class FriendshipsController < ApplicationController

  def index
    @user = current_user
    @friendships = Friendship.all
  end

  def create
    @friend = User.find(params[:user_id])
    @user = current_user

    Friendship.request(@user, @friend)

    respond_to do |format|
      format.html {
        flash[:notice] = 'Friend request sent.'
        redirect_to authenticated_root_path
      }
      format.js
    end
  end

  def update
    @user = current_user
    @friend = User.find(params[:user_id])

    Friendship.accept(@user, @friend)

   respond_to do |format|
     format.html {
       flash[:notice] = 'Friend request accepted.'
       redirect_to authenticated_root_path
     }
     format.js
   end
  end

  def destroy
    @user = current_user
    @friendship = Friendship.find_by(id: params[:id])
    @friend = (@user != @friendship.user) ? @friendship.user : @friendship.friend
    Friendship.remove(@user, @friend)

    respond_to do |format|
      format.html {
        redirect_to user_friendships_path(user_id: current_user.id)
      }
      format.js
    end
  end
end


ANYONE who's ever been so furious with their boss that they feel like exacting revenge really needs to listen to Lindie Liang.
Winners recognised Thursday included a Japanese doctor who devised a revolutionary new way to give yourself a colonoscopy, a British archaeology lecturer who figured out that eating human flesh isn't very nutritious, an Australian team that found that people who buy high tech products really can't be bothered with the instruction manual, and Spanish university researchers who measured the effects of shouting and cursing while driving.
The prizes at the 28th annual ceremony at Harvard University were being handed out by real Nobel laureates.
The event featured a traditional paper airplane air raid and the premiere of The Broken Heart Opera, performed with the help of Harvard Medical School cardiologists.
The winners, who as usual journeyed to Massachusetts at their own expense, also received a cash prize of $10 trillion virtually worthless Zimbabwean dollars.
Liang, an assistant professor of business at Wilfrid Laurier University in Waterloo, Canada, specialises in studying workplace aggression.
"We wanted to understand why subordinates retaliate when it's bad for them," she said.
Obviously, Liang couldn't ask people to beat their bosses.
Instead, they were shown an online voodoo doll with their supervisor's initials. They then had the option to use pins, pliers or fire on the virtual doll.
How did Cole determine the caloric value of a human? Don't worry. No humans were harmed in his study. He used a previously determined formula that bases body part calorie counts on weight and chemical composition.
Dr Akira Horiuchi, a paediatrician at Showa Inan General Hospital in Komagane, Japan, won for his self-colonoscopy study in which he used a colonoscope designed for children and sat upright rather than lying in the traditional supine position.
Horiuchi isn't recommending that you give yourself a colonoscopy in the comfort of your home. He said via email many people are afraid of getting a colonoscopy, and he just wanted to show how easy it can be.


Q & A session from Allison Wilson's lecture: "How GMOs are REALLY made"
How GMOs Are Really Made: Simple Precision or Messy Complexity?
Q/A Session with Claire Robinson on Is Cornell University misleading us on GMO safety?
The REAL GMO Debate - Michael Hansen PhD & Jonathan Latham PhD - GMO WTF!
Frances Moore Lappe on GMO food and agriculture!


Esmaiel Jabbari is Tenured Full Professor of Chemical Engineering at the University of South Carolina with appointments also in Biomedical Engineering and Orthopedic Surgery. He directs the Biomaterials, Tissue Engineering, and Drug Delivery Laboratory which specializes on the design of 3D multi-cellular co-culture systems to study the effect of nanoscale spatiotemporal delivery of morphogens and physico-mechanical factors on the fate of stem cells. He earned his Ph.D. from Purdue University in Chemical Engineering under the mentorship of Dr. Nicholas A. Peppas. He began his independent career as an Assistant Professor in the Departments of Biomedical Engineering and Orthopedic Research at Mayo Clinic upon completion of his post-doctoral training at Monsanto and Rice University. Prof. Jabbari has received numerous awards for his research program including the Berton Rahn Award in 2012 from the AO Foundation, the Stephen Milam Award in 2008 from the Oral and Maxillofacial Surgery Foundation, and election to the College of Fellows of the American Institute for Medical and Biological Engineering (AIMBE) in 2013. He is the author of >250 books, book chapters, refereed journal articles (107 peer-reviewed), and conference proceedings, and presented >260 seminars at national and international conferences (70 plenary, keynote, and invited seminars). He currently serves as the Technical Chair as well as the Programming Chair for Bionanotechnology theme for the annual conference of Engineering in Medicine & Biology Society (EMBS). He serves as the Academic Editor for PLOS ONE, Editor of International Journal of Biomaterials, special issue Editor of Gels, and North America Editor of Journal of Biomaterials and Tissue Engineering. Prof. Jabbari has mentored >130 visiting scholars, medical residents, post-doctoral scientists, and engineering students. He is/has been a member of numerous scientific organizations including AIChE, BMES, ACS, EMBS, SFB, TERMIS, MRS, ACS, and AACR.


text:
Joseph Hendricks
Joseph O Hendricks served his country in World War II with the 13rd AF .
Information on Joseph Hendricks is gathered and extracted from military records. We have many documents and copies of documents, including military award documents. It is from these documents that we have found this information on 2LT Hendricks. These serviceman's records are not complete and should not be construed as a complete record. We are always looking for more documented material on this and other servicemen. If you can help add to Joseph Hendricks's military record please contact us.
The information on this page about Joseph Hendricks has been obtained through a possible variety of sources incluging the serviceman themselves, family, copies of military records that are in possession of the Army Air Corps Library and Museum along with data obtained from other researchers and sources including AF Archives at Air Force Historical Research Agency and the U.S. National Archives.
If you have more information concerning the service of Joseph Hendricks, including pictures, documents and other artifacts that we can add to this record, please Contact Us.


text:
Former veteran hospital admin arrested
A former assistant administrator for the Northeast Louisiana War Veterans Home is accused of stealing assets from an infirm resident.
Former veteran hospital admin arrested A former assistant administrator for the Northeast Louisiana War Veterans Home is accused of stealing assets from an infirm resident. Check out this story on thenewsstar.com: http://tnsne.ws/2aGeKig
Bonnie Bolden, bbolden@thenewsstar.com Published 12:52 p.m. CT Aug. 4, 2016
Thomas Wilbrun Shoemaker, 51(Photo: Courtesy OPSO)
Thomas Wilbrun Shoemaker, 51, of Monroe is charged with exploitation of the infirmed and theft of the assets of an aged person or disabled person.
According to court documents, Shoemaker was employed at the home from February 2004 until February 2013.
The victim, Roland Matheny, was a resident from January 1997 until his death in October 2012. According to his obituary, he was a decorated U.S. Army veteran who served three tours of duty in Vietnam. Medical records referenced court documents state that he suffered from several ailments, including dementia and encephalopathy and had "severe cognitive impairment" in May and September 2012.
The exploitation charge is tied to approximately $4,400 being used on the patient's ATM card without his consent, and the theft of assets charge is tied to approximately $1,500 in funds being obtained.
Joey Strickland, Secretary of the Louisiana Department of Veterans Affairs, stated, " I thank the Office of State Inspector General for their continued diligence and professionalism throughout the investigation into the allegations of misconduct by a former employee at the Northeast Louisiana Veterans Home in Monroe. As Secretary of the Louisiana Department of Veterans Affairs, I have given clear guidance that misconduct or criminal behavior by any employee of this department will not be tolerated. We will continue to move forward and to address any issues that may arise while we continue to deliver valuable services, in a professional and steadfast way, to our Louisiana veterans and their families."
Calhoun man charged with crime against nature
Court documents state that the Office of the Inspector General started an investigation after an allegation that Shoemaker misappropriated $1,812.28 after getting access to Matheny's checkbook and ATM card.
An in-house financial account was maintained for Matheny, as was an account at Progressive bank.
According to the investigation, on or about July 26, 2012, Shoemaker told hospital employee Misti Westbrook to write a $9,000 check from the in-house account and deposit it to Matheny's Progressive account for upcoming funeral expenses. Westbrook wrote the check, which Shoemaker signed. Westbrook deposited with a slip provided by Shoemaker.
Investigators could find no proof that Shoemaker had power of attorney.
Bank records show the deposit was made on July 26.
Kilpatrick Funeral Home records show that on or about Aug. 3, Shoemaker initiated the application for a prepaid funeral plan for Matheny with National Guardian Life Insurance Co. Shoemaker reportedly provided the insurance representative a $9,000 check drawn on Matheny's Progressive account and asked that the representative hold the check and negotiate at a later date.
On Aug. 6, a phone transaction for $1,812.28 was made to Orchard Bank for a credit card account in Shoemaker's name.
In October 2012, hospital CFO Karen Evans received a bill from Kilpatrick Funeral Home and found that the $9,000 had not been used to cover those expenses.
In a July 18, 2016 phone interview, Shoemaker said after being notified of his Miranda rights that he had the checkbook and ATM card from July 2012 until he went on administrative leave in August 2012.
UPDATE: Teen charged with June murder
Shoemaker reportedly said he had verbal authorization to move the $9,000 but had no recollection of the $1,812.28 transaction or that credit card account.
During the time Shoemaker had access to Matheny's finances, investigators found that approximately $3,200 in ATM withdrawls and $1,200 in retail purchases were made.
Shoemakers said all transactions were made at Matheny's instruction and passed on to a number of individuals who he did not name. There was no written documentation provided.
Louisiana Inspector General Stephen Street said, "Those with infirmities are some of the most vulnerable members of society. Those who exploit them for personal gain ought to face criminal consequences, and we at OIG will continue to do everything possible to make sure that happens. I want to thank Secretary Strickland and his staff for their continued cooperation during our investigation, and District Attorney Jerry Jones and his staff for their prompt and professional attention to this matter."
Total bond is $20,000.
Follow Bonnie Bolden on Twitter @Bonnie_Bolden_ and on Facebook at http://on.fb.me/1RtsEEP.
Read or Share this story: http://tnsne.ws/2aGeKig
Abraham backs Trump's attack on minority congresswomen, says he'll pay for them to leave USA
Swartz, Sterlington, Columbia and Ruston Fred's stores closing
When will Barry and the rain be in northeastern Louisiana?
Gov. Edwards: Trump offers help; flooding threat lingers
Gov. Edwards: We avoided worst-case scenario from Hurricane Barry
WMPD: Woman returns to home after arrest, breaks door


text:
Corona virus; quarantined cruise ship cases hike
Vicent Nathan Lusambya
The number of virus cases on the Diamond Princess Cruise ship that was quarantined in Yokohama a Japan's coast has rose according to Japan's health minister.
67 more people on board have tested positive bringing the number of people diagnosed with the virus on the ship to 286.
The cruise ship has a total of 3700 people on board and a number of them have not been tested yet.
Those that are diagnosed with the virus are taken off the ship for treatment and the rest are continuously confined to their cabins.
Meanwhile, the United States government has insisted on evacuating American citizens aboard the quarantined ship.
According to the US Embassy in Japan, America is to send a chartered plane on Sunday 16th and a letter has been sent to the US Citizens on board.
The letter states that the citizens will have to undergo a two weeks quarantine upon arrival to the US.
"We understand this is frustrating and an adjustment but these measures are consistent with the careful policies we have instituted to limit the potential spread of the disease," the letter read.
Over 20 people killed in cluster of violence


Mix the hen, green chilies, salsa, chicken bouillon, navy beans, and water in a slow cooker. In a large saucepan over medium-excessive warmth, cook beef and onion till meat is brown. Staffers put their tangy fruit salsa to good use on this white bean and chicken chili. No Brooks chili beans right here, so used Bush's, also no Bob Evans, so used native grocers spicy sausage roll.
At this point, add it half tablespoon of chili powder and a pinch or two of cumin. This chili is nice for tucking into your slow cooker in the morning, so you may come home to a warm winter dinner. I really feel like I eat most anything, so I'm feeling sort of weird that this felt so spicy to me.  None of my youngsters might eat it so my husband and I are left with the large batch. Cook dinner pork in a mix of cocoa powder, cumin, cinnamon, pumpkin and poblano pepper for a rich, hearty chili. Cook and stir beef, sausage, and onion within the sizzling skillet till beef and sausage are utterly browned, 7 to 10 minutes; drain and discard grease.


text:
Preston Swimming Club > About > History
Preston Swimming Club was founded in 1888
The first swimming club in Preston was founded in 1888 and there are records of "the Preston Swimming Club providing an exhibition of swimming and life-saving techniques" at the opening of the open-air bath in Moor Park in 1905.
Unfortunately, in the early 1970s this open-air swimming pool was closed and filled in.
Another pool to fall victim to closure was the Saul Street Swimming Baths, in Preston town centre.
The facility opened in 1936 and closed in 1991. Preston Crown Court now occupies most of the former site. As one former user recalls, perhaps this was for the best! "…the things I remember…is that it echoed so much and the old wooden changing room doors…and the chlorine stinging my eyes to bits.."
Now operating mainly out of the two leisure centre facilities at West View and Fulwood, the Club has, in modern times, produced a number of top class swimmers who have represented their country – Dan Sliwinski (England, 2010 Commonwealth Games), Ryan Bennett (Scotland, 2014 Commonwealth Games) and Steph Slater (Great Britain, 2016 Paralympic Games).
The Club has also developed a thriving learn-to-swim program, completing the pathway from beginner to elite athlete.
At the 2016 Summer National Championships, PSC was awarded the coveted prize of "Best Club" for the performances of the 9 swimmers who represented Preston at this event.


text:
Law Offices of Steven W. Hansen
voice/text 562.866.6228 | legal.inquiry@swhlaw.com | My Profile: https://goo.gl/EKgLyU
Happy New Year from the CPSC
The December 31, 2009 report date is fast approaching. All manufacturers and distributors who wished to take advantage of the stay of enforcement on lead limits must have complied with paragraph D of the stay by the extended date of October 9, 2009 (below) and posted in full here. Now the next report is due on Dec. 1, 2009 under paragraph E of the stay highlighted below. As we read it, if you fail to comply with D, E or F as required by the stay, then your company cannot take advantage of the stay of enforcement regarding lead etc. and if you are not in compliance as of Oct. 9, 2009 (or before) then you are in violation. The idea is that if you continue to seek the protection of the stay thru Dec 31, 2010, hopefully congress by that time will have passed legislation amending the CPSIA so that common sense exclusions or exemptions can be made by manufacturers (via formal petitions of some sort to the CPSC) and granted by the CPSC. Right now the CPSIA as unamended does not allow exemptions by the CPSC at all. So get to work now on your stay report so you don't have to work New Years Eve!
Relevant portion of the stay below posted in full here.
D. Each manufacturer (which can include a distributor where appropriate) who is covered by the stay shall file with the Secretary of the Commission, not later than 60 days after the publication of this stay in the Federal Register [swhlaw: extended to Oct. 9, 2009 by BPSA request], a report identifying each model of Bicycle or Related Product it has produced between May 1, 2008 and May 1, 2009. For each such model, the manufacturer shall give the production volume by calendar month and shall list each component part that is made of metal and that is accessible to children, the material specification for each part, and a measurement of the lead content of representative samples of each part in parts per million(ppm). The lead content measurement may be by x-ray fluorescence or the method posted on the Commission web site to test for lead in metal for certification purposes.
E. No later than December 31, 2009, each manufacturer covered by the stay shall present a comprehensive plan to the Commission describing how and when it intends to reduce the lead exposure from each part described in paragraph D above whose measured lead content exceeds 300 parts per million. The manufacturer should include a discussion of any adverse safety impacts that could result from accelerating the estimated schedule. If some Bicycles or Related Products have been modified after January 28, 2009, to reduce the lead content of certain parts or to make certain parts inaccessible, the manufacturer should outline those changes in general terms and the dates such changes were made.
F. Manufacturers who have timely submitted both the report in paragraph D and the plan in paragraph E above, who need additional time to complete their plan prior to the expiration of the stay may seek an extension of the stay. They shall, no later than December 31, 2010, file a request with the Secretary of the Commission for an extension containing a revised timetable for the reduction of lead exposure from those parts. The report shall detail the manufacturer's progress in reducing children's exposure to lead from each part containing more than 300 ppm, specifying what actions have been taken with regard to each affected part. The report will also explain why any parts that remain above 300 ppm have not been able to be made inaccessible, substituted with another material, or made with a complying level of lead.
Law Offices of Steven W. Hansen | www.swhlaw.com | 562 866 6228
© Copyright 1996-2008 Conditions of Use
Profile of Steven W Hansen
Product Liability Audit
Product Compliance / Development
Contract General Counsel
Sports Litigation Defense
Insurance Coverage and Bad Faith
Receive our postings / newsletter via email or Twitter
Send and email to legal.inquiry at swhlaw dot com with "subscribe" in the subject line or follow us on Twitter or follow us via SMS/text by texting follow swhlaw to 40404 (this later method only works for US cell phone numbers) Please read our privacy policy. Read our latest posting here
> Phone: 562-866-6228 (M-F 9-5 PST)
> email: Legal.Inquiry "at" swhlaw.com (before sending us email please read our email policy)
> Skype call user name: "swhlaw"
> Located in Long Beach, California, practicing worldwide.
> Follow us on Twitter, LinkedIn, Facebook or Google+
> office visits by appointment only
News and Current Legal Topics
16 CFR 1512 (1)
articles from Bicycle Retailer and Industry News (1)
Assumption of Risk (1)
Bicycle Retailer and Industry News (1)
California Governor Brown (1)
California Proposition 65 (4)
Chemical laws and regulations (3)
Consumer Product Safety Commission (CPSC) (42)
Court decisions (2)
ebikes (1)
Freedom of Information Act (FOIA) (1)
Green Marketing (1)
lead laws and regulations (8)
Lead Limits/Bans (8)
Legislation affecting product design (4)
Legislation affecting products (3)
minimum resale prices (1)
National Highway Traffic Safety Administration (NHTSA) (3)
phthalates laws and regulations (6)
Premises Liability Cases (2)
Product Standards (3)
products completed operations coverage (1)
Recalls (2)
retailer issues (1)
self insured retention (SIR) (1)
Service of Process (1)
Trade issues (1)
Unfair Business Practices (2)
Waiver and Release cases (5)
Bicycle and Recreational Products
Litigation Articles
Consumer Product Safety Commission (CPSC)
California State Laws
California Legal Web Links
National Highway Traffic Safety Administration (NHTSA)
Current Legislative Activity Regarding the CPSC/CPSIA
Current CPSC Recalls
new stat counter


It was great to be a part of the PGA Merchandise show this year. I enjoyed seeing new companies, learning about new products, greeting old friends and meeting new ones. The technology that is available today is truly amazing and I think it will have a very positive effect on the game of golf. I couldn't think of a better way to start the week then by attending demo day on Tuesday – Orange County National hosts the event on their oval shaped driving range and if you have never been there it is quite the sight!
Custom fitting and instruction are two words that are being used in the same sentence now more than ever, which is why I made a point to attend the Todd Sones Impact Golf seminar – How Teaching and Fitting Should Always be Tied Together. I really enjoyed listening to Todd explain the importance of how these two aspects of golf must go hand in hand. I also have stressed the importance of club fitting and how many factors – including club specifications, swing and body changes and club designs – all affect a golfer's swing and how instructors must pay attention to all these factors when analyzing their students.
It was great to see so many of the OEM's that use Mitchell equipment in the tour vans, fitting and repair rooms and build shops. The week is a great way to bring so many people that live the game of golf to one place! On my rounds I stopped by Areso Golf to chat with Rock Wu. Areso helps golfers with one of the most important aspect of the game: putting. And what better way to quickly and accurately bend any USGA approved putter than with the Mitchell Golf TourGauge Putter Machine!
I also made time to wrap up the week with Aaron Waltz, PGM Director at Ferris State University and Ken Jones, PGM Direction at Campbell University. It was a great opportunity to catch up and talk shop. I look forward to the PGA show every year to learn from some of the great leaders in the industry. I hope everyone has a great 2019 and I look forward to connecting soon!
Previous PostWhat Makes a Mitchell Angle Machine Professional Grade?
Next PostSuccess! Mitchell Golf Performance School connects with students.