text:
using Mono.Options;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Configuration;
using System.IO;

namespace Com.Blackducksoftware.Integration.Hub.Nuget.BuildBom
{
    public class Application
    {
        public const string PARAM_KEY_APP_SETTINGS_FILE = "app_settings_file";
        public const string PARAM_KEY_SOLUTION = "solution_path";
        public const string PARAM_KEY_HUB_URL = "hub_url";
        public const string PARAM_KEY_HUB_USERNAME = "hub_username";
        public const string PARAM_KEY_HUB_PASSWORD = "hub_password";
        public const string PARAM_KEY_PACKAGE_REPO_URL = "packages_repo_url";
        public const string PARAM_KEY_HUB_PROXY_HOST = "hub_proxy_host";
        public const string PARAM_KEY_HUB_PROXY_PORT = "hub_proxy_port";
        public const string PARAM_KEY_HUB_PROXY_USERNAME = "hub_proxy_username";
        public const string PARAM_KEY_HUB_PROXY_PASSWORD = "hub_proxy_password";
        public const string PARAM_KEY_HUB_PROJECT_NAME = "hub_project_name";
        public const string PARAM_KEY_HUB_VERSION_NAME = "hub_version_name";
        public const string PARAM_KEY_HUB_TIMEOUT = "hub_timeout";
        public const string PARAM_KEY_HUB_SCAN_TIMEOUT = "hub_scan_timeout";
        public const string PARAM_KEY_HUB_OUTPUT_DIRECTORY = "hub_output_directory";
        public const string PARAM_KEY_EXCLUDED_MODULES = "excluded_modules";
        public const string PARAM_KEY_HUB_IGNORE_FAILURE = "hub_ignore_failure";
        public const string PARAM_KEY_HUB_CREATE_FLAT_LIST = "hub_create_flat_list";
        public const string PARAM_KEY_HUB_CREATE_BDIO = "hub_create_bdio";
        public const string PARAM_KEY_HUB_DEPLOY_BDIO = "hub_deploy_bdio";
        public const string PARAM_KEY_HUB_CREATE_REPORT = "hub_create_report";
        public const string PARAM_KEY_HUB_CHECK_POLICIES = "hub_check_policies";
        public const string PARAM_KEY_HUB_CODE_LOCATION_NAME = "hub_code_location_name";
        public const string PARAM_KEY_HUB_CREATE_MERGED_BDIO = "hub_create_merged_bdio";

        private ProjectGenerator ProjectGenerator;
        private string[] Args;
        private Dictionary<string, string> PropertyMap;
        private Dictionary<string, string> CommandLinePropertyMap;
        private Dictionary<string, string> AppSettingsMap;

        private bool ShowHelp = false;
        private bool Verbose = false;

        public Application(string [] args)
        {
            this.Args = args;
            PropertyMap = new Dictionary<string, string>();
            CommandLinePropertyMap = new Dictionary<string, string>();
            AppSettingsMap = new Dictionary<string, string>();
        }

        public static void Main(string[] args)
        {
            try
            {
                Application app = new Application(args);
                app.Execute();
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine(ex.Message);
            }
        }

        public bool Execute()
        {
            try
            {
                Configure();
                if (!ShowHelp)
                {
                    return ProjectGenerator.Execute();
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                Console.Error.WriteLine("Error occurred executing command: {0}",ex.Message);
                Environment.Exit(-1);
                return false;
            }
        }

        private void Configure()
        {
            PopulateParameterMap();
            OptionSet commandOptions = CreateOptionSet();
            ParseCommandLine(commandOptions);
            string usageMessage = "Usage is BuildBom.exe [OPTIONS]";

            if(ShowHelp)
            {
                LogProperties();
                ShowHelpMessage(usageMessage, commandOptions);
            }

            ConfigureGenerator(commandOptions);
        }

        private void LogProperties()
        {
            if (Verbose)
            {
                Console.WriteLine("Configuration Properties: ");
                foreach (string key in PropertyMap.Keys)
                {
                    string property_value = PropertyMap[key];
                    if (key.Contains("password"))
                    {
                        Console.WriteLine("Property {0} = **********", key);
                    }
                    else
                    {
                        Console.WriteLine("Property {0} = {1}", key, PropertyMap[key]);
                    }
                }
            }
        }

        private void PopulateParameterMap()
        {
            NameValueCollection applicationProperties = ConfigurationManager.AppSettings;

            foreach (string key in applicationProperties.AllKeys)
            {
                PropertyMap[key] = applicationProperties[key];
            }
        }

        private OptionSet CreateOptionSet()
        {
            OptionSet optionSet = new OptionSet();
            AddAppSettingsFileMenuOption(optionSet, PARAM_KEY_APP_SETTINGS_FILE, "The file path for the application settings that overrides all settings.");
            AddMenuOption(optionSet, PARAM_KEY_SOLUTION, "The path to the solution file to find dependencies");
            AddMenuOption(optionSet, PARAM_KEY_HUB_URL, "The URL of the Hub to connect to.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_USERNAME, "The username to authenticate with the Hub.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_PASSWORD, "The password to authenticate with the Hub.");
            AddMenuOption(optionSet, PARAM_KEY_PACKAGE_REPO_URL, "The URL of the NuGet repository to get the packages.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_PROXY_HOST, "The host URL of the proxy server.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_PROXY_PORT, "The port of the proxy server.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_PROXY_USERNAME, "The username to authenticate with the proxy.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_PROXY_PASSWORD, "The password to authenticate with the proxy.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_PROJECT_NAME, "The name of the project in the Hub to map to.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_VERSION_NAME, "The version name for the project in the Hub to map to.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_TIMEOUT, "The timeout value for each http connection to the Hub.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_SCAN_TIMEOUT, "The time to wait for the Code Location to be updated in the Hub.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_OUTPUT_DIRECTORY, "The directory path to output the BDIO files.");
            AddMenuOption(optionSet, PARAM_KEY_EXCLUDED_MODULES, "The names of the projects in a solution to exclude from BDIO generation.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_IGNORE_FAILURE, "If true log the error but do not throw an exception.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_CREATE_FLAT_LIST, "True if the dependencies should be shown as a flat list.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_CREATE_BDIO, "True if BDIO files should be generated in the output directory.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_DEPLOY_BDIO, "True if the BDIO files in the output directory should be uploaded to the hub.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_CREATE_REPORT, "True if the risk report should be generated in the output directory.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_CHECK_POLICIES, "Check if the project contains policy violations in the Hub.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_CODE_LOCATION_NAME, "Override for the code location to insert into the BDIO file.");
            AddMenuOption(optionSet, PARAM_KEY_HUB_CREATE_MERGED_BDIO, "Generate an single merged BDIO file for the solution.");

            optionSet.Add("?|h|help", "Display the information on how to use this executable.", value => ShowHelp = value != null);
            optionSet.Add("v|verbose", "Display more messages when the executable runs.", value => Verbose = value != null);

            // add help otion
            return optionSet;
        }

        private void AddAppSettingsFileMenuOption(OptionSet optionSet, string name, string description)
        {
            optionSet.Add($"{name}=", description, (value) =>
            {
                string appSettingsFile = value;
                if (!string.IsNullOrWhiteSpace(appSettingsFile))
                {
                    PopulatePropertyMapByExternalFile(appSettingsFile);
                }
            });
        }

        private void AddMenuOption(OptionSet optionSet, string name, string description)
        {
            optionSet.Add($"{name}=", description, (value) =>
            {
                CommandLinePropertyMap[name] = value;
            });
        }

        private void ParseCommandLine(OptionSet commandOptions)
        {
            try
            {
                commandOptions.Parse(this.Args);
            }
            catch(OptionException)
            {
                ShowHelpMessage("Error processing command line, usage is: buildBom.exe [OPTIONS]", commandOptions);
            }
        }

        private void PopulatePropertyMapByExternalFile(string path)
        {
            ExeConfigurationFileMap configFileMap = new ExeConfigurationFileMap();
            configFileMap.ExeConfigFilename = path;
            Configuration config = ConfigurationManager.OpenMappedExeConfiguration(configFileMap,ConfigurationUserLevel.None);
            foreach(KeyValueConfigurationElement element in config.AppSettings.Settings)
            {
                AppSettingsMap[element.Key] = element.Value;
            }
        }

        private void ResolveProperties()
        {
            foreach (string key in AppSettingsMap.Keys)
            {
                PropertyMap[key] = AppSettingsMap[key];
            }

            foreach (string key in CommandLinePropertyMap.Keys)
            {
                PropertyMap[key] = CommandLinePropertyMap[key];
            }
        }

        private void ConfigureGenerator(OptionSet commandOptions)
        {
            ResolveProperties();
            ProjectGenerator = CreateGenerator();

            if(ProjectGenerator == null)
            {
                ShowHelpMessage("Couldn't find a solution or project. Usage buildBom.exe [OPTIONS]", commandOptions);
            }

            if(PropertyMap.ContainsKey(PARAM_KEY_HUB_OUTPUT_DIRECTORY))
            {
                if (String.IsNullOrWhiteSpace(PropertyMap[PARAM_KEY_HUB_OUTPUT_DIRECTORY]))
                {
                    string currentDirectory = Directory.GetCurrentDirectory();
                    string defaultOutputDirectory = $"{currentDirectory}{Path.DirectorySeparatorChar}{ProjectGenerator.DEFAULT_OUTPUT_DIRECTORY}";
                    PropertyMap[PARAM_KEY_HUB_OUTPUT_DIRECTORY] = defaultOutputDirectory;
                }
            }

            LogProperties();

            ProjectGenerator.Verbose = Verbose;
            ProjectGenerator.HubUrl = GetPropertyValue(PARAM_KEY_HUB_URL);
            ProjectGenerator.HubUsername = GetPropertyValue(PARAM_KEY_HUB_USERNAME);
            ProjectGenerator.HubPassword = GetPropertyValue(PARAM_KEY_HUB_PASSWORD);
            ProjectGenerator.PackagesRepoUrl = GetPropertyValue(PARAM_KEY_PACKAGE_REPO_URL);

            ProjectGenerator.HubTimeout = Convert.ToInt32(GetPropertyValue(PARAM_KEY_HUB_TIMEOUT,"120"));
            ProjectGenerator.HubProjectName = GetPropertyValue(PARAM_KEY_HUB_PROJECT_NAME);
            ProjectGenerator.HubVersionName = GetPropertyValue(PARAM_KEY_HUB_VERSION_NAME);

            ProjectGenerator.HubProxyHost = GetPropertyValue(PARAM_KEY_HUB_PROXY_HOST);
            ProjectGenerator.HubProxyPort = GetPropertyValue(PARAM_KEY_HUB_PROXY_PORT);
            ProjectGenerator.HubProxyUsername = GetPropertyValue(PARAM_KEY_HUB_PROXY_USERNAME);
            ProjectGenerator.HubProxyPassword = GetPropertyValue(PARAM_KEY_HUB_PROXY_PASSWORD);

            ProjectGenerator.HubScanTimeout = Convert.ToInt32(GetPropertyValue(PARAM_KEY_HUB_SCAN_TIMEOUT,"300"));
            ProjectGenerator.OutputDirectory = GetPropertyValue(PARAM_KEY_HUB_OUTPUT_DIRECTORY);
            ProjectGenerator.ExcludedModules = GetPropertyValue(PARAM_KEY_EXCLUDED_MODULES);
            ProjectGenerator.HubIgnoreFailure = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_IGNORE_FAILURE,"false"));
            ProjectGenerator.CreateFlatDependencyList = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_CREATE_FLAT_LIST,"false"));
            ProjectGenerator.CreateHubBdio = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_CREATE_BDIO,"true"));
            ProjectGenerator.DeployHubBdio = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_DEPLOY_BDIO,"true"));
            ProjectGenerator.CreateHubReport = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_CREATE_REPORT,"false"));
            ProjectGenerator.CheckPolicies = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_CHECK_POLICIES, "false"));
            ProjectGenerator.HubCodeLocationName = GetPropertyValue(PARAM_KEY_HUB_CODE_LOCATION_NAME);
        }

        private ProjectGenerator CreateGenerator()
        {
            string solutionPath = GetPropertyValue(PARAM_KEY_SOLUTION);
            if (string.IsNullOrWhiteSpace(solutionPath))
            {
                Console.WriteLine("Searching for a solution file to process...");
                // search for solution
                string currentDirectory = Directory.GetCurrentDirectory();
                string[] solutionPaths = Directory.GetFiles(currentDirectory, "*.sln");

                if (solutionPaths != null && solutionPaths.Length >= 1)
                {
                    SolutionGenerator solutionGenerator = new SolutionGenerator();
                    solutionGenerator.SolutionPath = solutionPaths[0];
                    solutionGenerator.GenerateMergedBdio = Convert.ToBoolean(GetPropertyValue(PARAM_KEY_HUB_CREATE_MERGED_BDIO, "false"));
                    PropertyMap[PARAM_KEY_SOLUTION] = solutionPaths[0];
                    return solutionGenerator;
                }
                else
                {
                    Console.WriteLine("No Solution file found.  Searching for a project file...");
                    string[] projectPaths = Directory.GetFiles(currentDirectory, "*.csproj");
                    if (projectPaths != null && projectPaths.Length > 0)
                    {
                        string projectPath = projectPaths[0];
                        Console.WriteLine("Found project {0}", projectPath);
                        ProjectGenerator projectGenerator = new ProjectGenerator();
                        projectGenerator.ProjectPath = projectPath;
                        return projectGenerator;
                    }
                    else
                    {
                        return null;
                    }
                }
            }
            else
            {
                if (solutionPath.Contains(".sln"))
                {
                    SolutionGenerator solutionGenerator = new SolutionGenerator();
                    solutionGenerator.SolutionPath = solutionPath;

                    return solutionGenerator;
                }
                else
                {
                    ProjectGenerator projectGenerator = new ProjectGenerator();
                    projectGenerator.ProjectPath = solutionPath;
                    return projectGenerator;
                }
            }
        }

        private string GetPropertyValue(string key, string defaultValue = "")
        {
            if(PropertyMap.ContainsKey(key))
            {
                return PropertyMap[key];
            }
            else
            {
                return defaultValue;
            }
        }

        private void ShowHelpMessage(string message, OptionSet optionSet)
        {
            Console.Error.WriteLine(message);
            optionSet.WriteOptionDescriptions(Console.Error);
            Environment.Exit(-1);
        }
    }
}

redpajama_set_name: RedPajamaGithub


Original British Army DPM Combat trousers. 2 side pockets. 1 back pocket with button. 2 leg pockets. Drawstring at the botton of the legs. Zip Fly. Waist adustable buttons and drawstring. Trousers in good usable condition.


BESS ATWELL is rated 5.0 out of 5 by 1.
Rated 5 out of 5 by Poulet from This was the fourth time I've seen Bess , she gets better every time . I recommended some friends come to this gig and they loved it . They thought Bess had a beautiful voice mixed with very delicate lyrics. With her new band , the volume was turned up but it didn't really need to be !


text:
How should one deal with those who relentlessly pester with deluded views?
Best Answer: Ignore them. 2 Timothy 3:5 - "Having a form of godliness, but denying the power thereof: from such turn away."
Bobby Jim · 4 months ago
Tell her you will NOT call her "sir" until she gets an adadictomy. And even then, her chromosomes say she is a woman.
via logic and reason · 4 months ago
Get a real job? 🤔
If you can't handle it, maybe you're in the wrong place?
Source(s): Very honest and an opinionated lady.
Nightfall · 4 months ago
I think of this when I think of these questions and they need to be proven by labs and seen by eyes and not say it happened but we didn't see it which is not science.
How did life originate? Evolutionist Professor Paul Davies admitted, "Nobody knows how a mixture of lifeless chemicals spontaneously organized themselves into the first living cell."1 Andrew Knoll, professor of biology, Harvard, said, "we don't really know how life originated on this planet".2 A minimal cell needs several hundred proteins. Even if every atom in the universe were an experiment with all the correct amino acids present for every possible molecular vibration in the supposed evolutionary age of the universe, not even one average-sized functional protein would form. So how did life with hundreds of proteins originate just by chemistry without intelligent design? How did the DNA code originate? The code is a sophisticated language system with letters and words where the meaning of the words is unrelated to the chemical properties of the letters—just as the information on this page is not a product of the chemical properties of the ink (or pixels on a screen). What other coding system has existed without intelligent design? How did the DNA coding system arise without it being created? How could mutations—accidental copying mistakes (DNA 'letters' exchanged, deleted or added, genes duplicated, chromosome inversions, etc.)—create the huge volumes of information in the DNA of living things? How could such errors create 3 billion letters of DNA information to change a microbe into a microbiologist? There is information for how to make proteins but also for controlling their use—much like a cookbook contains the ingredients as well as the instructions for how and when to use them. One without the other is useless. See: Meta-information: An impossible conundrum for evolution. Mutations are known for their destructive effects, including over 1,000 human diseases such as hemophilia. Rarely are they even helpful. But how can scrambling existing DNA information create a new biochemical pathway or nano-machines with many components, to make 'goo-to-you' evolution possible? E.g., How did a 32-component rotary motor like ATP synthase (which produces the energy currency, ATP, for all life), or robots like kinesin (a 'postman' delivering parcels inside cells) originate? Why is natural selection, a principle recognized by creationists, taught as 'evolution', as if it explains the origin of the diversity of life? By definition it is a selective process (selecting from already existing information), so is not a creative process. It might explain the survival of the fittest (why certain genes benefit creatures more in certain environments), but not the arrival of the fittest (where the genes and creatures came from in the first place). The death of individuals not adapted to an environment and the survival of those that are suited does not explain the origin of the traits that make an organism adapted to an environment. E.g., how do minor back-and-forth variations in finch beaks explain the origin of beaks or finches? How does natural selection explain goo-to-you evolution? How did new biochemical pathways, which involve multiple enzymes working together in sequence, originate? Every pathway and nano-machine requires multiple protein/enzyme components to work. How did lucky accidents create even one of the components, let alone 10 or 20 or 30 at the same time, often in a necessary programmed sequence. Evolutionary biochemist Franklin Harold wrote, "we must concede that there are presently no detailed Darwinian accounts of the evolution of any biochemical or cellular system, only a variety of wishful speculations."
Donito Taylor · 4 months ago
Don't respond to the pestering.
bender_xr217 · 4 months ago
well if it involves coming to a forum constantly and asking for it .. maybe just stop coming lol ..
Dze · 4 months ago
What is gematria?
As a Christian, do you accept gay people as equal human beings?

redpajama_set_name: RedPajamaCommonCrawl


text:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llParent"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@null"
    android:gravity="center">

    <LinearLayout
        android:layout_width="580px"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:background="@drawable/btn_bg_border_white"
        android:orientation="vertical">

        <!-- Title -->

        <LinearLayout
            android:id="@+id/dialog_lay_title"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30px"
            android:layout_marginRight="30px"
            android:gravity="center_vertical"
            android:orientation="horizontal"
            android:paddingTop="30px"
            android:visibility="gone">

            <TextView
                android:id="@+id/dialog_title"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="aaaaaaa"
                android:textColor="@color/normal_text"
                android:textSize="@dimen/normal_textSize" />

        </LinearLayout>

        <!--<!– split –>-->

        <!--<View-->
        <!--android:id="@+id/dialog_lay_split"-->
        <!--android:layout_width="fill_parent"-->
        <!--android:layout_height="@dimen/divide_height"-->
        <!--android:layout_marginLeft="@dimen/margin_normal"-->
        <!--android:layout_marginRight="@dimen/margin_normal" />-->
        <!-- Content -->
        <TextView
            android:id="@+id/dialog_content"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:focusable="true"
            android:gravity="center_vertical"
            android:padding="@dimen/normal_margin"
            android:text=""
            android:textColor="@color/normal_text"
            android:textSize="@dimen/normal_textSize" />

        <!-- OK&Cancel Button -->
        <View
            android:layout_width="fill_parent"
            android:layout_height="@dimen/divide_height"
            android:background="#eaeaea" />

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:paddingLeft="30px"
            android:paddingRight="30px">

            <TextView
                android:id="@+id/dialog_btn_cancel"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="30px"
                android:layout_weight="1"
                android:focusable="true"
                android:gravity="center"
                android:paddingBottom="15px"
                android:paddingTop="15px"
                android:text="ok"
                android:visibility="gone"
                android:textColor="#02ABF0"
                android:textSize="@dimen/normal_textSize" />

            <TextView
                android:id="@+id/tv_dialog_view"
                android:layout_width="@dimen/divide_height"
                android:layout_height="fill_parent"
                android:background="#eaeaea" />

            <TextView
                android:id="@+id/dialog_btn_ok"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:focusable="true"
                android:gravity="center"
                android:paddingBottom="15px"
                android:paddingTop="15px"
                android:text="ok"
                android:textColor="#02ABF0"
                android:textSize="@dimen/normal_textSize" />

        </LinearLayout>
    </LinearLayout>

</LinearLayout>


text:
Thrill of the Chase
An 87-year-old millionaire hid a treasure chest in the Rockies and America is losing its mind looking for it
By Coleman Bentley
In the event that Nic Cage retires from acting or perishes in a freak T. Rex skull accident without first gracing us with the great glowing glory of National Treasure 3, here's the next best thing: Back in 2010, Forrest Fenn, an 87-year-old Vietnam fighter pilot turned art dealer, hid a literal treasure chest packed with 40 pounds of emeralds, rubies, gold coins, and diamonds deep in Rocky Mountains and turned the search over to wanna-be Indiana Joneses across the country.
Eight years and an estimated 350,000 amateur treasure hunters later, the chest remains hidden, but don't worry, Sherlock Internet is on the case. In 2016, Fenn posted the primary clue—a six-stanza poem entitled "The Thrill of the Chase"—on Instagram. Since then, a subreddit, r/FindingFennsGold, has appeared, and Fenn has begun receiving over 100 emails (and a few death threats) a day. America, however, is no closer to discovering the chest than we were back in the halcyon days of not being a Russian puppet state.
A post shared by Forrest Fenn Treasure (@forrest.fenn)
Now, there's a very real possibility this is an all elaborate hoax by a sick old man who, it should be mentioned, was once raided by the FBI in connection with stolen artifacts, but that hasn't stopped the proverbial wildfire from burning out of control. Four people have allegedly died in search of the chest, prompting Fenn to clarify that the chest is not, for instance, at the bottom of the Rio Grande, at the top of a vertical wall of rock, or propping up a large, human-steamrolling boulder.
Despite the best efforts of real-life movie characters like Missouri steamboat operator Ricky Idlett, who claims to research the chest online around twelve hours a night, raising some very real concerns about the combination of sleep deprivation and heavy machinery in case you've already booked that dream Lewis & Clark cruise, those hints have done little to aid the discovery of the trove, and so the search rages on.
In recent years, Fenn has become increasingly vocal about his little stunt, clearly hoping to see its conclusion before his time is up, but neither he, nor you—guy who is suddenly browsing prospecting gear at REI right now—should get your hopes up. If this thing hasn't already been found but gone unclaimed (because why would you claim it and deal with the taxes and media and pyschos like Ricky Idlett?) or been swallowed and sh*t out by a bear, chances are it never existed in the first place. JIM, FOR THE LAST TIME, PUT THAT PICK AXE DOWN.
H/T CNBC.


Opening a jar of pickles should not be that difficult. And while you are busy mumbling, grimacing, hopping on one foot and holding the jar against your hip until the lid pops open, a young brain may be analyzing the spectacle and learning from it.
Researchers at Massachusetts Institute of Technology have found infants who watched an adult struggle and then succeed at something were more likely to show perseverance themselves when faced with a completely different task.
Read the full story on Scientific American's website using the link below.


Take advantage of Royalty Core's optimal location with no sales tax or any hidden fees with all orders. Royalty Core handles all customs paperwork for international customers and ships directly to their door step.
Royalty Core ships worldwide daily with tracking numbers, full insurance, and a delivery confirmation if required. Each product is packaged by Royalty Core to ensure that you receive it in perfect condition.
Royalty Core ships primarily through UPS but can ship through a different carrier if needed. We will email you a tracking number once we get it packaged and shipped!
Once you receive your new Royalty Core products send pictures of your truck so we can all see.
1. Do you have a minimum order?
Yes. A $20 minimum is required to place an order.
2. Do you offer rush shipping?
Yes. Rates vary depending upon speed of shipment and the size of the package. But we can provide an estimate.
It depends on your location and the size and weight of your order.
4. What shipping methods do you offer?
We ship primarily through UPS but can ship through a different carrier if needed.
5. How long does it take to process and ship my order?
We process non-custom orders either on the same day with a production time of about 10-12 business days or the next business day. Custom orders take longer, usually about a week. We'll keep you posted through the entire process.
6. How long does shipping take?
If you're in the continental US, expect delivery within 3-7 business days.
If you're in Alaska, Hawaii, or Puerto Rico, expect delivery within 3-7 business days.
If you're in Canada or international, expect delivery within 5-7 business days.
7. Will you provide tracking information?
Yes. You will receive your tracking number once we get your order packaged and shipped.
8. If I pay by credit card, will you charge my card once the item has shipped?
No. Your card will be charged when you complete your order online.
9. If I ordered a part that's out of stock, when will it ship?
As soon as possible. We'll let you know immediately if a part you ordered is out of stock, and we'll give you an estimated shipping time frame.
10. Can you ship my order to multiple addresses?
Yes, we can. However, it's not offered as an option during the checkout process so you'll have to call us to request it.
11. Do you ship to AK, HI, and US territories?
Of course! Shipping takes 3-7 business days to AK, HI, and US territories.
12. Do you ship to PO Boxes or APOs/FPOs?
Since UPS is our primary carrier, we don't ship to PO boxes or APOs/FPOs. However, we can use another carrier that delivers to these addresses. Please call in your order if you'd like us to make special arrangements for you.
13. Do you ship internationally?
Yes, we do. In fact, we handle all customs paperwork, and we'll find a carrier that will deliver your order directly to your front door.
14. Do you ship hazardous items?
We don't offer any hazardous items, but if we ever do, we'll be able to ship them via UPS.
15. Do you ship oversized parts?
16. What happens if you ship the wrong part?
Call us. We'll take care of our mistake and send you the correct part ASAP.
17. What happens if the part is damaged during shipping?
Each product is packaged extremely well by our packaging team to ensure that you receive it in perfect condition. In the rare occurrence that your product is damaged during shipping, you'll have to file a damage claim with the carrier.
If your part was delivered by UPS, please contact them immediately with your tracking number, and they will handle the claim.
US customers please call: 1-800-742-5877.
International customers, please follow this link to find the appropriate phone number: http://www.ups.com/content/corp/worldwide/index.html.
If your part was delivered by another carrier, please call us. Your package will be fully insured and any damages will be covered by the carrier.
18. How can I be sure you're shipping me parts that will fit my truck?
Feel free to give us a call! We'll be happy to help you find a product that fits your truck.
19. What happens if the part doesn't fit my truck?
You're welcome to return it to us within 7 days of receiving your order. If we accidentally sent you the wrong part, please call us and we'll make it right.
20. What if my address changes before my order ships? Can I change where you send my shipment?
Please contact us right away. If your order has not been processed for shipment yet, we can change your address for you. If your order is already processed, then you'll have to contact the carrier and ask them to reroute your delivery to the new address.
21. What if I never receive an order?
Use the tracking number you were given to find out where your order ended up. Your shipment is fully insured, so you can file a claim with the carrier. Please call us if you need assistance doing this.
22. What happens if I refuse the shipment?
The shipment will be returned to us, and we'll issue a partial refund minus the cost of shipping, the 20% restocking fee, and any other fees that may apply. It's best to accept the shipment and then contact us to start the return process.


One knob controls it all. Rolled all the way back the Super Chili Picoso makes an excellent buffer. Rolling the knob up gives you up to 35dB of clean boost.
Catalinbread have been building the Super Chili Picoso for the past 10 years solid. For good reason, based on the famous Jack Orman MOSFET boost it is highly regarded by musicians worldwide. Needless to say, it has a running start in terms of sonic quality. It doesn't suffer from the hashy unmusical qualities of an opamp boost or brittleness of a poorly tuned bipolar boost. We refined Orman's circuit employing top notch components, but not just because the parts were expensive, but because they were the RIGHT parts to our ears. Thus the Super Chili Picoso is a satisfying to play musical device that enhances your playing without getting in the way of creativity.
The Super Chili Picoso is a deceptively simple pedal that performs so many duties and solves so many problems that it is a must have in every self-respecting musicians' arsenal. Let's go through a number of these, shall we?!
- Buffer. Have a lot of pedals and/or long cable runs on stage? I don't care how "low capacitance" your cables are, they are going to roll off high frequency detail and signal strength. The Super Chili Picoso's high input impedance (something like 10M ohms) and ultra low output impedance (around 3K ohms) doesn't let a drop of your tone escape. Just turn the big knob counter-clockwise and go! The Super Chili Picoso is your buffer!
- MORE! Ever finding yourself needing a clean, uncolored volume nudge? Say you have your fuzz set just right and need to make your entire soundstage louder? The Super Chili Picoso delivers from a few decibels to upward of 35dB unadulterated clean boost! (Provided any gear that you have down stream has headroom to spare.) The Super Chili Picoso is your MORE pedal!
- Overdriver. Ever want to push your slightly self-overdriven amp into a satisfying crunch at the click of a switch? Say you have a lower wattage amp (or you are lucky enough to play a big ole amp LOUDLY) on the edge of breakup and need push it even harder without messing with your amp's overall character, the Super Chili Picoso is your overdriver!
- Balancer. Do you have an old Danelectro U2 with low output pickups and a Les Paul with hot humbuckers and have a tough time achieving an equal volume level between the two while maintaining the sonic qualities of the two instruments? Set the Super Chili Picoso's knob to make up the difference! There we are, nice and balanced!


The rules would be simple. 50 hipsters would be rounded up from the streets of Shoreditch and Brick Lane and herded to the Olympic stadium in Stratford. There they would be hunted over a cunningly designed game zone by competitors from across the globe and the gold would be awarded to the one who brought the most glasses back in their trophy bag. Easy.
After a quick bit of recon to work out where she'd look her best we got her up complete with shotgun and official 'Hipster Hunt' poster. Where better but the East End of course. I'm sure she'll be bagging braces of the swaggering bespectacled try-hard's left, right and centre. Go team GB!


text:
<!DOCTYPE html>

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no" />
    <title>Penyisihan PCS | Joints UGM</title>

    <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Quicksand" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Open+Sans" rel="stylesheet">
    <link href="css/materialize.css" type="text/css" rel="stylesheet" media="screen,projection" />
    <link href="css/style.css" type="text/css" rel="stylesheet" media="screen,projection" />
    <link rel="stylesheet" href="stylesheets/dashboard.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/material-design-iconic-font/2.2.0/css/material-design-iconic-font.min.css">

            menu

Penyisihan

                    John Doe
                    jdandturk@gmail.com

Beranda

Penyisihan

Tim

Berita

Pembayaran

Pengaturan

Keluar

Prosedur Pengerjaan Penyisihan PCS Joints 2017 Sesi 1

Penyisihan Sesi 1

Sesi I adalah logika yang terdiri dari 30 soal dan dikerjakan selama 90 menit.

Penilaian Sesi I adalah setiap soal Benar +5; Kosong 0; dan Salah -2

Setiap soal pada Sesi I dipastikan memiliki jawaban dan tanpa klarifikasi dari peserta. Klarifikasi dari juri akan diberitahukan melalui website pengerjaan.

Klik tombol "Mulai" dibawah untuk mulai mengerjakan soal penyisihan sesi 1

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Maxime quaerat doloribus voluptas quos culpa voluptatibus quidem in illum harum, voluptate distinctio cupiditate, ad maiores quae corrupti, natus impedit. Nulla, eum!

                        <button class="btn-large-blue waves-effect waves-light" type="submit" name="action">Mulai</button>

Prosedur Pengerjaan Penyisihan PCS Joints 2017 Sesi 2

Penyisihan Sesi 2

Sesi II adalah pemrograman yang terdiri dari 5 soal dan dikerjakan selama 180 menit.

Bahasa pemrograman yang bisa digunakan adalah Pascal atau C/C++.

Penilaian Sesi II adalah 1/0 dengan bobot nilai berbeda yaitu 50 – 60 – 70 – 80 - 90 dengan total poin didapat pada Sesi II adalah 350.

Tidak ada nilai parsial pada Sesi II.

Penentuan bobot nilai ditentukan oleh banyaknya jumlah accepted (benar) pada soal tersebut. Semakin banyak tim yang benar pada suatu soal, maka nilai soal tersebut akan semakin rendah.

Apabila ada 2 atau lebih soal dengan banyak tim yang benar sama, makan bobot soal dilihat dari soal mana yang diselesaikan terlebih dahulu. Semakin cepat suatu soal dikerjakan, maka bobot soal tersebut semakin rendah.

Peserta bisa mengajukan pertanyaan soal pada Sesi II pada 90 menit pertama kompetisi.

Peserta akan bisa melihat scoreboard seluruh peserta, dan akan freeze pada 45 menit terakhir.

Setiap peserta yang terindikasi melakukan kecurangan, baik Sesi I ataupun Sesi II akan mendapatkan sanksi berupa diskualifikasi langsung.

                        <button class="btn-large btn-large-blue disabled waves-effect waves-light" type="submit" name="action">Mulai</button>

© 2017 Joints UGM


The Coles plastic bag bungle has a lot to teach us about the importance of community engagement, including how to get it right and the costs of getting it wrong.
We can assume the supermarket chain had good intentions when they started charging for plastic bags, but from the outside it looked as if they were approaching the issue as just a public relations exercise. Surprised by the customer backlash, the company reacted to the reaction and dropped the charge. Then, in the face of broader public criticism, they announced they would reimpose it after all.


McKenzie River Ranger District: Sno-Park is open November 1, 2018 – April 30, 2019. A Sno-Park permit is required. Amount of Snow: 3'-4', with less in some areas Conditions: The snow pack at Ray Benson Sno-Park is currently described as a dense wet layer on top of compacted snow. Slush pockets exist along trails. Current Hazards: Hazards previously covered by snow are becoming more exposed. Snow depth is fluctuating and might be less in some places. Wet pockets are forming throughout the trial system. Be cautious in areas that have had a past fire, particularly the area that was burnt during the recent Shadow Lake fire. Dead trees are likely to fall over the winter. Maintain situational awareness, particularly when the wind starts to blow. Be on the lookout for occasional stumps that are buried just below the snow. Cross country skiers and snow shoers should keep an eye out for snowmobilers on the wrong trails. An increased USFS presence at this site is working to educate users on correct user trails and etiquette.


With millions of people on the roads this Thanksgiving holiday, there will be an increase in traffic accidents. These accidents may be caused by traffic congestion, speeding, weather conditions, distracted driving or impaired driving. Car accidents can be very stressful and scary situations. It is common to feel shocked and anxious. We hope you have an accident free holiday, but it is important to be prepared for any situation. Below, we have outlined steps to take in case of an accident.
Call the police. A police officer can protect the scene, contact medical authorities and evaluate the situation. They are trained to deal with stressful situations and they could help you stay calm and guide you through the immediate aftermath of an accident.
In addition, they will write up and file a report about the accident. Their report could be beneficial to you. For example, a police report could provide important statements about the accident and witness information that you may need later.
If police do not investigate the scene, you must submit a written report to California law enforcement within 24 hours if anyone was injured or killed in the accident. In addition, you must submit a report with the California Department of Motor Vehicles within 10 days.
Seek medical attention. Always put your health first. If you are badly injured, try to stay calm and call 9-1-1 immediately for medical assistance. If you cannot find any injuries, then check on the other party to see if they are injured.
If you are not assessed by a medical professional at the accident scene, we recommend that you seek medical attention as soon as possible. A medical assessment is important for two major reasons. Most importantly, you want to know that you have not sustained severe injuries in the accident. Adrenaline could keep you from feeling any pain. Once the adrenaline wears off, delayed injury symptoms could appear hours or days later.
Secondly, medical records are important when filing an insurance claim. If you delay medical attention, the insurance company could claim your injuries are minimal or were caused by a different accident. Then, they could try to minimize or deny your compensation.
Exchange important information. During a car accident, it is imperative to exchange specific information with the other party. Important information includes names, contact information, driver license numbers, license plate numbers and insurance information. You will need this information when filing a police report or an insurance claim.
Take pictures of the scene. If police do come to the scene, do not rely solely on their police report. You want to have your own information too, especially if the police report establishes that you are at fault for the accident. Having your own information could keep you protected in a claim or lawsuit.
Take pictures of the vehicles involved, license plates and damages. In addition, pictures could provide information that the police report leaves out, such as the time of day, traffic conditions, weather and road conditions.
Contact a car accident attorney. If you have been in a car accident, it could be beneficial to speak with an experienced car accident attorney. An attorney could help you find appropriate medical professionals if you have sustained injuries.
In addition, a car accident attorney can help you understand your legal options after a wreck. An attorney could gather important evidence, talk to witnesses and build a strong case for you so you are not forced into an unfair settlement. An attorney could also fight for you in court if need be.
Need a Modesto Car Accident Attorney?
If you have been injured in a car accident, contact the car accident attorneys at Arata, Swingle, Van Egmond & Goodwin to discuss your situation. Depending on the circumstances, you could have a viable claim to recover compensation for your injuries. Call us at (209) 522-2211 or fill out our online case review form to discuss your situation today.


text:
Punggol residents to get integrated hub in 2021
DPM Teo Chee Hean completing the artist's impression of Punggol Town Hub, during the Punggol Town Hub Groundbreaking Ceremony and Children's Day Carnival 2018 at Punggol Town Square, on Oct 7, 2018. ST PHOTO: LIM YAOHUI
A model of Punggol Town Hub at the exhibition during the Punggol Town Hub Groundbreaking Ceremony and Children's Day Carnival 2018 at Punggol Town Square, on Oct 7, 2018. ST PHOTO: LIM YAOHUI
Zaccheus Ker, 7, trying out the wrecking ball machine during the Punggol Town Hub Groundbreaking Ceremony and Children's Day Carnival 2018 at Punggol Town Square, on Oct 7, 2018. ST PHOTO: LIM YAOHUI
Calvin Yang
https://str.sg/on3C
SINGAPORE - Punggol residents can look forward to new amenities and programmes coming under one roof when the upcoming Punggol Town Hub opens in 2021.
The new facilities include a hawker centre, regional library, childcare centre and healthcare facilities. The hub will also include a revamped Punggol Vista Community Centre, which will be about seven times the size of the current void deck community centre.
The hub will be located opposite the Waterway Point shopping mall and next to the upcoming Punggol Regional Sports Centre.
At a ground-breaking ceremony for the hub on Sunday (Oct 7), Dr Janil Puthucheary, an MP for Pasir Ris-Punggol GRC, said the hub was designed after meeting residents and hearing their needs.
Dr Janil, who is also Senior Minister of State for Communications and Information and Transport, said that over the years, residents have come together to suggest ways to make Punggol a better place for all.
The community and lifestyle hub, managed by the People's Association (PA), will bring together programmes and services from multiple agencies, catering to the needs of over 146,000 residents in Punggol.
When completed, it will be connected to Punggol MRT via a linear green park, and to the Punggol Regional Sports Centre via a pedestrian overhead bridge. The cycling path around the hub will integrate with the larger cycling network in Punggol.
Minister for Trade and Industry Chan Chun Sing (left), labour chief Ng Chee Meng (second left), DPM Teo Chee Hean (second right), Pasir Ris-Punggol GRC MP Dr Janil Puthucheary (right) and grassroots advisers looking at a model of Punggol Town Hub. ST PHOTO: LIM YAOHUI
Punggol: Life by the water
New waterfront district in Punggol to open, over 2,000 new flats to be launched in August
'Digital district' in Punggol to create 28,000 tech jobs
Part of Punggol Road to become heritage trail
Residents said the new hub, with various facilities under one roof, will bring greater convenience.
Mr Daryl Tan, 41, who works in the food and beverage line, said the various hub amenities, such as the hawker centre and library, are within a short walking distance from landmarks such as Waterway Point. "It is something we have been eagerly looking forward to for many years," he added.
At the ground-breaking ceremony at Punggol Town Square on Sunday, Minister for Trade and Industry Chan Chun Sing, who is deputy chairman of the PA, hopes that the new hub will also foster a sense of community identity in residents.
He added: "We can build a house, but we need your help to build a home."


text:
Home > Events > Conference Highlights > The Josephson Effect: The Observations of Josephson's Effects
Confirmed experimentally in 1963, Brian Josephson's predictions that both direct and alternating supercurrents flow through a tunnel barrier between two superconducting films were a key breakthrough in the development of superconductivity applications
Confirmed experimentally in 1963, Brian Josephson's predictions that both direct and alternating supercurrents flow through a tunnel barrier between two superconducting films were a key breakthrough in the development of superconductivity applications. Electron tunneling in such junctions had been reported in 1960 by Giaever and the group at A. D. Little. Using copies of entries in my Bell Labs notebooks, I will show how, in a collaboration with P. W. Anderson, the direct supercurrent and its dependence on small magnetic fields was observed in January 1963. The alternating supercurrent was observed by S. Shapiro a few months later. Early in 1964, following experiments by R. D. Parks and J. M. Mochel, Anderson extended the Josephson Effects from tunnel junctions to weak superconducting links
The Josephson Effect: Brian Josephson Debates John Bardeen
IEEE Future Directions: What is the Internet of Things?
The Josephson Effect: Josephson Digital Electronics in the Soviet Union


Savings with Nygard International Ltd. promo codes and coupon codes in April 2019. Today's top Nygard International Ltd. coupon: Up To 20% Off Your Order.
Best online Nygard International Ltd. coupon codes and promo codes in April 2019 have been updated and verified. You can find and share all Nygard International Ltd. discount codes for savings at online store Nygard International Ltd.


text:
HomeYMCA
West Philadelphia: YMCA Acts as Community Safe for Local Residents
December 3, 2021 Dante James Collinelli 0
The West Philadelphia YMCA is providing those in the neighborhood with a safe space to exercise, play sports, and even get a COVID-19 test. [continue reading…]
North Philadelphia: Coach Malik Wants to Give Back as Much as He Can
May 23, 2016 Andrew J Knight 1
Malik Tape, 27, is currently the sports director for the Columbia North YMCA, located at 1400 North Broad St. Tape runs a city wide program called Get Hype Philly! that promotes children's health and development. He's [continue reading…]
Amateur Sports: Five Places For The Beginner Amateur Athlete
Although most schools and communities offer youth recreational sports, not every person chooses to participate as a youngster. Often times, gyms and high intensity sport clubs can potentially intimidate an individual that has zero or [continue reading…]
South Philadelphia: Christian Street Y Promotes Healthy Living
[vimeo 65078842] The Christian Street YMCA Branch has impacted the community with its facilities and events as well as a connection with local businesses and schools for 40 years. Senior Program Director Jennifer Leupold said the [continue reading…]
Walnut Hill: West Philadelphia YMCA Gets a Makeover
https://vimeo.com/49655004] The West Philadelphia YMCA, located at 5120 Chestnut St., has made some changes to its facilities in the past couple of weeks. These changes are important in order to keep the community interested. "For [continue reading…]
Chinatown: Chinese Cultural and Community Center Fights to Remain a Landmark
The Preservation Alliance for Greater Philadelphia has been working to get the Chinese Cultural and Community Center up and running again. It has also tried to protect the historical building against demolition. The center closed in 2007 and has [continue reading…]
South Philadelphia: Christian Street Y Plans for Summer Activities
The Christian Street YMCA Branch is offering seventh graders a special deal: a free membership…yes – Free! By offering a free membership to this age group, the YMCA hopes to promote a healthy lifestyle for [continue reading…]


Squeaky laminate flooring problems are one of the major laminate flooring problems seen by laminate flooring inspectors. The flooring may look absolutely beautiful but once you walk on it the squeaking sounds like a rubber duck or the "snap, crackle and pop" sounds like an amplified bowl of Kellogs Rice Krispies. If you have kids the crackling may warn you when they are trying to sneak out of the house. For most families a bit of parenting and squeaking, complaining kids would be more desirable than these squeaky laminate flooring problems. So what causes these squeaky laminate flooring problems and how can these squeaks be prevented or corrected?
I have heard many people say that squeaking laminate floors are normal. It is true that some periodic random squeaks that occur with changes in temperature and relative humidity change are normal, excessive squeaking is not and usually another cause can be found.
Abnormal squeaks are a constant irritant with loud creaks and pops that will not go away and will not stay away. They are often more irritating than the neighbors dog that keeps doing its business in your yard, you chase it away and it returns and leaves another missile for you to clean up.
These abnormal squeaky laminate flooring problems may be laminate flooring manufacturing problem, the subfloor below the laminate flooring, installation, maintenance, a site, environmental or maintenance problem.
Having inspected hundreds of USA city floors, I can tell you that most problems are the result of the floor not being installed properly. Don't get me wrong, most laminate flooring installers are great and want you to be satisfied and recommend them to others. Unfortunately, as with other trades and professions there are those that are more interested in just getting the job done.
Just because an installer has been installing for the past 30 years does not mean that they have been performing proper installations for the past 30 years.
The greatest carpenter that will build you a beautiful house, is not necessarily the best flooring installer. Not all trades are the same no matter how similar they may appear.
Some D-I-Y-S individual and installers think that their way is good enough. and they end up with squeaky laminate flooring problems. Keep in mind that the installation requirements that work for one product do not always work for another.
Some individuals don't seem to understand the old adage that "an ounce of prevention is worth a pound of cure." They do not take the time to read and follow the manufacturers instructions for the floor that is being installed.
While most squeaky laminate flooring problems are installation related there are many types of installation related problems. The problem may be improper subfloor preparation where there are high or low spots or a squeaky subfloor. It may be improper acclimation where the laminate flooring was expanded or contracted severely at time of installation. It may be another cause all together such as improperly installed trim. As and example, a single nail through a floating floor can cause a squeak.
There are also manufacturing problems such as joints that were not properly milled and do not fit together properly and lamination concerns.
There are site related and environmentally related problems such as high moisture and poor air circulation in the crawlspace or excessive moisture in a concrete slab. Often overlooked are squeaky laminate flooring problems resulting from the uncontrolled temperature and humidity in houses that are not occupied for periods of time such as vacation homes.
Maintenance problems such as over wetting during cleaning or using a floor steamer on a laminate floor – drying it out can cause squeaks.
The following steps taken during installation will prevent most squeaky laminate floors.
Prior to installation, read and understand the manufacturers installation requirements. Make sure these are the instructions for the exact product you are installing or having installed. Even if you have hired an installer read them. If the installer tells you his way is better than the manufacturers, perhaps you need a different installer.
Use the installation products that the manufacturer requires in their installation instructions. If they say a particular style of foam underlayment should be used than use it and not something else. If you have a warranty concern you need to be prepared so show that you have met the manufacturers requirements.
Try to purchase flooring with a single lot number on it.
Carefully check planks from different cartons to make sure that the locking mechanisms fit together properly. This is especially important where different lot numbers are used on the same installation.
Floating floors require the existing subfloor to be clean, flat, and sound. Make sure that they are properly prepared to receive the laminate you are installing. Loose subfloors need to be corrected prior to installation. The subfloor needs to be flat within the laminate flooring manufacturers requirements, often but not always 3/16″ in 10 feet or 1/8″ in 6 ft. Subfloors that are not flat are a major cause of squeaky laminate floors.
Proper acclimatization. Prior to installation, acclimate the laminate as required in the manufacturers installation instructions, often a minimum of 2-4 days and in the rooms it is to be installed. During this time the HVAC and r458a pressure temperature chart farenheit must be set at normal living conditions. If the salesperson or installer tells you that they acclimate the floor in their warehouse prior to installation and the installation instructions say differently, insist that it be acclimated in accordance with the installation instructions.
Some manufacturers claim that their floor does not need to be acclimated. Even with those floors if you have the time it is wise to still acclimate those floors.
Leave expansion space at all walls and fixed objects. Most manufacturers require the expansion space to be the thickness of the floor or from ¼" to ½". For larger areas a greater amount of expansion space is usually required.
Install the proper "T" transitions between rooms and areas. Check your manufacturers installation instructions to determine where they are required. Some manufacturers instructions are not that well written so read them carefully to determine if transitions are required. Some people avoid the use of "T" transitions as their appearance takes away from the continuous look and the laminate looks less like hardwood. If you must insist on not having the proper transitions than either install nail down hardwood or accept the plank separation and squeaky laminate floors that may result.
Do not install cabinets or a kitchen island on top of your floating floor. On a new construction this may be easier but the cabinets will lock in the floor and you will have spongy, squeaky laminate floors.
Do not create a pinch point by installing your wall base or quarter round too tightly against the laminate. Leave a space at least the thickness of a credit card.
Do not nail your quarter round or other base through the laminate or allow the nails to be on such an angle that they rub against the floating floor. Nails must go into the wall or cabinet without touching the laminate.
Do not install any screws or nails through the laminate floor. If you must install a mount or other object make sure to first drill a hole at least a quarter inch larger than the screw to allow for expansion.
Do not install planks with broken tongues. These locking mechanisms are designed to hold the planks together. Planks with broken tongues will move.
Ensure that there is no pest infestation below the wooden flooring. If you find any pests make sure to get rid of them, using Boston's Top Pest Removal – PCBK.
Take pride in your work and follow the manufacturers instructions for installation and maintenance and you will prevent most squeaky laminate flooring problems.


Today /r/Videos is participating in the Internet-Wide Day of Action in Protection of Net Neutrality.
Today /r/Videos is participating in the Internet-Wide Day of Action in Protection of Net Neutrality. The Federal Communications Commission (FCC) is attempting to slash net neutrality protections that prevent Internet Service Providers from censoring, blocking, and throttling websites and apps they don't approve of, or charging extra fees to access data based on the nature of its content.If you are a redditor or internet user of any kind, this affects you directly. Visit Battle for the Net, which will enable you to send a letter to the FCC and Congress in moments. Time is of the essence, so send that letter now before it's too late!


text:
<?php

    require_once realpath(__DIR__.'/..')."/vendor/autoload.php";
    require_once __DIR__."/html_tag_helpers.php";

    $personUrl = $_SERVER['SERVER_NAME'].'/ontology/person#';

    function criarClienteRdf($rdfname, $data){
        $filename = realpath(__DIR__.'/..').'/ontology/person/'.$rdfname.'.rdf';
        $mode = "w";
        $myfile = fopen($filename, $mode);
        fwrite($myfile, $data);
        fclose($myfile);

        return 'http://'.$_SERVER['SERVER_NAME'].'/ontology/person/'.$rdfname.'.rdf';
    }

    $format_options = array();
    foreach (\EasyRdf\Format::getFormats() as $format) {
        if ($format->getSerialiserClass()) {
            $format_options[$format->getLabel()] = $format->getName();
        }
    }
?>

<title>Cadastro de Clientes - RDF</title>

Cadastro de Clientes

<?= form_tag(null, array('method' => 'POST')) ?>

Identificador

<?= labeled_text_field_tag('uri', $personUrl.'BrenoGrillo', array('size'=>40)) ?>

Detalhes

<?= labeled_text_field_tag('document', '3.123.332-ES', array('size'=>12)) ?>

<?= labeled_text_field_tag('firstName', 'Breno') ?>

<?= labeled_text_field_tag('lastName', 'Grillo') ?>

<?= labeled_text_field_tag('email', 'breno@example.com') ?>

<?= submit_tag() ?>
<?= form_end_tag() ?>

<?php
    if (isset($_REQUEST['uri'])) {

        $graph = new \EasyRdf\Graph();

        #Inserir o namespace de person para utilizar na montagem do RDF/XML
        \EasyRdf\RdfNamespace::set('person', $personUrl);

        # 1st Technique
        $me = $graph->resource($_REQUEST['uri'], 'person:Cliente');
        $me->set('person:document', $_REQUEST['document'].' '.$_REQUEST['firstName'].' '.$_REQUEST['lastName']);
        $me->set('person:name', $_REQUEST['firstName'].' '.$_REQUEST['lastName']);
        if ($_REQUEST['email']) {
            $email = $graph->resource("mailto:".$_REQUEST['email']);
            $me->add('person:email', $email);
        }

        # 2nd Technique
        $graph->addLiteral($_REQUEST['uri'], 'person:firstName', $_REQUEST['firstName']);
        $graph->addLiteral($_REQUEST['uri'], 'person:lastName', $_REQUEST['lastName']);

        # Finally output the graph
        $data = $graph->serialise('rdfxml');
        if (!is_scalar($data)) {
            $data = var_export($data, true);
        }

    }

?>

<?php
    echo 'Right Button > Save As...';
    if(isset($_REQUEST['firstName'])&&isset($_REQUEST['firstName'])){
?>

<a href="<?= criarClienteRdf($_REQUEST['firstName'].$_REQUEST['lastName'], $data)?>">RDF File
<?php
    }
?>


The entire premise behind tariffs are to protect a special interest at the expense of the general interest. I had been supportive of Trump's pro-growth strategic tax cuts, as well as his willingness to eliminate regulations in an attempt to promote and stimulate the growth of business in the U.S., but protectionism was the one component of his platform I was hoping to be hyperbole. However, when your "left of center" Democratic economic adviser resigns because your trade policy garners too heavy a bureaucratic hand of protection, it's time to rethink whether the GOP is still the party of limited government.
Protecting the few thousand workers in the steel industry at the expense of the millions of workers, consumers, and manufacturers in every other industry that uses steel as inputs to production is definitely a mathematical anomaly that makes absolutely no sense. Chinese taxpayers have been heavily subsidizing American standards of living for all those who have been the benefactors of affordable steel from abroad. This, in turn, allows every other industry using steel the ability to increase productivity. By protecting steel manufacturers, government has now forced the millions of beneficiaries of imported steel to face higher production costs, which mean they will lose millions of jobs and billions of dollars, all the while creating a protected environment of low quality, high priced monopolistic companies, rather than promoting competition and efficiency through horizontal growth of new supplemental business and industries.
So, yeah, Hurray! The steel industry is saved, but the agricultural and farming industry, the transport industry, the construction and industrial sectors, as well as the energy sector who all, consequently, employ millions more than the steel industry, will have to pay more for inputs and materials to production. Which will make them more expensive to domestic consumers, as well as less competitive in the foreign market, exacerbating the very claim that Trump is making about losing billions in trade, which is misunderstood as well.
For the past 30 years, President Trump has laid claim that the U.S. has been undermined and hosed when it comes to trade, and for 30 years he has been misguided when it comes to the benefits of global trade. The president has perpetuated the notion that we are losing billions of dollars a year through trade, which has all been the result of obtuse and moronic trade deals. First off, there is nothing more reciprocal than trade, which has certainly been a net benefit for everyone on aggregate. The balance of trade is a very misunderstood metric when it comes to determining economic prosperity, and in all actuality, has very little to do with trade deals. The balance of trade is much more affected by a country's savings-to-investment ratios.
Without being too technical, as it turns out, Americans would rather invest and consume than save. The excess investment must be subsidized from somewhere, and thankfully it is through cheap imports from countries like China. Thank you, China, for supporting our industries by allowing our companies to produce goods and services using the most affordable factors of production. If anyone should be upset, should it not be the Chinese taxpayer who must subsidize their export industry to the point of funding American investments and living standards through the consumption of cheaper cars, cheaper construction costs, cheaper farm equipment, or cheaper appliances? I mean, do we really believe predatory pricing occurs in the U.S. to the degree that politicians suggest, or is it just politically viable to suggest that? This can't be sustainable, as I certainly don't know of any company, despite their location, who makes it a practice to sell at prices lower than cost and expect to make a profit, and if they do, then I want to thank their citizens for donating most of their income to promoting U.S. business and industry. I would much prefer to be in a country that runs a massive trade deficit bearing a higher investment rate, rather than running a trade surplus with a low savings rate, because that means investment would be even lower.
This takes us back to the balance of trade and the trade deficit. The balance of trade is one component, albeit the biggest component, used in the current account, which together along with the capital account make up the balance of payments. The balance of payments is simply based on double-entry bookkeeping, to which all accounts that make up the balance of payments must balance. Every single penny that the U.S. runs in terms of a trade deficit in the current account is reciprocated by a surplus in the capital account. We pay for our imports by exporting dollar denominated assets, which end up funding domestic investment, so that the balance of trade falls by exactly the same amount that the capital account is raised. So, by default, the two accounts have to balance, hence the name: balance of payments. In fact, those times the balance of payments don't balance is usually when government has tried to artificially mediate the negative balance of trade, either through tariffs, quotas, subsidies, or devaluation. Which end up leading to conditions far worse than those to which it was trying to fix.
In addition, when President Trump and his administration says to the world that we, as Americans, are losing billions of dollars a year to China in trade, this is just not accurate. Yes, the U.S. does run a trade deficit with China, but in doing so, Americans simply receive in goods what was paid for in dollars. We don't just give China billions of dollars, shake hands, and walk away. We receive goods and services for those billions of dollars, to which we in turn then consume, invest, and further use as raw materials in the production process of globally competitive products. So, there is no loss. Furthermore, as the current account lessens, the capital account increases by the same amount. Trade is nothing but a mutually beneficial voluntary exchange between groups of willing parties. There is always an offsetting effect. The U.S. economy has grown during times when it has run consistent trade deficits, as there are, in effect, massive amounts of capital inflow available for investment. This has allowed the U.S. to keep inflation low by maintaining low interest rates which otherwise would have had to rise in an attempt to attract business abroad.
Therefore, artificially trying to fix the balance of payments through heavy-handed bureaucratic barriers that promote protectionism have typically led to undesirable results, instead of allowing business and industry to adjust through the fluctuations of the market. Some lessons are never learned. Government has seemed to respond to a problem that offers a solution which creates a problem greater than the problem that the original solution was trying to solve. This is the paradox of bureaucracy. This is the gibberish of protectionism. What other institution would spend billions of dollars to subsidize tobacco farmers, while spending billions more advertising the dangers of tobacco? I guess the same institution that would resurrect barriers to protection, then cry for anti-trust laws to prevent monopolies. What's the definition of insanity again?
* Gwayne Gautreaux works full time in the aviation industry and has studied international political economy at Penn State University. He has been a life-long passionate researcher in the field of political economy which is referred to as politiconomy. Looking to government as the solution to every problem has kept us in a perpetual mode of dependency for too long. So, Gwayne is also eager about promoting the concepts of a truly unfettered free market, individualism, and limited government through the principals of libertarianism.


text:
Q: How to make JAXB to annotate and provide equlas/hash code implementation I am trying to use JAXB to generate classes from WSDL which are annotated with Jsr303Annotations and provide implementation of equals and hashcode.
Both of these work separately, however when i try to achieve both requirements then i get error:
An internal error occurred during: "Building workspace".
com.sun.tools.xjc.Plugin: Provider org.jvnet.jaxb2_commons.plugin.fixjaxb1058.FixJAXB1058Plugin could not be instantiated: java.lang.NoClassDefFoundError: org/jvnet/jaxb2_commons/reflection/util/Accessor
Could somebody tell me how to configure JAXB to do both of these ?
Bellow is my attempt to do so:
<plugin>
                <groupId>org.jvnet.jaxb2.maven2</groupId>
                <artifactId>maven-jaxb2-plugin</artifactId>
                <executions>
                    <execution>
                        <id>generate-wsdl</id>
                        <goals>
                            <goal>generate</goal>
                        </goals>
                        <configuration>
                            <schemaDirectory>src/main/resources</schemaDirectory>
                            <schemaIncludes>
                                <include>*.wsdl</include>
<!--                                <include>*.xsd</include> -->
                            </schemaIncludes>
<!--                            <forceRegenerate>true</forceRegenerate> -->
                            <!-- <removeOldOutput>true</removeOldOutput> -->
                            <!-- <cleanPackageDirectories>true</cleanPackageDirectories> -->
                            <strict>true</strict>
                            <extension>true</extension>
                            <args>
                                <arg>-XJsr303Annotations</arg>
                                <arg>-Xannotate</arg>
                                <arg>-Xequals</arg>
                                <arg>-XhashCode</arg>
                            </args>
                            <plugins>
                                <plugin>
                                <groupId>org.jvnet.jaxb2_commons</groupId>
                                <artifactId>jaxb2-basics-annotate</artifactId>
                                <version>0.6.3</version>
                                </plugin>
                                <plugin>
                                    <groupId>org.jvnet.jaxb2_commons</groupId>
                                    <artifactId>jaxb2-basics</artifactId>
                                    <version>0.9.4</version>
                                </plugin>
                                <plugin>
                                    <groupId>com.github.krasa</groupId>
                                    <artifactId>krasa-jaxb-tools</artifactId>
                                    <version>1.1</version>
                                </plugin>
                            </plugins>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

Edit: Relevant dependencies i have tried to use:
        <dependency>
            <groupId>org.jvnet.jaxb2_commons</groupId>
            <artifactId>jaxb2-basics-runtime</artifactId>
            <version>0.9.4</version>
        </dependency>

<!--        <dependency> -->
<!--            <groupId>org.jvnet.jaxb2_commons</groupId> -->
<!--            <artifactId>jaxb2-basics-annotate</artifactId> -->
<!--            <version>1.0.0</version> -->
<!--        </dependency> -->

<!--        <dependency> -->
<!--        <groupId>org.jvnet.jaxb2_commons</groupId> -->
<!--        <artifactId>jaxb2-commons-lang</artifactId> -->
<!--        <version>2.3</version> -->
<!--        </dependency> -->

Only the combination of first dependency and plugin for equals/hash code yield result.
If i include the other 2 dependencies then i get missing artifact -id message for every dependency in project.
Plugins for annotations work without explicit dependencies, when used without equals/hashcode plugin and vice versa.
Edit: Final solution in case anyone gets stuck on same issue
So it was required to separate annotations and equals/hash code plugins into separate executions, this resolved all issues.

A: Found a solution. This plugin requires another one dependency:
<plugin>
    <groupId>org.jvnet.jaxb2.maven2</groupId>
    <artifactId>maven-jaxb2-plugin</artifactId>
    <version>0.12.3</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <generatePackage>com.argonio.fias.entity</generatePackage>
        <schemaDirectory>src/main/resources/xsd</schemaDirectory>
        <readOnly>true</readOnly>
        <removeOldOutput>true</removeOldOutput>
        <verbose>true</verbose>
        <extension>true</extension>
        <args>
            <arg>-no-header</arg>
            <arg>-Xxew</arg>
            <arg>-Xxew:instantiate lazy</arg>
            <arg>-Xxew:plural</arg>
            <arg>-Xequals</arg>
        </args>
        <plugins>
            <plugin>
                <groupId>com.github.jaxb-xew-plugin</groupId>
                <artifactId>jaxb-xew-plugin</artifactId>
                <version>1.5</version>
            </plugin>
            <plugin>
                <groupId>org.jvnet.jaxb2_commons</groupId>
                <artifactId>jaxb2-basics</artifactId>
                <version>0.9.4</version>
            </plugin>
        </plugins>
    </configuration>
    <dependencies>
        <!-- This dependency is required to execute the plugin -->
        <dependency>
            <groupId>org.jvnet.jaxb2_commons</groupId>
            <artifactId>jaxb2-basics-tools</artifactId>
            <version>0.9.4</version>
        </dependency>
    </dependencies>
</plugin>

A: Try to add this dependency. By the way, your version 0.6.3 seems low.
<dependency>
    <groupId>org.jvnet.jaxb2_commons</groupId>
    <artifactId>jaxb2-commons-lang</artifactId>
    <version>2.3</version>
</dependency>

A: The answer of @Viacheslav is correct. Note however that you also need to add a dependency for the project:
<dependency>
    <groupId>org.jvnet.jaxb2_commons</groupId>
    <artifactId>jaxb2-basics-runtime</artifactId>
    <version>0.9.4</version> <!-- same as jaxb2-basics plugin version -->
</dependency>

See http://confluence.highsource.org/display/J2B/JAXB2+Basics+Plugins for all details.

redpajama_set_name: RedPajamaStackExchange


Please contact your nearest Peoples Ford dealership or click the live chat button to chat to us now.
The Privilege Programme is available to Ford employees and family members. We'd love to talk you through the process and how you could benefit from substantial discounts.
Simply contact your local Peoples Ford dealership by Live Chat, telephone (click call us now at the top of the screen) or fill in an enquiry form. We are a friendly bunch and we are here to help you along every step of the way.
For a little more information or to find out if you qualify for the Privilege programme, click here.


text:
ICA> Vol.4 No.1, February 2013
Intelligent Control and Automation
Vol.4 No.1(2013), Paper ID 27846, 7 pages
DOI:10.4236/ica.2013.41011
Estimation of Sensitivity of the DS/AHP Method While Solving Foresight Problems with Incomplete Data
N. Pankratova, N. Nedashkovskaya
•Abstract
•Full-Text PDF
•Full-Text HTML
•Full-Text ePUB
•Linked References
•How to Cite this Article
Institute for Applied Systems Analysis, National Technical University of Ukraine "Kyiv Polytechnic Institute", Kyiv, Ukraine
Copyright © 2013 N. Pankratova, N. Nedashkovskaya et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
N. Pankratova and N. Nedashkovskaya, "Estimation of Sensitivity of the DS/AHP Method While Solving Foresight Problems with Incomplete Data," Intelligent Control and Automation, Vol. 4 No. 1, 2013, pp. 80-86. doi: 10.4236/ica.2013.41011.
Download citation as EndNote
ICA Subscription


The NoSQL movement is a hot topic in the development world right now. If you're not familiar with NoSQL, check out http://en.wikipedia.org/wiki/NoSQL and http://nosql-database.org/. NoSQL is often a misleading term and doesn't refer to just one type of database technology as SQL does (think relational database management systems such as Microsoft SQL Server, Oracle, MySQL, and SQLite. NoSQL can refer to any variety of non-relational databases such as column store databases, document databases, key/value store databases, graph databases, and many others.
As developers and DBAs, the use of relational databases and normalized data has its roots in the hardware industry. 30+ years ago when Oracle released their first commercially available relational database, there were greater hardware constraints than there were today. The biggest constraints were storage and memory. As a result, fully normalizing your data to minimize the space needed for storage was incredible important.
Fast forward to today – the hardware industry has changed (just a little ). I can spin up a multi-terabyte globally-redundant hard disk in Azure in a few minutes, and only pay for the data I'm actually using (and at unbelievably low rates).
So, what has changed in the development community. quite a bit, but relational databases are still the de-facto standard for data storage. Why is this? Perhaps it's familiarity, fear of change, fear of job security.
We're taught to us the right tools for the right jobs. But most people aren't even considering different database technologies and shoe-horning their data and domain models into relational databases. Don't get me wrong – RDBMS still have their place, but let's consider the alternatives. If you need to store a complex web of relationships between data points, you can consider graph databases. What about semi-structured data with a variable schema? Sounds like a great case for a document database.
There's two things you should be doing right now.
Two. The next time you start a project, take an extra minute to consider whether an RDBMS is the right tool. If you're unsure ask the community – there's no shortage of advice.


WHEN it comes to insurance, size matters and that's the strategy Resolution is betting the farm on. After buying two insurers – Friends Provident and most of Axa's UK life operations – it is clear that it's now hunting down its next prey.
The question for investors is whether Resolution, founded by insurance entrepreneur Clive Cowdery in 2008, can buy his way to the top by putting together disparate brands to create a successful business with £10bn of embedded value by 2012.
Yesterday's results, showing a pre-tax profit of £139m from a £7m loss the previous year with strong cash generation of £73m indicate that he is on his way. The numbers were buoyed by Friends Provident where sales were up 42 per cent at £458m proving Cowdery's strategy thus far is working.
It's a high risk bet however. Failure to achieve planned synergies, overpaying and not being able to secure the cash to fund its strategy are all potential stumbling blocks. But with regulatory changes set to force insurers to hold more capital, those with deep pockets will win as smaller rivals wither.


6 1/2" x 4 1/4" x 4 5/8" high, made of alabaster, this is one truly haunting skull. It's painted in such a way it appears that it may have been sitting in a pool of blood. The eye sockets and nose are painted in the same bloody color, also the base and underneath the skull are a bloody color. We almost got sick when we opened the box and saw this for the first time. This is a huge seller for Halloween, med students love them too. And you can't beat the price!


This helps families and the nannies track Time Off easily from the original start date. Families are responsible for tracking PTO, PSTO & UPTO, and when it has been used.
Nanny must request PTO/PSTO via email to the matched family.
Family must confirm PTO/PSTO via email.
Family then schedules either 20 Hours (part-time Nanny) or 40 Hours (full time Nanny) for each 1 week of PTO/PSTO, or 4 Hours (part-time Nanny) or 8 Hours (full time Nanny) for each 1 Day of PTO/PSTO.
Put in the appointment notes section that it is PTO or PSTO.
The Nanny will still need to Clock In/Out, and put notes in that it was their PTO or PSTO.
Both the Family & Nanny should make a personal note of the PTO or PSTO used up.
Nanny must request UPTO via email to the matched family.
Family must confirm UPTO via email.
Cancel any upcoming appointments at least 12 hours before the appointment commences. This can be done by either the Family or Nanny and is called an 'Early Cancel' whereby the Family is not charged / doesn't pay Nanny.
Both the Family & Nanny should make a personal note of the UPTO used up.
*Naturally the Nanny is the one who determines when they would like/need their Time Off, if enough has been accumulated. Obviously each Nanny should be respectful to the family, and give as much notice as possible regarding all types of Time Off.
** We recommend to only offer PTO, PSTO & UPTO to your Matched Nanny, not to occasional Babysitters or Night Nurses. However it truly is at each family's discretion.
Need Coverage During PTO / PSTO / UPTO?
You can easily schedule any of our Nannies / Babysitters / Infant Night Nurses on a one-time basis to cover when your Nanny is on PTO / PSTO / UPTO. Just login online or on the app and make requests.


text:
Meet Justin: Future Nurse
HACC > Admissions > Testimonials > Meet Justin: Future Nurse
"HACC has made my desire to learn increase immensely…"
Justin Landes didn't initially choose HACC. However, after a financial aid issue at a four-year institution, he joined the National Guard to help with his finances. After completing his training, he discovered HACC and "was set on applying." The tuition for a full-time student at HACC is approximately 25% less than the average full-time tuition at nearby four-year institutions. Justin added that if HACC wasn't an option, he could "end up in massive debt."
Since his arrival at HACC, Justin said his desire to learn has increased immensely due to the free available resources, including workshops, tutoring and small class sizes. He said,
"Classes become more like hangouts because you get to know everyone quickly, which increases student success by asking for help from fellow students."
After graduation, Justin plans to return to HACC to obtain his Pre-Hospital Registered Nurse (PHRN) Certificate and eventually obtain his bachelor's degree in nursing.
Last page update: September 03, 2019


Quality photos are what every professional in the branding industry requires for an effective work. Many needing images reflecting the African context get disappointed as major platforms across the world can only boast of pictures stereotyping what represents the African society.
This is the problem these Kenyan startup founders are resolute in solving by welcoming photographers all over Africa to contribute their best images and get paid very competitive rates.
Kindly tell us a bit about the co-founders of AfricanStockPhoto.
Dicky Hokie Jr's background is in graphic design and photography – he has worked 8 years in one of Kenya's leading media houses. During this time he got the idea for AfricanStockPhoto from his first-hand experience of struggling to find authentic African imagery for advertising campaigns. Sitati's background is as a software developer and so was well placed to pair up with Dicky and make this vision come to life.
Simply, tell us what your company is about.
AfricanStockPhoto is about helping people tell a more authentic African visual story, by helping them find high quality African stock imagery. There are thousands of fantastic photographers in Africa yet most stock photography websites have very limited coverage of the continent, and often a lot of the imagery is around the same old visuals that have been shared for years – wildlife, tribespeople, poverty, etc. We want professional-grade stock photography from Africa to be widely available, and for the photographers who took them to be properly compensated.
What motivates you daily to keep this platform running?
Since we started talking to people about this idea, we've had so much positive feedback from both photographers and content creators who would buy on the platform. We've had hundreds of really talented photographers sign up and contribute to the platform. The people on either side of this marketplace are our daily motivation – it's always exciting to see what people want to do with our catalogue, and to see the amazing imagery contributed from all across Africa.
Why should African photographers be excited about your startup?
AfricanStockPhoto's main role in this transaction is finding a market for photographers. It is a very competitive battlefield, but we invest in ensuring your imagery is seen by as many potential buyers as possible. For this, we take a 50% commission on each sale, which is very competitive compared to bigger stock image marketplaces like iStock who'll typically keep 70%-80% of revenue from sales.
We hope that some photographers are also motivated by our vision of re-telling the African story through imagery, but even if not, our platform has a very solid business case for making money off your imagery that will hopefully continue to compel photographers to sign up.
Since you are shifting from the stereotype of Africa, what category of photos do you encourage from contributors?
Good question! We've boiled it down to "people doing everyday things in their normal environment." So this could be people in business suits catching a quick lunch at a roadside food stall, a couple boarding a minibus, kids in their school playground, etc. Stock photography of people far outsells images that don't have people in them, and also makes for more interesting imagery overall.
Kindly share with us some rules you will like contributors to observe when uploading images to avoid copyright infringements?
Well, the first rule is that the uploader of an image should be the original owner. Additionally, people who feature prominently in the image should sign model clearance forms, stating that they agree to have their likeness used in this image and all its future uses. This can be a bit daunting to new stock photographers so we have resources on our website that help with getting started, including a template model clearance form.
As you clearly identified the problem, how did you determine there was real market to be explored?
We spoke to as many people as possible. It's incredible how much a single conversation can change your course as early-stage founders. Over the course of the first 6 months we iterated on our business model several times based on feedback from potential consumers, potential investors, and other founders. We also had some more formal market research done, which solidified our belief that there's a strong business opportunity.
How do you market this great initiative and who are your target users?
Our marketing is primarily digital and word-of-mouth. We've had a good network effect from photographers who have signed up and recommended the service to their friends, and we've reached more through social media advertisement. Our marketing toward potential buyers is also focused primarily on digital at the moment, though we do have plans for putting feet on the ground and knocking on doors of agencies and media houses, who are the main recurring buyers of stock imagery.
What will be your pitch to a potential investor?
Our pre-launch research and early traction shows that the market is there, but we know that to get our business to grow, we'll need a far bigger collection of imagery. Our initial focus is on growing our database and photographer community, and this will for a while take more capital than the initial returns will merit. So we're looking for investors who believe in the idea and share our longer-term vision, and would like to work with us to bring the business to scale through our growth plan.
What is the business model and how did you fund the idea?
Our business model is to take a commission on each sale made through our platform. Further down the line we might explore more variety in license model and other content types such as video and vector illustrations, and may introduce subscription billing for repeat buyers. To start with though, it's simply $20 per image on the site, of which the photographer gets $10, and the other $10 is split between transfer costs, our run rates, and our profit margin.
The two co-founders have funded AfricanStockPhoto out of pocket so far.
How do you foresee this Afrocentric photo stock industry in the coming years?
All the trends in the industry point towards diversity and untold stories being the big growth area. The big market opportunity exists, quality photographers are out there (just have a look at Instagram!), it's really a discovery, trust and user experience problem that we're solving. In a few years, somebody, hopefully AfricanStockPhoto, will be established as the go-to marketplace for content on the continent.
At what point will you say your company, African Stock Photo, is finally a success?
We've learnt that early-stage startup life includes so many twists and turns that it'd be really hard to point at one target far in the future and choose that as our single definition of success – we'll probably have changed our minds or been proven wrong half way down the road to that. Instead, we try to celebrate all the wins, big or small! Each step on our path, both past and upcoming, are exciting; validating our idea with people whose input we value, launching our platform, our first photographer to sign up, our first sale, hitting various milestones in terms of signed up users and number of photographers, new features on the platform, and so on.
What are some of the challenges you have encountered and how did you handled them?
One ongoing challenge is in keeping the quality of communication with our photographers high: this is important for pragmatic reasons such as ensuring all photography we get has proper model clearance, but also more so to be sure we're keeping our users happy and motivated, and addressing their real needs. It is hard to work for an ever-growing photographer pool and maintain really good communication. Our main approach to addressing this is to talk to photographers 1-to-1 as much as possible, and where a common issue or question arises, ensure we address it for all others through our platform features or communication. It's a challenging balancing act, but we do really enjoy talking to our users.
What is the number one business advice you have ever received and which African entrepreneurs do inspire you?
Coming from a technical background into entrepreneurship, some of the best business advice I received was about the transition from having more fixed, shared concept of "best practice" in a technical field, to the wild world of business where anything goes so long as it helps the company. It's a pretty stark transition that many technical co-founders will go through, and it can lead to a lot of frustration or self-doubt if you're not instantly grasping the mindset or patterns that successful entrepreneurs use to succeed. Anjuan Simmons speaks about this quite regularly; learning that there are no shortcuts, and that mistakes should be embraced as learning opportunities, is a key part to being comfortable in the role as an entrepreneur.
As for who inspires us, so many! We always look up to big names like Rebecca Enonchong and Iyinoluwa Aboyeji for insight into how tech is growing on the continent over recent years. In our hometown here in Nairobi there's Trevor Kimenye of Ongair who grew his social media interaction automation business into profitability in a very competitive landscape. He's been very kind with his time and advice for us. We've also met the founders of HiviSasa, Lynk and many others who aren't exactly giants yet, but are a few steps down the road from where we are and have excellent advice.
For photographers and branding professionals, just log onto www.africanstockphoto.com and start doing business with this disruptive startup company.