Development in the City of Woodinville is constantly evolving. Both public and private projects require city oversight in order to ensure code compliance, feasibility, and a thoughtful approach to the long-term impacts on the city.
Every two years, the city updates its Capital Improvement Plan (CIP) which outlines planned capital projects over the next 6 years. Examples of projects include street overlays, parks projects and flood reduction efforts in Woodinville. There are dedicated funds that the city collects (through utility revenues) to pay for capital projects. The CIP discusses and forecasts those revenues for the following 6 year period and aligns expenditures with the expected revenues.
Public projects include those identified in the City's Capital Improvement Plan (CIP) or those coordinated by another public agency. Public projects occur within public rights-of-way or on property owned by a government agency such as the City, County, State or a utility company.
Private development ebbs and flows with the health of the economy. Woodinville is burgeoning with private development as a desirable community on the eastside of King County with close proximity to Seattle. It one of the premier tourist destinations in the northwest and boasts excellent schools and quality of life making it attractive for private investment.
Private development occurs on private property in commercial or residential zones. While private development is driven by external factors, the City has a hand in inspecting private development to ensure compliance with codes and standards.


Civil Defense siren test today at 11:45 a.m.
The Civil Defense monthly test of the statewide outdoor siren warning system, coordinated with the test of the live audio broadcast segment of the Emergency Alert System, is scheduled for Friday, May 1, 2015, at 11:45 a.m.
The siren test is a steady one minute tone on all sirens. The steady tone is used to alert the public to any emergency that may pose a threat to life and property. Besides natural hazards, the Emergency Alert System could be used for terrorist incidents or acts of war.
Contact your county civil defense/emergency management agency to report siren operations issues: Hawaii 808 935-0031, Maui 808 270-7285, City and County of Honolulu 808 723-8960, Kauai 808 241-1800.
Oahu residents may sign up for the Adopt a Siren Program at sirens.honolulu.gov.
When the siren signal is sounded in your area, tune to any local radio or television station for emergency information and instructions broadcast by civil defense agencies. Participating stations will carry a detailed explanation of what the sirens mean, as well as other related information, during the monthly test.
Tests of civil defense sirens and the Emergency Alert System are conducted simultaneously, normally on the first working day of the month, in cooperation with Hawaii's broadcasting industry. Civil defense disaster preparedness information is located in the front section of telephone directories in all counties.
HONOLULU — The Civil Defense monthly test of the statewide outdoor siren warning system, coordinated with the test of the live audio broadcast segment of the Emergency Alert System, is scheduled for 11:45 a.m. Friday, May 1, 2015.
When the siren signal is sounded in the area, the public is advised to tune to any local radio or television station for emergency information and instructions broadcast by civil defense agencies. Participating stations will carry a detailed explanation of what the sirens mean, as well as other related information, during the monthly test.
Tests of civil defense sirens and the Emergency Alert System are conducted simultaneously, on the first working day of the month, in cooperation with Hawaii's broadcasting industry. Disaster preparedness information is located in the front section of telephone directories in all counties.


I guess introductions are in order, my name is Justin DeBlois. Originally, I am from Newport (wait for it) Oregon but I came down to Southern California to go to college at the University of California Irvine.
I first started as a Computer Game Science major but a year later found out that I was less interested in the programming aspects and more interested in the art and design.
Long story short, I graduated with a B.A. in Studio Art (and a minor in Human Computer Interaction) while working for Von Sands Creative as a production artist for two years.
At Von Sands Creative I grew more and more interested not only in design and ideation techniques but also the ways people interacted with the designs we created. Check some of them out at Von Sands Creative.
After graduation (which was June of this year), I have been devouring books and any resources I can find on both brand and UX design.
In the future, I want to build my own studio that is aimed at assisting local businesses develop and maintain brands that have profound effects on their communities.


text:
2017 Wooden Boat Festival has ended
2017 Wooden Boat Festival
Presentations and Demos
Boat Design
Maintenance and Boat Systems
Friday, September 8 • 2:00pm - 3:00pm
Boatbuilder
THE BOATMAKER, Directed by Casey McGarry, USA, 2017, 37min (Documentary)
Architect Ken Minor spent 25 years building a beautiful wooden sailboat, by hand, in a barn next to his house in a California canyon with the dream of sailing around the world.
Director's Statement by Casey McGarry
My entrance into the story of "The Boatmaker" was an unexpected one. I only met Ken Minor in February 2016 when, after a quarter century of building a wooden sailboat in his backyard, he was finally ready to put the boat in the water. And boy, am I glad that I picked up a camera and began filming that day because the most important parts of the story were about to unfold being that the majority of the film centers around the events that occurred that week. Thank god my film crew and I were there to capture all that was about to take place because otherwise, there wouldn't be a film at all.
A friend of mine named Robert was actually the one who told me about the story of Ken Minor and his boat project. He then insisted that I make a film about him. I was immediately intrigued because it really isn't every day that a story like this comes across your desk. It actually was the story I had been waiting for. I then asked Robert in return, if I were to direct, if he would be a producer on the project. And so it went…
My entrance into the wooden boat world is both personal and completely unexpected as well. Boat building is one of the oldest brands of engineering in human history. Human beings have been building wooden boats for thousands of years. The tradition is a very unique trade to be a part of, and for me, the wooden boat and world cruising communities are without question, a couple of the most interesting and eclectic groups of people in the world.
There's definitely a romanticism that surrounds the world of wood boats. For some, it comes from the breathtaking feeling of being out on the water sailing on the open ocean, and for other enthusiasts, it's the actual process of building boats. Wooden boat construction is a learned trade that goes unparalleled to any other form of woodworking. There's no other higher form of woodworking.
Part of my compulsion in making this film comes from my own fascination with wood boats. It's a beautiful tradition that many people know nothing about. And if there's one selfish reason I am making this film, it's because I wanted to learn more about them. I'm sure there are many people who assume that wood boat construction is obsolete, but it's certainly not. You just have to go find those few pockets around the world where wooden boat communities are thriving. i.e. Port Townsend, Washington…Martha's Vineyard, Massachusetts…Risor, Norway, and the list goes on. There is definitely a renaissance going on with the revival of wood boat construction and a growing enthusiasm in sailing them.
Ken Minor's uncompromising dedication and superb craftsmanship in finishing this boat is not only unbelievable, it's absolutely mind-boggling. Ken just turned 79 years and moves around like a guy in his early 50's… it's crazy. I'm interested in exactly what it is that makes the guy tick. As local fisherman James Cotton puts it in a scene in my film when he's speaking to Ken's work: "This is probably the last wooden boat that will ever be launched here (at the Santa Barbara Harbor). Nobody builds wood boats anymore. This is such a work of art…there's bazillions of hours of absolutely perfect woodworking. You don't see anybody who can do this anymore…not since Sugar Lindwall." Only Ken Minor could build this boat and only Ken Minor would make for a good subject for a documentary like this.
I wanted to tell the personal story about a man fulfilling his life dream—the story of Ken Minor and his boat, "Morning Song"—but I also want to create access for others into the world of wooden boats and the world cruising communities. The only way I knew how to do that was by making a comprehensive yet universally accessible documentary film. I want everyone who watches this film to walk away not only feeling inspired to follow their own dreams, but also knowing a little more about the tradition of building and sailing wooden boats.
Ken Minor
Architect Ken Minor, from Santa Barbara has spent the better part of the last three decades hand building the Lyle Hess designed Morning Star,a sistership of Lin and Larry Pardey's Taleisin.Attended California State Polytechnic College, San Lois Obispo, majoring in Architecture and... Read More →
Friday September 8, 2017 2:00pm - 3:00pm
Wooden Boat Festival Cinema Pope Building
Filter By Date 2017 Wooden Boat Festival Sep 6-10, 2017
Wednesday, September 6
Thursday, September 7
Adventure Stage
Bar Harbor Mainstage
Boat Building Stage
Boat Shop
Boatyard Stage
Center Dock - Pt. Hudson
City Dock
Cupola House
Discovery Stage
Explorer Stage
In the Harbor
Inner Harbor - northwest ramp
Kids' Cove
Marina Room
North Star Stage
NWMC Beach
NWMC Commons
NWMC Dock
Paddleboard Pool on the Point
Port Townsend Bay
Sail Loft
Technical Stage
Wooden Boat Festival Cinema
Woodworking Stage
HGHallie Glynn
Ppeter
EWEarl Weintraub
Carol McCreary
Dick Thies
Ccastman12
MRMark Ramsby
Mischa Redenbaugh

redpajama_set_name: RedPajamaCommonCrawl


text:
Q: Confused about C++ #include My project has this folder structure:
Project/
--Classes/
----Class1.h
----Class1.cpp
--main.cpp

"Class1.h" contains method definitions, "Class1.cpp" is the source code for "Class1.h".
The source code of "Class1.h" is like this:
class Class1 {
  public:
    void do_something();
};

The source code of "Class1.cpp" is like this:
#include "Class1.h"

void Class1::do_something() {
  //
}

The source code of "main.cpp" is like this:
#include "Classes/Class1.h"

int main(int argc,char** args) {
  Class1* var = new Class1();
  var->do_something();
  return 0;
}

However, when compiling "main.cpp", the compiler doesn't know where the implementation of methods in Class1 is, so it shows linking error about undefined reference.
Do I have to add any path into the command line so the compiler knows what source files it has to compile? How to tell the compiler that it must compile "Class1.cpp" also?

A: You need to feed all files in your project to the compiler, not just "main.cpp". Here you can read about the basics of compiling multiply files together with Gcc.
Another option would be to compile your classes as a dynamic or static library, but you should start with simply compiling them together if you're not quite familiar with libraries.

A: The correct way to do it is doing the header inclusion in the Class1.cpp file. That way if the Class1.cpp is compiled as a library, you can use the header file to get the declarations.
The other way around, if you will directly use the Class1.cpp, compiling it with your project. You should include Class1.cpp in your main.cpp.

A: You need to know about building (compiling and linking) C++ applications. This topic usually don't describe in programming books about C++ and only way to do it - google and programming community sites with articles.
Fast answer is:
g++ -c Classes/Class1.cpp -o Class1.o
g++ -c main.cpp -o main.o
g++ Class1.0 main.0 -o ProjectName

It's a simple set of commands to compiling and linking program. Usually it would be done by build system (make, qmake, cmake, waf, scons, ant etc). Also, IDE can build program without additional configuration, Visual Studio for example.

redpajama_set_name: RedPajamaStackExchange


text:
Q: How to identify which function call threw a particular exception in a try block? Let's say there are three consecutive function calls in one try block and all of them throw the same type of exception. How can i figure out which function call threw the caught exception when handling it?

A: You can put a try-catch block around every single method call.
Or you take a look at the exception stack trace. Their is described which line of code throwed the exception.
getStackTrace()[0].getMethodName()

EDIT:
Throwable
StackTraceElement

A: like this:
try {
    function1();
} catch (Exception e){
    // function1 error
}

try {
    function2();
} catch (Exception e){
    // function2 error
}

try {
    function3();
} catch (Exception e){
    // function3 error
}

A: *

*old method: have three try/catch blocks

*new method (since 1.4): Throwable.getStackTrace()[0]

A: So I'm guessing that something about your code makes the obvious solutions tricky, perhaps the method call sites are a level or two down, or not at the same level?  What exactly prevents you from just keeping a counter?
In any case, you need to either count invocations, use multiple try blocks, or do that and define your own exception which contains the missing information (and the old exception, because it's a subclass) and then rethrow it.
Perhaps you could subclass the object with the exception-throwing method, in order to wrap the method call and implement the counter?

A: I think introspecting the stack trace to do error handling will hurt you very badly later.  If you need separate actions for separate lines, then have them in individual try-catch blocks.
You may also just want to have a simple variable keeping state, so you can check on the value, to determine how far you got.  I think that will work much better.
int state = 0;
try {
   step1();
   state = 1;
   step2();
   state = 2;
....
} catch (Exception e) {
  if (state == 2) ....

}

Edit:  Downvoters, please notice I started saying this is a bad idea ;-)


Hi everybody and welcome to those of you for whom this is your first newsletter.
Firstly, let me apologise for the fact that there was no newsletter on January 1st (a belated Happy New Year to everyone). I posted on the TIC blog on January 12th explaining things, but, in case you didn't see it, I'll reiterate it now.
For a good while, I'd had a cataract in my right eye which, by late last year, had got so bad as to make reading a computer screen pretty much impossible. So, work on the website had to put temporarily on hold and this included the newsletter. On February 14th (yes, Valentine's Day), I had cataract surgery, so now everything's fine.
It's a real shame that the first topic is such a negative one, but it is a fact that this situation exists. I've just received yet another post to a thread on my Q&A page entitled "Ripped off by a Shopkeeper". The thread can be viewed here. The ripping off of tourists by these electrical stores in the south of the island seems to be reaching epidemic proportions, so I feel I need to spread the word to as many people as possible, so they are forewarned.
If you look at the thread, you'll see one post accusing it of being "racist", because many people posting mention the fact that the proprietors of these shops are all of Asian persuasion. The thread is no such thing, because it is a fact that these shops are run exclusively by Indians or Pakistanis. Their remit, it seems, is, firstly, to get people into the shop. Some can even get physical, taking you by the arm and trying to pull you in. Once they've got you in their clutches, you'll be subjected to a very persuasive hard sell, beginning with what seems like a reasonably priced bargain. Then, you'll be very expertly persuaded that it would be better to upgrade to a superior model (for a superior price, of course).
If you're thinking that there's no way you could be manipulated this way, these people are very, very good at what they do. Trust me, if you enter one of these shops, whether voluntarily or by enticement by a member of staff, you will end up parting with a large sum of money for a rubbish product.
PLEASE AVOID GOING ANYWHERE NEAR THESE SHOPS, AT ALL COSTS.
Now my eye's okay, you'll be getting updates to various pages, plus entirely new ones. One important update I've had to put off doing is the Food and Drink Prices page, which I've now done. I know a lot of people like to have some idea how far their hard earned cash will stretch on the sunshine island, so it's important to keep this up to date. The prices are now valid for November last year, which was the last time we were on the island. We're hoping to go again sometime in May, so I'll be able to check if there's been any change since then and inform you accordingly.
For UK residents, don't forget that the exchange rate for the euro is the best it's been for many years. If you're thinking of visiting Tenerife in the near future, get your foreign currency now!
Another update I've done is to the Warnings and Advice page, regarding the business I was on about above.
You'll be receiving this newsletter a few days before Easter and this festival is very important for a catholic country like Spain and its islands. So, in Tenerife, we have semana santa, or holy week, beginning in two day's time. Most notable of the celebrations is found in La Laguna. Here, you can witness the eerie "procession of silence", where "penitents" make their way through the streets in costumes resembling those of the Ku Klux Klan (although the latter stole the idea for the costumes). In total silence, save for an ominous drumbeat, the sight can be quite unsettling. This is on Friday the 3rd and commemorates the death of Christ.
There are two other happenings worth mentioning. One is the world famous Easter Passion Play in Adeje. The whole of the Passion of Christ is enacted through the streets of the town, involving up to 300 actors. This is also on Good Friday. The other is the rather unusual Judas Fiesta, involving the betrayer of Jesus. Taking place in Taganana, an effigy of Judas is ceremoniously burned and this is believed to purge the village of any sins committed by its inhabitants. Unfortunately, I can't find an actual date for this, only that it's in "early April".
On May 3rd, we have the important fiesta Dia de La Cruz, or Day of the Cross. This is celebrated throughout the island, but particularly in Santa Cruz. There are processions, national costumes and crosses decorated with flowers, plus much partying. Some towns also put on amazing firework displays. Then, on June 11th, there is the festival of Corpus Cristi. In the town of La Orotava, this features the famous street "carpets" - all the thoroughfares of the town are decorated with flowers and coloured sand, fashioned into images. They are true intricate works of art and are well worth a visit.
Other things to mention that are happening include the Las Galletas half marathon. Taking place on April 12th at 9am, it costs 23 euros to take part. For the race, you'll receive a "goodie bag" that includes a commemorative T shirt. For football fans, the team from Sky's Soccer Saturday will be in Tenerife for a charity gala dinner. Tickets for the event are 50 euros and 70 euros. There will be speeches, plus a feature called "challenge Jeff Stelling". At 7pm, June 12th. Venue: Showtime, Karting Las Americas.
Anyway, that's about it for now. Speak to you again on July 1st.


Promotional value expires 90 days after purchase. Amount paid never expires. Appointment required, same day appointments accepted. Limit 1 per person, may buy 1 additional as gift(s). New customers only. Valid only for option purchased. All goods or services must be used by the same person. Merchant's standard cancellation policy applies (any fees not to exceed voucher price). Merchant is solely responsible to purchasers for the care and quality of the advertised goods and services.
Medical-grade skincare with the perks of a spa. That's the kind of service that Fresh Skin Care & Aesthetics' staff brings to the table. Overseen by Dr. Jessica Babineaux, the team smoothes and purifies skin with facials treatments. They have treatments ranging from skin care services to even out the skin tone by performing, including Microdermabrasion, dermaplaning, IPL Photo Facial, to Chemical Peels and Sublative Rejuventation. They pair those services with beauty treatments seldom found outside of doctors' offices, which include injectables like Botox. Botox and Filler's are also offered to help clients age gracefully or to help correct concerns they may have. Along with Spa and Medical Spa services, they offer massages that focus on Deep Tissue, Reflexology, Body Wraps and different therapeutic massages.


text:
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/io/openni_grabber.h>
#include <boost/thread/condition.hpp>
#include <boost/circular_buffer.hpp>
#include <csignal>
#include <limits>
#include <pcl/io/pcd_io.h>
#include <pcl/console/print.h>
#include <pcl/console/parse.h>
#include <pcl/common/time.h> //fps calculations

using namespace std;
using namespace pcl;
using namespace pcl::console;

bool is_done = false;
boost::mutex io_mutex;

#if defined(__linux__) || defined (TARGET_OS_MAC)
#include <unistd.h>
// Get the available memory size on Linux/BSD systems

size_t
getTotalSystemMemory ()
{
  size_t memory = std::numeric_limits<size_t>::max ();

#ifdef _SC_AVPHYS_PAGES
  uint64_t pages = sysconf (_SC_AVPHYS_PAGES);
  uint64_t page_size = sysconf (_SC_PAGE_SIZE);

  memory = pages * page_size;

#elif defined(HAVE_SYSCTL) && defined(HW_PHYSMEM)
  // This works on *bsd and darwin.
  unsigned int physmem;
  size_t len = sizeof physmem;
  static int mib[2] = { CTL_HW, HW_PHYSMEM };

  if (sysctl (mib, ARRAY_SIZE (mib), &physmem, &len, NULL, 0) == 0 && len == sizeof (physmem))
  {
    memory = physmem;
  }
#endif

  if (memory > std::numeric_limits<size_t>::max ())
  {
    memory = std::numeric_limits<size_t>::max ();
  }

  print_info ("Total available memory size: %lluMB.\n", memory / 1048576);
  return memory;
}

const int BUFFER_SIZE = int (getTotalSystemMemory () / (640 * 480));
#else

const int BUFFER_SIZE = 200;
#endif

//////////////////////////////////////////////////////////////////////////////////////////
template <typename PointT>
class PCDBuffer
{
  public:
    PCDBuffer () {}

    bool
    pushBack (typename PointCloud<PointT>::ConstPtr); // thread-save wrapper for push_back() method of ciruclar_buffer

    typename PointCloud<PointT>::ConstPtr
    getFront (); // thread-save wrapper for front() method of ciruclar_buffer

    inline bool
    isFull ()
    {
      boost::mutex::scoped_lock buff_lock (bmutex_);
      return (buffer_.full ());
    }

    inline bool
    isEmpty ()
    {
      boost::mutex::scoped_lock buff_lock (bmutex_);
      return (buffer_.empty ());
    }

    inline int
    getSize ()
    {
      boost::mutex::scoped_lock buff_lock (bmutex_);
      return (int (buffer_.size ()));
    }

    inline int
    getCapacity ()
    {
      return (int (buffer_.capacity ()));
    }

    inline void
    setCapacity (int buff_size)
    {
      boost::mutex::scoped_lock buff_lock (bmutex_);
      buffer_.set_capacity (buff_size);
    }

  private:
    PCDBuffer (const PCDBuffer&); // Disabled copy constructor
    PCDBuffer& operator =(const PCDBuffer&); // Disabled assignment operator

    boost::mutex bmutex_;
    boost::condition_variable buff_empty_;
    boost::circular_buffer<typename PointCloud<PointT>::ConstPtr> buffer_;
};

//////////////////////////////////////////////////////////////////////////////////////////
template <typename PointT> bool
PCDBuffer<PointT>::pushBack (typename PointCloud<PointT>::ConstPtr cloud)
{
  bool retVal = false;
  {
    boost::mutex::scoped_lock buff_lock (bmutex_);
    if (!buffer_.full ())
      retVal = true;
    buffer_.push_back (cloud);
  }
  buff_empty_.notify_one ();
  return (retVal);
}

//////////////////////////////////////////////////////////////////////////////////////////
template <typename PointT> typename PointCloud<PointT>::ConstPtr
PCDBuffer<PointT>::getFront ()
{
  typename PointCloud<PointT>::ConstPtr cloud;
  {
    boost::mutex::scoped_lock buff_lock (bmutex_);
    while (buffer_.empty ())
    {
      if (is_done)
        break;
      {
        boost::mutex::scoped_lock io_lock (io_mutex);
        //cerr << "No data in buffer_ yet or buffer is empty." << endl;
      }
      buff_empty_.wait (buff_lock);
    }
    cloud = buffer_.front ();
    buffer_.pop_front ();
  }
  return (cloud);
}

#define FPS_CALC(_WHAT_, buff) \
do \
{ \
    static unsigned count = 0;\
    static double last = getTime ();\
    double now = getTime (); \
    ++count; \
    if (now - last >= 1.0) \
    { \
      cerr << "Average framerate("<< _WHAT_ << "): " << double(count)/double(now - last) << " Hz. Queue size: " << buff.getSize () << "\n"; \
      count = 0; \
      last = now; \
    } \
}while(false)

//////////////////////////////////////////////////////////////////////////////////////////
// Producer thread class
template <typename PointT>
class Producer
{
  private:
    ///////////////////////////////////////////////////////////////////////////////////////
    void
    grabberCallBack (const typename PointCloud<PointT>::ConstPtr& cloud)
    {
      if (!buf_.pushBack (cloud))
      {
        {
          boost::mutex::scoped_lock io_lock (io_mutex);
          print_warn ("Warning! Buffer was full, overwriting data!\n");
        }
      }
      FPS_CALC ("cloud callback.", buf_);
    }

    ///////////////////////////////////////////////////////////////////////////////////////
    void
    grabAndSend ()
    {
      OpenNIGrabber* grabber = new OpenNIGrabber ();
      grabber->getDevice ()->setDepthOutputFormat (depth_mode_);

      Grabber* interface = grabber;
      boost::function<void (const typename PointCloud<PointT>::ConstPtr&)> f = boost::bind (&Producer::grabberCallBack, this, _1);
      interface->registerCallback (f);
      interface->start ();

      while (true)
      {
        if (is_done)
          break;
        boost::this_thread::sleep (boost::posix_time::seconds (1));
      }
      interface->stop ();
    }

  public:
    Producer (PCDBuffer<PointT> &buf, openni_wrapper::OpenNIDevice::DepthMode depth_mode)
      : buf_ (buf),
        depth_mode_ (depth_mode)
    {
      thread_.reset (new boost::thread (boost::bind (&Producer::grabAndSend, this)));
    }

    ///////////////////////////////////////////////////////////////////////////////////////
    void
    stop ()
    {
      thread_->join ();
      boost::mutex::scoped_lock io_lock (io_mutex);
      print_highlight ("Producer done.\n");
    }

  private:
    PCDBuffer<PointT> &buf_;
    openni_wrapper::OpenNIDevice::DepthMode depth_mode_;
    boost::shared_ptr<boost::thread> thread_;
};

//////////////////////////////////////////////////////////////////////////////////////////
// Consumer thread class
template <typename PointT>
class Consumer
{
  private:
    ///////////////////////////////////////////////////////////////////////////////////////
    void
    writeToDisk (const typename PointCloud<PointT>::ConstPtr& cloud)
    {
      stringstream ss;
      std::string time = boost::posix_time::to_iso_string (boost::posix_time::microsec_clock::local_time ());
      ss << "frame-" << time << ".pcd";
      writer_.writeBinaryCompressed (ss.str (), *cloud);
      FPS_CALC ("cloud write.", buf_);
    }

    ///////////////////////////////////////////////////////////////////////////////////////
    // Consumer thread function
    void
    receiveAndProcess ()
    {
      while (true)
      {
        if (is_done)
          break;
        writeToDisk (buf_.getFront ());
      }

      {
        boost::mutex::scoped_lock io_lock (io_mutex);
        print_info ("Writing remaing %ld clouds in the buffer to disk...\n", buf_.getSize ());
      }
      while (!buf_.isEmpty ())
        writeToDisk (buf_.getFront ());
    }

  public:
    Consumer (PCDBuffer<PointT> &buf)
      : buf_ (buf)
    {
      thread_.reset (new boost::thread (boost::bind (&Consumer::receiveAndProcess, this)));
    }

    ///////////////////////////////////////////////////////////////////////////////////////
    void
    stop ()
    {
      thread_->join ();
      boost::mutex::scoped_lock io_lock (io_mutex);
      print_highlight ("Consumer done.\n");
    }

  private:
    PCDBuffer<PointT> &buf_;
    boost::shared_ptr<boost::thread> thread_;
    PCDWriter writer_;
};

//////////////////////////////////////////////////////////////////////////////////////////
void
ctrlC (int)
{
  boost::mutex::scoped_lock io_lock (io_mutex);
  print_info ("\nCtrl-C detected, exit condition set to true.\n");
  is_done = true;
}

//////////////////////////////////////////////////////////////////////////////////////////
int
main (int argc, char** argv)
{
  print_highlight ("PCL OpenNI Recorder for saving buffered PCD (binary compressed to disk). See %s -h for options.\n", argv[0]);

  int buff_size = BUFFER_SIZE;

  if (find_switch (argc, argv, "-h") || find_switch (argc, argv, "--help"))
  {
    print_info ("Options are: \n"
              "             -xyz    = save only XYZ data, even if the device is RGB capable\n"
              "             -shift  = use OpenNI shift values rather than 12-bit depth\n"
              "             -buf X  = use a buffer size of X frames (default: ");
    print_value ("%d", buff_size); print_info (")\n");
    return (0);
  }

  bool just_xyz = find_switch (argc, argv, "-xyz");
  openni_wrapper::OpenNIDevice::DepthMode depth_mode = openni_wrapper::OpenNIDevice::OpenNI_12_bit_depth;
  if (find_switch (argc, argv, "-shift"))
    depth_mode = openni_wrapper::OpenNIDevice::OpenNI_shift_values;

  if (parse_argument (argc, argv, "-buf", buff_size) != -1)
    print_highlight ("Setting buffer size to %d frames.\n", buff_size);
  else
    print_highlight ("Using default buffer size of %d frames.\n", buff_size);

  print_highlight ("Starting the producer and consumer threads... Press Cltr+C to end\n");

  OpenNIGrabber grabber ("");
  if (grabber.providesCallback<OpenNIGrabber::sig_cb_openni_point_cloud_rgba> () &&
      !just_xyz)
  {
    print_highlight ("PointXYZRGBA enabled.\n");
    PCDBuffer<PointXYZRGBA> buf;
    buf.setCapacity (buff_size);
    Producer<PointXYZRGBA> producer (buf, depth_mode);
    boost::this_thread::sleep (boost::posix_time::seconds (2));
    Consumer<PointXYZRGBA> consumer (buf);

    signal (SIGINT, ctrlC);
    producer.stop ();
    consumer.stop ();
  }
  else
  {
    print_highlight ("PointXYZ enabled.\n");
    PCDBuffer<PointXYZ> buf;
    buf.setCapacity (buff_size);
    Producer<PointXYZ> producer (buf, depth_mode);
    boost::this_thread::sleep (boost::posix_time::seconds (2));
    Consumer<PointXYZ> consumer (buf);

    signal (SIGINT, ctrlC);
    producer.stop ();
    consumer.stop ();
  }
  return (0);
}

redpajama_set_name: RedPajamaGithub


text:
PM hails Airbus, airline teamwork
Prime Minister Nguyen Tan Dung meets with Airbus Group CEO Thomas Enders in Ha Noi. — VNA/ VNS Photo Thong Nhat
HA NOI (VNS) — Prime Minister Nguyen Tan Dung yesterday expressed confidence that the massive co-operation projects between aircraft manufacturer Airbus and Vietnamese carriers will be successful.
Meeting with Airbus Group CEO Thomas Enders in Ha Noi, he praised the collaboration between the aircraft maker and Viet Nam in recent years and urged due fulfillment of contracts, including the delivery of 10 wide-body A350-900 XWB aircraft, to develop the fleet of Viet Nam's national flag carrier.
He suggested both sides design long-term co-operation strategies under which Airbus would further assist Viet Nam in training personnel and developing technical infrastructure, including maintenance facilities and aircraft component factories.
Viet Nam is willing to discuss and promote its affiliation with Airbus in airspace and military technology, including transport planes and defence equipment, he said.
Enders said Airbus attaches great importance to the Vietnamese market as well as long-term cooperation with the country. He pledged the firm's support to local airlines in modernising their fleets alongside offering technical and personnel assistance to help them successfully operate Airbus planes.
He noted that an A350-900 XWB plane was recently handed over to Vietnam Airlines, making Viet Nam the first country in Asia and second in the world to purchase this model.
Airbus will provide maximum support to Vietnam Airlines in operating the craft and also ensure timely delivery of other aircraft ordered, he said.
Enders said his firm was also keen to work with Viet Nam on military aircraft and related issues. It was prepared to help build and run aircraft maintenance facilities and consider setting up component manufacturing establishments in Viet Nam in the future, he said. — VNS


text:
Ulm signs versatile forward Willis
Jul 22, 2019 by Eurocupbasketball.com Print
In preparation for the new 7DAYS EuroCup season, ratiopharm Ulm has signed versatile forward Derek Willis to a two-year contract. Willis (2.06 meters, 24 years old) played last season for another German League team, Goettigen, delivering 12.0 points and 5.0 rebounds per game while shooting 42.5% from three-point territory. Besides rebounds and three-point accuracy, he led the team in blocked shots, as well. Prior to Goettigen, Willis spent his first pro season with Grand Rapids of the NBA G League. Before turning pro, he spent four years at University of Kentucky.


text:
Munching maggots help Singapore startup secure lucrative biomaterial
Posted by Derick Lee in categories: food, sustainability
Working in conjunction with Singapore's Agency for Science, Technology and Research, Insectta's technology uses a proprietary and environmentally friendly process to extract lucrative substances such as chitosan, melanin and probiotics from the larvae, it said.
SINGAPORE (Reuters) — In a quiet, mainly residential district of Singapore, trays of writhing black soldier fly larvae munch their way through hundreds of kilograms of food waste a day.
The protein-rich maggots can be sold for pet food or fertiliser, but at Insectta — a startup that says it is Singapore's first urban insect farm — they are bred to extract biomaterials that can be used in pharmaceuticals and electronics.
"What these black soldier flies enable us to do is transform this food waste, which is a negative-value product, into a positive-value product," said Chua Kai-Ning, Insectta's co-founder and chief marketing officer.


text:
Green Buildings are 'on the Up'
Photo Credit: Wikimedia Commons
Green buildings have been on the up and up across Malaysia. Need proof? Some 40% of new buildings in the country are being designed and constructed with various degrees of eco-friendliness.
So says CK Tang, honorary secretary of the Malaysian Green Building Confederation. "Green building is cheaper than conventional building as we can save up to 10% of energy consumption," he has been quoted as saying. (What he meant is that over their lifetimes green buildings can help their owners save up on energy and water costs, which is true enough.)
Green buildings can become self-contained islands of sustainability. Photo Credit: asiangreenbuildings.com
Time to celebrate? Not quite just yet.
As we noted before, Malaysia's government has been providing tax incentives and other benefits for home owners, companies and developers who incorporate energy-saving and recycling technologies into their buildings. Yet that alone has not yet worked wonders as many home owners and construction companies have yet to come around to building green. Malaysians at large must embrace a different set of attitudes if the country is to become a place where certifiably green buildings dominate.
To be sure, there have been noteworthy developments such as ecofriendly condos and a sport center in Penang. The Green Building Index, which has been setting standards for sustainable construction across the land since 2008, seeks to help developers, construction companies and investors adopt environmentally sustainable ways to build. The aim is to increase the efficiency of resource use while reducing buildings' impacts on the surrounding environment during their lifecycles.
Overall, the green building sector is certainly on the way up in Malaysia. Nonetheless, many construction companies still lag behind their counterparts in neighboring Singapore when it comes to building truly green. New green technologies, building methods and construction materials can be costly. As a result, often developers and buyers alike continue to prize short-term financial gains over long-term ones.
This must change.
Tags: green building index, Malaysian Green Building Confederation
Resources Video
Stop illegal bauxite mining in Malaysia
Environmental Action
Bauxite mining Ban is Extended for Another Six Months until next June
June 30, 2018. That's the new deadline until which the current moratorium on all bauxite mining in Pahang will...
Pahang MB needs to Step up his Game if Bauxite Mining resumes next Year
Almost two years after a moratorium on all bauxite mining in Pahang was imposed, illegal mining continues to be...
Durian Yields in Kuantan remain Low. The Culprit: Bauxite Mining
A ban on bauxite mining has been in force in Kuantan for almost two years, yet the ravages of...
Would Casino Resorts Harm The Malaysian Environment?
Over the last 20 years or so, Southeast Asia and the larger Pacific region have become known for having...
How Drones Are Being Used to Fight Deforestation in 2019
By Mark Sheehan Deforestation has been a serious global problem for several decades. Illegal logging has been happening for...
5 High-Tech Ways to Make Your Home Greener
Guest post by Jewel Brookfield Here at Clean Malaysia we've already established the importance of implementing environment-friendly practices at home,...
Clean Malaysia
Tweets by @Clean_Malaysia
Clean Malaysia is an independent online news site covering all aspects of Malaysia's environmental landscape. We are dedicated to delivering news, analysis and opinions to both Malaysians and the international community. Our mission is to raise awareness of Malaysia as a tropical natural beauty but also to bring to light environmental dangers and encourage a debate about the future of Malaysia's sustainable development.
© CleanMalaysia.com - Privacy Policy


text:
Mongolia considers terminating Oyu Tolgoi copper mine expansion as costs jump -developer
Reuters Monday January 11, 2021 08:34
(Adds shares, comment from Rio, analysts)
Jan 11 (Reuters) - Rio Tinto-controlled Turquoise Hill Resources said on Monday that Mongolia's government is considering terminating the companies' underground expansion of their Oyu Tolgoi copper mine project due to rising development costs.
Shares of Turquoise Hill fell as much as 20% in early trading on the news. Oyu Tolgoi is one of the world's largest-known copper and gold deposits.
Rio Tinto announced in 2019 a 30-month delay to a project to expand the mine underground and a cost overrun due to difficult geology. Last month the company confirmed that the expansion at the mine would cost $6.75 billion, about $1.4 billion higher than its estimate in 2016. The government has told Rio Tinto it is dissatisfied with the miner's plans and is concerned that the significant increase in the development costs of the Oyu Tolgoi project has eroded the economic benefits that the country had hoped to get, Turquoise Hill said.
"The government of Mongolia has indicated that if the Oyu Tolgoi project is not economically beneficial to the country, it would be necessary to review and evaluate whether it can proceed," Turquoise Hill said in a statement.
The government's position is not surprising given it is not expected to receive any cash flows beyond taxes and mining royalties from its ownership stake in the project for the foreseeable future due to $7 billion in partner loans accumulated during construction, Bank of Nova Scotia analyst Orest Wowkodaw said. The Mongolian government holds a 34% stake in the mine and Turquoise Hill owns 66%.
Exchanging the government's stake for "a markedly higher royalty (cash flowing immediately) would be in the best interest of all stakeholders," Wowkodaw said. Turquoise Hill said it was committed to engaging immediately with the government and Rio Tinto to address the development plan and revisit the sharing of economic benefits. The companies have sunk $11 billion into the mine since 2010, Rio said in a separate statement to Reuters, adding it "remains open" to increasing benefits to all shareholders.
(Reporting by Arathy S Nair in Bengaluru; additional reporting by Jeff Lewis in Toronto; Editing by Arun Koyyur and Susan Fenton)
Twitter: jeff.lewis@tr.com; +1 647 200 7236))


Camo.cc is a fantastic name for a hunting website. Also a great site for showcasing different camoflauge clothing and/or products. A great, short URL for a hunting, outdoor or military publication. Own Camo.cc today!


Tired of your rent increasing on every renewal period? Come talk to us! As long as long as you are part of the Curtis and Sons family, your rent will never change. We have a long term tenant that has resided with us for over nineteen years–her rent is the same as it was the day she moved in.
We have two full time maintenance personal on staff dedicated to you. We are equipped with tools to handle any job, from routine drain cleaning to a broken window we have you covered. We also employ great licensed maintenance partners to make sure that plumbing or electrical glitches are repaired in a timely manner.
With ACH billing we allow you to pay either monthly or bi-weekly. For a nominal fee, you can even pay weekly if you desire. Debits come out of your account automatically–no postage or hunting for a parking spot to pay your rent!
At Curtis and Sons, we allow you to move within the Curtis and Sons family without penalty. Need a larger home in the middle of your lease? Not a problem! All we ask, is that you assist us in leasing your previous property and it's put back in the same condition as when you originally rented it.