text:
Workforce Under Construction Part 6: Go Build
posted on October 12, 2015 at 8:00 am in Profile
Launched in 2010, the Go Build campaign's mission is to educate young people and others about the value of learning a construction trade, dispelling misconceptions about the industry and encouraging them to consider building a career as a skilled construction professional. Go Build promotes its message through outlets such as mass media and social media. At the grassroots level, the program focuses on attending high school career events—which includes anywhere from 50 to 80 events per year and puts the message in front of almost 100,000 students every year. "If we can inspire students or someone else and get them interested, we have a number of resources, including a website and mobile app, they can use to learn even more about the industry and begin to connect with construction training programs in the state," said Jason Phelps, executive director of the Alabama Construction Recruitment Institute, which created and manages the campaign. "We are the front end of the recruitment piece, and we are working to get them to take those first steps. We empower them with the information needed to take the first steps."
Now in its fifth year, Go Build's messaging is having an effect. After experiencing the program's message, students are two times more likely to refer friends and family to the industry and almost 20 percent more likely to consider going into the construction industry. In a survey conducted of high school career tech students in 2013, 33 percent said Go Build actually played a role in choosing a construction career. "During that same period, the Alabama Department of Education had a 30 percent increase in enrollment in construction classes that year," Phelps added. "That's a great correlation as far as students' responses and an actual increases in classes around the state. We just finished up the 2015 survey, and this number has actually increased to approximately 50 percent who were influenced to go into construction because of Go Build."
Going forward, the Go Build program will continue building on its foundational mission. Campaign leaders created new TV ads geared towards a younger audience and are developing more ads encouraging students and others to look at construction training opportunities that are available. Also being created are occupational videos, which are short videos that highlight specific tradespeople around the state. "These are short one to three minute videos that have someone talking about their career, why they made the decision to get into and why they like it," Phelps said. "We've been doing these as often as possible and found they have been very effective in helping people learn about different career opportunities."
More information: www.gobuildalabama.com.
Garry & Jimmy Ard: 2018 Cornerstone Award Winners
By Paige Townley, originally published in Alabama Construction News Garry Ard loves a good challenge. It's what led... »
DeAngelis Diamond: Breaking Ground in Health Care Construction
DeAngelis Diamond's focus on ways to enhance the construction process of freestanding emergency departments »
Celebrating Women's History Month: A Q&A With Eden Lindsey
ABC celebrates Women's History month with a focus on Eden Lindsey »
Celebrating Women's History Month: A Q&A With Shannon Riley
This week, we shine the spotlight on Shannon Riley, CEO and president of One Stop Environmental »


Video accounted for 64% of all Internet traffic this past year. By 2019, experts estimate this number to escalate to 80%. How will you tap into this market?
One great way to do this is to repurpose your current and future web content — especially your blogs post — into educational and entertaining videos.
What's in it for you? The benefits are clear: If you don't do online video marketing, you will be missing out on 80% of all web traffic!
And I'm going to make this easy for you — you don't need to become a master videographer. You simply need to learn some basic concepts and technologies and you'll be on your way.
By the time we are done here, I will have shown you how to create a video template and repurpose your blog posts into entertaining, informative, and educational videos.
I will lead by example so you can follow along. I will be repurposing the blog post entitled 10 Reasons Businesses Fail at Social Media…and How to Not Be One of Them! into a video for YouTube, Facebook, and I'll even show you how to upload a teaser video to Twitter.
The key to creating videos quickly is to have a great template that you can use over and over. Once you have this template and get the process down, you can easily repurpose web content to video in an hour or two.
We are going to use PowerPoint for this. For many (especially beginners who are new to creating video content), this makes things easier because you probably already have a template that you use for presentations.
For videos, you want to make sure that your PowerPoint slides are set to 16:9, which will enable a nice viewing experience on YouTube and other video sites. Here are instructions on how to that.
When I am creating a new video presentation, these 6 slides are all I need to begin. I just copy and paste these slides to create new slides based on my new topic. You can see them in use in the final video below.
One of the reasons that repurposing your web content is such a no-brainer is that you already have the content. You don't have to reinvent the wheel.
That said, you can't just present the wheel as is; in other words, you don't want to just copy and paste.
If you make your video content the exact same as your blog content, they will compete against one another. You want to create a new slant, a new angle for your content that meets the needs of the video market.
Let's look at my example. As we see above, the original title was 10 Reasons Businesses Fail at Social Media…and How to Not Be One of Them!. This post looked at why small businesses fail on social media.
I decided that my video will take a more positive approach. Rather than look at what small businesses are doing wrong, I decided to approach it from a more positive light: What small businesses can do on social media to improve their Return on Investment.
With that idea in mind, I refer to this title generator article to come up with the best headline for my article.
I came up with this title: 10 Quick Ways to Improve Your Small Business Social Media ROI. And look at the graphic below…the headline analyzer gives me an A+.
I'm now all set with a new title for my video.
Now I need to get all of the slides in order. For this video, it's easy. Numbered blog posts with titles such as "10 Methods to…" are very easy to repurpose for video.
Why? Well, you made 10 points in the article so you will have 10 slides illustrating those points. In the case of my example, I will re-word most of the "10 Quick Ways" but the ideas are all there.
Finally, remember to consider the medium — video! I try as best as I can to keep my videos short and sweet. The video audience normally does not stick with a video that labors on and on.
For those viewers who want more detailed information, I include a link below the video that points to the blog post for more in-depth information.
After you have created all of your PowerPoint slides that will be placed in the video, you're ready to prepare your slides for video.
After choosing "Every Slide", PowerPoint creates a directory with all of your slides in .jpg format.
We will then use these .jpg files in the next step.
Most of you have probably used PowerPoint so the steps above were nothing new. In this step 4, I am going to introduce you to something new: Camtasia Studio.
I have tried all of the freebie video creators on the market and none compares with the ease-of-use and quality-of-end-result to Camtasia studio. Yes, it costs money but let me assure you that your time is worth too much to dabble with all of the freebies out there and discover that they just don't cut it. Plus, you can try it for free. So, if you're working as we go, go ahead and try it right now.
We are essentially going to do two things in Camtasia Studio: (1) Import our PowerPoint photos. And (2), add narration to each slide.
To import the PowerPoint slides in Camtasia Studio, you only need to click "Import Media", locate the directory with all of your slides, select them, and choose open. Once all of the slides are in Camtasia Studio, just drag them down to the "track" area and they will be all setup.
That's it for the video. You're good to go.
Now, all you need to do is add narration to your slides. This is accomplished in Camtasia by choosing "Tools | Voice Narration".
After adding narrations for each slide, you will stretch the slide time to match the length of your narration and — voila! — you will have a full video ready for primetime.
I can't stress this idea enough — proof your video several times and have others do the same. Once you have produced the final upload, placed it on YouTube or another video site, and begun marketing the video location, it is a PITA (pain in the as..phalt?) to get it fixed.
However, if you identify the errors beforehand, they're easy to fix.
In my final production of this video, I made one typo (mistaking they're for their — arggghhh!). As an English major in college, I couldn't let this basic error go unfixed and I was forced to backtrack several steps. Trust me — check your work before you publish your video because, unlike a blog post, you can't just quickly go in and remedy a typo in a video.
Once everything checks out, you can easily upload your video directly to YouTube through Camtasia. Camtasia also allows you to produce an .MP4 file, which I always do for direct uploads to locations other than YouTube, such as Facebook and Twitter.
Speaking of Facebook and Twitter, you may want to consider these video marketing tactics.
Also, if you intend to advertise your video, you may want to add a graphically oriented slide to the very beginning of the video. Facebook applies heavy restrictions to text in ads and videos are no exception. If your video thumbnail is too text intensive (over 20%), you will not be allowed to use the thumbnail in your Facebook ad. Alternatively, if you have completed the video and don't want to modify it, you can simply create a new graphical image for the video thumbnail.
For Twitter, video marketing works a little bit differently. You are allowed to place a 30 second video clip on Twitter.
Now don't worry…you do not have to go back and create a separate 30-second video clip. Twitter allows you to upload your entire video and then trim it to the best 30 seconds. Then, within your Tweet, you can link to the full video if applicable.
Think you can't capture an audience in 30 seconds? Check out this "Damn Daniel White Vans" 30 second clip that has been retweeted and liked over 700,000 times.
Get creative with your marketing ideas and perhaps you can be the next Daniel!
Finally, here is the working example of creating a video from a blog post.


It is difficult to understand what it's like to live with an ostomy, or counsel someone on what to expect, if you've never had one yourself. With this challenge in mind my son Tyler and I created Project WOW (Wear an Ostomy for the Weekend) and offered it to attendees at the Fall 2015 ImproveCareNow Community Conference, with the goal of helping people gain some perspective by "walking in patients' shoes" for the weekend. Recently, at the Spring 2017 Community Conference, we offered Project WOW again, with a few new twists.
My name is Sydney, and I'm 17 years old. I go to St. Pius X Catholic High School in Atlanta, Georgia. I was diagnosed with Crohn's disease just this March. I am a triplet, with two triplet sisters, and I also have a younger brother.
In ImproveCareNow there is a saying (there are many, actually) that goes: "we're building the bike as we're riding it." This feels especially true with research co-production because as our team has been working to create the infrastructure, tools and support necessary for research co—production to happen in ImproveCareNow, we're aware that it's actually already happening.
Almost a month ago, my life as a high school student came to an end - no more waking up at 6am everyday, no more school dances, no more crowded hallways, and no more rules that as a person with Crohn's disease were really hard to follow. Rules like "ask before you leave to use the restroom," "no water bottles in class," and "no food in the classroom," all came to an end.
Rules aside, what did high school teach me, besides how to solve overly-complicated matrices and what taxes are?
Twice-yearly ImproveCareNow Virtual Community Conferences seek to connect and grow our widely distributed and diverse community in pursuit of our mission to improve health and care for all children and youth with Crohn's disease and ulcerative colitis. We invite all people wishing to learn more about and get involved with ImproveCareNow to join us on May 17 between 4 and 8pm ET for our Spring 2017 Virtual Community Conference. Read more to see the agenda for this event.
ImproveCareNow Community Conferences happen twice a year. While the community works together across the miles throughout the year, these conferences provide an in-person opportunity to work on developing and spreading quality improvement (QI) and research skills and approaches; fueling our Network's use of data to drive and evaluate QI efforts; and developing partnerships that will lead to improved care processes and outcomes in pediatric IBD.
In just one week we will welcome over 300 patients, parents, clinicians, researchers, improvers, collaborators, and supporters to the Spring 2017 Community Conference in Dallas, TX and we hope you'll join us too.
I know you're scared and this past week in the hospital has not been all that great. All the tests and doctors are so new to you. The doctors said you have Crohn's disease. It's going to be okay, I promise.
I wish I could tell you these next few years will be easy, but they won't. You're going to go through some pretty tough stuff that many kids your age will have a hard time relating to. Most won't even understand it and that's okay.


text:
Q: WebView2Loader.dll not found is Outlook VSTO addin I read allot about the WebView2Loader.dll - file not found issue, but couldn't solve the problem in my case:
A simple Outlook VSTO add-in with FormRegion,
Inside the FormRegion I placed the WebView2 control, and initialized it:
 private async void FormRegionWebView2_FormRegionShowing(object sender, System.EventArgs e)
        {
            await InitializeCoreWebView2Async(webView2Ctrl, @"C:\temp");
            webView2Ctrl.Source = new Uri("http://www.bing.com");
        }

 public async Task InitializeCoreWebView2Async(WebView2 wv, string webCacheDir)
        {
            CoreWebView2EnvironmentOptions options = null;
            CoreWebView2Environment webView2Environment = null;

            webView2Environment = await CoreWebView2Environment.CreateAsync(null, webCacheDir, options);

            await wv.EnsureCoreWebView2Async(webView2Environment);
        }

The native dlls are in the bin\Debug\runtimes folders,
But I still get 'WebView2Loader.dll': The specified module could not be found' in InitializeCoreWebView2Async()
Here is the code:
https://github.com/MicrosoftEdge/WebView2Feedback/files/8117191/OutlookAddInWithWebView.zip
Any help would be very appreciated.

A: First of all, make sure the WebView2 Runtime is installed on the system. You can read more about that in the WebView2 Runtime installation section in MSDN.
WebView2Loader.dll is a native and architecture-specific binary, so you need to include all flavors of this binary that you expect your app to run in. For example:

*

*For x86, you would include the x86 version of WebView2Loader.dll.

*For a managed app using AnyCPU, you would include the x86, x64, and arm64 versions of WebView2Loader.dll. The correct version of WebView2Loader.dll is loaded from the appropriate architecture-specific folder.

Make sure that you included all the required platform-specific assemblies. Read more about that in the Files to ship with the app article.

BTW I have found a similar issue - Unable to load DLL 'WebView2Loader.dll': The specified module could not be found.. It is very close to what you are describing.

A: It turns out that Outlook is not able to get the WebView2Loader.dll from inside the runtimes folders,
it has to be in the output directory itself.
Specifying the Platform target (to x86) was not enough, the dll was still in runtimes only.
(target framework is: .NET framework 4.7.2)
Only migrating from nuget packages.config to PackageReference (as described here: https://learn.microsoft.com/en-us/nuget/consume-packages/migrate-packages-config-to-package-reference)
and specifying the platform target
caused the dll to be copied to the output dir (bin\Debug).
We will have to prepare two separate ClickOnce installers, one for x86 and one for x64,
but now the dll is found by Outlook and WebView2 displays web pages inside FormRegion.
Update:  Actually that wasn't enough for adding the WebView2Loader.dll to ClickOnce application_files too.
For that I had to define the dll as content in the csproj file:
In Visual Studio (2022) "Unload Project", then "Edit Project File" to get the .csproj of the add-in as xml, and adding the following:
  <ItemGroup>
    <Content Include="$(MSBuildThisFileDirectory)bin\$(Configuration)\runtimes\win-$(EffectivePlatform)\native\WebView2Loader.dll">
      <Link>%(Filename)%(Extension)</Link>
      <PublishState>Included</PublishState>
      <Visible>False</Visible>
      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
      <Pack>false</Pack>
    </Content>
  </ItemGroup>

After reloading and publishing the Loader dll was in the ClickOnce installer application files and the add-in could be distributed.

redpajama_set_name: RedPajamaStackExchange


Get the drinks ready to pour, because this personalized glassware is sure to rock your guest's world! These chic 9 oz. customizable rocks glasses by Kate Aspen are the perfect guest favors to celebrate your baby shower. Customize this beautiful glassware with your baby's name and birth date for an exclusive shower favor for your guests!
Dimensions: 5.6" h x 2.5" in diameter; holds 9 oz.


text:
Review of Cheeseman Fright Farm Haunted Attraction
Cheeseman Fright Farm
Cheeseman Fright Farm is a Haunted Attraction located in Portersville, PA.
147 Kennedy Rd, Portersville, PA 16051
Free Parking, Restrooms/Porta Potties On-Site, Food/Concessions, Gift Shop/Souvenirs, "Old-School" (Low Tech), You will NOT be touched, Original Characters, Uncovered Outdoor Waiting Line, Indoor/Outdoor Attraction
Team Scary Potter and the Hauntwarts Express reviewed this Haunted Attraction on September 27, 2019.
Final Score: 8.3
(5% of Final Score) Theme:
You have a giant pumpkin and corn farm, a fleet of hay-lined tractors resting in the barn, and a stable of unemployed, hungry monsters; what do you do? You start a haunted attraction!
At least… I imagine that's how it all went down at an isolated farm in Portersville 20 years ago when Cheeseman's Fright Farm first came into being. (Enjoy your free Denny's Grand Slam, birthday boy)
Yes, back again for their 20th season, the Fright Farm has opened its (barn) doors to the public for another entertaining, moonlit stroll through the cornstalks.
We, Potteriats of a Scary nature, are pleased to announce that this season's version of this haunted attraction is a vast improvement over last season's iteration, so head on down to Portersville, PA for a roll in the hay with a few dozen creepy corn-hustlers…. and stay for the pie.
Always : the pie.
(20% of Cast Score) Did it seem like there were enough actors?: 8.5
(20% of Cast Score) How interactive were the actors?: 7
(15% of Cast Score) Was there a good variety of characters?: 7.5
Excluding brief solicitations from a few determined hangers-on and an overlong rendezvous with a very dedicated chainsaw hooligan, we didn't interact with any cast until the trail portion began. Despite an entertaining monologue from the docking grump, the trail began with some very lackluster boo actors. This front-loaded mediocrity, however, thankfully melted away into a very solid performance by the remainder of the cast.
During weaker seasons, I have lamented about the enthusiasm of Cheeseman's cast, but this year features an overall marked improvement. Truly significant, extended interactions are still sparse, but several of the more talkative Cheesemaniacs did excellent jobs of creatively responding to our prompts. A playful man-child with an ax was the best of these, though a pushy cemetery caretaker, elicited a few genuine laughs through his persistent cannibalistic appeals. Both were able to adapt to our responses quite well.
As usual, our favorite cold-blooded actress was as aloof and charming as ever. Not to hiss and tell, but she was all over me for a few seconds there – gentlemen, start your jealousy motors.
By a large percentage, the majority of actors that we encountered were of quick-interaction varieties – startlers, or lurkers – and there was a pretty uniform zest between their performances (beyond the aformentioned initial disappointment), except for a trio of monsters on the "back walkway" who strolled past us, largely disinterested. Maybe we were transgressing on an inter-haunt monster date. What do I know?
There was a long disappointing stretch of the hayride during which nothing of note occurred. The situation was made more frustrating by the contour of terrain that we passed through – our path wound teasingly through row after row of thick cornstalks. Surely something…someone…there, just beyond that creepy… sigh.
Once or twice during the walking path, we would have liked to have seen an additional miscreant or two, but this a much more minor complaint.
Overall, though, the Farm definitely uprooted a quality crop this season.
Also : a special shout-out to the pole sitter. Olympian quadriceps, I'd wager – excellent dedication!
(15% of Costuming Score) How complete / finished did the costumes appear to be?: 6
(20% of Costuming Score) Was their makeup creative? Detailed? Realistic?: 6.5
(15% of Costuming Score) How effectively did they use masks (if used)?: 8.75
From a critical standpoint, costuming tends to be Cheeseman's weak spot and this year upholds that trend. Many of the boo-scaring monsters retained street clothes, including one individual who appeared to be wearing his normal clothes… and an absurd, fake mustache. This wardrobe decision was either lazy or pure genius.
Admittedly, many of the actors (especially those in the enormous corn maze) portray various relatives of the scarecrow family so it is justifiable for them to be wearing masks and mostly normal clothing, so really only a couple of crouched startle scares stood out as egregiously under-dressed.
Most characterizations were centered around a mask of some kind, but there was a lot of variety presented so as not to seem too repetitive (one season's unfortunate Cult of Black Hoodies comes to mind). A worm-face (that's the best I've got) monster visage and a now-less-vulgar Skeksi mask were two of our favorites.
Little about the makeup or costuming at Cheeseman's is going to blow your mind, but as an adequate and appropriate enhancement to the beasties leaping out of the darkness, it serves its purpose.
(25% of CS Score) How easy was it to locate the attraction, park, and navigate the premises?: 9.5
(30% of CS Score) How safe was the attraction?: 9.5
(25% of CS Score) How professional, helpful and friendly were the staff members?: 10
Considering the remoteness of the farm (as detailed in Atmosphere), Cheeseman's is not difficult to find. There are multiple parking spotters situated in the parking lot to direct your vehicle to it's temporary home as well.
The giant barn that greets your arrival is well-stocked with souvenirs, sundries, and a vast supply of pumpkins and gourds. On the lower level of the barn (which holds the bathrooms and the main concession area), customers are fair play to the roaming antagonists who will gleefully pursue them throughout the grounds. These transient actors cycle through multiple locations, including the boarding area at the end of the attraction. A second concession building is available a short walk from the main building – this is a jaunt that one should consider mandatory as it is the sole lair of Cheeseman's delectable pizza creations.
Cheeseman's sheer volume of available options between the duo of available food joints is rarely matched. Likewise, The culinary highlights for us, pizza, cider, and pumpkin pie, represent some of the strongest fare the haunt world has to offer, and has become a much-anticipated tradition.
Parents, don't like haunted attractions but little Billy and Susie refuse to make their beds until they get to visit a haunted spookhouse this season? Drag those brats down to the farm, push them in line, and relax with some delicious din, while they are gleefully pursued by masked assailants. Your stomach will be satisfied, your children traumatized, and the chores will get done. Everybody wins at Cheeseman's!
Jenn and all the other staff we spoke to and interacted with were graciously kind and very helpful. That, too, seems to be a Cheeseman tradition.
(40% of Atmosphere Score) How well did the atmosphere prepare you for what you experienced inside?: 9.75
I'm going to interpose my annually-regurgitated praise herein, but I'd like to add in a few additional details for the sake of clarity – and because our Atmosphere purview has shifted a bit over the years.
Also, as usual, can someone please change the channel on the radio?
"The drive out to the farm is legitimately scarier than 47% of the haunted attractions I've been to. Small, windy, country roads in the middle of an October night have haunting power all alone. Five minutes through this foreboding hillside, you reach the attraction. There may be other homesteads around, but you would never know it.
The main barn-hub is October-perfect, a beacon of Halloween glory. An idealized emblem of the best parts of fall, she welcomes you to her brightly-lit, pumpkin plastered main floor. This is one protected sanctuary against the surrounding darkness. Here, you are safe. Descend below, however…
When you begin the attraction, you start on a pretty unassuming hayride, but as you are towed away, slowly, from the bright pomp of the main hub area, the creepiness begins to settle in. By the time the scaring starts, you have ridden maybe a quarter-mile and watched the friendly, welcoming barn disappear behind you. Cue fear.
Maybe you've been on scary hayrides in the woods before. I'll grant you that. However, remember, you're assuredly working your way further from the barn now – quite certainly in the middle of nowhere as we finish our hayride and then… out you go. "Wait, what?" Yes, far removed from any semblance of humanity, you get deposited from your cart and the main section of the haunt begins. It is an absolutely FANTASTIC environment; it really needs to be experienced to fully appreciate. No cars driving by, no "bright lights/big city (heck, not even a small city)" – it's just you versus an army of monsters that have been waiting all night to have their turn at you.
Atmosphere? Check."
(20% of SFX Score) How creative / original were the scenes & props?: 8.85
(25% of SFX Score) How well did they achieve & maintain the suspension of disbelief?: 8.25
Despite being billed as a hayride and trail, the latter's extensive corn maze is the real star here, with this season's version probably representing its best incarnation. Instead of one long meandering maze of maize, it's broken up into segments that are connected by varying interior distractions. Because these interior portions were usually very dark, the alternating sensory shifts between dimness and the strobe-y fog of the corn maze kept us completely off-kilter throughout the entire trail. Likewise, keeping each hazy quadrant of maze somewhat brief kept the effect from becoming boring or allowing we customers to adapt to it. The entire experience was made better for it.
Speaking of these interior portions, they weren't simply trivial detours. Several of our favorites from last season returned including the rumbling walkway and a narrow, black-as-pitch hay bale corridor that proved as disorienting as the exterior fog.
Our favorite interior diversion, though, came near the end, with the already ample maze fog being intensified to white-out volume. Only the faint diffusion of an overhead party-orb's colorful tendrils invaded the rooms pallid uniformity. It was a snowstorm inside a discotheque and we loved it.
Important side-barre : for any customers afore-unaware of proper haunt etiquette, flashing lights inside a spookhouse DEMAND a dance-off. This is colloquial law; violate it at your own peril –roller skates and headbands optional but encouraged.
Set design was somewhat minimal overall beyond the expected corn rows, but this type of attraction doesn't require much scenic supplementation to be effective. Still, the vine room was a fun creation and we really loved the spectral silhouettes that flanked us as we walked along the wooden pathway.
There were also not a broad range of sounds being implemented that we noticed, but at no point did their absence register. What little was employed worked well.
Theme: N/A
(30% of Theme Score) Could you tell what the theme was?:
(50% of Theme Score) How well was the theme carried throughout the attraction/s?:
(20% of Theme Score) How well does their location authenticate the theme?:
This score is left "N/A" when we believe the haunt is trying to target a random variety of themes or phobias, rather than a single overarching "Theme" or "storyline."
There is hay.
There is also riding.
Thus : HAYRIDE!!!
Just kidding, CFF doesn't need any stinkin' theme.
(15% of Scare Factor Score) How well did they provide scares to the entire group?: 9
(15% of Scare Factor Score) How well did they provide a wide variety of scares?: 8
During the hayride, the best scares were provided by two cleverly-placed, LARGE fright-contributors. When those two orange flames first ignite, I still get goosebumps – still a classic.
As soon as the trail began, however, the Burden of Terror (that's a legal term) fell squarely onto human shoulders.
Most of the character-fueled frights came in the form of quick startles, with an actor hidden in the environment, awaiting customer-prey to drift into his sphere of scare-fluence to spring his snarling trap. Again, as I mentioned in Cast, these began with lackluster disappointment but transitioned into an array of well-placed, impassioned scares.
Though there still weren't a LOT of extended-scares or monster interactions, there were noticeably more this season. Babyman, I'm looking at you.
Speaking of which, that particular child-bro was involved in a well-executed distraction scare, one of several that caught us very off-guard. Rumble Room Romeo's quick emergence (while we were preoccupied with navigating his lair's unstable canvas) was very effective. An otherwise unassuming (if uneven) hallway at the end was the only distraction that a familiar fiend-face needed to politely encourage one of our group to develop heart palpitations.
Obviously, the ambient eeriness generated by the maze-haze and the different iterations of visual impairment contributed to the general sense of unease that made the other scares possible. This, again, was largely thanks to the excellent set design of the assorted areas. In the corn maze, specifically, several human-like props were carefully tucked into between the stalks to confuse our scare expectations.
By their nature, these elements affected our entire group, though the actors skulking within them did a good job of distributing their startles as well.
(30% of E&V Score) How satisfied are you with the entertainment received during the main attraction/s?: 8.75
(30% of E&V Score) How appropriate is/are the ticket price/s?: 8.75
(15% of E&V Score) Have they effectively used their available space?: 8.25
This year marked a well-appreciated return to form for the Fright Farm. After an admittedly-rough experience last year, this season's iteration is a strong rebound with some excellent trail construction and revitalized actor base providing a good variety of hearty frights. Cheeseman's will never be an over-the-top scare-haven, but that isn't their intention. Their family-friendly (not too TOO family-friendly) vibe has established them as one of the best options for the whole household in the area.
With several good, persistent roaming line-scarers that can emerge from (or chase one into) nearly anywhere on the property, potential victims can never free truly safe, even when succumbing to the siren seductions of the delicious food options. And make sure to lock that bathroom stall! Just kidding…ish.
There is also an unhaunted haybale maze (free with admission) – go wild, kids!
A trip through the hayride and trail will cost you $20 (which is a decrease of five dollars for last year – hooray deflation!), while a Fright Pass (fast pass) weighs in at an impressive $50. That may actually be the largest regular-to-fast margin I've ever seen; they REALLY want you to play fair and wait in line. Kudos.
Our journey totaled 29 minutes, so the MPD is 1.45, which is a healthy value.
It fills my little reviewer heart with gladness to say that we greatly enjoyed our visit this year. Cheeseman's Fright Farm is a great attraction, operated by amazing people, and we can enthusiastically and honestly recommend that you pay them a visit this season.
… as long as you remember to lock the bathroom stall, man.
But not.
Jess – 8/10
I havent been here in a few years but tonight I returned and the hayride is a complete dud with two …show more scenes one way to long chainsaw stop and the other you exit the wagon, but the walkthrough is def well worth it and the clowns are also a dud. The employees seem to not understand manners at this place and the clowns without masks on had attitudes. The ones with masks on were creepy they just need to interact more then just stand there. I would def recommend this place for the walkthrough alone because they had tons of masks and many actors!! not cause of the hayride or the clowns or the employees that are rude. We had a decent time!
Tom Greene – 9/10
I thought it was better then last year. We went early last year and seemed like everything wasn't up …show more and running well yet. So this year there was more haunters and it was just terrific. We had fun and look forward to next year. That was a good one where you begin in the maze 1 the skeleton was set up in a perfect position and got us good along with the zombie inside the canister/storage which was new this year and the rest of it was great.

redpajama_set_name: RedPajamaCommonCrawl


text:
High-end townhomes draw buyers downtown
Hubbell Realty Co. sold all of its townhouses in a development on the west side of downtown Des Moines before any of the units were finished.
Joel Aschbrenner
jaschbrenn@dmreg.com
Hubbell Realty Co. has sold all the townhouses in its Artisan Row development on the west side of downtown.
That's just more evidence, the company says, that townhouses are the way to bring homebuyers into the heart of the city.
Housing construction has exploded downtown since the recession, but almost all of the new units are rentals. The housing crash and the tighter lending requirements that followed halted condo development. But townhouses can be bought with the same type of mortgages used to buy single-family homes, making them easier to build and finance.
"We love our renters, but we love buyers even more because they write a check," said Kris Saddoris, vice president of development for West Des Moines-based Hubbell, which also builds apartments downtown. "They are making an investment and saying we believe in this area."
At Artisan Row, construction crews are putting the finishing touches on the first section of homes. The development features 27 townhouses in a block bordered by Ingersoll and Grand avenues and 16th and 17th streets.
Bare wood frames protrude from the ground along Grand Avenue, where construction began only recently on the development's final section of townhouses.
While none are finished, buyers have already snatched them up. The units go for $300,000 to about $350,000. The first residents are scheduled to begin moving in later this year.
The buyers are a mix of ages, said Darla Willett-Rohrssen, the listing agent.
About 40 percent are empty-nesters, and another 40 percent are young, white-collar professionals. Ten percent are investors and the final 10 percent are people from small towns who want a second home in downtown Des Moines when they attend concerts or sporting events or to visit their grandchildren.
"They're already spending time and money here, so this is kind of a vacation home for them," Iowa Realty agent Willett-Rohrssen said.
Among the buyers at Artisan Row are executives from Meredith Corp., which is located next door, and Kum & Go, which plans to build its headquarters a block to the east. A doctor bought two units to combine into a single home.
Being able to walk to work and not having to shovel a driveway are big selling points, Saddoris said.
So are the two-car garages and rooftop patios, according to Willett-Rohrssen.
Easier financing has been key to the recent success of downtown townhouses, she said. Down payments can be as little as 5 percent, while banks often require 20 percent down for a condo. If a condo building has a low occupancy rate or an empty storefront on the ground-level, that can give a lender pause, Willett Rohrssen said.
Even townhouse projects that have barely broken ground are attracting buyers. Hubbell is gearing up to build The Banks on the north side of the East Village. Early plans called for 47 townhouses ranging from 1,800- to 3,000-square-feet with prices from $300,000 to $500,000.
Eight buyers have put down $3,000 deposits to reserve specific lots. The first phase of The Banks, which is part of a new residential development called the Bridge District, is scheduled to open in 2016.
Hubbell dipped its toe in the downtown townhouse market with the Brownstones on Grand at Second and Grand avenues. That project started slowly in the mid-2000s with three-story townhouses selling for well over $300,000.
The company eventually started building two-story units with rooftop decks, priced around $250,000, that were easier to sell. It's used those as a model for its subsequent townhouse developments like Artisan Row.
State launches workforce housing loan program
The Iowa Finance Authority recently announced a new loan program to help bolster rental housing in communities with growing job markets.
The Workforce Housing Loan Program will provide $5 million to cities and counties with housing shortages.
Targeted at rural areas, the program's scoring criteria will give extra points to communities of fewer than 50,000 people that have shown annual job growth during the last three years.
Up to $1 million is available per project. The low-cost loans have a 1 percent interest rate for up to 20 years, according to the authority.
The program continues the state's efforts to address housing shortages, particularly in rural areas. This year, the state replaced an enterprise tax credit program, which subsidized projects in blighted areas, with the workforce housing tax credit program, which provides tax incentives for developments in areas with housing shortages.


text:
const express = require('express');
const path = require('path');
const favicon = require('serve-favicon');
const logger = require('morgan');
const cookieParser = require('cookie-parser');
const bodyParser = require('body-parser');

var routes = require('./routes/index');
var users = require('./routes/users');
var p2p = require('./routes/p2p');

const app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'pug');

// uncomment after placing your favicon in /public
app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
app.use('/users', users);
app.use('/p2p', p2p);

// catch 404 and forward to error handler
app.use(function (req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
  app.use(function (err, req, res) {
    res.status(err.status || 500);
    res.render('error', {
      message: err.message,
      error: err
    });
  });
}

// production error handler
// no stacktraces leaked to user
app.use(function (err, req, res) {
  res.status(err.status || 500);
  res.render('error', {
    message: err.message,
    error: {}
  });
});

module.exports = app;

redpajama_set_name: RedPajamaGithub


Two input clocks for output data (C and C) to minimize clock-skew and flight-time mismatches.
The CY7C1302DV25 is a 2.5 V Synchronous Pipelined SRAM equipped with QDR™ architecture. QDR architecture consists of two separate ports to access the memory array. The Read port has dedicated data outputs to support Read operations and the Write Port has dedicated data inputs to support Write operations. Access to each port is accomplished through a common address bus. The Read address is latched on the rising edge of the K clock and the Write address is latched on the rising edge of K clock.


PISHON SHUTTERS ASIA SDN BHD is a vinyl shutter supplier company. Our main office is located in Kuala Lumpur (KL), Malaysia. Vinyl shutter is suitable to be placed in bedroom, living room, bathroom, kitchen and dining room. Years of experience and knowledge enable us to provide the right product for you. If you have any questions or need more information, please contact us. We will be pleased to answer any enquiries you have.


text:
<?php

// vars
$GLOBALS['acf_field'] = array();

/*
*  acf_filter_post_id()
*
*  A helper function to filter the post_id variable.
*
*  @type	function
*  @since	3.6
*  @date	29/01/13
*
*  @param	mixed	$post_id
*
*  @return	mixed	$post_id
*/

function acf_filter_post_id( $post_id )
{
	// set post_id to global
	if( !$post_id )
	{
		global $post;

		if( $post )
		{
			$post_id = $post->ID;
		}
	}

	// allow for option == options
	if( $post_id == "option" )
	{
		$post_id = "options";
	}

	/*
	*  Override for preview
	*
	*  If the $_GET['preview_id'] is set, then the user wants to see the preview data.
	*  There is also the case of previewing a page with post_id = 1, but using get_field
	*  to load data from another post_id.
	*  In this case, we need to make sure that the autosave revision is actually related
	*  to the $post_id variable. If they match, then the autosave data will be used, otherwise,
	*  the user wants to load data from a completely different post_id
	*/

	if( isset($_GET['preview_id']) )
	{
		$autosave = wp_get_post_autosave( $_GET['preview_id'] );
		if( $autosave->post_parent == $post_id )
		{
			$post_id = $autosave->ID;
		}
	}

	// return
	return $post_id;
}

/*
*  get_field_reference()
*
*  This function will find the $field_key that is related to the $field_name.
*  This is know as the field value reference
*
*  @type	function
*  @since	3.6
*  @date	29/01/13
*
*  @param	mixed	$field_name: the name of the field - 'sub_heading'
*  @param	int		$post_id: the post_id of which the value is saved against
*
*  @return	string	$return:  a string containing the field_key
*/

function get_field_reference( $field_name, $post_id )
{
	// cache
	$cache = wp_cache_get( 'field_reference-' . $post_id . '-' . $field_name, 'acf' );
	if( $cache )
	{
		return $cache;
	}

	// vars
	$return = '';

	// get field key
	if( is_numeric($post_id) )
	{
		$return = get_post_meta($post_id, '_' . $field_name, true);
	}
	elseif( strpos($post_id, 'user_') !== false )
	{
		$temp_post_id = str_replace('user_', '', $post_id);
		$return = get_user_meta($temp_post_id, '_' . $field_name, true);
	}
	else
	{
		$return = get_option('_' . $post_id . '_' . $field_name);
	}

	// set cache
	wp_cache_set( 'field_reference-' . $post_id . '-' . $field_name, $return, 'acf' );

	// return
	return $return;
}

/*
*  get_field_objects()
*
*  This function will return an array containing all the custom field objects for a specific post_id.
*  The function is not very elegant and wastes a lot of PHP memory / SQL queries if you are not using all the fields / values.
*
*  @type	function
*  @since	3.6
*  @date	29/01/13
*
*  @param	mixed	$post_id: the post_id of which the value is saved against
*
*  @return	array	$return: an array containin the field groups
*/

function get_field_objects( $post_id = false, $options = array() )
{
	// global
	global $wpdb;

	// filter post_id
	$post_id = apply_filters('acf/get_post_id', $post_id );

	// vars
	$field_key = '';
	$value = array();

	// get field_names
	if( is_numeric($post_id) )
	{
		$keys = $wpdb->get_col($wpdb->prepare(
			"SELECT meta_value FROM $wpdb->postmeta WHERE post_id = %d and meta_key LIKE %s AND meta_value LIKE %s",
			$post_id,
			'\_%',
			'field\_%'
		));
	}
	elseif( strpos($post_id, 'user_') !== false )
	{
		$user_id = str_replace('user_', '', $post_id);

		$keys = $wpdb->get_col($wpdb->prepare(
			"SELECT meta_value FROM $wpdb->usermeta WHERE user_id = %d and meta_key LIKE %s AND meta_value LIKE %s",
			$user_id,
			'\_%',
			'field\_%'
		));
	}
	else
	{
		$keys = $wpdb->get_col($wpdb->prepare(
			"SELECT option_name FROM $wpdb->options WHERE option_name LIKE %s",
			'\_' . $post_id . '\_%'
		));
	}

	if( is_array($keys) )
	{
		foreach( $keys as $key )
		{
			$field = get_field_object( $key, $post_id, $options );

			if( !is_array($field) )
			{
				continue;
			}

			$value[ $field['name'] ] = $field;
		}
 	}

	// no value
	if( empty($value) )
	{
		return false;
	}

	// return
	return $value;
}

/*
*  get_fields()
*
*  This function will return an array containing all the custom field values for a specific post_id.
*  The function is not very elegant and wastes a lot of PHP memory / SQL queries if you are not using all the values.
*
*  @type	function
*  @since	3.6
*  @date	29/01/13
*
*  @param	mixed	$post_id: the post_id of which the value is saved against
*
*  @return	array	$return: an array containin the field values
*/

function get_fields( $post_id = false )
{
	$fields = get_field_objects( $post_id );

	if( is_array($fields) )
	{
		foreach( $fields as $k => $field )
		{
			$fields[ $k ] = $field['value'];
		}
	}

	return $fields;
}

/*
*  get_field()
*
*  This function will return a custom field value for a specific field name/key + post_id.
*  There is a 3rd parameter to turn on/off formating. This means that an Image field will not use
*  its 'return option' to format the value but return only what was saved in the database
*
*  @type	function
*  @since	3.6
*  @date	29/01/13
*
*  @param	string		$field_key: string containing the name of teh field name / key ('sub_field' / 'field_1')
*  @param	mixed		$post_id: the post_id of which the value is saved against
*  @param	boolean		$format_value: whether or not to format the value as described above
*
*  @return	mixed		$value: the value found
*/

function get_field( $field_key, $post_id = false, $format_value = true )
{
	// vars
	$return = false;
	$options = array(
		'load_value' => true,
		'format_value' => $format_value
	);

	$field = get_field_object( $field_key, $post_id, $options);

	if( is_array($field) )
	{
		$return = $field['value'];
	}

	return $return;

}

/*
*  get_field_object()
*
*  This function will return an array containing all the field data for a given field_name
*
*  @type	function
*  @since	3.6
*  @date	3/02/13
*
*  @param	string		$field_key: string containing the name of teh field name / key ('sub_field' / 'field_1')
*  @param	mixed		$post_id: the post_id of which the value is saved against
*  @param	array		$options: an array containing options
*			boolean		+ load_value: load the field value or not. Defaults to true
*			boolean		+ format_value: format the field value or not. Defaults to true
*
*  @return	array		$return: an array containin the field groups
*/

function get_field_object( $field_key, $post_id = false, $options = array() )
{
	// filter post_id
	$post_id = apply_filters('acf/get_post_id', $post_id );
	$field = false;
	$orig_field_key = $field_key;

	// defaults for options
	$defaults = array(
		'load_value'	=>	true,
		'format_value'	=>	true,
	);

	$options = array_merge($defaults, $options);

	// is $field_name a name? pre 3.4.0
	if( strpos($field_key, "field_") === false )
	{
		// get field key
		$field_key = get_field_reference( $field_key, $post_id );
	}

	// get field
	if( strpos($field_key, "field_") !== false )
	{
		$field = apply_filters('acf/load_field', false, $field_key );
	}

	// validate field
	if( !$field )
	{
		// treat as text field
		$field = array(
			'type' => 'text',
			'name' => $orig_field_key,
			'key' => 'temp_key_for_' . $orig_field_key,
		);
	}

	// load value
	if( $options['load_value'] )
	{
		$field['value'] = apply_filters('acf/load_value', false, $post_id, $field);

		// format value
		if( $options['format_value'] )
		{
			$field['value'] = apply_filters('acf/format_value_for_api', $field['value'], $post_id, $field);
		}
	}

	return $field;

}

/*
*  the_field()
*
*  This function is the same as echo get_field().
*
*  @type	function
*  @since	1.0.3
*  @date	29/01/13
*
*  @param	string		$field_name: the name of the field - 'sub_heading'
*  @param	mixed		$post_id: the post_id of which the value is saved against
*
*  @return	string		$value
*/

function the_field( $field_name, $post_id = false )
{
	$value = get_field($field_name, $post_id);

	if( is_array($value) )
	{
		$value = @implode(', ',$value);
	}

	echo $value;
}

/*
*  has_sub_field()
*
*  This function is used inside a while loop to return either true or false (loop again or stop).
*  When using a repeater or flexible content field, it will loop through the rows until
*  there are none left or a break is detected
*
*  @type	function
*  @since	1.0.3
*  @date	29/01/13
*
*  @param	string	$field_name: the name of the field - 'sub_heading'
*  @param	mixed	$post_id: the post_id of which the value is saved against
*
*  @return	bool
*/

function has_sub_field( $field_name, $post_id = false )
{

	// filter post_id
	$post_id = apply_filters('acf/get_post_id', $post_id );

	// empty?
	if( empty($GLOBALS['acf_field']) )
	{
		// vars
		$f = get_field_object( $field_name, $post_id );
		$v = $f['value'];
		unset( $f['value'] );

		$GLOBALS['acf_field'][] = array(
			'name'	=>	$field_name,
			'value'	=>	$v,
			'field'	=>	$f,
			'row'	=>	-1,
			'post_id' => $post_id,
		);
	}

	// vars
	$depth = count( $GLOBALS['acf_field'] ) - 1;
	$name = $GLOBALS['acf_field'][$depth]['name'];
	$value = $GLOBALS['acf_field'][$depth]['value'];
	$field = $GLOBALS['acf_field'][$depth]['field'];
	$row = $GLOBALS['acf_field'][$depth]['row'];
	$id = $GLOBALS['acf_field'][$depth]['post_id'];

	// if ID has changed, this is a new repeater / flexible field!
	if( $post_id != $id )
	{
		// vars
		$f = get_field_object( $field_name, $post_id );
		$v = $f['value'];
		unset( $f['value'] );

		$GLOBALS['acf_field'][] = array(
			'name'	=>	$field_name,
			'value'	=>	$v,
			'field'	=>	$f,
			'row'	=>	-1,
			'post_id' => $post_id,
		);

		return has_sub_field($field_name, $post_id);
	}

	// does the given $field_name match the current field?
	if( $field_name != $name )
	{
		// is this a "new" while loop refering to a sub field?
		if( isset($value[ $row ][ $field_name ]) )
		{
			$GLOBALS['acf_field'][] = array(
				'name'	=>	$field_name,
				'value'	=>	$value[ $row ][ $field_name ],
				'field' => acf_get_child_field_from_parent_field( $field_name, $field ),
				'row'	=>	-1,
				'post_id' => $post_id,
			);
		}
		elseif( isset($GLOBALS['acf_field'][$depth-1]) && $GLOBALS['acf_field'][$depth-1]['name'] == $field_name )
		{
			// if someone used break; We should see if the parent value has this field_name as a value.
			unset( $GLOBALS['acf_field'][$depth] );
			$GLOBALS['acf_field'] = array_values($GLOBALS['acf_field']);
		}
		else
		{
			// this was a break; (probably to get the first row only). Clear the repeater
			$GLOBALS['acf_field'] = array();
			return has_sub_field($field_name, $post_id);
		}

	}

	// update vars
	$depth = count( $GLOBALS['acf_field'] ) - 1;
	$value = $GLOBALS['acf_field'][$depth]['value'];
	$field = $GLOBALS['acf_field'][$depth]['field'];
	$row = $GLOBALS['acf_field'][$depth]['row'];

	// increase row number
	$GLOBALS['acf_field'][$depth]['row']++;
	$row++;

	if( isset($value[$row]) )
	{
		// next row exists
		return true;
	}

	// no next row! Unset this array and return false to stop while loop
	unset( $GLOBALS['acf_field'][$depth] );
	$GLOBALS['acf_field'] = array_values($GLOBALS['acf_field']);

	return false;

}

/*
*  has_sub_fields()
*
*  This function is a replica of 'has_sub_field'
*
*  @type	function
*  @since	4.0.0
*  @date	29/01/13
*
*  @param	string	$field_name: the name of the field - 'sub_heading'
*  @param	mixed	$post_id: the post_id of which the value is saved against
*
*  @return	bool
*/

function has_sub_fields( $field_name, $post_id = false )
{
	return has_sub_field( $field_name, $post_id );
}

/*
*  get_sub_field()
*
*  This function is used inside a 'has_sub_field' while loop to return a sub field value
*
*  @type	function
*  @since	1.0.3
*  @date	29/01/13
*
*  @param	string	$field_name: the name of the field - 'sub_heading'
*
*  @return	mixed	$value
*/

function get_sub_field( $field_name )
{

	// no field?
	if( empty($GLOBALS['acf_field']) )
	{
		return false;
	}

	// vars
	$depth = count( $GLOBALS['acf_field'] ) - 1;
	$value = $GLOBALS['acf_field'][$depth]['value'];
	$field = $GLOBALS['acf_field'][$depth]['field'];
	$row = $GLOBALS['acf_field'][$depth]['row'];

	// no value at i
	if( !isset($value[ $row ][ $field_name ]) )
	{
		return false;
	}

	return $value[ $row ][ $field_name ];
}

/*
*  get_sub_field()
*
*  This function is the same as echo get_sub_field
*
*  @type	function
*  @since	1.0.3
*  @date	29/01/13
*
*  @param	string	$field_name: the name of the field - 'sub_heading'
*
*  @return	string	$value
*/

function the_sub_field($field_name)
{
	$value = get_sub_field($field_name);

	if(is_array($value))
	{
		$value = implode(', ',$value);
	}

	echo $value;
}

/*
*  get_sub_field_object()
*
*  This function is used inside a 'has_sub_field' while loop to return a sub field object
*
*  @type	function
*  @since	3.5.8.1
*  @date	29/01/13
*
*  @param	string	$field_name: the name of the field - 'sub_heading'
*
*  @return	array	$sub_field
*/

function get_sub_field_object( $child_name )
{
	// no field?
	if( empty($GLOBALS['acf_field']) )
	{
		return false;
	}

	// vars
	$depth = count( $GLOBALS['acf_field'] ) - 1;
	$parent = $GLOBALS['acf_field'][$depth]['field'];

	// return
	return acf_get_child_field_from_parent_field( $child_name, $parent );

}

/*
*  acf_get_sub_field_from_parent_field()
*
*  This function is used by the get_sub_field_object to find a sub field within a parent field
*
*  @type	function
*  @since	3.5.8.1
*  @date	29/01/13
*
*  @param	string	$child_name: the name of the field - 'sub_heading'
*  @param	array	$parent: the parent field object
*
*  @return	array	$sub_field
*/

function acf_get_child_field_from_parent_field( $child_name, $parent )
{
	// vars
	$return = false;

	// find child
	if( isset($parent['sub_fields']) && is_array($parent['sub_fields']) )
	{
		foreach( $parent['sub_fields'] as $child )
		{
			if( $child['name'] == $child_name || $child['key'] == $child_name )
			{
				$return = $child;
				break;
			}

			// perhaps child has grand children?
			$grand_child = acf_get_child_field_from_parent_field( $child_name, $child );
			if( $grand_child )
			{
				$return = $grand_child;
				break;
			}
		}
	}
	elseif( isset($parent['layouts']) && is_array($parent['layouts']) )
	{
		foreach( $parent['layouts'] as $layout )
		{
			$child = acf_get_child_field_from_parent_field( $child_name, $layout );
			if( $child )
			{
				$return = $child;
				break;
			}
		}
	}

	// return
	return $return;

}

/*
*  register_field_group()
*
*  This function is used to register a field group via code. It acceps 1 array containing
*  all the field group data. This data can be obtained by using teh export tool within ACF
*
*  @type	function
*  @since	3.0.6
*  @date	29/01/13
*
*  @param	array	$array: an array holding all the field group data
*
*  @return
*/

$GLOBALS['acf_register_field_group'] = array();

function register_field_group( $array )
{
	// add id
	if( !isset($array['id']) )
	{
		$array['id'] = uniqid();
	}

	// 3.2.5 - changed show_on_page option
	if( !isset($array['options']['hide_on_screen']) && isset($array['options']['show_on_page']) )
	{
		$show_all = array('the_content', 'discussion', 'custom_fields', 'comments', 'slug', 'author');
		$array['options']['hide_on_screen'] = array_diff($show_all, $array['options']['show_on_page']);
		unset( $array['options']['show_on_page'] );
	}

	// 4.0.4 - changed location rules architecture
	if( isset($array['location']['rules']) )
	{
		// vars
		$groups = array();
		$group_no = 0;

		if( is_array($array['location']['rules']) )
	 	{
		 	foreach( $array['location']['rules'] as $rule )
		 	{
			 	$rule['group_no'] = $group_no;

			 	// sperate groups?
			 	if( $array['location']['allorany'] == 'any' )
			 	{
				 	$group_no++;
			 	}

			 	// add to group
			 	$groups[ $rule['group_no'] ][ $rule['order_no'] ] = $rule;

			 	// sort rules
			 	ksort( $groups[ $rule['group_no'] ] );

		 	}

		 	// sort groups
			ksort( $groups );
	 	}

	 	$array['location'] = $groups;
	}

	$GLOBALS['acf_register_field_group'][] = $array;
}

add_filter('acf/get_field_groups', 'api_acf_get_field_groups', 2, 1);
function api_acf_get_field_groups( $return )
{
	// validate
	if( empty($GLOBALS['acf_register_field_group']) )
	{
		return $return;
	}

	foreach( $GLOBALS['acf_register_field_group'] as $acf )
	{
		$return[] = array(
			'id' => $acf['id'],
			'title' => $acf['title'],
			'menu_order' => $acf['menu_order'],
		);
	}

	// order field groups based on menu_order, title
	// Obtain a list of columns
	foreach( $return as $key => $row )
	{
	    $menu_order[ $key ] = $row['menu_order'];
	    $title[ $key ] = $row['title'];
	}

	// Sort the array with menu_order ascending
	// Add $array as the last parameter, to sort by the common key
	if(isset($menu_order))
	{
		array_multisort($menu_order, SORT_ASC, $title, SORT_ASC, $return);
	}

	return $return;
}

add_filter('acf/field_group/get_fields', 'api_acf_field_group_get_fields', 1, 2);
function api_acf_field_group_get_fields( $fields, $post_id )
{
	// validate
	if( !empty($GLOBALS['acf_register_field_group']) )
	{
		foreach( $GLOBALS['acf_register_field_group'] as $acf )
		{
			if( $acf['id'] == $post_id )
			{
				foreach( $acf['fields'] as $f )
				{
					$fields[] = apply_filters('acf/load_field', $f, $f['key']);
				}

				break;
			}
		}
	}

	return $fields;

}

add_filter('acf/load_field', 'api_acf_load_field', 1, 2);
function api_acf_load_field( $field, $field_key )
{
	// validate
	if( !empty($GLOBALS['acf_register_field_group']) )
	{
		foreach( $GLOBALS['acf_register_field_group'] as $acf )
		{
			if( !empty($acf['fields']) )
			{
				foreach( $acf['fields'] as $f )
				{
					if( $f['key'] == $field_key )
					{
						$field = $f;
						break;
					}
				}
			}
		}
	}

	return $field;
}

add_filter('acf/field_group/get_location', 'api_acf_field_group_get_location', 1, 2);
function api_acf_field_group_get_location( $location, $post_id )
{
	// validate
	if( !empty($GLOBALS['acf_register_field_group']) )
	{
		foreach( $GLOBALS['acf_register_field_group'] as $acf )
		{
			if( $acf['id'] == $post_id )
			{
				$location = $acf['location'];
				break;
			}
		}
	}

	return $location;
}

add_filter('acf/field_group/get_options', 'api_acf_field_group_get_options', 1, 2);
function api_acf_field_group_get_options( $options, $post_id )
{
	// validate
	if( !empty($GLOBALS['acf_register_field_group']) )
	{
		foreach( $GLOBALS['acf_register_field_group'] as $acf )
		{
			if( $acf['id'] == $post_id )
			{
				$options = $acf['options'];
				break;
			}
		}
	}

	return $options;
}

/*
*  get_row_layout()
*
*  This function will return a string representation of the current row layout within a 'has_sub_field' loop
*
*  @type	function
*  @since	3.0.6
*  @date	29/01/13
*
*  @return	$value - string containing the layout
*/

function get_row_layout()
{
	// vars
	$value = get_sub_field('acf_fc_layout');

	return $value;
}

/*
*  acf_shortcode()
*
*  This function is used to add basic shortcode support for the ACF plugin
*
*  @type	function
*  @since	1.1.1
*  @date	29/01/13
*
*  @param	array	$atts: an array holding the shortcode options
*			string	+ field: the field name
*			mixed	+ post_id: the post_id to load from
*
*  @return	string	$value: the value found by get_field
*/

function acf_shortcode( $atts )
{
	// extract attributs
	extract( shortcode_atts( array(
		'field' => "",
		'post_id' => false,
	), $atts ) );

	// $field is requird
	if( !$field || $field == "" )
	{
		return "";
	}

	// get value and return it
	$value = get_field( $field, $post_id );

	if( is_array($value) )
	{
		$value = @implode( ', ',$value );
	}

	return $value;
}
add_shortcode( 'acf', 'acf_shortcode' );

/*
*  acf_form_head()
*
*  This function is placed at the very top of a template (before any HTML is rendered) and saves the $_POST data sent by acf_form.
*
*  @type	function
*  @since	1.1.4
*  @date	29/01/13
*
*  @param	N/A
*
*  @return	N/A
*/

function acf_form_head()
{
	// global vars
	global $post_id;

	// verify nonce
	if( isset($_POST['acf_nonce']) && wp_verify_nonce($_POST['acf_nonce'], 'input') )
	{
		// $post_id to save against
		$post_id = $_POST['post_id'];

		// allow for custom save
		$post_id = apply_filters('acf/pre_save_post', $post_id);

		// save the data
		do_action('acf/save_post', $post_id);

		// redirect
		if(isset($_POST['return']))
		{
			wp_redirect($_POST['return']);
			exit;
		}
	}

	// need wp styling
	wp_enqueue_style(array(
		'colors-fresh'
	));

	// actions
	do_action('acf/input/admin_enqueue_scripts');

	add_action('wp_head', 'acf_form_wp_head');

}

function acf_form_wp_head()
{
	do_action('acf/input/admin_head');
}

/*
*  acf_form()
*
*  This function is used to create an ACF form.
*
*  @type	function
*  @since	1.1.4
*  @date	29/01/13
*
*  @param	array		$options: an array containing many options to customize the form
*			string		+ post_id: post id to get field groups from and save data to. Default is false
*			array		+ field_groups: an array containing field group ID's. If this option is set,
*						  the post_id will not be used to dynamically find the field groups
*			boolean		+ form: display the form tag or not. Defaults to true
*			array		+ form_attributes: an array containg attributes which will be added into the form tag
*			string		+ return: the return URL
*			string		+ html_before_fields: html inside form before fields
*			string		+ html_after_fields: html inside form after fields
*			string		+ submit_value: value of submit button
*			string		+ updated_message: default updated message. Can be false
*
*  @return	N/A
*/

function acf_form( $options = false )
{
	global $post;

	// defaults
	$defaults = array(
		'post_id' => false,
		'field_groups' => array(),
		'form' => true,
		'form_attributes' => array(
			'id' => 'post',
			'class' => '',
			'action' => '',
			'method' => 'post',
		),
		'return' => add_query_arg( 'updated', 'true', get_permalink() ),
		'html_before_fields' => '',
		'html_after_fields' => '',
		'submit_value' => __("Update", 'acf'),
		'updated_message' => __("Post updated", 'acf'),
	);

	// merge defaults with options
	if( $options && is_array($options) )
	{
		$options = array_merge($defaults, $options);
	}
	else
	{
		$options = $defaults;
	}

	// filter post_id
	$options['post_id'] = apply_filters('acf/get_post_id', $options['post_id'] );

	// attributes
	if( empty($options['form_attributes']['class']) )
	{
		$options['form_attributes']['class'] = 'acf-form acf-form-' . $options['post_id'];
	}

	// register post box
	if( empty($options['field_groups']) )
	{
		// get field groups
		$filter = array(
			'post_id' => $options['post_id']
		);

		if( strpos($options['post_id'], 'user_') !== false )
		{
			$user_id = str_replace('user_', '', $options['post_id']);
			$filter = array(
				'ef_user' => $user_id
			);
		}
		elseif( strpos($options['post_id'], 'taxonomy_') !== false )
		{
			$taxonomy_id = str_replace('taxonomy_', '', $options['post_id']);
			$filter = array(
				'ef_taxonomy' => $taxonomy_id
			);
		}

		$options['field_groups'] = array();
		$options['field_groups'] = apply_filters( 'acf/location/match_field_groups', $options['field_groups'], $filter );
	}

	// updated message
	if(isset($_GET['updated']) && $_GET['updated'] == 'true' && $options['updated_message'])
	{
		echo '<div id="message" class="updated"><p>' . $options['updated_message'] . '</p></div>';
	}

	// display form
	if( $options['form'] ): ?>
	<form <?php if($options['form_attributes']){foreach($options['form_attributes'] as $k => $v){echo $k . '="' . $v .'" '; }} ?>>
	<?php endif; ?>

	<div style="display:none">
		<input type="hidden" name="acf_nonce" value="<?php echo wp_create_nonce( 'input' ); ?>" />
		<input type="hidden" name="post_id" value="<?php echo $options['post_id']; ?>" />
		<input type="hidden" name="return" value="<?php echo $options['return']; ?>" />
		<?php wp_editor('', 'acf_settings'); ?>
	</div>

	<div id="poststuff">
	<?php

	// html before fields
	echo $options['html_before_fields'];

	$acfs = apply_filters('acf/get_field_groups', array());

	if( is_array($acfs) ){ foreach( $acfs as $acf ){

		// only add the chosen field groups
		if( !in_array( $acf['id'], $options['field_groups'] ) )
		{
			continue;
		}

		// load options
		$acf['options'] = apply_filters('acf/field_group/get_options', array(), $acf['id']);

		// load fields
		$fields = apply_filters('acf/field_group/get_fields', array(), $acf['id']);

		echo '<div id="acf_' . $acf['id'] . '" class="postbox acf_postbox ' . $acf['options']['layout'] . '">';
		echo '<h3 class="hndle"><span>' . $acf['title'] . '</span></h3>';
		echo '<div class="inside">';

		do_action('acf/create_fields', $fields, $options['post_id']);

		echo '</div></div>';

	}}

	// html after fields
	echo $options['html_after_fields'];

	?>

	<?php if( $options['form'] ): ?>
	<!-- Submit -->
	<div class="field">
		<input type="submit" value="<?php echo $options['submit_value']; ?>" />
	</div>
	<!-- / Submit -->
	<?php endif; ?>

	</div><!-- <div id="poststuff"> -->

	<?php if( $options['form'] ): ?>
	</form>
	<?php endif;
}

/*
*  update_field()
*
*  This function will update a value in the database
*
*  @type	function
*  @since	3.1.9
*  @date	29/01/13
*
*  @param	mixed	$field_name: the name of the field - 'sub_heading'
*  @param	mixed	$value: the value to save in the database. The variable type is dependant on the field type
*  @param	mixed	$post_id: the post_id of which the value is saved against
*
*  @return	N/A
*/

function update_field( $field_key, $value, $post_id = false )
{
	// filter post_id
	$post_id = apply_filters('acf/get_post_id', $post_id );

	// vars
	$options = array(
		'load_value' => false,
		'format_value' => false
	);

	$field = get_field_object( $field_key, $post_id, $options);

	if( !is_array($field) )
	{
		$field = array(
			'type' => 'none',
			'name' => $field_key
		);
	}

	// sub fields? They need formatted data
	if( $field['type'] == 'repeater' )
	{
		$value = acf_convert_field_names_to_keys( $value, $field );
	}
	elseif( $field['type'] == 'flexible_content' )
	{
		if( $field['layouts'] )
		{
			foreach( $field['layouts'] as $layout )
			{
				$value = acf_convert_field_names_to_keys( $value, $layout );
			}
		}
	}

	// save
	do_action('acf/update_value', $value, $post_id, $field );

	return true;

}

/*
*  delete_field()
*
*  This function will remove a value from the database
*
*  @type	function
*  @since	3.1.9
*  @date	29/01/13
*
*  @param	mixed	$field_name: the name of the field - 'sub_heading'
*  @param	mixed	$post_id: the post_id of which the value is saved against
*
*  @return	N/A
*/

function delete_field( $field_name, $post_id )
{
	do_action('acf/delete_value', $post_id, $field_name );
}

/*
*  create_field()
*
*  This function will creat the HTML for a field
*
*  @type	function
*  @since	4.0.0
*  @date	17/03/13
*
*  @param	array	$field - an array containing all the field attributes
*
*  @return	N/A
*/

function create_field( $field )
{
	do_action('acf/create_field', $field );
}

/*
*  acf_convert_field_names_to_keys()
*
*  Helper for the update_field function
*
*  @type	function
*  @since	4.0.0
*  @date	17/03/13
*
*  @param	array	$value: the value returned via get_field
*  @param	array	$field: the field or layout to find sub fields from
*
*  @return	N/A
*/

function acf_convert_field_names_to_keys( $value, $field )
{
	// only if $field has sub fields
	if( !isset($field['sub_fields']) )
	{
		return $value;
	}

	// define sub field keys
	$sub_fields = array();
	if( $field['sub_fields'] )
	{
		foreach( $field['sub_fields'] as $sub_field )
		{
			$sub_fields[ $sub_field['name'] ] = $sub_field;
		}
	}

	// loop through the values and format the array to use sub field keys
	if( is_array($value) )
	{
		foreach( $value as $row_i => $row)
		{
			if( $row )
			{
				foreach( $row as $sub_field_name => $sub_field_value )
				{
					// sub field must exist!
					if( !isset($sub_fields[ $sub_field_name ]) )
					{
						continue;
					}

					// vars
					$sub_field = $sub_fields[ $sub_field_name ];
					$sub_field_value = acf_convert_field_names_to_keys( $sub_field_value, $sub_field );

					// set new value
					$value[$row_i][ $sub_field['key'] ] = $sub_field_value;

					// unset old value
					unset( $value[$row_i][$sub_field_name] );

				}
				// foreach( $row as $sub_field_name => $sub_field_value )
			}
			// if( $row )
		}
		// foreach( $value as $row_i => $row)
	}
	// if( $value )

	return $value;

}

/*
*  Depreceated Functions
*
*  @description:
*  @created: 23/07/12
*/

/*
*
*	reset_the_repeater_field
*
*	@author Elliot Condon
*	@depreciated: 3.3.4 - now use has_sub_field
*	@since 1.0.3
*
*/

function reset_the_repeater_field()
{
	// do nothing
}

/*
*
*	the_repeater_field
*
*	@author Elliot Condon
*	@depreciated: 3.3.4 - now use has_sub_field
*	@since 1.0.3
*
*/

function the_repeater_field($field_name, $post_id = false)
{
	return has_sub_field($field_name, $post_id);
}

/*
*
*	the_flexible_field
*
*	@author Elliot Condon
*	@depreciated: 3.3.4 - now use has_sub_field
*	@since 3.?.?
*
*/

function the_flexible_field($field_name, $post_id = false)
{
	return has_sub_field($field_name, $post_id);
}

?>


text:
Geraldine Buckley
With her trademark wit, warmth and humor, internationally known, award-winning storyteller and educator Geraldine Buckley has been involved in storytelling, speaking, conducting workshops, and coaching for over thirty years in the US, Canada, England, Holland, South Africa, Spain and New Zealand. Known primarily for personal stories that make people laugh and think, Geraldine teaches workshops, and performs in conferences, colleges, schools, corporations, and house-concerts. She has appeared as a featured teller in festivals throughout the US, including the National Storytelling Festival,in Jonesborough, TN. Until January 2010, Geraldine was the Protestant Chaplain at the largest men's prison in Maryland, an adventure that gave her many stories. Since then she has conducted storytelling workshops in prisons in the US, and also in Rimutaka, New Zealand's largest men's prison. She often does her prison stories in university criminal justice departments, and well as giving workshops for public defenders and criminal social workers. However Geraldine doesn't just have stories about prisons. Indeed not! In her eclectic past she has been, among other things, a minister in a large London Church, a radio DJ, a television newsreader, an events director, a ghostwriter, a food critic, a magazine editor, and an award winning performance poet. She has a habit of stumbling into inadvertent adventures, and her stories leave listeners both entertained and moved. Geraldine is frequently heard on Sirius radio, and is the recipient of two gold awards from Storytelling World as well as many other accolades. She has recently released her third storytelling CD, "Tea In The Slammer," that has received excellent reviews. Geraldine has as an MA in Communication from Regent University, and lives in Frederick, Maryland, 45 minutes from Washington DC. Find out more on her website www.geraldinebuckley.com
Location: Frederick, Maryland
Email: info@geraldinebuckley.com
URL: http://www.geraldinebuckley.com


QIQICHEN Tactical Military Polo Shirt Men Summer Army Camo lapel Polo Shirt Man's Breathable Quick Drying Arm Pocket Polo Shirts.
Hi you're buying anything. This data offers every piece of information a person preserve though shopping on the web QIQICHEN Tactical Military Polo Shirt Men Summer Army Camo lapel Polo Shirt Man's Breathable Quick Drying Arm Pocket Polo Shirts.


text:
Q: Есть ли функция, перемешивающая элементы массива произвольным образом? Есть ли функция, перемешивающая элементы массива произвольным образом?
A: Есть, называется random_shuffle.
Пример использования:
#include <algorithm>
#include <iostream>

int main() {
    int arr[] = {1, 2, 3, 4, 5, 6};
    int arr_size = sizeof(arr) / sizeof(int);
    std::random_shuffle(arr, arr + arr_size);
    for (int i = 0; i < arr_size; ++i) {
        std::cout << arr[i] << std::endl;
    }
}

A: Да, конечно. Находится в stl, random_shuffle. Ей нужен итератор на начало и конец (массив может это предоставить) и функция рандомизации.


text:
Keynote & Conference Speakers
Jonny Combe
£3K - £5K
Working in senior positions within BMW Group and PayByPhone, one of the world's fastest growing mobile payments companies, Jonny Combe is passionate about innovation, challenging organisational culture, finding creative ways to do new and exciting things within the often rigid confines of a large corporation.
- South East
Jonny Combe is a self-confessed car nut whose first venture into the automotive business was at the age of 14, cleaning neighbours' cars in rural Scotland for a fee. While studying marketing in Stirling, he bought and sold cars to supplement his income as a student before joining the BMW Group in 2006 as a graduate.
Since then, he has worked in various roles within BMW, most recently working within BMW's Financial Services organisation leading their Digital and Innovation Programmes in the UK. This included the birth of "BMW Innovation Lab" and "The Intrapreneur Lab", the first of their kind within the Automotive Finance industry.
In late 2018, Jonny left BMW to join one of the fastest growing mobile payments companies in the world, PayByPhone, as UK Chief Executive Officer.
Jonny's passionate about innovation, challenging organisational culture, finding creative ways to do new and exciting things within the often rigid confines of a large corporation.
Jonny is an engaging and charismatic speaker who will energise your audiences with his fun yet insightful learnings. He's comfortable speaking at conferences or smaller, more intimate settings where he willingly engages with participants.
For further information or to book Jonny Combe, call us on +44 (0)20 7607 7070 or email info@speakerscorner.co.uk
Want to know more about Jonny Combe?
Send a message or call and we will contact you within 24 hours
Get in touch with our friendly team of experts
Please send me your latest blogs, speaker interviews and free event invites via email.
Other speakers you might like
Wayne Garvie
Wayne Garvie is former Head of the BBC Entertainment Group and MD of BBC Worldwide. He is a charismatic…
Michael Bergdahl
Author and professional business speaker Michael Bergdahl specialises in change and turnaround, and takes…
£15K & Over
Mariana Mazzucato
Mariana Mazzucato is the chair of Economics of Innovation and Public Value and the founding director…
Robin Knox-Johnston
Explorer and sailor, Sir Robin Knox-Johnston was the first person ever to sail round the world non-stop…
£5K - £10K
Ant Middleton
Best known for his role in Channel 4's 'SAS: Who Dares Win's', Ant Middleton combines his background…
£10K - £15K
Related from around the site
Speakers Corner Celebrates International Women's Day
10 Inspirational Stories To Help You Deliver Excellent Customer Service
Blue Monday is a Day to Inspire Your Team: Book a Keynote Speaker Today


All of our items are handcrafted- from our pie crusts and cinnamon rolls to our cowboy cookies and glazed fried pies. Everything is baked fresh each morning. At Bent Bucket Bakery we put an emphasis on traditional flavors and scratch-made goodness.
Come say hello to our new staff!
Our building is ready to go!
We are so excited to open & meet all of our new customers!
Every Saturday morning we have delicious breakfast skillets- sausage OR bacon, eggs, potatoes, onions & peppers topped with homemade gravy. (gluten-free available). Served with a homemade angel biscuit & homemade mustang grape jelly.
These canvases on our wall are photos and recipes from my Grandmothers. I had some amazing women to learn from growing up. The aprons and kitchen utensils also belonged to them.
These were designed and made by a wonderful lady.
Check out her Etsy shop: Handwritten Sentiment.


text:
Getting a drink: An experiment for enabling a sustainable practice in Thai university settings
Thongplew, Natapol, Kotlakome, Ratchawut
beverages, collective action, college students, drinking water, environmental sustainability, greenhouse gases, lifestyle, prices, purchasing, social class, wastes, Thailand
Thailand, an emerging economy in Southeast Asia, has gone through significant economic and social transformations in the last few decades. In this regard, consumption levels have increased and consumer lifestyles have been transformed, causing serious environmental concerns. In response to the concerns, social movements and consumer engagements in promoting environmental sustainability have emerged. However, the amount of research looking into the roles of Thai consumers in addressing environmental problems and enhancing sustainable consumption is still limited. An experiment was set up in Ubon Ratchathani University (UBU) to explore (changing) roles of consumers in getting and buying drinks. Framing university students and staff as citizen-consumers, four interventions were introduced in the experiment. Provision of drinking water and price discount were introduced to alter the provisions of drinks in the university, while insulated water bottle and informational tools were introduced to equip students and staff with technologies, competencies, and values for a sustainable practice of getting and buying drinks. Qualitative and quantitative findings of the experiment were measured after two months. Amounts of plastic waste prevention and greenhouse gas (GHG) reduction were reported. Responses of consumers on the interventions were reported as positive. More importantly, it reveals that organizing consumers as a social group is a crucial driver for the shifting of their routine practices in a specific setting. To better organize the provision of drinking water and beverages in the university according to the consumers, convenience and cleanliness are crucial points. This research contributes to the knowledge of sustainable consumption in Thailand and sheds some light on the role and engagement of consumers in sustainable consumption practices.
DOI (10.1016/j.jclepro.2019.02.006)
Find in a library https://dx.doi.org/10.1016/j.jclepro.2019.02.006 Download RIS File Export to Zotero


text:
Een fluitschip of fluit (fluytschip, fluyt) is een lang type zeilschip met drie masten, een platte bodem, een brede buik, een smal dek en een ronde achtersteven dat werd gebouwd in de 17e en 18e eeuw. Het werd hoofdzakelijk gebruikt om vracht te vervoeren.

Kenmerken
Het fluitschip ontstond in Noord-Nederland aan het einde van de 16e eeuw uit experimenten met het verlengen van bestaande schepen. Schepen met deze verlengde romp, ook wel Hoornse gaings genoemd, ontstonden al in 1588.
Pieter Jansz Vael, bekend als de koopman Pieter Jansz. Liorne, droeg in 1595 bij aan het ontwerp van een nog slanker onbewapend schip. Met een steile boeg en achterschip, een laag zwaartepunt dat voor meer stabiliteit zorgde, drie masten die kleine, gemakkelijk te hanteren zeilen droegen en een kleinere bemanning, kon de fluit een grotere lading vervoeren dan zijn buitenlandse concurrenten. Het fluitschip werd een succes,  fluiten maakten uiteindelijk het grootste deel uit van de Nederlandse koopvaardijvloot.
Kenmerkend waren een rond, met een hakkebord versierd achterschip en een invallend bovenboord, dat het schip zijn peervorm gaf. Voor die vorm was een belangrijke economische reden: aan de Sont werd tol geheven. De hoogte van de Sonttol hing volgens Nicolaes Witsen af van de breedte van het dek. Door het smalle dek boven het brede ruim kon een maximale lading tegen een minimale tol worden vervoerd. Deze manier om tol te berekenen bleef tot 1669 in gebruik. Schepen die daarna werden gebouwd kregen een breder dek.
De fluit was bijzonder geschikt voor de handelsvaart in Europa door het beperkte aantal bemanningsleden dat nodig was om het te zeilen (ongeveer 12 tegen ongeveer 30 voor andere typen schepen van vergelijkbare afmetingen) en de geringe diepgang. Tevens was de fluit sneller en stabieler dan veel andere schepen, en had hij meer laadvermogen. Het laadvermogen steeg gedurende de eeuw van 100 last tot 180 last, en per bemanningslid van 9 à 10 last naar 13 tot 14 last. Het schip werd dan ook een van de belangrijkste scheepstypen voor de Nederlandse internationale scheepvaart. Op de Hollandse en Zeeuwse scheepswerven werden er vier- tot vijfhonderd per jaar gebouwd. Dat werd toentertijd onder andere ook mogelijk door de technische vernieuwing van de houtzaagmolen. Door het mechanische zagen konden fluitschepen snel en goedkoop worden geproduceerd.

De eerste fluiten hadden een lengte/breedte-verhouding van 4 op 1, slanker dan de 3 op 1 verhouding van de meeste schepen uit die tijd. Latere varianten van de fluit konden een slankheid van 6 op 1 hebben. De tuigage was gelijk aan die van andere driemasters: een fokkemast en een grote mast met elk maximaal drie razeilen, en een bezaanmast met een latijnzeil en soms een kruiszeil. Bij de boegspriet werden nog één of twee blinden gevoerd. Fluiten waren licht- of onbewapend. Fluitschepen hadden woon- en slaapvertrekken die gedeeld werden door de gehele bemanning.

Het fluitschip vond ook navolging in Duitsland (Fleute), Engeland (fluyt) en Zweden (flöjt).

Soorten fluitschepen
De volgende soorten fluiten werden onderscheiden:
 Oostervaerders voeren op landen rond de Oostzee. Er zijn er veel gebouwd omdat het Oostzeegebied voor de Hollandse handel van groot belang was.
 Noortsvaerders of Houthaalders voeren op Noorwegen, het Oostzee-gebied en Rusland. Ze hadden in het achterschip een afsluitbaar gat waardoor hout kon worden in- en uitgeladen.
 Groenlants Vaerders waren bestemd voor de walvisvaart. De scheepshuid van het voorschip was extra verstevigd met het oog op ijsschotsen. Op het achterschip was een hijsinstallatie waarmee de walvissloepen uitgezet en binnengehaald werden.
 Fransvaerders voeren op Frankrijk. Ze waren voorzien van een galjoen (een kleine uitbouw aan de boeg van het schip, waar zich de scheepstoiletten bevonden).
 Spaensvaerders voeren op het Iberisch Schiereiland. Ze waren voorzien van een galjoen.
 Straetsvaerders voeren op het Middellandse Zeegebied. Ze waren voorzien van een galjoen. De vorm van het schip, met het invallend bovenboord, maakte het moeilijk voor Barbarijse piraten te enteren.
 Oostindis Vaerders voeren op Azië. Ze werden door de VOC gebruikt. De fluit was eigenlijk niet geschikt om in de tropen te varen: door de hitte konden de sterk gebogen planken barsten. Daarom werden deze fluiten "veel steviger gemaeckt" (Witsen). Ze hadden een galjoen.
 Westindis Vaerders voeren op Afrika en Amerika. Ze werden door de WIC gebruikt. Ze waren voorzien van een galjoen.
 Suikerfluit, minder planken op de bovenkant, zodat er meer suiker in kon

De hekboot en het katschip zijn varianten op de fluit. Na de Franse tijd werd de plaats van de fluit ingenomen door de galjoot, waarin de rompvorm van de fluit nog herkenbaar is.

Het fluitschip in de cultuur
De roman Het eiland van de vorige dag van Umberto Eco speelt zich gedeeltelijk af op een fluitschip in de 17e eeuw.

Externe links
 Lijst van fluitschepen die voor de VOC hebben gevaren
 Fluit, vliet of gaing, Vaartips.nl
 De fluit. Maritieme Geschiedenis der Nederlanden

Historisch scheepstype
Zeilschip

redpajama_set_name: RedPajamaWikipedia


Kim Colvill is a musicologist, pianist and presenter and has been working in the music profession for over twenty five years. During her early career she worked in the fields of market research and training, lecturing on Business Management Skills and specialising in Presentation Skills.
Since then she has worked with her husband, Robin Colvill, an internationally renowned concert pianist, when she uses her own considerable expertise in presentation skills to narrate the storylines she has written to complement the music. Together they have given over 1,000 concerts in the UK alone and their unique presentation of classical music has taken them on concert tours to Europe, America, Brazil, Cuba, India, Australia and the Far East.
John Morgan is one of Britain's finest and most exciting baritones. Renowned for his 'big, strong, dark-timbred voice', he performs regularly at the Royal Opera House, Covent Garden and has also been engaged as a Principal Artist with English National Opera, Welsh National Opera and many other opera houses around the world.
John also has performed an impressive range of concerts, both in the U.K. and abroad, including oratorio, concerts with orchestra, solo and chamber recitals with piano, harp and strings. John's international career began after his success as a European Finalist in the Luciano Pavarotti Voice Competition in Modena and in the International Verdi Competition in Busetto.
Robin Colvill is one of the busiest and most versatile pianists performing in Britain today. His musical activities are diverse, encompassing solo, duo and chamber concerts: he also gives masterclasses and has appeared on British, German, Austrian and Spanish TV and radio.
Colvill has worked in the UK and abroad with eminent musicians such as Jacqueline du Pre, Nigel Kennedy, Pinchas Zuckerman and Lynn Harrell. He had a long-term partnership with the celebrated French violinist, Isabelle Flory and today works with the British singers, Susan Legg, Kim Brown and John Morgan. He has also given numerous concerts with the Paris Arpeggione Quartet, the Salzburg String Sextet, and the Salzburg Residenz Solisten.
Luke Colvill has two roles within Maestro Music Management: that of Concert Administrator for the mainstream classical concerts and specialist music events - and he is the Organiser of Incidental Music and Dance for pre-concert warm-ups and corporate hospitality. Luke is also the Financial Administrator for Maestro MM, with responsibility for sponsorship income, performers' fees, venue hire and ticket sales. He works out of the U.K. and Lanzarote in the Canary Islands.
Luke has studied at the world-renowned Drum Tech College in London and is now a professional Drummer and Teacher of the Drums, specialising in contemporary funk, jazz and soul. He takes bookings for performance and teaches Drum Grades 1-5 Royal Associated Board.
© 2017 Maestro Music Management. Design by Symian Creative.


text:
BeyondOilNYC
Updates from Dan Miner. www.beyondoilnyc.org www.meetup.com/resiliencenyc/
Turn NYC sewage sludge into biochar to save money and capture carbon
See the biochar pages at beyondoilnyc.org for details, and an ask for the NYC Council
To respond to the climate crisis, we'll have to switch from fossil fuels to renewable energy, but that won't be enough. We'll also have to remove massive amounts of carbon dioxide from the atmosphere as quickly as possible. Part of the strategy for removing the necessary 700 gigatons of carbon is planting trees - about three trillion.
Not just carbon emission reductions, but carbon capture
Another part is to keep the carbon in biomass from decomposing and returning to the atmosphere by capturing it in forms that are stable over the long term. Some approaches to carbon sequestration, like capturing CO2 directly from power plant exhausts, are unproven and expensive.
Capturing carbon has a long history - and many uses
One approach has a very long history. Before Europeans came, the indigenous people of the South American Amazon created the high-carbon terra prieta soils, that are unusually fertile to this day, by controlled burning of biomass. A modern version of this approach can be widely applied in both rural and urban areas. Biochar production is recognized as one of the top 100 policy responses to the climate crisis by Project Drawdown.
When biomass is pyrolyzed - heated in a low-oxygen environment - instead of catching on fire, it turns into a form of charcoal called biochar. In this form, carbon can be stable for thousands of years. Ideally, massive biochar production will be part of a Green New Deal package of emergency actions. Until then, we have to raise awareness of the many other benefits of biochar to make its production popular.
Biochar has many potential uses
It can be a soil amendment for farming, a compost accelerator, and a substitute for peat or vermiculite in potting soil. It's chemically similar to activated carbon, and can be used as a filter for water and exhausts. It can be mixed into asphalt, concrete and steel, improving their performance and properties. It can be mixed into packaging materials, and used in a host of commercial products. Many more uses are documented in Burn: Using Fire to Cool the Earth.
Solving waste disposal problems
Turning biomass into biochar reduces its volume, which can help with the many types of biomass we struggle to dispose of: crop waste, seaweed washed up on beaches, trees destroyed by drought or disease, manure, and sewage sludge.
The City has been looking into new ways of handling its massive solid waste streams that minimize what has to be sent to landfills. A significant fraction of NYC's solid waste is sewage sludge, which after being processed at the City's wastewater treatment plants, is called biosolids.
NYC seeking new ways to dispose of its sewage biosolids
NYC generates 1,400 tons per day of biosolids, and pays contractors about $50 million a year to ship it to faraway landfills.
NYC DEP has been researching biosolids alternatives for years. I've been in regular contact with a DEP staff member working on the issue. Some of DEP's planning is available to the public, but most is not.
The four main approaches that DEP has been researching
- applying it to land;
- anaerobic digestion;
- incineration / waste to energy;
- and pyrolysis / gasification - the heating in a low-oxygen environment - which can yield biochar.
While NYC biosolids could in theory be applied directly to land, in practice the market is very limited. Anaerobic digestion is already a key part of how NYC handles sewage sludge.
The two other approaches are both forms of thermal processing, but there are significant differences.
With incineration, the waste is heated in the presence of oxygen, so it catches on fire and burns. There are about 86 waste to energy facilities around the US, which combine incineration of mixed municipal solid waste with some materials recovery. Some of NYC's MSW already goes to the Covanta WTE in Newark, NJ.
With pyrolysis, the waste is heated in a low- or no-oxygen environment. Both types of thermal processing will sharply reduce waste volume, lowering disposal and transportation costs. The cost per ton, energy recovery, and yields of solid and gaseous end products will all vary depending on the types of equipment, feedstock, and operating conditions.
The crucial difference is that pyrolysis / gasification systems can be set to produce a solid end product that's not just ash, but stable carbon. Biochar made from wood has a higher percentage of carbon that biochar from sewage sludge. Exactly how much carbon could be pulled from NYC waste streams would have to be determined.
Municipal pyrolysis projects for NYC to consider
Incineration has been around for a long time. Pyrolysis is a new disposal option for cities.
- Stockholm, Sweden has been turning municipal green waste into biochar for several years.
- Some cities in India have been pyrolyzing their sewage sludge.
- A pyrolysis facility to run on municipal biosolids is set to open in 2020 in Linden, NJ.
- Ithaca, NY plans to set up a pyrolysis facility for its biosolids.
Rendering of the Aries facility in Linden, NJ
Since the NYC Council has already declared a state of climate emergency, shouldn't we be an early adopter of pyrolysis too? We can be a model for other governments, nationally and globally.
We don't know which vendors and facility operators DEP has been in touch with, what proposals they have already made to the City, and what the comparative costs of incineration and pyrolysis might be. But since a pyrolysis process is potentially a new, important climate crisis response, it shouldn't be evaluated just on the basis of its costs to the City. We have to educate our elected officials about how carbonizing waste streams supports the City's climate plans. Then, we have to get them to push DEP for updates - and a faster process.
NYC Council should schedule a hearing with NYC DEP on the status of research into biosolids disposal options. They should ask DEP to speed up its research, and report back regularly - not just on disposal costs per ton of each option being considered, but on how much climate-protecting solid carbon the City could produce through each option. Also, officials should consider how the City could use that carbon internally or encourage development of commercial and industrial uses for it.
See the biochar pages on beyondoilnyc.org for an expanded version of this summary, with links to references, and for more about NYC wood wastes, pyrolysis manufacturers / system developers, and new uses of biochar, as well as a request for NYC Council.
Posted by Dan Miner at 9:23 AM
Dan Miner
Leadership, Engagement and Community Outreach For Business, Sustainability and Resilience Initiatives • Create, manage and promote events and programs • Develop partnerships • Expedite constituent service requests • Sales, networking and presentations to diverse audiences • 20+ years experience
Beyond Oil NYC
Resilience NYC Meetup
Resilience / Energy Bulletin
Peak Prosperity
Turn NYC sewage sludge into biochar to save money ...


The Catechism is built upon the four pillars of catechesis: the baptismal profession of faith, the sacraments of faith, the life of faith and the prayer of the believer.
The Catechism states that Christians are to confess their faith before humanity. Consequently, the Catechism begins by expounding revelation, the process by which God "addresses and gives himself to man," and the faith by which humanity responds to God. In other words, the Catechism follows the same structure of the entire spiritual life: we first receive, and then we respond. Like life itself, God first gives freely in order that we might have life more fully in communion with the Trinity, our destiny – but we have to choose to respond to this gift by receiving it. It is this "yes" to God's gift of revelation that the Catechism hopes to foster and deepen through an exposition of the faith.
Consequently, the profession of faith "summarizes the gifts that God gives [humanity]: as the Author of all that is good; as Redeemer; and as Sanctifier." It does this through the exploration of God's self-revelation to us as the triune God: Father, Son and Holy Spirit.
This pillar of the faith explains how God's salvation, "accomplished once for all through Christ Jesus and the Holy Spirit, is made present in the sacred actions of the Church's liturgy and in the seven sacraments." Again, the Catechism depicts the gifts God has freely given to us for our salvation and then invites us to respond in faith by our participation in these gifts. It is a dynamic that repeats itself in the next two sections as well.
Humanity was created by God for eternal life in communion with God, or beatitude. Because this is the end for which humanity was created, this section explores both beatitude and the ways of reaching it. We only can be truly alive when our lives are in harmony with that for which we were created.
The Catechism does not provide any adaptations of doctrinal presentations and catechetical methods required by "differences of culture, age, spiritual maturity, and social and ecclesial condition." This faithful adaptation is left to those responsible for instructing the faithful, primarily the bishops, and for particular catechisms.
Examples of responses to this need for the adaptation of the Catechism include the Compendium of the Catechism of the Catholic Church and the United States Catholic Catechism for Adults.
The Compendium employs a question and answer format with only the "essentials" of the Catechism to facilitate ease of use. The U.S. Catechism for Adults was issued by the United States Conference of Catholic Bishops in 2006 as a "local" catechism. This catechism is designed to help the U.S. reader better relate to the lessons of faith through the use of stories of individuals from the U.S., sidebars, discussion questions, meditation and prayer.
Pope Paul VI was elected to the papacy on June 21, 1963. He re-opened the Council, which had automatically closed per canon law with the death of Pope John XXIII. He also was charged with interpreting and implementing the Council's mandates after the Council closed.