text:
White, Chipman, Dy and Johnson in 2017 Michigan Women's Amateur Final Four
July 13, 2017 by The Original Golf Blogger
Anci Dy, left, and Anika Dy, sisters from Traverse City played each other in the Friday quarterfinals of the 2017 Michigan Women's Amateur.
Sarah White, Katelyn Chipman, Anika Dy and Aya Johnson in 2017 Michigan Women's Amateur Final Four
SAGINAW – Matches that pitted sister against sister and teammate against teammate helped produce the four golfers headed to the final day of the 101st Michigan Women's Amateur Championship at Saginaw Country Club.
Traverse City's Anika Dy beat sister Anci 2 and 1 in one quarterfinal match Thursday, and Canton's Katelyn Chipman turned aside Grand Valley State University teammate Mackenzie Blomberg of Auburn Hills 1-up in another.
Dy and Chipman are joined in the final four by Kentwood's Sarah White and Muskegon's Aya Johnson.
White, a Texas State University golfer, will meet GVSU's Chipman in an 8 a.m. semifinal Friday, and Dy, a Traverse City West High School student, will play Johnson, a University of Wisconsin golfer at 8:15. The winners will play in the afternoon for the championship.
"I tried to treat it like another match I had to win, but it was weird," Anika Dy said of beating her sister. "The front nine we were like totally serious. We didn't talk to each other that much, but after we turned to the back nine it was like a switch flipped and we started talking like we were playing and practicing at home in another one of our fun matches."
Anci, who at 14 is two years younger than Anika, said she wanted to push her sister to the last hole.
"She made some nice putts though," she said. "I will caddie for her tomorrow and root for her all the way."
Anika described their sibling relationship as close.
"We spend most of our time together, we practice together, we share a room and we are really together all the time," she said. "I didn't want to have to play her, maybe in the finals."
Anika beat Western Michigan University golfer Meg Watkins of Frankenmuth 6 and 5 in the round of 16 in the morning, and Anci beat Central Michigan golfer Natalie Johnson of Clinton Township 3 and 1 to set up the sibling showdown.
Anika said she felt great about making the final four for the first time.
"My mind is in a good place right now," she said. "It's all about mind-set for me."
Chipman said she had a different mind-set playing a teammate in the quarterfinals.
"You want both of us to go far, but only one can advance," she said. "It wasn't really fun to win. I feel good I won, but it was just very hard."
The 19-year-old sophomore-to-be was the first-round leader on Monday and said she has felt pretty confident on the Saginaw CC course since.
"I was prepared," she said. "I kept up on my lessons, played a bunch and I was ready to go."
Chipman, who last fall won the Gilda's House collegiate tournament at Grand Valley, is in the final four for the first time. She beat Grand Valley incoming freshman Olivia Reed 2 and 1 in the morning round of 16 before meeting Blomberg, who beat Nichole Cox of Empire 5 and 4.
"Winning will be the goal," Chipman said. "Whatever happens happens."
White, her semifinal opponent, beat former two-time champion Stacy Slobodnik-Stoll, the Michigan State golf coach from Haslett in the round of 16. It took 19 holes and making birdie on the No. 18 hole to force extra holes and then making birdie on the first extra hole.
Then she outlasted stroke play qualifying medalist and top-seed Kerrigan Parks of Flushing 3 and 2 in the quarterfinals. Parks was the recent winner of the Michigan Girls Junior State Amateur title for the second consecutive year.
"My game is in a good spot right now," White said. "There are three other really good players still left, but I like the course and know it now and feel like I can play really well here."
White is in the semifinals for the second time in the last three years, and plans to play aggressive with her ability to hit the ball farther than most others in the field.
"I play aggressive," she said. "I'm not a conservative player. I had to dig deep today a few times when I was down and I was able to do it. I'm excited about getting to play in the semifinals again and I want to try and win it."
Johnson, who earlier this month qualified for the U.S. Women's Amateur Championship as medalist in the qualifier at The Moors in Portage, will be a fifth-year senior at Wisconsin in the fall because of 2015 back surgery that forced her to sit out a year. She said it is not bothering her though, and she is ready to go one more day.
"I'm confident and feeling good like I'm on the up slope," she said.
Johnson, who is in the semifinals for the second time (2014), beat Spring Lake's Anna Kramer 3 and 2 in the morning round of 16, and then topped Brighton's Julia Dean 3 and 1 in the only quarterfinal match that was delayed by rain and lightning late in the day (one hour, nine minutes).
"I started hitting shots close, especially late in the last match," she said. "It was a tough match with Julia. I hit it to six-feet on 16 to go 2-up, and then after the delay I hit that last shot into 17 to like a foot. I'm hitting the ball well. I hope the putter is good tomorrow."
The Final Four
Sarah White of Caledonia, 19, junior at Texas State University
Katelyn Chipman of Canton, 19, sophomore at Grand Valley State University
Anika Dy of Traverse City, 16, junior at Traverse City West High School
Aya Johnson of Muskegon, 21, senior at University of Wisconsin
Results and Match Play Bracket: Find them at gam.org
About the GAM: Founded in 1919, the Golf Association of Michigan is the governing body for amateur golf in the state. As a not-for-profit organization, the GAM's purpose is to promote, preserve and serve the game of golf. The GAM, served by over 250 dedicated volunteers, provides membership to more than 55,000 golfers and more than 470 Michigan golf courses, conducts over 30 amateur championships, oversees 18 USGA qualifying events, administers the GAM/USGA Handicap System and measures and rates almost 70 courses a year for the USGA. Learn more at www.gam.org.
via Greg Johnson
Categories Michigan Golf Tags Michigan Women's Amateur Post navigation
Trish Johnson Wins Inaugural Senior LPGA Championship
Golf Themed Pen And Business Card Set

redpajama_set_name: RedPajamaCommonCrawl


Q: What does GeoShack do?
A: GeoShack provides sales, service, and rentals of GPS, lasers, survey equipment, machine control systems, and more for the construction, survey, engineering, and agricultural markets. GeoShack does not bid or perform work in these industries.
Q: Who is the GeoShack Sales Rep in my area?
A: To reach a Sales Rep in your area, please fill out our contact form by Clicking Here. The Sales Rep will be notified and contact you shortly. If you have a specific request, such as a product demo, please let us know.
Q: Where is GeoShack located?
A: Our corporate office is located in Dallas, Texas. We currently have 24 retail locations in 9 US States and 2 Canadian Provinces. Please see the Locations Page page for the address and phone number of the location nearest to you.
Q: What is GeoShack's phone number?
Please see the Locations page for more locations and numbers.
Q: How can I get a product serviced or repaired?
A: To make sure your equipment is sent to the proper location, please call 972-918-5300, or fill out our contact form by Clicking Here.
Q: How can I apply for a job with GeoShack?
A: Please check out our Careers page.
Q: Do you sell or give out your customer information?


text:
Q: data.table: Apply row-wise paste function to a list of columns I am looking for assistance with the following problem.
I have a data.table with a hierarchical identifier consisting of five levels. The format is [level_1]-[level_2]-[level_3].[level_4].[level_5] (note the hyphen delimiting level 1,2 and 3 versus the period between 3,4, and 5). I have made this slightly smaller than my real data (which has 6 levels) -- I assume the solution for this will work the same.
Some toy data:
my_dt = setDT(data.frame("level_1" = c("H111", "H111", "H111", "H222", "H222", "H333"), "level_2" = c("a12", "a12", "b12", "c12", "c12", NA),
                   "level_3" = c("B9", "B2", "G1", NA, "F4", NA),
                   "level_4" = c("11", NA, "55", NA, "66", NA),
                   "level_5" = c("A", NA, "B", NA, NA, NA),
                   "key_level" = c(5,3,5,2,4,1)))

For example, the above identifiers when combined should look as follows (if they are being reported at their 'key-level' (or hierarchy depth, if you like).
    full_key = c("H111-a12-B9.11.A", "H111-a12-B2", "H111-b12-G1.55.B", "H222-c12", "H222-c12-F4.66", "H333")

I'd like some help writing a function that takes a desired hierarchy depth (hlevel), and reports the key to that specific depth (only if the key_level is >= the hlevel, otherwise return NA).
For example, if I want to report the examples above to level 3, I'd like to get the following result:
to_level_3 = c("H111-a12-B9", "H111-a12-B2", "H111-b12-G1", NA, "H222-c12-F4", NA)

(As you can see, all rows that had a key_level < 3 should be NA).
I'm struggling to get this to work. This is my attempt (may be more confusing than actually reading the problem!). This solution only sets up the start of the key where the delimiter is ".", and fails to return NA for those rows with a key_level < than the hlevel ...
get_level_x_key = function(dt, hlevel)
{
      my_columns = paste0("level_", 1:4)
      my_first_max = min(hlevel, 2) # first part of key is delimited with hypthens
      my_dt[,
            #do.call(paste, c(
              do.call(paste, c(.SD[key_level >= hlevel, my_columns[1:my_first_max], with = FALSE], list(sep="."))),]
              #safe.ifelse(hlevel > 2, do.call(paste, c(.SD[, my_columns[2:hlevel], with = FALSE], list(sep="-"))), NA)), list(sep="-")]
#)]
}

get_level_x_key(my_dt, 3)
# Gives: [1] "H111-a12" "H111-a12" "H111-b12" "H222-c12"

I have read the SO question: paste two data.table columns, which made me attempt to use do.call -- but I don't know how to deal with the change in delimiter or how to return NA if the key_level is less than the required level. I had thought maybe the Reduce function would be useful... but I am a bit lost.
I would appreciate any guidance, I am a bit stuck with how to break this problem down. Thanks!

A: Maybe try this:
weave = function(a, b) {
  # return c(a[1], b[1], a[2], b[2], ..., a[N])
  stopifnot(length(b) >= length(a) - 1)
  b = c(b[1:(length(a) - 1)], list(NULL))
  c(rbind(as.list(a), b))
}

f = function(hlevel) {
    my_dt[, ifelse(key_level < hlevel,
                   NA,
                   do.call(paste0, weave(.SD[, 1:hlevel], c('-','-','.','.'))))]
}

f(3)
# [1] "H111-a12-B9" "H111-a12-B2" "H111-b12-G1" NA "H222-c12-F4" NA

f(5)
# [1] "H111-a12-B9.11.A" NA "H111-b12-G1.55.B" NA NA NA

redpajama_set_name: RedPajamaStackExchange


text:
Richard B. Winters
By NJJN Staff	February 1, 2011, 12:00 am Edit
Richard B. Winters, 75, of West Orange died Jan. 16, 2011. Born in the Bronx, he resided for most of his life in Livingston.
Dr. Winters was in private practice in Livingston, specializing in endodontics.
He received a BS degree from Queens College in 1956 and graduated from New York University School of Dentistry in 1960 and the University of Pittsburgh in 1968.
He was a past president of the Newark Dental Club and a member of the Association of American Endodontists.
He served as a captain in the U.S. Army from 1960 to 1962.
He is survived by his wife, Sylvia (Papov); his son, Harris of New York City; his daughter, Robin Goolsbee of Chicago; a brother, Theodore of North Palm Beach, Fla.; a sister, Lisa Winters of Los Angeles; and three grandchildren.
Services were held Jan. 19 with arrangements by Menorah Chapels at Millburn, Union. Memorial contributions may be made to the American Diabetes Association.


Sculpture Garden at the Barbara Hepworth Museum by Beausoleil Star this if you like it!
Barbara Hepworth was a British sculptor who lived and worked in St. Ives. She left her work to the nation and it is supervised by the Tate Gallery. Most of the sculptures are where she placed them. The house is open to visit and her studio is open to view. The garden is beautiful and has wonderful views in addition to the marvelous sculptures.


text:
Search FuelEd
Go to Curriculum
Solutions for Schools
Go to Solutions for Schools
Intervention & Remediation
Credit Recovery & Dropout Prevention
Summer School & Extended Learning
Career Readiness Pathways
Reading Literacy
Go to Delivery Models
Full-Time School
In Class / Supplemental
Course Lists
Why FuelEd
Go to Why FuelEd
Go to Press Room
Go to How It Works
Personalized Learning Platform
Enrollment & Reporting
Content Customization
Instruction & Services
Go to Instruction & Services
Training & Professional Development
Benefits Extended
K12 Inc. Extends Anytime, Anywhere Benefits of Online Learning to School District Administrators, Teachers, and Mentors
Online Program Management Platform PEAK¹²™ Office Now Available via iPhone®and iPad®
Herndon, Va., June 24, 2013 — K12 Inc. (NYSE: LRN), the nation's leading provider of technology-powered individualized education solutions for students in pre-kindergarten through high school, today announced at the International Society for Technology in Education (ISTE) Annual Conference and Exposition that it is enabling school district administrators to manage their online learning programs whenever and from wherever they choose.
This fall, K12 will make its innovative online program management platform, PEAK¹² Office, available via iPhone, iPad, as well as iPod touch®. The new mobile app untethers school district administrators, teachers, and mentors from desktops, laptops, and the office, making it easy to securely manage student learning from anywhere, 24 hours a day.
"We are all becoming accustomed to anytime, anywhere access to information in nearly all aspects of life—and educators are no exception," said Gregg Levin, Senior Vice President of K12's Institutional Business, which serves school districts. "PEAK¹² Office Mobile is the first in a series of technology tools from K12 that will enable our school district partners to take full advantage of the benefits that students are receiving from their online learning programs today – anytime, anywhere, access to information when the time is right for the individual."
PEAK¹² Office Mobile provides easy to search, detailed views of students, courses, dashboards, assessments, and grades. For example, the new iPhone app allows educators to:
See a student's performance, level of engagement, and pacing;
View a student's grades and assessment details;
With one click, send a student's progress in an e-mail to the student and/or the parents;
Monitor a student's activity by day, month, or year; and
Send an enrollment letter and change the enrollment end date, to reinstate, extend, or grade out a student.
Oregon's Bend-La Pine Schools offer district-wide online learning programs, including full-time and part-time online programs for elementary, middle and high school, enrichment courses, and credit recovery for high school. The district serves more than 2,000 students with online programs annually. Tres Tyvand, Student Services Coordinator for Bend-La Pine Schools Online Plus, emphasizes the need for mobile technology to manage learning virtually.
"We serve students with increasingly flexible, seamless learning options – in online or blended programs or in classrooms with access to digital platforms that are available outside of the school day," said Tyvand. "Like the fluid, flexible power of the online environment, now district staff can leverage the PEAK¹² Office Mobile app to manage their online programs during times that work for them. By constantly creating tools that allow educators like me to be productive when and where I want to be, K12 keeps its clients and, more importantly, the students they serve ahead of the game."
PEAK¹² Office Mobile is one component of PEAK12, which stands for Personalize, Engage, and Achieve with K12. PEAK¹² for school districts delivers an engaging and personalized digital learning experience through an easy-to-use open learning technology platform that simplifies administration, provides intelligent reporting on student progress and delivers "point-and-click" course customization to improve student outcomes. PEAK¹² includes:
Enrollment and administrative tools – to efficiently manage licenses, student accounts, and enrollment functions;
Reporting and alerts -- enables administrators and teachers to glean intelligence about all of their students at any given time through a single, integrated interface;
Personalization – using content from the PEAK¹² Library, courses can be customized to exact requirements, whether for a single student, district-wide, or any size group in between; and
Technology integration – designed as an open platform to help bring together district systems that don't currently "talk" to one another.
K12 provides schools and districts the industry's most complete continuum of proprietary pre-kindergarten through high school online learning solutions for full-time virtual, blended, and traditional classroom learning environments. By integrating curriculum, technology, and services, K12 empowers its school and district partners to provide individualized learning and maximize student and district outcomes. Over the past decade, the company has served more than 2,000 districts and delivered over four million online course enrollments from its award-winning portfolio. For more information on K12's online solutions for schools and districts, visit educators.k12.com.
About K12 Inc.
K12 Inc. (NYSE: LRN) is leading the transformation to individualized learning as the nation's foremost provider of technology-powered proprietary online solutions for students in pre-kindergarten through high school. K12 has worked with over 2,000 school districts and has delivered more than four million courses over the past decade. K12 provides curricula, academic services, and learning solutions to public schools and districts, traditional classrooms, blended school programs, and families. K12's curriculum is rooted in decades of research combined with 21st-century technology by cognitive scientists, interactive designers and teachers. K12's portfolio of more than 500 unique courses and titles—the most extensive in the technology-based education industry—covers every core subject and four academic levels for high school including Honors and AP. K12 offers credit recovery courses, career-building electives, remediation support, six world languages, and a deep STEM offering. The K12 Program is offered through K12 partner public schools in more than two-thirds of the states and the District of Columbia, and through private schools serving students in all 50 states and 85 countries. More information can be found at k12.com
© 2013 K12 Inc. K12is a registered trademark, and the K12 logo and PEAK¹² are trademarks of K12 Inc. All other trademarks are the property of their respective owners.
Beth Halloran
bhalloran@k12.com
Loading finished
Select any field(s) to find a course
Course Subjects Select Subject Elective Fine Arts History & Social Science Language Arts Math Science Technology World Languages
Course Grade Levels Select Grade Elementary School Middle School High School
Course Types Select Course Type AP Standard Electives Premium Electives Career Focused Electives Comprehensive Core Credit Recovery Elective ELL Honors Prescriptive & Remediation Standard
GET THE LASTEST INDUSTRY NEWS AND RESEARCH
Copyright © 2020 Fuel Education LLC. All rights reserved. FuelEd is a registered trademark of Fuel Education. The FuelEd and Fuel Education logos and other marks referenced herein are trademarks of Fuel Education and its subsidiaries, and other marks are owned by third parties.
Copyright | Privacy Policy | Terms of Use | Sitemap


text:
Celtics Legend Rips Team, State of PG Spot: 'It's Just Schoolyard'
Celtics legend Bill Russell, who won 11 championships during his Hall of Fame career as a player and 13 more as coach, ripped the team after they were swept by Cleveland in the Eastern Conference Finals. Russell was critical of their defense against LeBron James that proved to be their downfall. He also cited Rajon Rondo's injury-plagued season is further evidence that Boston needs an upgrade at point guard next year regardless if Isaiah Thomas returns or not.
The "recent celtics trade rumors" are the latest in a string of trades that have created an uncertain future for the Boston Celtics. The team has been struggling this season and recently traded away their star player Kyrie Irving. One of their legends, Bill Russell, doesn't think it's going to get better anytime soon.
Getty Boston Celtics' Marcus Smart
Despite the fact that the Boston Celtics ended their losing skid against the New York Knicks on December 8, one thing remains: the club is in desperate need of a genuine point guard.
Marcus Smart has been a fantastic deputy and has progressed into a starting spot this season. Most teams would give everything to have Dennis Schroder as their sixth man. When rival teams shut down the perimeter, though, the Celtics' lack of an elite-level playmaker becomes glaringly apparent, and it has lost them multiple games in the first half of the 2021-22 NBA season.
Ime Udoka wants Boston to play a fast-paced style of basketball in which the ball reaches the paint many times per possession. He wants his players to flow off the ball, screening for one another, and forcing defenses to crumble in order to create high-quality shooting chances. Even yet, if the Celtics don't have a guard who can thread the needle, no amount of player movement will help.
"Processing speed" is a term used by sports scientists to describe a player's ability to detect possibilities or actions, analyze what they need to do, and then respond appropriately. It's no wonder, therefore, that the NBA's best players have excellent processing abilities. We frequently refer to this in different ways, such as "the game is slowing down" or "this year they can identify a pass better," which all imply the same thing.
This year, Smart and, to a lesser degree, Schroder have improved their processing speeds, but one Celtics legend claims that none of them has yet achieved the requisite level.
Boston's Need for a Guard, according to Bob Cousey
When you play for the Celtics, you don't simply inherit a fierce crowd or a tough media presence. You also take on the responsibility of honoring the great who have worn that shirt before you, which may be a hefty burden at times.
We experienced firsthand what some of that pressure may be like earlier this week when legendary point player Bob Cousey spoke on the Celtics' dearth of guard skill during a CBS Sports interview.
"I hate to bring it back to a point guard, but… you don't have that control," Cousy said. "It doesn't appear like we're going to be hanging banner No. 18 any time soon." When we had a 6-8-point lead, that's when I'd take it home. I just could not let us lose the lead."
Many fans believe that Boston has to find a clear-cut playmaker to help lighten the weight on Tatum and Brown's shoulders, and Cousy seems to be echoing those sentiments in his interview.
Cousy stated, "At that point, you need a penetrating point guard who is a danger, and then he passes off to the [Jayson] Tatums and the [Jaylen] Browns."
Pass-first point guards are in scarce supply these days, with the contemporary guard serving as a scoring focal point rather than an offensive initiator, which is why the point-forward position has become increasingly popular. Guards from all across the league, on the other hand, meet the requirements and might help the Celtics significantly down the stretch.
Tatum & Brown Are Developing as Playmakers
Brown had 11 assists in a game against the Knicks on December 8th. Surprisingly, Brown has come under fire in recent weeks after failing to impress during Tatum's COVID-induced absence during the last week of December.
Both of the Celtics' All-Star wings must develop into positions that enable them to start and assist offenses if the team is to be successful as it presently stands. Brown and Tatum, on the other hand, must both lead the team in scoring and set the tone defensively, meaning their plates are already overburdened; adding playmaking to the mix would only add to their task.
Tatum, for one, has been quite consistent as a ball-handler above the break, making the correct reads at the appropriate times. However, if a passing lane does not open up and Tatum is forced to generate his own offense, he is reprimanded for apparent selfishness. Brown is also having to learn that lesson the hard way.
While the Celtics straightened things out against the Knicks and are hoping to go on a winning streak soon, Cousy is accurate. The Celtics want a point guard who can steady the ship and relieve Brown and Tatum of some of their responsibilities. Only then will we be able to see the whole potential of this core.
The "celtics draft rumors" is a topic that has been floating around for a while. The Boston Celtics have yet to make any trades or signings, but the team's legend Bill Russell took it upon himself to rip into his former team and state of their PG spot.
celtics pg targets
celtics point guard
dejounte murray celtics
The best personal blenders in 2022
Download Rocket Music Player for PC Windows 10,8,7
Download RPG IRUNA Online for PC Windows 10,8,7
The longest winning streak in men's college basketball belongs to … Yeshiva University
The New Year's Eve Ball Will Drop, Covid or Not, if John Trowbridge Has His Way


The following sites (in no particular order) are sources for free e-books.
A collection of more than 3,400 fiction and nonfiction titles are part of NC LIVE's permanent collections (they are yours forever!), and can be read simultaneously by an unlimited number of readers.
Links to HomeGrown eBooks Collection, eBook Central, EBSCOhost Collection, RBDigital, Gale Virtual Reference, Credo Reference, and ABC-CLIO eBook Collection. Requires NC LIVE password and possible account set-up with each vendor.
Project Gutenberg offers over 36,000 free ebooks to download to your PC,	Kindle, Android, iOS or other portable device. Choose between ePub, Kindle, HTML and simple text formats.
Thousands of free e-books for use on iPad, iPhone, Android, Nook, and PC.
More than 29,000 e-books available for Kindle, Nook, iPad, and other e-readers.
Free classics and out-of-copyright, pre-1923 books plus limited-time free promotional e-books for Kindle.
Thousands of free classic e-books.
E-books from Indie authors and publishers.
Whether you're on an iPhone or BlackBerry smartphone, Mac or PC, Sony Reader or a device we don't even know about yet, Kobo is geared toward helping book lovers enjoy eReading anytime, anyplace, on any device.
Download free books and texts. The Internet Archive Text Archive contains a wide range of fiction, popular books, children's books, historical texts and academic books.
A number of free e-books from Baen Books, publisher of Science Fiction and Fantasy.
Over 1 million titles compiled by the University of Pennsylvania Libraries.
A growing collection of academic books available in a variety of languages for download as a PDF.


3T-MRI Compatible Small Animal Anesthesia Machine: VT-110-MRI - JD Medical Dist. Co., Inc.
One of our newest products for small animal, the VT-110-MRI was designed with excellent cooperation from world-renowned research organizations in order to provide anesthesia to patients while undergoing MRI. These organizations required compatibility with the most powerful MRI units available, the 3T MRI. JD Medical accomplished 3T MRI Compatibility with the VT-110-MRI by taking our standard VT-110, which is made of mostly aluminum and other non-ferrous materials, and replacing components that had ferrous qualities with certifiably non-magnetic components. The highest-quality materials were used, as always, and the system passed the 3T MRI compatibility test without a hitch. We are now pleased to introduce the first 3T-MRI Compatible anesthesia machine for veterinary use.
Absorber Durable CO2 absorber canister with stainless steel screen.


text:
Home » Percy Hughes 1876-1956
Percy Hughes 1876-1956
Britain, Merchant Seamen 1918. Chief Engineer 103028
Percy Hughes was born 13 April 1876 in Barrow in Furness, a son of William Jonathan & Anna Maria Hughes nee Dickerson.
In the 1881 Census the family is living at 13 Roa Island, Yarlside, Barrow in Furness. His father is Pier Master born Brightlingsea, Essex.
In 1911 Percy is at Rose Villa, Norton Road, Morecambe, a Marine Engineer born Barrow in Furness.
Percy and Emma nee Peacock had 3 sons William James (b. 1904), Percy Frederick (b. 1911) and Stanley Gordon (b.1913).
Morecambe Guardian 18 January 1930:
SCOUT NOTES.
1st SANDYLANDS.
The Scouts have made great headway this month with their 2nd class tests, and several will have gained their badges by next month. (Good scouting to you all). Despite the bad weather several have passed their test in the open. On Wednesday, December 18th, a potato pie supper was held at the H.Q., the pies, buns and other eatables being given by the parents of the Rovers and the Scouts. At the monthly court of honour it was decided that the Scouts should enter the singing competition at the Lancaster Musical Festival and that a dance should be held on January 15th for camp equipment. Rover Percy F. Hughes was elected Group Scribe.
ROVER NOTES.
1st SANDYLAND CREW.
The Crew finished their probation this month, and N. Peel and P. F. Hughes were invested by A.D. Comm. R. E. Wright along with other Rovers at the H.Q.'s of the 13th Lancaster Crew on December 9th. Later in the month Squire Haley and Stanley Hughes as his 2nd. The Rovers have been busy instructing the Scouts on Saturday afternoons.
Morecambe Guardian 22 November 1935:
INTERNATIONAL KNOWLEDGE NEEDED.
Scout Commissioner at Morecambe.
"WHEN you get international knowledge you get international goodwill."
This truth was expressed by the Assistant Scout County Commissioner for North-West Lancashire and District Commissioner for South Lonsdale (Mr. T. W. Helme, J.P., C.C.), at the annual meeting of the Morecambe Boy Scouts' Association in the Masonic Hall, on Monday night.
Mr. Helme reminded the meeting that international gatherings of scouts – called jamborees – were held every three or four years, and that the next one would be held in Holland in 1937. He hoped they would use their funds to assist Morecambe boys to attend that jamboree. It was from international gatherings such as these that they got international knowledge and from international knowledge came international goodwill.
FINE WORK.
Mr. Helme, who is a County Councillor, also referred to the fine work which Capt. C. H. Michaelson was doing at Blakeholme, near Preston. The county recognised the work done and had decided to start a fund to try and raise £100 a year towards the upkeep of this camp, which hitherto had been done by Capt. Michaelson personally. They would be exceedingly grateful for any contributions to the scheme, and he strongly appealed for support.
Capt. Michaelson, who is the deputy camp chief and assistant county commissioner for North-West Lancashire, said he would like to see more Morecambe boys at Blakeholme.
The annual report, read by Mr. G. S. Evenden, the hon. secretary, showed that there was a decrease from 170 officers and boys last year to 155 this year. In connection with the King's Jubilee celebrations this year, a team of four had been sent to Windsor to the special services in St. George's Chapel.
Mr. George Kirkby, the hon. treasurer, said there was the favourable balance at the bank of £28 5s 6d.
It was resolved that a letter of appreciation be sent to Mr. Percy Hughes for his services as badge Secretary. Mr. N. Gatfield has been appointed badge secretary in his place.
All the other officers and executive were re-appointed.
The 1939 Register records Percy at 74 Norton Road, Heysham with his wife Emma. He is listed as a Chief Marine Engineer (retired) and he is an ARP Warden.
Lancashire Evening Post 31 July 1943:
N.W. MEN MISSING
MORECAMBE PETTY OFFICER
Chief Petty Officer Stanley Gordon Hughes (29), married, reported missing in North Africa, in December, 1942, has been officially presumed dead. He was a native of Morecambe and comes from a long line of seamen. His father, Mr. Percy Hughes, was chief engineer at Heysham Harbour, where the son served his apprenticeship to electrical engineering with the L.M.S. railway.
England & Wales Government Probate Death Index
HUGHES Percy of Harmony 74 Norton-road Morecambe
and Heysham Lancashire died 27 June 1956 at Tudor
House Northcliffe-drive Totteridge London N.20 Probate
Lancaster 7 September to Emma Hughes widow.
Effects £651 14s. 3d.
Previous post Joseph Sly 1881-1952
Next post Annual Meeting At Morecambe


text:
Q: XML - dual URIs in a single xmlns definition, is it valid? I have some XML that has an xmlns declaration as follows:
<dc:record xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mods="http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd">

This line seems to be tripping the eTree XML parser in Python:
lxml.etree.XMLSyntaxError: xmlns:mods: 'http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd' is not a valid URI, line 6, column 63

If I remove one of the two URIs found in the xmlns:mods declaration, it parses fine.
So, knowing that the xmlns element is there to aid human parsing, and is not meant to specifically be deferenced, is this a genuine constraint on XML (to have a single URI in a xmlns namespace declaration), or is it an overzealous enforcement by the lxml etree parser?

A: I think that lxml.etree is doing the right thing here.
According to the spec, a namespace declaration attribute must have a value that is "either an IRI reference — the namespace name identifying the namespace — or an empty string"
Your example has the attribute value "http://www.loc.gov/mods/v3 http://www.loc.gov/standards/mods/v3/mods-3-0.xsd", which is not a valid IRI (colon in the wrong place, e.g.)

A: The question of whether or not a namespace name MUST be a valid URI is a vexed one. Certainly what you have here is wrong; but whether your parser is "overzealous" is another matter.
The namespaces 1.1 spec says in section 8, "a processor must report violations of namespace well-formedness, with the exception that it is not required to check that namespace names are legal IRIs".
In practice, most parsers don't do this check, and once a majority of software products are lenient about enforcing a provision in a spec, software that does enforce it starts to become unpopular with users.


However, the reality is that this doesn't have to be the case. The staff at Active Healthcare Centre has helped many women in Wasaga Beach experience a healthy and happy pregnancy.
If you live in Wasaga Beach, we can help you have a healthier pregnancy. Give our office a call today at (705) 422-0224 to make an appointment today.


text:
Vince, Eric, Turtle and Johnny lead an adventure-filled, lavish life when Vince's film career takes off in LA. Among other challenges, they also deal with Vince's obnoxious but hardworking agent, Ari.
70 Hilarious Dark Comedy Movies & TV Shows | Dark Humor in 2021
The best dark comedy movies and TV shows go for the jugular. It's not enough to just be edgy, or even malicious. You need to tap into deep, disturbing levels of discomfort… and build a summer home. We made the ultimate list of dark comedy movies and TV shows, plus a video essay that takes a… Continue reading 70 Hilarious Dark Comedy Movies & TV Shows | Dark Humor in 2021


text:
SIM2 to Launch SUPERLUMIS at Los Angeles Road Show Event
After successful stops in the UK, Miami, and most recently, Hong Kong, the 2013 SIM2 World Road Show is coming to Los Angeles August 21-22.
2013 SIM2 World Road Show.
This exclusive event—accessible by invitation only to SIM2's valued business partners—will be held at the prestigious Actors Center of the Screen Actors Guild Foundation, and will mark the world launch of the SUPERLUMIS, a new benchmark for SIM2.
"The 2013 Road Show to date has far exceeded our expectations, and given our strong market position on the West Coast, we have high expectations for these next few days as well," said Maurizio Cini, CEO and president of SIM2. "This event marks a special moment for SIM2, with the world launch of the new SUPERLUMIS. What better place to announce the evolution of the award-winning LUMIS Series than in the heart of Hollywood?"
Created with the objective of outlining SIM2's strategy for the CI market and unveiling some of the main technological developments planned for the next few years, the 2013 Road Show offers its key partners unprecedented access to products, information, and new business opportunities.
These events provide an opportunity to enjoy a hands-on demo experience with the latest SIM2 projectors—products that not only represent state-of-the-art technology but means for a successful business. In addition to the SUPERLUMIS, the event will feature the 4K CINEMAQUATTRO, the superbright SIRIO, the award-winning M.150, and the limited edition, ultra-exclusive FUORISERIE projectors.
The U.S. portion of the tour concludes September 4-5, in the Penthouse of the Waldorf Astoria, in New York City.
New 'The Home Tech Expo' Event to Market to Consumers
2022 CEDIA Expo Best of Show Winners Announced
CEDIA Expo 2022 Show Daily—VIP Issue
Nominations Now Open for Residential Systems 2023 ISE Best of Show Awards
Member Registration Opens for NMG's PrimeTime Event in Dallas


text:
Shorea javanica
Koord. & Valeton
Shorea vandekoppelii Parijs
Common Name: Dammar
Dammar is a medium-sized to fairly large tree with a hemispherical or dome-shaped crown; it can grow up to 40 metres tall[
World Agroforesty Centre
http://www.worldagroforestry.org/
An excellent online database of a huge range of trees giving very good information on each plant - its uses, ecology, identity, propagation, pests etc.
]. The bole is straight and cylindrical, with prominent buttresses up to 1.5 metres high[
]. It can be branchless for up to 20 metres (occasionally to 30 metres), and with a diameter of up to 150 cm[
The tree is a major source of the resin dammar - this has many traditional uses and has found a wide range of industrial applications[
]. The tree is often grown in plantations, frequently as a part of an integrated system, and the resin is traded internationally.
Flora Malesiana Series 1
http://www.archive.org
Nationaal Herbarium Nederiand, Universiteit Leiden branch
A massive treatment of the plants of the Malaysian Archipelago. Much of it has been made available to download from the Internet
Primary and secondary forest on dry or periodically inundated places on flat land or on slopes at elevations up to 300 metres, occasionally to 500 metres[
Habit Tree
Pollinators Thrips, Insects
Self-fertile No
Damar is a plant of the lowland, humid tropics, where it is found at elevations from sea level to about 500 metres[
]. It grows in areas where the mean annual temperature is about 25°c, and the mean annual rainfall is 1,600 - 3,500mm, with a dry season of less than 6 months[
]. It succeeds in areas with no dry season, but generally grows better with a dry season[
Seedling trees grow best with some shade, but by the time they are 4 metres tall they require a sunny position[
]. The tree grows best on deep loamy soils, though it can succeed on various soils from quite deep loamy alkaline soils to sticky acid clays[
]. Prefers a pH in the range 5 - 7.5, tolerating 4.5 - 8.5[
Growth is moderately fast; trees may reach a height of 40 - 50 metres in 50 years[
Flowering and fruiting intervals are irregular, possibly every 3 - 5 years; flowering is gregarious and correlated with a previous drought period[
The harvest of resins begins when the tree is 15 - 50 years old and continues for 30 years. At 50 years of age the tree is already physiologically old because of reduced photosynthetic and metabolic capacity due to regular tapping, hence the silvicultural rotation lasts approximately 50 years[
With an approximate density of 100 trees/hectare, the average production of resin is an estimated 48 tonnes/ hectare per year[
There is a decrease in resin production when the tree is flowering and fruiting, with the tree only gradually reaching its maximum production again 1 year later[
Seedlings need shade until they reach a height of about 1.5 metres. Then the shade trees can be gradually removed to provide sunlight[
]. The young trees, when exposed to full sunlight, show a tendency to form multiple leaders[
Mycorrhizae on the roots of the tree, especially the ectomycorrhizae, appear to increase the tolerance of trees to drought, high soil temperatures, soil toxicity (organic and inorganic) and extremely low soil pH caused by high levels of sulphur or aluminium[
A resin obtained from the tree is used as a food additive[
Agroforestry Uses:
The roots are well fortified by typical mycorrhizal association, which enables them to absorb and accumulate nitrogen, phosphorus, potassium and calcium more rapidly and for longer periods than non-mycorrhizal roots[
This species is a good example for the tree component in an agroforestry system for resin production. Other useful trees, such as clove, are simultaneously planted with the dammar trees so that although the latter largely dominate, the resulting stand is multilayered, comprising different useful plants such as fruits, vegetables and medicinal plants[
Along the southern coast of Sumatra, agroforests, called kebun dammar, or dammar forest gardens, are established at the end of the cycle of shifting cultivation, or when there is a sufficiently large opening in the forest canopy. The cycle normally begins with a crop of upland rice followed by coffee or pepper, and in three to seven years dammar seedlings are added to the upland field. As the dammar grows, it contributes to a microclimate suitable for coffee production; then, fifteen years after planting, dammar overtakes coffee, pepper, and other fruiting trees[
Seed Leaflets
http://en.sl.life.ku.dk/Publikationer/Udgivelser/PopulaerPublikationer.aspx?katid={D28373CC-6EF3-4EF8-B097-6D83FABF209E}&serieid={9F1C3DB1-6E7B-4CF1-AF53-F480B0CB40EF}&sort=title
Forest & Landscape. Denmark
A series of leaflets, jointly produced by the University of Copenhagen and the Royal Botanic Gardens at Kew, focussing on seed information for a number species, but also giving a lot of other information about each plant.
The dammar trees begin producing after twenty years, yielding resin for about 30 years before dying sometime between 50 and 60 years of age. Compared to other agroforestry systems, the dammar gardens support a high degree of biological diversity[
The bark yields an unusually clear, pale yellow dammar (resin). The resin is harvested from cuts made on the trunk[
]. The resin was formerly used by local people for torches, for caulking boats and handicrafts, and more recently local traders export it to industrial countries, where it is used principally in paints, varnishes and linoleum industries[
]. It is also used in cosmetics, as a food additive and for medication.
Harvesting of the resin commences when the bole is around 25cm in diameter (approx 20 years old). Triangular cuts (becoming circular with age) are arranged in vertical rows around the trunk. The cuts are several centimetres wide at first, but become enlarged at every tapping and eventually become holes of 15 - 20cm in depth and width. The average number of holes for a tree about 30 metres tall and 60 - 80cm in diameter is 9 - 11 in each of 4 - 5 vertical rows. For the higher holes, the tapper climbs the tree supported by a rattan belt and using the lower holes as footholds.
The exuded resin is allowed to dry on the tree before it is collected. The frequency with which the tree is visited to refreshen the cut varies from once a week to once a month, depending on how far the tree is from the village. Tapping can continue for 30 years[
Gums, Resins and Latexes of Plant Origins.
Non-Wood Forest Products 6.
Coppen J.J.W.
http://www.fao.org/docrep/
FAO, United Nations; Rome
92-5-103757-4
A handbook published by the Food and Agriculture Organisation of the United Nations, it provides good basic information on the sources and uses of the various gums, resins and latexes. It can be downloaded from the Internet.
The heartwood is yellowish-white and when freshly cut is indistinct from the sapwood, but it gradually becomes yellowish-brown or light brown, and on exposure is slightly more distinct from the sapwood[
]. The grain is usually interlocked, and the texture moderately coarse but even[
]. The planed surface is lustrous, often with subtle ribbon figures[
]. The wood is not very durable and should therefore be kept away from contact with the ground unless it is treated[
]. Because of its high silica content, the wood is not popular as a sawn timber, but it has been used for a wide variety of purposes, such as door and window frames, posts, beams, joists, rafters, planking, light flooring, ceiling, furniture, interior and shop fitting, vehicle bodies, sports goods, vats, wine casks, food containers, stair stringers, and ship and boat building[
]. The creamy white and uniform colour, the even texture and the good gluing properties make S. Javanica a highly preferred timber for plywood production, which is its most important use[
The wood is satisfactorily used for pulp in the manufacture of paper[
The lower part of the trunk is scarified from tapping for resin and hence can be used only for firewood[
Seed - there is no dormancy and so pre-treatment is not necessary[
]. Mature seeds, sown immediately after collection, germinate well (about 96%), but storage often causes rapid deterioration[
]. However, seeds collected 4 and 2 weeks before maturity show only 66% and 79% germination immediately after collection, but their loss of viability during storage is much less[
]. Seeds that are collected from the ground must always be sown immediately[
Sow the seed in containers and plant out when 20 - 25cm tall. The seed can also be sown at high densities in nursery seedbeds. The seedlings are not thinned and the high density means that individual plants grow slowly - no more than 20 - 30cm tall after 4 - 5 years. When planted out, the seedlings grow away normally. In this way, seedlings can be available for planting out even in years when seed production is poor.
Cite as: Tropical Plants Database, Ken Fern. tropical.theferns.info. 2021-01-17. <tropical.theferns.info/viewtropical.php?id=Shorea+javanica>
Captcha: How many fingers does the typical human have?


In the long protract part of the history, plumbing in Gilbert Arizona industry has denoted its status as a major component of the general public. Unarguably, the contemporary world recognizes the significance of fresh water seepage and course framework alongside secured junk transfer game plans as a method for carrying on with a healthy life, without agonizing over the nuclear dangers.
Additionally, it further includes an extensive variety of arrangements like carpentry, fencing, painting, creation of tile floors, repairing harms to drywall, and so forth.
Finding the right handyman with suitable skill and information like Huntington Beach Remodeling to determine your central goal necessary undertakings on time is undeniably critical. In this light, having an eminent administration supplier with a group of master handymen like Huntington Beach Remodeling to come and alter different home or business necessities are entirely valuable. This is a direct result of the way that these organizations have a staff fit for seeing inconsequential to fundamental issues in the likely base time with their bleeding edge instruments.
Cleanliness Concerns - It is a verifiable truth that pipes administrations outfit water to clean our surroundings for better cleanliness and well-being.
Water Storage - Another fundamental rule of pipes is the dramatic lessening in the measure of water drained through fixtures, toilets, and shower heads. Different Eco-accommodating pipes items accessible in the business sector today are perceived for sparing billions of gallons of water asset.
Better Productivity - According to a study led by the U.S., business offices are equipped for saving about 3 trillion gallons of water yearly by joining forces with an expert administration supplier. Also, the vast majority of the most recent pipes items can encourage dry spell inclined areas to use water all the more persistently.
Solace - The administrations go about as a shelter to the ameliorating suppers, therapeutic unwinding, and alleviating showers. Other than serving the practical needs, they add excellence to our homes and lives.
100% Guaranteed Consumer Fulfillment - These organizations utilize a staff of expert jacks of all trades with years of learning and involvement in performing plumbing assignments at least likely time.
To finish up, the plumbing business has turned into a powerful monetary motor over a timeframe. It not just expels waste and contaminated water to protect our surroundings from different transferable sicknesses additionally gives jobs and employments to a huge number of individuals around the world.
Best Remodeling AZ is one of the presumed repairs and supports administration suppliers, offering profoundly spring, quick, and viable answers for electrical apparatuses including plumbing, vermin control, etc.


text:
288 Resolution Condemning the Perpetrators of Sexual Assault and Violence in the Arab Republic of Egypt - ACHPR/Res.288(EXT.OS/XVI)201
The African Commission on Human and Peoples' Rights (the Commission), meeting at its 16th Extraordinary Session held from 20 to 29 July 2014 in Kigali, Rwanda;
Recalling its mandate to promote and protect human and peoples' rights in Africa under the African Charter on Human and Peoples' Rights (the African Charter);
Recalling the obligations of the Arab Republic of Egypt under the African Charter and other regional and international human rights instruments;
Recalling its resolutions ACHPR/Res.111 (XXXXII) 07 on the right to reparation for women and girls victims of sexual violence and ACHPR/Res.283 (LV) 2014 on the situation of women and children in armed conflict;
Mindful of its Principles and Guidelines on the Right to a Fair Trial and Legal Assistance in Africa;
Concerned by the persistent and widespread sexual violence and other forms of gender-based violence committed since the 2011 uprising against women in general and in particular women exercising their right to demonstrate in accordance with Article 11 of the African Charter;
Further concerned by the impunity enjoyed by the perpetrators of sexual violence and other violations of the rights of women in Egypt;
The Commission:
Condemns the ongoing acts of sexual violence and other forms of gender-based violence committed against hundreds of women while exercising their rights;
Welcomes the adoption, on 5 June 2014, of Decree No. 50 of 2014 to combat sexual harassment in Egypt;
Welcomes the ruling of 16 July 2014 by the Cairo court against nine (9) individuals, including seven (7) life imprisonment sentences against the perpetrators of sexual assault committed against several women during the assembly at the Tahrir Square, Cairo, in January 2013 and June 2014 on the occasion of the celebration of the 2nd anniversary of the 2011 revolution;
Welcomes with satisfaction this ruling which reflects the commitment of the Egyptian Government to combat sexual assault and violence against women;
Encourages the Egyptian authorities to strengthen efforts aimed at ending impunity regarding sexual violence and other forms of gender-based violence by ensuring that the perpetrators of these acts are brought to justice;
Urges the Government of Egypt to take the necessary measures to facilitate access to national courts for women victims of violence, and guarantee the right to reparation of the victims, including by providing adequate compensation;
Further urges the Egyptian authorities to provide medical and psychological support to victims of sexual violence and ensure greater protection and safety for women in exercising their right to assembly and peaceful demonstration;
Calls on the Government of Egypt to take the necessary measures to expedite the ratification and ensure the domestication of the Protocol to the African Charter on Human and Peoples' Rights on the Rights of Women in Africa (the Maputo Protocol);
Calls on the international community to support the Egyptian authorities in their efforts to combat sexual violence and other forms of gender-based violence.
Adopted at the 16th Extraordinary Session of the African Commission on Human and Peoples' Rights held from 20 to 29 July 2014 in Kigali, Rwanda
Resolution Appointing an Expert Member for the Committee on the Protection of the Rights of People Living with HIV (PLHIV), and Those at Risk, Vulnerable to and Affected by HIV in Africa - ACHPR/Res.285(EXT.OS/XVI)2014 #285


49.219+/- Acre wooded property that borders the Corp of Engineer land on Lake Allatoona. This property primarily consist of mature planted pines, with some hardwoods. There is a double gate & four board fencing along part of the road frontage. Great location for your new home or recreational property. 2 miles to Stamp Creek Day Use Area and boat ramp. 5.6 miles to Exit 290 on I-75. Zoning: A-1 (Agricultural Bartow Co.) Utilities: Electric & Water. Topography: Level, Rolling, Steep. Information Deemed Reliable, But Cannot Be Guaranteed.


Home Atlanta Journal-Constitution Photographs Allatoona hydroelectric dam under construction, Bartow County, Georgia, May 1948.
Allatoona hydroelectric dam under construction, Bartow County, Georgia, May 1948.
Title Allatoona hydroelectric dam under construction, Bartow County, Georgia, May 1948.
Description Negative envelope marked: Allatoona Dam, July 4-48 (date of publication); Carter 5/48 (date photos taken. Negatives accompanied three small notebook pages of notes.
Citation AJCN032-085f, Atlanta Journal-Constitution Photographic Archives. Special Collections and Archives, Georgia State University Library.


Micro-housing markets around the world change the shape of local communities. Those with skyrocketing costs, London or San Francisco for example, are starting to see an exodus of young people. Whilst Detroit, with comparatively low housing costs, is seeing an influx of younger people.
In San Francisco it will cost you on average $199 USD per night (April 2016) to rent a 1 bedroomed apartment in the city using Airbnb. If you're spending this much a night on accommodation you quickly start doing some back-of-napkin maths. At 100% occupancy that's a gross rental income of $6169. Even at 50% occupancy that's still well over $3000 USD per month.
Now, anyone who lives in San Francisco will tell you long-term rent is expensive too. The average traditional rental price for a 1 bedroomed property is $2850 USD according to Zillow. In this case subletting on Airbnb at 50% occupancy would leave a gross profit of $150 USD (before taxes, utilities, etc are factored in). If you owned the property, the profit (even with a mortgage) would likely be much greater.
But where are hosts making the most money?
Using Airdna data I examined the average nightly cost of "Entire place" for studio, one, and two bedroomed rentals on Airbnb (house and apartment) during the month of April 2016 for 30 of the largest metro areas in the United States. My calculations factor in the Airbnb service fee, however ignore utility costs (and other associated fees) to the hosts (thus, returns should be considered as gross).
Occupancy rates for Airbnb rentals are harder to find and vary significantly as a result of a number of factors, namely time and location. However, after researching a number of sources online I came up with average occupancy figures of between 50% – 75%, like this Quora answer for NYC and this SmartAsset blog post, as a base estimate.
I then turned to Zillow to obtain both average April 2016 rental values and average April 2016 property values for the same 30 metro areas.
Property prices in some cities have increased wildly over the last few years. Take San Francisco, CA, a new one bedroomed home will set you back over $500K USD. In Cleveland, OH you could buy 8 homes with that money with some left over (average 1 bedroomed cost = $63.3K USD).
Cleveland, OH, the cheapest city to buy a 1 bedroomed place on our list ($63.3K USD) gives a 26% yearly return at 50% occupancy. At 75% this increases to 36% — in 3 years the Airbnb revenues would exceed the purchase price of the property!
In comparison, San Francisco, CA, the most expensive place to by a property, offers average returns of around 6% – 9% yearly to homeowners renting property using Airbnb.
All owners hosting on Airbnb at 50% occupancy will make a gross profit. The best ROI for 1 bedroomed places is generally found in the cities with lower property values. The spread of returns at 75% occupancy is between 9% and 36% yearly. At 50% occupancy this drops to 5% and 22%.
Detroit, a city that has been in decline over the past few decades, is beginning to see somewhat of a resurgence. Whilst the city is not the cheapest to purchase a 2 bedroomed property (ranked 20/30), it ranks high for actual Airbnb dollar earning (11/30) and offers the third highest yearly ROI at 30% and 46% at 50% and 75% occupancy respectively. I don't have the data to back up wether these occupancy statistics are easily realised, but 50% occupancy seems relatively low to me (for an average property in a big city, competition not considered).
And such high returns are not unique. The median return for 2 bedroomed places at 75% occupancy is over 30% — that equates to 15 properties out of 30 returning more than 30% of their value each year.
You can see the gross return on 1 bedroomed properties in most cities is roughly 10% less than 2 bedroomed properties.
Your first observation is that ROI will be much higher for renters (but remember we are only considering rent for a year which is significantly less than the cost of buying a property).
Returns of almost 200% can are obtainable if renters are able to sub-let their 1 bedroomed home for 75% of the year. The top ten cities above all have ROI greater than 100%.
Unlike buying, I have calculated that it is likely you could lose money subletting your home (based on rent paid for the year). In 4 cities, subletting with less than 50% occupancy yields returns less than total rent paid. That means if you sublet on Airbnb in San Francisco and your occupancy rate is 50% for the month, you will have to cover 10.19% of the rent yourself — essentially you pay 10% of total rent to stay in the home 50% of the time. Not a bad deal.
At 75% occupancy renters in all cities subletting their home will receive positive returns with a huge spread returns of between 35% and 200%.
As was the case for property owners, sub-letters of 2 bedroomed homes get better returns when compared with 1 bedroomed homes — in Detroit returns are 55% higher. All cities yield positive returns at both 50% and 75% occupancy for 2 bedroomed homes.
Again Cincinnati offer sub-letters the best returns for 2 bedroomed places, as was true for 1 bedroomed homes.
Most returns are between the 60% – 180% range at 75% occupancy.
Sub-letters see a larger difference in returns on property sizes. 2 bedroomed homes offer much better returns than 1 bedroomed homes — at 75% occupancy returns for 2 bedroomed places are almost 40% higher.
I didn't consider utilities — a major overhead for hosts. I have obtained numbers on Numbeo which puts average rents in these cities at about $2360 yearly, a range of between $1938 USD (San Diego) – $3936 USD (Detroit).
That said, my calculation did not consider cleaning fees, which can amount to $100's per month, and thus potentially offsetting utility costs incurred.
For a more accurate comparison, both of these factors should be considered.
Airbnb hosts renting 2 bedroomed homes make more money than 1 bedroomed homes. In many cases hosts subletting can pay their yearly rent twice over from Airbnb yields. Likewise many homeowners in the cities analysed could make the purchase price of their home in only a few years through Airbnb guests.


text:
Q: how to add a href link in a variable in laravel I have created a variable inside a controller whereby I want to put a href link inside the variable. everything works well but I want to add a download link for the to be able to view the link in the message sent to them.I have tried this but the URL isn't being rendered in the message.I haven't understood where am doing it wrong.
 $downloadurl="'downloadpaymentreceipt/$payment->id/$payment->date_paid'";

        // Set your message
$message = "hello there your payment has been received.Click Here to downoad your receipt.";

A: Try this
$message = 'hello there your payment has been received.Click Here to downoad your receipt.";

Or like this
$message = "
hello there your payment has been received.Click Here to downoad your receipt.
";

A: use the back cotes (``)

$message = "hello there your payment has been received.Click `<a href=$downloadurl>Here</a>` to downoad your receipt.";


text:
#include "caipadapter.h"

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>

#include "caipnwmonitor.h"
#include "caipinterface.h"
#include "caqueueingthread.h"
#include "caadapterutils.h"
#ifdef __WITH_DTLS__
#include "ca_adapter_net_ssl.h"
#endif
#include "octhread.h"
#include "uarraylist.h"
#include "caremotehandler.h"
#include "logger.h"
#include "oic_malloc.h"
#include "oic_string.h"
#include "iotivity_debug.h"

/**
 * Logging tag for module name.
 */
#define TAG "OIC_CA_IP_ADAP"

#ifndef SINGLE_THREAD
/**
 * Holds inter thread ip data information.
 */
typedef struct
{
    CAEndpoint_t *remoteEndpoint;
    void *data;
    uint32_t dataLen;
    bool isMulticast;
} CAIPData_t;

/**
 * Queue handle for Send Data.
 */
static CAQueueingThread_t *g_sendQueueHandle = NULL;
#endif

/**
 * List of the endpoint that has a stack-owned IP address.
 */
static u_arraylist_t *g_ownIpEndpointList = NULL;

/**
 * Network Packet Received Callback to CA.
 */
static CANetworkPacketReceivedCallback g_networkPacketCallback = NULL;

/**
 * Network Changed Callback to CA.
 */
static CAAdapterChangeCallback g_networkChangeCallback = NULL;

/**
 * error Callback to CA adapter.
 */
static CAErrorHandleCallback g_errorCallback = NULL;

static void CAIPPacketReceivedCB(const CASecureEndpoint_t *endpoint,
                                 const void *data, size_t dataLength);
#ifdef __WITH_DTLS__
static ssize_t CAIPPacketSendCB(CAEndpoint_t *endpoint,
                                const void *data, size_t dataLength);
#endif

static void CAUpdateStoredIPAddressInfo(CANetworkStatus_t status);

#ifndef SINGLE_THREAD

static CAResult_t CAIPInitializeQueueHandles();

static void CAIPDeinitializeQueueHandles();

static void CAIPSendDataThread(void *threadData);

static CAIPData_t *CACreateIPData(const CAEndpoint_t *remoteEndpoint,
                                  const void *data, uint32_t dataLength,
                                  bool isMulticast);

void CAFreeIPData(CAIPData_t *ipData);

static void CADataDestroyer(void *data, uint32_t size);

CAResult_t CAIPInitializeQueueHandles()
{
    // Check if the message queue is already initialized
    if (g_sendQueueHandle)
    {
        OIC_LOG(DEBUG, TAG, "send queue handle is already initialized!");
        return CA_STATUS_OK;
    }

    g_ownIpEndpointList = u_arraylist_create();
    if (!g_ownIpEndpointList)
    {
        OIC_LOG(ERROR, TAG, "Memory allocation failed! (g_ownIpEndpointList)");
        return CA_MEMORY_ALLOC_FAILED;
    }

    // Create send message queue
    g_sendQueueHandle = OICMalloc(sizeof(CAQueueingThread_t));
    if (!g_sendQueueHandle)
    {
        OIC_LOG(ERROR, TAG, "Memory allocation failed! (g_sendQueueHandle)");
        u_arraylist_free(&g_ownIpEndpointList);
        g_ownIpEndpointList = NULL;
        return CA_MEMORY_ALLOC_FAILED;
    }

    if (CA_STATUS_OK != CAQueueingThreadInitialize(g_sendQueueHandle,
                                (const ca_thread_pool_t)caglobals.ip.threadpool,
                                CAIPSendDataThread, CADataDestroyer))
    {
        OIC_LOG(ERROR, TAG, "Failed to Initialize send queue thread");
        OICFree(g_sendQueueHandle);
        g_sendQueueHandle = NULL;
        u_arraylist_free(&g_ownIpEndpointList);
        g_ownIpEndpointList = NULL;
        return CA_STATUS_FAILED;
    }

    return CA_STATUS_OK;
}

void CAIPDeinitializeQueueHandles()
{
    CAQueueingThreadDestroy(g_sendQueueHandle);
    OICFree(g_sendQueueHandle);
    g_sendQueueHandle = NULL;

    // Since the items in g_ownIpEndpointList are allocated once in a big chunk, we only need to
    // free the first item. Another location this is done is in the CA_INTERFACE_DOWN handler
    // in CAUpdateStoredIPAddressInfo().
    OICFree(u_arraylist_get(g_ownIpEndpointList, 0));
    u_arraylist_free(&g_ownIpEndpointList);
    g_ownIpEndpointList = NULL;
}

#endif // SINGLE_THREAD

void CAIPAdapterHandler(CATransportAdapter_t adapter, CANetworkStatus_t status)
{
    CAUpdateStoredIPAddressInfo(status);

    if (g_networkChangeCallback)
    {
        g_networkChangeCallback(adapter, status);
    }
    else
    {
        OIC_LOG(ERROR, TAG, "g_networkChangeCallback is NULL");
    }

    if (CA_INTERFACE_DOWN == status)
    {
        OIC_LOG(DEBUG, TAG, "Network status for IP is down");
#ifdef __WITH_DTLS__
        OIC_LOG(DEBUG, TAG, "close all ssl session");
        CAcloseSslConnectionAll(CA_ADAPTER_IP);
#endif
    }
}

static void CAUpdateStoredIPAddressInfo(CANetworkStatus_t status)
{
    if (CA_INTERFACE_UP == status)
    {
        OIC_LOG(DEBUG, TAG, "IP adapter status is on. Store the own IP address info");

        CAEndpoint_t *eps = NULL;
        size_t numOfEps = 0;

        CAResult_t res = CAGetIPInterfaceInformation(&eps, &numOfEps);
        if (CA_STATUS_OK != res)
        {
            OIC_LOG(ERROR, TAG, "CAGetIPInterfaceInformation failed");
            return;
        }

        for (size_t i = 0; i < numOfEps; i++)
        {
            u_arraylist_add(g_ownIpEndpointList, (void *)&eps[i]);
        }
    }
    else // CA_INTERFACE_DOWN
    {
        OIC_LOG(DEBUG, TAG, "IP adapter status is off. Remove the own IP address info");

        CAEndpoint_t *headEp = u_arraylist_get(g_ownIpEndpointList, 0);
        OICFree(headEp);
        headEp = NULL;

        size_t len = u_arraylist_length(g_ownIpEndpointList);
        for (size_t i = len; i > 0; i--)
        {
            u_arraylist_remove(g_ownIpEndpointList, i - 1);
        }
    }
}

#ifdef __WITH_DTLS__
static ssize_t CAIPPacketSendCB(CAEndpoint_t *endpoint, const void *data, size_t dataLength)
{
    VERIFY_NON_NULL_RET(endpoint, TAG, "endpoint is NULL", -1);
    VERIFY_NON_NULL_RET(data, TAG, "data is NULL", -1);

    CAIPSendData(endpoint, data, dataLength, false);
    return dataLength;
}
#endif

void CAIPPacketReceivedCB(const CASecureEndpoint_t *sep, const void *data,
                          size_t dataLength)
{
    VERIFY_NON_NULL_VOID(sep, TAG, "sep is NULL");
    VERIFY_NON_NULL_VOID(data, TAG, "data is NULL");

    OIC_LOG_V(DEBUG, TAG, "Address: %s, port:%d", sep->endpoint.addr, sep->endpoint.port);

    if (g_networkPacketCallback)
    {
        g_networkPacketCallback(sep, data, dataLength);
    }
}

bool CAIPIsLocalEndpoint(const CAEndpoint_t *ep)
{
    char addr[MAX_ADDR_STR_SIZE_CA];
    OICStrcpy(addr, MAX_ADDR_STR_SIZE_CA, ep->addr);

    // drop the zone ID if the address of endpoint is IPv6. ifindex will be checked instead.
    if ((ep->flags & CA_IPV6) && strchr(addr, '%'))
    {
        strtok(addr, "%");
    }

    size_t len = u_arraylist_length(g_ownIpEndpointList);
    for (size_t i = 0; i < len; i++)
    {
        CAEndpoint_t *ownIpEp = u_arraylist_get(g_ownIpEndpointList, i);
        if (!strcmp(addr, ownIpEp->addr) && ep->port == ownIpEp->port
                                         && ep->ifindex == ownIpEp->ifindex)
        {
            return true;
        }
    }

    return false;
}

void CAIPErrorHandler(const CAEndpoint_t *endpoint, const void *data,
                      size_t dataLength, CAResult_t result)
{
    VERIFY_NON_NULL_VOID(endpoint, TAG, "endpoint is NULL");
    VERIFY_NON_NULL_VOID(data, TAG, "data is NULL");

    if (g_errorCallback)
    {
        g_errorCallback(endpoint, data, dataLength, result);
    }
}

static void CAInitializeIPGlobals()
{
    caglobals.ip.u6.fd  = OC_INVALID_SOCKET;
    caglobals.ip.u6s.fd = OC_INVALID_SOCKET;
    caglobals.ip.u4.fd  = OC_INVALID_SOCKET;
    caglobals.ip.u4s.fd = OC_INVALID_SOCKET;
    caglobals.ip.m6.fd  = OC_INVALID_SOCKET;
    caglobals.ip.m6s.fd = OC_INVALID_SOCKET;
    caglobals.ip.m4.fd  = OC_INVALID_SOCKET;
    caglobals.ip.m4s.fd = OC_INVALID_SOCKET;
    caglobals.ip.u6.port  = 0;
    caglobals.ip.u6s.port = 0;
    caglobals.ip.u4.port  = 0;
    caglobals.ip.u4s.port = 0;
    caglobals.ip.m6.port  = CA_COAP;
    caglobals.ip.m6s.port = CA_SECURE_COAP;
    caglobals.ip.m4.port  = CA_COAP;
    caglobals.ip.m4s.port = CA_SECURE_COAP;

    CATransportFlags_t flags = 0;
    if (caglobals.client)
    {
        flags |= caglobals.clientFlags;
    }
    if (caglobals.server)
    {
        flags |= caglobals.serverFlags;
    }
    caglobals.ip.ipv6enabled = flags & CA_IPV6;
    caglobals.ip.ipv4enabled = flags & CA_IPV4;
    caglobals.ip.dualstack = caglobals.ip.ipv6enabled && caglobals.ip.ipv4enabled;
}

CAResult_t CAInitializeIP(CARegisterConnectivityCallback registerCallback,
                          CANetworkPacketReceivedCallback networkPacketCallback,
                          CAAdapterChangeCallback netCallback,
                          CAErrorHandleCallback errorCallback, ca_thread_pool_t handle)
{
    OIC_LOG(DEBUG, TAG, "IN");
    VERIFY_NON_NULL(registerCallback, TAG, "registerCallback");
    VERIFY_NON_NULL(networkPacketCallback, TAG, "networkPacketCallback");
    VERIFY_NON_NULL(netCallback, TAG, "netCallback");
#ifndef SINGLE_THREAD
    VERIFY_NON_NULL(handle, TAG, "thread pool handle");
#endif

#ifdef WSA_WAIT_EVENT_0
    // Windows-specific initialization.
    WORD wVersionRequested = MAKEWORD(2, 2);
    WSADATA wsaData = {.wVersion = 0};
    int err = WSAStartup(wVersionRequested, &wsaData);
    if (0 != err)
    {
        OIC_LOG_V(ERROR, TAG, "%s: WSAStartup failed: %i", __func__, err);
        return CA_STATUS_FAILED;
    }
    OIC_LOG(DEBUG, TAG, "WSAStartup Succeeded");
#endif

    g_networkChangeCallback = netCallback;
    g_networkPacketCallback = networkPacketCallback;
    g_errorCallback = errorCallback;

    CAInitializeIPGlobals();
    caglobals.ip.threadpool = handle;

    CAIPSetErrorHandler(CAIPErrorHandler);
    CAIPSetPacketReceiveCallback(CAIPPacketReceivedCB);

#ifdef __WITH_DTLS__
    if (CA_STATUS_OK != CAinitSslAdapter())
    {
        OIC_LOG(ERROR, TAG, "Failed to init SSL adapter");
    }
    else
    {
        CAsetSslAdapterCallbacks(CAIPPacketReceivedCB, CAIPPacketSendCB, CAIPErrorHandler, CA_ADAPTER_IP);
    }
#endif

    static const CAConnectivityHandler_t ipHandler =
        {
            .startAdapter = CAStartIP,
            .stopAdapter = CAStopIP,
            .startListenServer = CAStartIPListeningServer,
            .stopListenServer = CAStopIPListeningServer,
            .startDiscoveryServer = CAStartIPDiscoveryServer,
            .sendData = CASendIPUnicastData,
            .sendDataToAll = CASendIPMulticastData,
            .GetnetInfo = CAGetIPInterfaceInformation,
            .readData = CAReadIPData,
            .terminate = CATerminateIP,
            .cType = CA_ADAPTER_IP
        };
    registerCallback(ipHandler);

    OIC_LOG(INFO, TAG, "OUT IntializeIP is Success");
    return CA_STATUS_OK;
}

CAResult_t CAStartIP()
{
    //Initializing the Globals
    CAInitializeIPGlobals();

    // Specific the port number received from application.
    caglobals.ip.u6.port  = caglobals.ports.udp.u6;
    caglobals.ip.u6s.port = caglobals.ports.udp.u6s;
    caglobals.ip.u4.port  = caglobals.ports.udp.u4;
    caglobals.ip.u4s.port = caglobals.ports.udp.u4s;

    CAIPStartNetworkMonitor(CAIPAdapterHandler, CA_ADAPTER_IP);
#ifdef SINGLE_THREAD
    uint16_t unicastPort = 55555;
    // Address is hardcoded as we are using Single Interface
    CAResult_t ret = CAIPStartServer();
    if (CA_STATUS_OK != ret)
    {
        OIC_LOG_V(DEBUG, TAG, "CAIPStartServer failed[%d]", ret);
        return ret;
    }
#else
    if (CA_STATUS_OK != CAIPInitializeQueueHandles())
    {
        OIC_LOG(ERROR, TAG, "Failed to Initialize Queue Handle");
        CATerminateIP();
        return CA_STATUS_FAILED;
    }

    // Start send queue thread
#ifndef __TIZENRT__
    if (CA_STATUS_OK != CAQueueingThreadStart(g_sendQueueHandle))
#else
    if (CA_STATUS_OK != CAQueueingThreadStart(g_sendQueueHandle, "IoT_IPSendQueue"))
#endif
    {
        OIC_LOG(ERROR, TAG, "Failed to Start Send Data Thread");
        return CA_STATUS_FAILED;
    }

    CAResult_t ret = CAIPStartServer((const ca_thread_pool_t)caglobals.ip.threadpool);
    if (CA_STATUS_OK != ret)
    {
        OIC_LOG_V(ERROR, TAG, "Failed to start server![%d]", ret);
        return ret;
    }

#endif

    return CA_STATUS_OK;
}

CAResult_t CAStartIPListeningServer()
{
    CAResult_t ret = CAIPStartListenServer();
    if (CA_STATUS_OK != ret)
    {
        OIC_LOG_V(ERROR, TAG, "Failed to start listening server![%d]", ret);
        return ret;
    }

    return CA_STATUS_OK;
}

CAResult_t CAStopIPListeningServer()
{
    CAResult_t ret = CAIPStopListenServer();
    if (CA_STATUS_OK != ret)
    {
        OIC_LOG_V(ERROR, TAG, "Failed to stop listening server![%d]", ret);
    }

    return ret;
}

CAResult_t CAStartIPDiscoveryServer()
{
    return CAStartIPListeningServer();
}

static int32_t CAQueueIPData(bool isMulticast, const CAEndpoint_t *endpoint,
                             const void *data, uint32_t dataLength)
{
    VERIFY_NON_NULL_RET(endpoint, TAG, "remoteEndpoint", -1);
    VERIFY_NON_NULL_RET(data, TAG, "data", -1);

    if (0 == dataLength)
    {
        OIC_LOG(ERROR, TAG, "Invalid Data Length");
        return -1;
    }

#ifdef SINGLE_THREAD

    CAIPSendData(endpoint, data, dataLength, isMulticast);
    return dataLength;

#else

    VERIFY_NON_NULL_RET(g_sendQueueHandle, TAG, "sendQueueHandle", -1);
    // Create IPData to add to queue
    CAIPData_t *ipData = CACreateIPData(endpoint, data, dataLength, isMulticast);
    if (!ipData)
    {
        OIC_LOG(ERROR, TAG, "Failed to create ipData!");
        return -1;
    }
    // Add message to send queue
    CAQueueingThreadAddData(g_sendQueueHandle, ipData, sizeof(CAIPData_t));

#endif // SINGLE_THREAD

    return dataLength;
}

int32_t CASendIPUnicastData(const CAEndpoint_t *endpoint,
                            const void *data, uint32_t dataLength,
                            CADataType_t dataType)
{
    (void)dataType;
    return CAQueueIPData(false, endpoint, data, dataLength);
}

int32_t CASendIPMulticastData(const CAEndpoint_t *endpoint, const void *data, uint32_t dataLength,
                              CADataType_t dataType)
{
    (void)dataType;
    return CAQueueIPData(true, endpoint, data, dataLength);
}

CAResult_t CAReadIPData()
{
    CAIPPullData();
    return CA_STATUS_OK;
}

CAResult_t CAStopIP()
{
#ifdef __WITH_DTLS__
    CAdeinitSslAdapter();
#endif

#ifndef SINGLE_THREAD
    if (g_sendQueueHandle && g_sendQueueHandle->threadMutex)
    {
        CAQueueingThreadStop(g_sendQueueHandle);
    }
#endif

    CAIPStopNetworkMonitor(CA_ADAPTER_IP);
    CAIPStopServer();

    return CA_STATUS_OK;
}

void CATerminateIP()
{
#ifdef __WITH_DTLS__
    CAsetSslAdapterCallbacks(NULL, NULL, NULL, CA_ADAPTER_IP);
#endif

    CAIPSetPacketReceiveCallback(NULL);

#ifndef SINGLE_THREAD
    CAIPDeinitializeQueueHandles();
#endif

#ifdef WSA_WAIT_EVENT_0
    // Windows-specific clean-up.
    OC_VERIFY(0 == WSACleanup());
#endif
}

#ifndef SINGLE_THREAD

void CAIPSendDataThread(void *threadData)
{
    CAIPData_t *ipData = (CAIPData_t *) threadData;
    if (!ipData)
    {
        OIC_LOG(DEBUG, TAG, "Invalid ip data!");
        return;
    }

    if (ipData->isMulticast)
    {
        //Processing for sending multicast
        OIC_LOG(DEBUG, TAG, "Send Multicast Data is called");
        CAIPSendData(ipData->remoteEndpoint, ipData->data, ipData->dataLen, true);
    }
    else
    {
        //Processing for sending unicast
#ifdef __WITH_DTLS__
        if (ipData->remoteEndpoint && ipData->remoteEndpoint->flags & CA_SECURE)
        {
            OIC_LOG(DEBUG, TAG, "DTLS encrypt called");
            CAResult_t result = CAencryptSsl(ipData->remoteEndpoint, ipData->data, ipData->dataLen);
            if (CA_STATUS_OK != result)
            {
                OIC_LOG(ERROR, TAG, "CAencryptSsl failed!");
            }
            OIC_LOG_V(DEBUG, TAG, "CAencryptSsl returned with result[%d]", result);
        }
        else
        {
            OIC_LOG(DEBUG, TAG, "Send Unicast Data is called");
            CAIPSendData(ipData->remoteEndpoint, ipData->data, ipData->dataLen, false);
        }
#else
        CAIPSendData(ipData->remoteEndpoint, ipData->data, ipData->dataLen, false);
#endif
    }
}

#endif

#ifndef SINGLE_THREAD
CAIPData_t *CACreateIPData(const CAEndpoint_t *remoteEndpoint, const void *data,
                           uint32_t dataLength, bool isMulticast)
{
    VERIFY_NON_NULL_RET(remoteEndpoint, TAG, "remoteEndpoint is NULL", NULL);
    VERIFY_NON_NULL_RET(data, TAG, "IPData is NULL", NULL);

    CAIPData_t *ipData = (CAIPData_t *) OICMalloc(sizeof(*ipData));
    if (!ipData)
    {
        OIC_LOG(ERROR, TAG, "Memory allocation failed!");
        return NULL;
    }

    ipData->remoteEndpoint = CACloneEndpoint(remoteEndpoint);
    ipData->data = (void *) OICMalloc(dataLength);
    if (!ipData->data)
    {
        OIC_LOG(ERROR, TAG, "Memory allocation failed!");
        CAFreeIPData(ipData);
        return NULL;
    }

    memcpy(ipData->data, data, dataLength);
    ipData->dataLen = dataLength;

    ipData->isMulticast = isMulticast;

    return ipData;
}

void CAFreeIPData(CAIPData_t *ipData)
{
    VERIFY_NON_NULL_VOID(ipData, TAG, "ipData is NULL");

    CAFreeEndpoint(ipData->remoteEndpoint);
    OICFree(ipData->data);
    OICFree(ipData);
}

void CADataDestroyer(void *data, uint32_t size)
{
    if (size < sizeof(CAIPData_t))
    {
        OIC_LOG_V(ERROR, TAG, "Destroy data too small %p %d", data, size);
    }
    CAIPData_t *etdata = (CAIPData_t *) data;

    CAFreeIPData(etdata);
}

#endif // SINGLE_THREAD

redpajama_set_name: RedPajamaGithub


A presentation at Trilogy at the Vineyards on different types of cannabis products from Octavia Wellness.
Whatever your stance on it, there's no denying that legalized marijuana is becoming the norm across the U.S. It is currently legal to use cannabis recreationally in ten states (Alaska, California, Colorado, Maine, Massachusetts, Michigan, Nevada, Oregon, Vermont, and Washington) as well as Washington, D.C. It's legal to sell marijuana in retail stores in each of those places except for Vermont and D.C.
Cannabis is also decriminalized in 14 more states, including Arizona, Florida, Illinois, and New Jersey. Specifics vary from state to state, but it usually means that medical marijuana is allowed in some form but the recreational version is not. In some cases, these states have also lessened punishments for possession.
A state-by-state breakdown of marijuana laws.
For active adults living in these states, these changes can open up whole new possibilities. Medical marijuana has been a boon for seniors looking for alternative pain medication and many studies have shown overwhelmingly positive effects. It's no surprise to learn that seniors are the fastest-growing population of new cannabis users in America as more of them turn to it, whether to improve health or their well-being.
For many, however, the whole topic of marijuana still feels a little sticky. After having lived in a world where it was illegal for so long, it can be a bit daunting to suddenly walk into a store, know what you're looking for, and buy it without looking over your shoulder. Let's try to demystify marijuana and make it easier for active adults to make the right choice for themselves.
One of the first questions you might have is what the difference is between marijuana, hemp, and cannabis? While you'll see these words used often, they are usually describing the same thing. That said, there are plenty of people out there willing to argue over semantics, especially if you compare the scientific and legal definitions.
Cannabis is the scientific name of the plant from which all of the products you buy are derived. Within the Cannabis family of plants are a few different types of plants, one of which includes psychoactive substances (usually referred to as lowercase cannabis) and one of which does not (usually referred to as hemp). Whereas the former is used to create psychoactive products, such as recreational drugs and oils, the latter is used as a textile. Marijuana, meanwhile, is simply a nickname of Mexican origin given to the cannabis plant and its flowers.
Under U.S. law, however, cannabis is the plant while hemp and marijuana describe specific parts of the plant. Hemp usually refers to sterilized seeds, stalks, and roots while marijuana refers to seeds, leaves, and flowers that contain psychoactive substances.
Long story short, if you're going to buy a recreational product, you can't really go wrong referring to it as cannabis or marijuana.
What Are the Health Benefits?
After years of misinformation and confusion, people are starting to realize that there are lots of health benefits to cannabis, which has been used medicinally for thousands of years. While there are pros and cons to all medical treatments, cannabis can offer help to those suffering from any number of ailments, including anxiety, insomnia, nausea, migraine headaches, glaucoma, and chronic pain. It has even been used as part of treatment plans for those suffering from Parkinson's and Alzheimer's.
There are still plenty of debates being held about the effectiveness of cannabis for specific ailments, as well as levels of addictiveness. A 2016 study in Health Affairs noted that painkiller prescriptions went down in states where residents had access to cannabis and many see it as a better alternative to opioids.
What Kinds of Products Can I Buy?
There used to be a time when the only way to use marijuana would be in the form of a joint. Those days are long gone as recreational usage has opened the floodgates to new products and unique ideas to make cannabis as customer-friendly as possible. In fact, there are four basic types of products you'll be able to buy in the neighborhood cannabis shop.
The most recognizable way to use cannabis is to inhale it by smoking. You can buy loose cannabis flowers or hash if you want but dispensaries offer pre-rolled joints as well. Vaping (e-cigarettes) has gained popularity in recent years as an alternative for smokers but it also works for cannabis. The vapor that a vape pen produces is gentler on the lungs than if smoked. Ingesting cannabis in this method means you'll feel the effects quickly and is a good option if you are experiencing nausea.
You don't need to inhale cannabis to enjoy its effects. Instead, you apply it directly to your skin in the form of a cream, balm, or spray. Topical usage is a great way to treat localized pain, eczema, and burns because it offers all of the soothing benefits without any side effects. Not only do topicals start working quickly and last for up to four hours but you can continue to apply since there is no psychoactive effect. "You don't have to get high to experience the benefits of cannabis," according to Annie Franklin of Octavia Wellness, which specifically gears its line of products towards seniors and their needs.
Cannabis extracts are often blended with oils or alcohol bases to create tinctures that you can take orally. This eliminates concerns over the bad smells and smoke often associated with marijuana. This version of cannabis is good for treating chronic pain or insomnia and works best when placed under the tongue in order to be absorbed. This version takes effect quickly and lasts for two-to-four hours.
You've probably heard of pot brownies but those are just the tip of the iceberg when it comes to cannabis-infused edible items. These days you'll find edibles of all kinds, from chocolates to cakes to gummies. It's a great option for those who don't want to smoke but want to use the product in a way that lasts long. It's important to read product labels, understand the dosages, and ask for advice if you're trying edibles for the first time. Effects can last anywhere from three to six hours depending on all of the ingredients.
Your local dispensary will have plenty of cannabis products to try.
Once you've decided to give cannabis a try, it might feel overwhelming to try to figure out where to go to get it. The good news is that there are plenty of options in states where recreational cannabis is legal.
Given the booming popularity of recreational marijuana in states where it's legal, there is probably a dispensary located within driving distance to you. These aren't fly-by-night operations, either. These are licensed and regulated stores full of well-sourced products. You can even shop around to see which dispensary you like best. You want to find one with a knowledgeable staff, good product selection, and a friendly atmosphere.
Local marijuana delivery is still something of a grey area (although that is changing in some states). But if you plan ahead, you can order cannabis products for delivery from companies such as Octavia Wellness in California or Stratos in Colorado. These companies offer full lines of products that can be sent directly to your doorstep. Because of the current laws, you'll only be able to receive delivery from a company that resides in the same state as you. You'll also likely need a prescription for medical marijuana.
What Are My Community Rules?
It might be legal to use recreational or medical cannabis in your state, but that doesn't necessarily mean it's okay to use it in your active adult community. Just like with tobacco and alcohol, each community can have their own specific rules about what residents are allowed to do, where it can be stored, and what versions of the product can be used.
The easiest way to find out what your community rules are is to ask. Get a copy of the homeowner's association bylaws. If there's nothing in there about cannabis use, or if the rules are hazy regarding oils or edibles, perhaps it's something that needs to be addressed at a board meeting.


text:
← Welcome Guest Author, Elf Ahearn, and the Amazon Sale of "A Rogue in Sheep's Clothing"
Celebrating the Release of "Mr. Darcy's Present: A Pride and Prejudice Holiday Vagary" + Excerpt + Giveaway →
Samuel Adams, "Poster Boy" of the American Uprising and Signer of the Declaration of Independence
Posted on September 16, 2016 by reginajeffers
Samuel Adams was one of Boston's most prominent revolutionary leaders. He was known for his ability to harness popular resentment against Parliament's authority to tax the colonies in a productive manner. His role in the origins of the American War of Independence cannot be understated. His unique perspective and his ability to galvanize popular support were pivotal in the success of the Boston Tea Party. His early Tory opponents thought him an extremist. However, his own writings prove otherwise. He simply expressed the opinions of the American populace, a position with which the British Parliament did not agree. The British need to remove Adams as a ringleader of the "Independence" movement laid the groundwork for his reputation as a leader of the uprising. Both he and his friend John Hancock ended up on a "hit list" of sorts.
Adams was born on September 27, 1722, in Boston, Massachusetts. He was born to a family which was well versed in political protest. His father, Deacon Adams, was a brewer, and owned a brewery in Boston. During the 1730's, Boston experienced a severe economic recession due to a lack of currency, or paper money, in circulation. As a result, in 1739 Deacon Adams helped found the Land Bank which offered paper money to borrowers who mortgaged their property. This Land Bank currency was very popular, especially with poor farmers. It allowed them the power to purchase goods from Boston merchants who were in desperate need of customers. The Land Bank seemed to solve all problems; it gave farmers more purchasing power, and allowed Boston merchants to sell more goods. – See more at: http://www.bostonteapartyship.com/samuel-adams#sthash.G081eJz5.dpuf
Everyone did not fully support this new form of currency. The opposition was led by the Court Party, or aristocratic loyalists who sat primarily on the Governor's Council. In 1741, the members of the Court Party used their status to pressure Parliament to outlaw the Land Bank, and the currency it produced. Those that had manufactured the currency, such as Deacon Adams, were now responsible for all of the paper money that was circulating throughout Massachusetts Bay Colony. All of the farmers that borrowed the currency were now owed silver and gold, and this would come out of the pocket of Deacon Adams. This sent his family spiraling into bankruptcy, and even after Deacon Adams passed away, Samuel would have to defend his estate from the members of the Court Party who wished to seize his land as payment for the debts Deacon Adams owed the government.
This debacle left Samuel with a strong distrust of government. He viewed this decision by Parliament as an exercise of arbitrary power. Naturally he gravitated toward the Popular Party, which was led by James Otis, Jr., a fiery orator who had personal grievances against many of the members of the aristocratic Court Party. Otis guided Adams in his young political career, and helped him develop the rhetoric and methods of political resistance, which would be influential in the rise of the Sons of Liberty. By 1765, Samuel Adams was ready to take the lead. Adams helped formulate resistance to the Stamp Act and played a vital role in organizing the Boston Tea Party. [Revisionists claim Adams was conducting a protest meeting that night of the Tea Party and instead of leading the patriots, he attempted to calm the crowd.]
With his father's death, Samuel inherited both a piece of his father's estate, as well as the family brewery. He was not known for his frugal habits, and soon he was in debt and the brewery had gone bust. He relied upon his wealthier friends for support. Even so, he was a man of principles and did not take the many bribes offered to him as a member of the Massachusetts legislature. Thomas Jefferson called him the "patriarch of liberty." He possessed the gift of rhetoric, which stirred the populace.
He was a second cousin of U.S. President John Adams, with whom he urged a final break from Great Britain, and a signee of the U.S. Declaration of Independence.
Adams served as a legislator of Massachusetts from 1765 to 1774. Among his accomplishments, he founded Boston's Committee of Correspondence, which—like similar entities in other towns across the Colonies—proved a powerful tool for communication and coordination during the American Revolutionary War.
Following his run with the state legislature, Adams served as a Massachusetts delegate to the Continental Congress until 1781. In that role, he urged a final break from Great Britain and signed America's Declaration of Independence alongside his second cousin, future U.S. President John Adams. After the war, he attempted to earn a seat in the House of Representatives, but failed. He did help to draft the Articles of Confederation. At the time, he was in his mid 60s. He refused to sign the new Constitution for it did not contain a Bill of Rights. He thought the Bill of Rights would lead to a better balance of power.
Later, he served as Lieutenant Governor of Massachusetts under John Hancock. He assumed the role of governor with Hancock's passing. It was his final political post, serving from 1794 through 1797.
Adams became a Democratic-Republican when formal American political parties were created in the 1790s. Adams died on October 2, 1803, at age 81. He is interred at the Granary Burying Ground in Boston.
This entry was posted in American History, British history, Declaration of Independence, Georgian England, Great Britain and tagged American history, British history, Massachusetts, Samuel Adams, signer of the Declaration of Independence. Bookmark the permalink.


You want to have the confidence that you are going to have the right equipment for your next production or event, and the right people to operate it. When you ask us to take care of your technical requirements, it's one less thing you will need to worry about. You can be confident that we will work towards your goals without pomp and fanfare, but by providing you world class professional equipment and technicians that bring a wealth of creativity and experience having worked around Australia and in many different disciplines of our industry.
Our philosophy when buying equipment to use on your events is that it must be reliable, be of a high quality and deliver on our clients expectations, and bring great value for money so that we can pass that on to you. We believe that this has set us up over the last 30 years to be able to offer our region a highly regarded service at a reasonable price whatever the scale of your event.
Whether you need one microphone, or a full sound and lighting setup, we can help.
We have a vast range of equipment that can be hired for a day or longer – special rates apply for longer hires. When you hire from us you know that the equipment is well maintained, has been tested before the hire, and is backed up by after hours support if you get really stuck. Some specialised equipment like larger screens or staging can also be delivered to you and set up, we will demonstrate it's use and then leave it with you.
Everyone's needs and budgets are different, that's why we don't have a showroom with a selection of 150 items that we are desperately trying to sell, whether they are right for you or not. Instead, we have long built relationships with all the major suppliers around Australia and the World to get you the right product. Had a quote from another supplier? Please give us the opportunity to try and match it – it is great to support local business and makes life a lot easier down the track when you need support for your purchase, or need to deal with manufacturers regarding warranty, we'll take on that headache for you.
If it's a product we have in our hire stock you can "try before you buy" with your hire price being taken off the purchase price if you decide to buy. Or if your budget can't stretch to a brand new item, we will happily sell you one of our hire stock at an ex-hire discounted price.
If you have installed Audio Visual or Lighting equipment in your venue, or you would like to have some, then please get in touch.
We can fix that annoying buzz that has appeared in your ceiling speakers, find out why your projector has shut itself down or is now all pink, service your stage lighting, and install those wireless microphones you've been fundraising for, plus a whole lot more. Call us to book in a scheduled service call, to talk about an annual maintenance checkup, or organise an emergency callout when things have all gone pear shaped and that important breakfast function is on tomorrow! And if it's a new installation you are after, you can have the confidence that it's not a builder wiring up your specialist equipment, it's an AV professional.
For repairs of all AV and related equipment please call us to discuss your options. Simple repairs, sourcing spare parts and fault finding can often be done in a short period of time in our Wollongong workshop. For more serious repairs, we will coordinate the shipping to the most suitable repair centre, including the manufacturer where possible. Turn around times on repairs are usually within two weeks, and if it's a piece of equipment that is integral to your system, we can often hire you a replacement at greatly discounted rates while your item is being repaired.


Since my son's first teeth came in I have brushed them in one way or another. I used a washcloth or a small finger brush with water. Now that he is almost 1 and has 6 front teeth I was concerned he needed a better toothbrush. I was thrilled when I had the opportunity to review a Spider Man Firefly Toothbrush. Right out of the packaging I was impressed. Spider Man looked so cool. I enjoyed the way it lights up when the timer button is pushed. We even turned out the lights one night after brushing his teeth to watch the red light do a mini light show on the walls and ceiling. He made the sweetest face watching Spidey light the room.
The bristles were just right for his teeth, he let me only brush them a few seconds at a time but each time he seems to get more use to the sensation. My little guy is very grabby so his favorite part was to take the toothbrush from me and try to brush his hair. I recently showed him how to use his hair brush so now he brushes his hair with toys too.
I would recommend this toothbrush for any parent to buy for the light up timer that flashes for one minute. I think this gives kids something entertaining at the same time is giving them guidance on how long to be brushing. I like the idea of 1 minute for the top teeth then press the timer again and brush one minute on the bottom teeth.
Firefly toothbrushes are also available in Barbie, Hot Wheels and non character in the colors red, blue, green, yellow, pink and clear. You can find Firefly toothbrushes at Walmart, Kmart, Walgreens, Toys R Us, Target and Big Lots.
For more information you can follow FireFly Toothbrushes on Twitter and be a fan on Facebook.
* I was not paid for this post. This review is my own opinion and may vary from others. I was sent one free Firefly Spider Man toothbrush.