text:
15 bourbons that should be on your radar, according to 3 bourbon experts
Gillian Brassil, Laura Casado
Marianne EavesMarianne Eaves.
When it comes to today's most innovative whiskey distilleries, US bourbon producers are leading the pack.
From its origins in Kentucky, bourbon production has expanded to other states, where the drink can range in flavour profiles from honeysuckle and mint to toffee and warm oak.
Price tags for the bourbons vary greatly, with some originally available for anywhere from $US35 to $US700, and others reaching offers upwards of $US14,000 on the secondary market (if you can find them).
Many people know the phrase, "All bourbons are whiskey, but not all whiskeys are bourbon." But what does that mean, exactly?
There are few requirements for a liquor to be called bourbon. It has to be made in the US (not necessarily Kentucky, although that's where the drink originated), with a grain mash that contains 51% or more corn, and aged in an American white-oak cask that's been "charred," as in the inside of the barrel has been torched, leaving a dark layer of charred wood. The cask can be charred to various degrees of intensity: the more char, the better the whiskey will be able to penetrate the wood and develop a darker colour. Also, to be called "straight" bourbon, it must be aged a minimum of three years.
Bourbon is a sweeter whiskey by design, because corn is a sweet grain (think of it like cornbread vs. rye bread). The general flavour profiles will include notes of vanilla, candy corn, caramel, toasted marshmallows, butterscotch, and cinnamon, and the older bourbons will have darker notes of plums, dates, and even leather.
And although alcohol is on demand with the rise of delivery services, the bourbon industry is not unscathed by the COVID-19 pandemic, said acclaimed bourbon expert Fred Minnick. Tourism is a key factor in distillers' revenue, and with individuals enforcing self-quarantine and social distancing, that has been rendered impossible.
Fred MinnickFred Minnick.
"Many of these distilleries are small, family-owned businesses, and a lot of them rely a big chunk on live events," he said.
Live tastings are also on hold, unless you do them online. Minnick has offered live tastings on his YouTube channel for years, making the transition easier, but for bartenders, distillers, and tasters accustomed to helping clients in person, times are tough. As such, Minnick hosted live-tasting fundraiser on Friday for bartenders out of work amid the coronavirus pandemic.
Still, with the ability to order bourbon unhindered, Business Insider spoke to three bourbon experts about their favourite bourbons on the market right now.
Minnick is the author of seven libation-based books. A frequent judge of the best bourbons in the United States at the San Francisco World Spirits Competition, he's moved into producing his own podcast, which pairs musicians to whiskies, in addition to curating for the prestigious Bourbon and Beyond festival.
At 32, Marianne Eaves is Kentucky's first female bourbon Master Distiller, the title used for experts in alcohol creation, since Prohibition. Having started at the distinguished Brown-Forman distillery, she is venturing into her own business as a spirits consultant on the road with her family after spending four years reviving another famed bourbon brewer, Castle & Key. In 2014, she was on Forbes 30 under 30 for her role as a Master Taster at Brown-Forman.
Courtesy of Tommy TardieTommy Tardie.
Tommy Tardie is a whiskey expert and owner of two fine-dining locations in New York City, Fine & Rare and the Flatiron Room, which offer about 1,400 unique bourbon expressions (different versions) and live music every night.
In no particular order, these are their top 15 picks.
Michter's 20
Courtesy of Michter's DistilleryMichter's 20-Year Bourbon.
Tardie described Michter's 20 as a "beast of a bourbon." Given it's ageing process of two decades, it has notes of dark cherry, dark chocolate, polished wood, and molasses, and almost chewy texture reminiscent of dates and raisins.
"Not cheap, and not easy to get," Tardie said, "but if you can afford it, then this is one you should try."
The bottle goes for $US700 on retail, but Tardie has seen it selling at liquor stores and at auction houses for $US2,500 to $US3,500 a bottle.
Four Roses Small Batch Select
Courtesy of Four RosesFour Roses Small Batch Select.
Four Roses is a popular distillery that consistently releases award-winning whiskeys. Tardie recommended this edition as it's in their permanent line up and therefore easier to find, costing around $US25 a bottle at most retailers, and has a very full and rich taste. He described it as well-balanced, with notes of spearmint and vanilla and hints of winter spices like cinnamon, cloves, and nutmeg.
In that vein, Minnick prefers Four Roses' Single Barrel, which is in the $US40 to $US60 price range.
"Like a really big Jolly Rancher, with a kind of cinnamon note to it," he said. "This is for someone who really likes cinnamon."
Buffalo Trace DistilleryBuffalo Trace Bourbon.
An ol' reliable: Buffalo Trace. Although affordable, Minnick said the distiller's namesake bottle is a little harder to get than it used to be, at anywhere between $US30 and $US150.
This distiller also makes WL Weller's Full Proof, which Minnick described as a bourbon that everybody wants but nobody can get.
"Right now, it's the bourbon I can't keep in my house because my wife and I love it so much," he added.
Willet Distillery's Noah's Mill
Courtesy of Willet DistilleryNoah's Mill.
This is a bourbon produced by Willett Distillery in Kentucky, a smaller distillery that Tardie said "does whiskey really well." He described this bottle as well-balanced and rich, with notes of walnuts, caramel, and soft florals. It goes for around $US50.
"I love bringing this bottle to a dinner party," he said. "Most guests haven't hear about it, but are immensely thankful I introduced them to it."
Eaves also trusts Willett for its family roots, opting for its namesake bottle, which costs closer to $US55 in most markets.
Milam & Greene Triple Cask Straight Bourbon
Courtesy of Milam & GreeneMilam & Greene Triple Cask Bourbon.
This is a bourbon produced in Texas, created by Tardie's good friend Heather Greene.
"On her last trip to New York, she brought me a bottle of her Triple Cask Straight Bourbon. I was blown away with what she created," he shared.
It's a mixed bottle of hand-selected casks of two-year-old Texas Bourbon, a three or four-year-old Tennessee whiskey and a 10 or 11-year-old Tennessee whiskey. Tardie added, "The result is something you should put on our list of 'must trys.'" It goes for about $US43 a bottle.
Woodford Reserve Double Oaked
Woodford ReserveWoodford Reserve Double Oaked Bourbon.
Eaves said this double-oaked spirit got her to fall in love with bourbon in the first place. The name "double oaked" comes from its second barrel – which, counterintuitively, does not make it oakier, she said.
"You get these beautiful sweet flavours that make it more like a dessert style of bourbon, which definitely appeals to me cause I have a sweet tooth," she said.
This was also a Minnick top pick for its bright, chocolatey notes. It's on the market for about $US50 to $US65.
Old Forester Single Barrel
Old ForesterOld Forester bourbons, including Single Barrel and 1920.
An oldie but goodie, Eaves loves Old Forester's Single Barrel, which goes for about $US50.
"Old Forester is such a beautiful, historic example of the qualities that started this industry," she said. "Knowing that the core of what started bourbon was what people fell in love with when it was just beginning to take off with was this kind of beautiful flavour."
Minnick agreed, but with a different bottle: their 1920.
"It's 115 proof, but feels delicate," he said. "Buttery, which feels nice dripping to the back of the jawline, it feels really good on the palate." This bottle costs closer to $US54.
New Riff Single Barrel
New Riff DistillingNew Riff Single Barrel Bourbon.
Minnick touted New Riff Distillery's Bottled in Bond bourbon.
"The amount of complexity in that whiskey is off the charts," Minnick said. "There's not a young brand out there like this with that level of complexity." It is on the market for just under $US40.
Just four years old, New Riff's Single Barrel also captured Eaves' attention for its recognisably good bourbon qualities with a twist. This bottle costs $US49.
King's County Peated Bourbon
Bobby DohertyKings County Peated Bourbon.
A newer, smaller brand, Kings County Distillery in Brooklyn, New York has a small-scale production that stole Eaves heart.
"I love this product because it's innovative yet traditionally made," Eaves said. "It's very small scale production, but really in intentional processes and always very thoughtful about quality."
Their 375 milliliter bottle goes for just under $US50.
Oregon Spirit Distillers Straight American Bourbon Whiskey
Oregon Spirit DistillersOregon Spirit Distillers Straight American Bourbon Whiskey.
Another non-Kentucky distiller, Oregon Spirit Distillers' bourbon caught Eaves' eye for their unique distilling style.
"The interesting thing about this next generation of new distillers is that they don't necessarily have any of that training," Eaves said. "So their experimentation sometimes turns out great like Oregon Spirit's and sometimes it doesn't turn out so well."
This bottle goes for $US37.
Garrison Brothers Texas Straight Bourbon Whiskey
Adam VoorheesGarrison Brothers Texas Straight Bourbon Whiskey.
Garrison Brothers' was picked up by Eaves for its Texas pride. She stuck around for the flavour.
"It's got this beautiful malty, chewy, grainy quality, but it doesn't taste immature to me," she said. It's now available outside the Lone Star State for $US86.
Barrell Craft Spirits Bourbon
Barrell Craft SpiritsBarrell Batch 023 Bourbon.
Eaves boasts Barrell Craft Spirits' bourbon for its commitment to thoughtful batching.
"They purchase barrels and then they spend a lot of time making sure that if it needs to continue to age, that it does," she said. "They're also breaking into new spirit categories, which I think is really cool."
Sold in numbered batches, their bottles range from $US70 to $US300.
Old Carter Bourbon
Josh MarxOld Carter Bourbon.
Eaves also favoured Old Carter Whiskey Co. as a traditional, well-rounded bourbon maker. The family has been in the business for a while and knows what they're doing.
"I think what they're doing with their second iteration brand with Old Carter is maybe even more interesting, taking source bourbon and just being very thoughtful in the way that they put it together."
Prices start around $US180 a bottle.
Evan Williams Single Barrel
Heaven HillEvan Williams Single Barrel.
For an affordable, easy find, Minnick turns to Evan Williams Single Barrel.
"It's got a malt note to it, caramel backbone: A very good expression of a traditional recipe in American whiskey," he said. Costs are capped at $US25 for this well-known bourbon.
He also praised their Bottled-in-Bond. At 100 proof, it's only $US12.
"More bang for your buck than anything on the market," he said, adding that he chose it as his best everyday bourbon of the year last year.
Davide Campari-Milano SpAWild Turkey Rare Breed Bourbon.
Minnick turned to Wild Turkey's Rare Breed bottle, which he noted was a complex concoction of grapefruit, honey, caramel, and nutmeg flavours. It's on the market for just over $US42.
Eaves chose the distiller's Russell's Reserve instead as a tried-and-true Kentucky bourbon.
"It's gonna make an excellent cocktail," she said. "You know, it's got a beautiful, bold, rich flavour." Prices range from $US30 to $US60, depending on the age.
bourbon contributor 2019 drinking features nordic thelife warroom-us whiskey


HP Seeking to Lure Customers With "Converged Infrastructure"
HP are extremely busy working away at their enterprise customer base with their philosophy that one-vendor will fit all, known as ?Converged Infrastructure?. Traditionally, it has been a brave customer who has preferred to go down the one-vendor approach when it comes to satisfying demand for infrastructure hardware. Adopting a multi-vendor approach is seen as a hedge against hardware glitches, but more immediately as a bargaining chip when it comes to pricing solutions. HP have a great deal of client inertia to overcome, with many customers fearing they will be locked in to the HP solution if they follow the tempting pricing and performance offers. HP counter this concern by claiming they are offering an open architecture solution, but if that is the case why bother trying to tout converged infrastructure in the first instance ? if is open architecture in the first instance, the HP solution will naturally rise to the surface on merit? Err. Probably not! IT solutions are like life insurance ? they are not bought, they are sold. This said, running a 100% HP infrastructure will open up a toolset which HP provides which allows for lower CO and TCO (HP networking solutions typically cost 50% or less of major competing solutions). Integrating a hybrid HP and ?A.N.Other? hardware solution leads to degraded network performance because of the limitations of the HP toolset in such infrastructure environments. There is a clear trade-off at work ? better performance, lower costs versus undiversified infrastructure base and future lock-in to one vendor (HP). HP has recently announced its third generation, Matrix blade server management solution which includes server automation and the ability to deploy infrastructure applications, manage performance and security better than before. This all sounds like a great deal and it is, so from an IT decision maker?s perspective, what?s not to like? The straight answer is there is nothing you don?t need to like, but there is a major competing IT infrastructure strategy which demands you continue with a multi-vendor approach ? Cloud Computing. Cloud computing is still viewed as having some way to go before it is ready for wholesale adoption, especially by small and midcap businesses, but then again maybe not! Another obstacle to HP?s convergent infrastructure is the amount of legacy hardware floating around. Even where you visit a client who favors one particular manufacturer, it is hard not to find Dell or IBM hardware gathering dust but still showing not the least sign of wanting to quit. Swapping out old, but still functioning hardware is something many IT managers simply don?t want to do ? if it isn?t broken, I?m not going to fix it and in any event, it?s hard for them to see how they can get a better ROI on a piece of new kit, when the existing box had its hard cost sunk years ago. Probably the biggest obstacle to a single vendor approach is business risk. ?No-one ever got fired for buying IBM?, but then again no-one has ever been fired for diversifying their employer?s business risk and achieving a satisfactory ROI. Placing all of a company?s infrastructure needs into one vendor?s basket is inherently a risky approach, and unless HP truly unlock the infrastructure architecture and ensure 100% open structure, it is probably going to be devilishly expensive to reverse out of that strategy if a customer wants to down the road.
Lawrence Reaves is a strong believer in Washington DC IT services such as Washington DC enterprise storage and Washington DC virtualization. For these services, Lawrence recommends PLANIT Technology Group, a Juniper Networks technology partner. PLANIT Technology Group can be found online at: PLANITTech.com .
Source: HP Seeking to Lure Customers With ?Converged Infrastructure?
· Is Your Company As Green As it Should Be?
· Making Money in Niches: So, What's Your Niche?
HP Seeking to Lure Customers With "Converged Infrastructure"-Business,Kheir Consulting provides small and medium sized businesses with consulting in the areas of marketing and strategy.


text:
#include "parse.h"

#include <stdio.h>
// #include <linux/limits.h>
#include "main.h"
#include "util/stringutils.h"

static const char *WHITESPACE = "\n\r\t ";

/*
 * Copy the directory string for a particular path to the destination buffer.
 * A path which ends in '/' will simply be copied, whereas a path with no '/'
 * returns the string ".".  At most dest_len characters will be copied,
 * including the terminating '\0'.  If dest_len was not enough space, a NULL
 * is returned.
 */
static char *dirname(
    char *dest,
    int dest_len,
    const char *path)
{
    const char *right_most_slash;
    int dir_length;

    if (!path)
        return NULL;

    /*
     * Search for right-most slash.
     */
    right_most_slash = strrchr(path, '/');
    if (!right_most_slash)
    {
        if (dest_len < 2)
            return NULL;
        else
            return strcpy(dest, ".");
    }

    /*
     * Copy directory substring, terminating with null.
     */
    dir_length = right_most_slash - path + 1;
    if (dir_length > dest_len - 1)
        return NULL;
    strncpy(dest, path, dir_length);
    dest[dir_length] = '\0';

    return dest;
}

/**************************************************************
 * function: getMessageFromString(char *, unsigned int len,   *
 *              unsigned int *retlen, char flags)             *
 * returns: char *                                            *
 *                                                            *
 * input is a char * to a line from the log file, the length  *
 *   of the char * string, pointer to returned str len        *
 *     and a verbose value                                    *
 *                                                            *
 * It is expected that this function will be called in from   *
 * within a while(fgets(... call. The char buffer should      *
 * be at least PATH_MAX                                       *
 *                                                            *
 * The string that is being parsed is expected to be from     *
 *  an rsync itemized changes output logfile  ( rsync flags   *
 *  '-i' or '--itemize-changes' only ). This means that we    *
 * are expecting the default outformat of "%i %n%L" from      *
 * rsync.                                                     *
 *                                                            *
 * The flags value will specify how unknown or ancillary      *
 * info will be handled. A value of 0 means that error and    *
 * information data will be ignored and the function should   *
 * return NULL (remember it's in an fgets() loop and anything *
 * sent from the output of this should make sure it is !NULL) *
 * if it does not know what to do with a line.                *
 *                                                            *
 * XXX - TODO                                                 *
 *  there really needs to be a sanity check to make sure that *
 *  the string being read in (or handed in) ends in '\n'.     *
 *  Possibly introducing a '\n' if not there or else error    *
 *  that the string is not in the correct format (ends in \n).*
 *************************************************************/
char *getMessageFromString(
    const char *str,
    unsigned int len,
    unsigned int *retlen,
    char flags)
{
    unsigned char Y,
        X;
    char *retStr = NULL;

    /*
     * len < 2 so we are sure that we have at least YX or '*\ ' for parsing
     */

    if ((!str) || (len < 2))
        return (NULL);

    Y = (unsigned char)*str;
    X = (unsigned char)*(str + 1);

    switch (Y)
    {
    case '*':
        /*
         * deletion event
         */
        if (looksOK(str, len) != TRUE)
        {
            if (flags & WARNING_FLAG)
            {
                retStr = makeWarningStr(str, len, retlen);
                return (retStr);
            }
            else
            {
                return (NULL);
            }
        }
        /*
         * looks OK - create and return REMOVE
         */
        retStr = makeRemoveStr(str, len, retlen);
        return (retStr);
        break;
    case '<':
        /*
         * transfer to remote host
         */
        if (looksOK(str, len) != TRUE)
        {
            if (flags & WARNING_FLAG)
            {
                retStr = makeWarningStr(str, len, retlen);
                return (retStr);
            }
            else
            {
                return (NULL);
            }
        }
        /*
         * we passed the looksOK test - if flags wants INFO then return an
         * INFO str, else return NULL
         */
        if (flags & INFO_FLAG)
        {
            retStr = makeInfoStr(str, len, retlen);
            return (retStr);
        }
        else
        {
            return (NULL);
        }
        break;
    case '>':
        /*
         * transfer to local host (receiving file)
         */
        /*
         * this is what we are primarily interested in
         */
        if (looksOK(str, len) != TRUE)
        {
            if (flags & WARNING_FLAG)
            {
                retStr = makeWarningStr(str, len, retlen);
                return (retStr);
            }
            else
            {
                return (NULL);
            }
        }
        const char *bitFlags = (str + 2);       /* skip >f */
        const char *addStr = "+++++++"; /* rsync 3.x still works w/ this */
        if (strncmp(bitFlags, addStr, 7) == 0)
            retStr = makeAddStr(str, len, retlen);
        else
            retStr = makeUpdateStr(str, len, retlen);
        return (retStr);
        break;
    case 'c':
        /*
         * change/creation (directory or symlink)
         */
        /*
         * transfer to remote host
         */
        if (looksOK(str, len) != TRUE)
        {
            if (flags & WARNING_FLAG)
            {
                retStr = makeWarningStr(str, len, retlen);
                return (retStr);
            }
            else
            {
                return (NULL);
            }
        }
        /*
         * we passed the looksOK test - if this is a change specifying a
         * symlink then create a link message
         */
        if (X == 'L')
        {
            retStr = makeLinkStr(str, len, retlen);
            return (retStr);
        }
        /*
         * it looksOK, it's not a Link, so if verbose wants INFO strings make
         * one and return it, otherwise return(NULL);
         */
        if (flags & INFO_FLAG)
        {
            retStr = makeInfoStr(str, len, retlen);
            return (retStr);
        }
        else
        {
            return (NULL);
        }
        break;
    case 'h':
        /*
         * hard link to another element
         */
        if (looksOK(str, len) != TRUE)
        {
            if (flags & WARNING_FLAG)
            {
                retStr = makeWarningStr(str, len, retlen);
                return (retStr);
            }
            else
            {
                return (NULL);
            }
        }
        /*
         * passed the looksOK test
         */
        retStr = makeLinkStr(str, len, retlen);
        return (retStr);
        break;
    case '.':
        /*
         * not being updated - possible attribute change
         */
        if (looksOK(str, len) != TRUE)
        {
            if (flags & WARNING_FLAG)
            {
                retStr = makeWarningStr(str, len, retlen);
                return (retStr);
            }
            else
            {
                return (NULL);
            }
        }
        if (flags & INFO_FLAG)
        {
            retStr = makeInfoStr(str, len, retlen);
            return (retStr);
        }
        else
        {
            return (NULL);
        }
        break;
    default:
        /*
         * unknown - send as WARNING
         */
        if (flags & ERROR_FLAG)
        {
            retStr = makeErrorStr(str, len, retlen);
            return (retStr);
        }
        else
        {
            return (NULL);
        }
        break;
    }

    return (NULL);
}

/*********************************************************
 * makeGenericStr(char *, unsigned int, unsigned int *,  *
 *                char)                                  *
 *                                                       *
 * this function is used for (F) fatal error, (X) error, *
 * (W) warning, and (I) information strings.             *
 *                                                       *
 * The function returns "C\ [string]\r\n" where C is the *
 * above mentioned value. The entire string is returned  *
 * as more is better than less for these codes.          *
 ********************************************************/
char *makeGenericStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen,
    char c)
{
    /*
     * WARNING - have not included parsing of strings to include escaping of
     * CR or LF to '\013' and '\010'
     */

    char *retStr,
       *copiedStr;
    unsigned int holdLen;
    int ret;

    // TODO: is len useful? can it be substituted for strlen(str) below?
    (void)len;

    if (!str)
        return NULL;

    copiedStr = strdup(str);
    if (!copiedStr)
        return NULL;

    holdLen = strlen(str) + 5;
    retStr = (char *)calloc(holdLen, 1);
    if (!retStr)
    {
        free(copiedStr);
        return NULL;
    }

    strip(copiedStr, WHITESPACE);
    ret = xsnprintf(retStr, holdLen, "%c %s\r\n", c, copiedStr);
    if (retlen)
        *retlen = ret;

    free(copiedStr);
    return retStr;
}

char *makeWarningStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    char *retStr;

    retStr = makeGenericStr(str, len, retlen, 'W');
    if (retStr)
        return (retStr);
    else
        return (NULL);

}

char *makeInfoStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    char *retStr;

    retStr = makeGenericStr(str, len, retlen, 'I');
    if (retStr)
        return (retStr);
    else
        return (NULL);

}

char *makeFatalStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    char *retStr;

    retStr = makeGenericStr(str, len, retlen, 'F');
    if (retStr)
        return (retStr);
    else
        return (NULL);

}

char *makeErrorStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    char *retStr;

    retStr = makeGenericStr(str, len, retlen, 'X');
    if (retStr)
        return (retStr);
    else
        return (NULL);

}

static char *makeAURStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen,
    char c)
{

    /*
     * the update string will contain "\010" and "\013" as replacements for
     * any in-line NL and CR values. Additionally, we need to preface the
     * message with "U " and suffix it with "\r\n". We do NOT include the 9 or
     * 11 character %i format string.
     *
     * Thus, the output string is: "U path_and_filename\r\n" (replace "U" with
     * "A" or "R" depending on update/add/remove)
     *
     * STRIKE THE ABOVE - we're using fgets() as the initial input from the
     * log file - and so HOW WOULD WE COME ACROSS AN EMBEDDED \n?!?!
     *
     * The solution:
     *
     * This function assumes that at the very least that the checks for
     * has_I_Format and has_Text_Value have passed succesfully. Further that
     * since this is an UPDATE string that the log line has the proper
     * extension {der,cer,pem,crl,roa}. Though we still try to make sure that
     * the input string is at least 11 characters in length at the beginning
     * of the function.
     *
     * As the output from this is not expected to be handled by the shell (it
     * is envisioned that {f}open(), etc. are used) we don't need to worry
     * about escaping shell nasties such as *;'` etc. etc.
     *
     */

    int ret,
        holdLen;
    char *retStr,
       *ptr,
       *copiedStr;

    /*
     * sanity check
     */
    if (!str || len < 11)
        return (NULL);

    /*
     * make local copy of 'len' bytes of str, null-terminated
     */
    copiedStr = (char *)malloc(len + 1);
    if (!copiedStr)
        return NULL;
    strncpy(copiedStr, str, len);
    copiedStr[len] = '\0';

    /*
     * strip any pesky whitespaces that we will be clobbering anyway
     */
    strip(copiedStr, WHITESPACE);

    /*
     * our return string will be the string passed in minus the 9 or 11 chars
     * in the %i description at the end plus 2 for "U " plus 3 for "\r\n\0" at
     * the end
     */
    ptr = start_of_next_field(copiedStr, WHITESPACE);
    holdLen = field_length(ptr, WHITESPACE) + 2 + 3;
    retStr = (char *)malloc(holdLen);
    if (!retStr)
    {
        free(copiedStr);
        return NULL;
    }

    ret = snprintf(retStr, holdLen, "%c %s\r\n", c, ptr);
    if (ret < 0 || ret >= holdLen)
    {                           /* error or overflow */
        free(retStr);
        free(copiedStr);
        return NULL;
    }
    if (retlen)
        *retlen = strlen(retStr);

    free(copiedStr);
    return retStr;
}

char *makeUpdateStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    return makeAURStr(str, len, retlen, 'U');
}

char *makeAddStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    return makeAURStr(str, len, retlen, 'A');
}

char *makeLinkStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    UNREFERENCED_PARAMETER(str);
    UNREFERENCED_PARAMETER(len);
    UNREFERENCED_PARAMETER(retlen);
    /*
     * this requires more than just makeGenericStr()
     */
    /*
     * STUB
     */
    return (NULL);
}

/*
 * Input string:  *deleting path/to/file.ext
 * Output string: R path/to/file.ext
 */
char *makeRemoveStr(
    const char *str,
    unsigned int len,
    unsigned int *retlen)
{
    return makeAURStr(str, len, retlen, 'R');
}

int looksOK(
    const char *str,
    unsigned int len)
{
    int c,
        i;

    c = i = 0;

    /*
     * start with simple sanity checks - minumum length, ascii characters,
     * etc. etc. Then move on to more message specific checks.
     */

    /*
     * we expect even in the smallest log message that there will be two
     * characters. This would end up being a message from a delete '*\
     * [sometext]'.
     */
    if (len < 2)
        return (FALSE);

    /*
     * PATH_MAX is the longest absolute path with filename allowed on most
     * systems. For Linux it is 4096. We also have at MOST 9 flags in the
     * rsync %i format which will be followed by a SPACE
     */

    if (len > (PATH_MAX + 10))
        return (FALSE);

    /*
     * test for a newline
     */
    if (!has_newline(str, len))
        return (FALSE);

    /*
     * we expect the entire string to be either printable chars or cr|nl
     */
    for (i = 0; i < (int)len; i++)
    {
        c = (char)*(str + i);
        if (!(isprint((int)(unsigned char)c)) && ((c != 0x0d) && (c != 0x0a)))
            return (FALSE);
    }

    c = (unsigned char)*str;

    switch (c)
    {
    case '*':
        if (strncmp("*deleting ", str, strlen("*deleting ")) != 0)
            return (FALSE);
        if (len < 11)
            return (FALSE);
        if (!has_Correct_Extension(str, len))
            return (FALSE);
        break;
    case '<':
        if (!has_I_Format(str, len))
            return (FALSE);
        if (!has_Text_Value(str, len))
            return (FALSE);
        break;
    case '>':                  /* need to put in checks for {sym,hard}link
                                 * stuff */
        if (!has_I_Format(str, len))
            return (FALSE);
        if (!has_Text_Value(str, len))
            return (FALSE);
        if (!has_Correct_Extension(str, len))
            return (FALSE);
        break;
    case 'c':
        if (!has_I_Format(str, len))
            return (FALSE);
        if (!has_Text_Value(str, len))
            return (FALSE);
        break;
    case 'h':                  /* need to see what the data of this actually
                                 * ends up being */
        if (!has_I_Format(str, len))
            return (FALSE);
        if (!has_Text_Value(str, len))
            return (FALSE);
        break;
    case '.':
        if (!has_I_Format(str, len))
            return (FALSE);
        if (!has_Text_Value(str, len))
            return (FALSE);
        break;
    default:
        return (FALSE);
        break;
    }

    return (TRUE);
}

/************************************************
 * int has_newline(char *, unsigned int)        *
 *   a very trivial function that returns TRUE  *
 *   if there is a \n in the string and FALSE   *
 *   otherwise.                                 *
 *                                              *
 * Since we are ultimately reading in the str   *
 * from fgets() we are really only worried about*
 * situations where the buffer length was       *
 * exceeded.                                    *
 ************************************************/
int has_newline(
    const char *str,
    unsigned int len)
{
    const char *nl = NULL;

    UNREFERENCED_PARAMETER(len);
    nl = strrchr(str, '\n');
    if (nl)
    {
        return (TRUE);
    }
    else
    {
        return (FALSE);
    }
}

int has_I_Format(
    const char *str,
    unsigned int len)
{
    /*
     * This will check that the first 9 chars appear to be from the %i format.
     * Note that in newer versions of rsync, the %i format has 11 chars.  The
     * following code should return true for both.
     */

    int i,
        c,
        Y,
        X;

    if (len < 11)               /* YXcstpogz\ [file... */
        return (FALSE);

    Y = (char)*(str);
    X = (char)*(str + 1);

    switch (Y)
    {
    case '<':
    case '>':
    case 'c':
    case 'h':
    case '.':
        break;
    default:
        return (FALSE);
        break;
    }

    switch (X)
    {
    case 'f':
    case 'd':
    case 'L':
    case 'D':
    case 'S':
        break;
    default:
        return (FALSE);
        break;
    }

    for (i = 0; i <= 8; i++)
    {
        c = (char)*(str + i);
        if ((!isprint((int)(unsigned char)c)) || c == 0x20)
            return (FALSE);
    }

    return (TRUE);
}

int has_Text_Value(
    const char *str,
    unsigned int len)
{
    /*
     * checks to make sure there is some data after the %i format, we would
     * expect this to be a filename most of the time
     */
    int i,
        field_len;
    const char *text;

    if (len < 11 || strlen(str) < 11)
        return (FALSE);

    text = start_of_next_field(str, WHITESPACE);
    if (!text)
        return (FALSE);

    /*
     * the filename chars should be at the very least printable
     */
    field_len = field_length(text, WHITESPACE);
    for (i = 0; i < field_len; i++)
        if (!isprint((int)(unsigned char)text[i]))
            return (FALSE);

    return (TRUE);
}

int has_Correct_Extension(
    const char *str,
    unsigned int len)
{
    const char *ptr;
    char hold[32];
    unsigned int endlen;

    UNREFERENCED_PARAMETER(len);
    memset(hold, '\0', sizeof(hold));

    for (ptr = str; *ptr >= ' '; ptr++);

    ptr = strrchr(str, '.');

    if (!ptr)
        return (FALSE);

    ptr++;
    if ((*ptr == '\0') || (*ptr == '\n') || (*ptr == 0x0d))
        return (FALSE);

    strncpy(hold, ptr, sizeof(hold) - 1);

    endlen = strlen(hold);

    /*
     * 4 with \n
     */
    if ((endlen == 4) || (endlen == 3))
    {

        if (endlen == 4)
        {
            if (hold[endlen - 1] != '\n')
                return (FALSE);
        }

        if (strncasecmp(hold, "cer", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "pem", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "der", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "crl", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "gbr", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "roa", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "man", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "mft", 3) == 0)
            return (TRUE);

        if (strncasecmp(hold, "mnf", 3) == 0)
            return (TRUE);
    }

    return (FALSE);
}

char *makeStartStr(
    unsigned int *retlen)
{
    time_t seconds;
    char *time_str,
       *out_str;

    seconds = time(NULL);

    time_str = ctime(&seconds);

    out_str = (char *)malloc(strlen(time_str) + 4);
    if (!out_str)
        return (NULL);

    xsnprintf(out_str, 3, "B "); /* auto tack of \0 */

    strncat(out_str, time_str, strlen(time_str));

    *(char *)(out_str + ((strlen(out_str) - 1))) = '\0';

    strncat(out_str, "\r\n", 2);
    *retlen = (strlen(out_str));
    return (out_str);
}

char *makeEndStr(
    unsigned int *retlen)
{
    time_t seconds;
    char *time_str,
       *out_str;

    seconds = time(NULL);

    time_str = ctime(&seconds);

    out_str = (char *)malloc(strlen(time_str) + 4);
    if (!out_str)
        return (NULL);

    xsnprintf(out_str, 3, "E "); /* auto tack of \0 */

    strncat(out_str, time_str, strlen(time_str));

    *(char *)(out_str + ((strlen(out_str) - 1))) = '\0';

    strncat(out_str, "\r\n", 2);
    *retlen = (strlen(out_str));
    return (out_str);
}

/***************** Lower level parsing utilities. *****************/

/*
 * Detect the end of the current "directory block" in the rsync log file.
 * Returns the file position indicator via ftell() for the beginning of the
 * *next* directory block, or end-of-file.  The file position indicator is
 * restored to the current value at the end of this function.
 *
 * Returns -1 on error.
 *
 * Sample file:
 *
 * *deleting SPARTA/1/C3A60F37CFC8876F19337BAAC87279C1B53DC38F.cer *deleting
 * SPARTA/SPARTA-ELS/2/0BFBDDC896073CA14265D5C50C04857A680F23F8.cer
 * .d..t...... SPARTA/1/ >f..t...... SPARTA/1/RhlvrxS2z8WclJS4Um2J01Bhd-E.crl
 * >f..t...... SPARTA/1/RhlvrxS2z8WclJS4Um2J01Bhd-E.mnf .d..t......
 * SPARTA/SPARTA-ELS/2/ >f..t......
 * SPARTA/SPARTA-ELS/2/0vSi6U4ZC_yKRITgmwzqC3Tq1H8.crl >f..t......
 * SPARTA/SPARTA-ELS/2/0vSi6U4ZC_yKRITgmwzqC3Tq1H8.mnf .d..t...... isc/2/
 * >f..t...... isc/2/r-Vxn-I7YluASnxRHksRELhf_Qk.crl >f..t......
 * isc/2/r-Vxn-I7YluASnxRHksRELhf_Qk.mnf .d..t...... isc/3/ >f..t......
 * isc/3/i8T5t-AgIfdC-yr_BzVVcm_7kT0.crl >f..t......
 * isc/3/i8T5t-AgIfdC-yr_BzVVcm_7kT0.mnf
 *
 * An example of a "directory block" would be:
 *
 * .d..t...... SPARTA/1/ >f..t...... SPARTA/1/RhlvrxS2z8WclJS4Um2J01Bhd-E.crl
 * >f..t...... SPARTA/1/RhlvrxS2z8WclJS4Um2J01Bhd-E.mnf
 *
 */
long next_dirblock(
    FILE * fp)
{
    long initial_pos;
    long line_start_pos;
    char first_directory[PATH_MAX];
    int first_line;             /* boolean */
    const char *delimiters = " \n\r\t";

    if (!fp)
        return -1;

    initial_pos = ftell(fp);

    /*
     * Search line by line for a change in directory.
     */
    first_line = 1;
    first_directory[0] = '\0';
    line_start_pos = -1;
    do
    {
        char line[PATH_MAX + 40];
        char fullpath[PATH_MAX];
        char directory[PATH_MAX];
        char *fullpath_start;

        line_start_pos = ftell(fp);
        if (!fgets(line, PATH_MAX + 40, fp))
            break;              /* Stop searching; it's the end of file. */

        if (!exists_non_delimiter(line, delimiters))
            continue;           /* Skip blank lines. */

        fullpath_start = start_of_next_field(line, delimiters);
        if (!fullpath_start)
        {
            line_start_pos = -1;        /* error code */
            LOG(LOG_ERR, "Malformed rsync log file line: %s", line);
            break;
        }

        if (!this_field(fullpath, PATH_MAX, fullpath_start, delimiters))
        {
            line_start_pos = -1;        /* error code */
            LOG(LOG_ERR, "Insufficient buffer to hold path: %s",
                    fullpath_start);
            break;
        }

        if (!dirname(directory, PATH_MAX, fullpath))
        {
            line_start_pos = -1;        /* error code */
            LOG(LOG_ERR,
                    "Insufficient buffer to hold directory.  Path = %s\n",
                    fullpath);
            break;
        }

        if (first_line)
        {
            /*
             * The following is safe despite strncpy weakness.  By this point,
             * 'directory' will be safely NULL-terminated, and
             * 'first_directory' and 'directory' are equal sized buffers.
             */
            strncpy(first_directory, directory, PATH_MAX);
            first_line = 0;
        }

        if (strncmp(first_directory, directory, PATH_MAX) != 0)
            break;              /* Stop searching; new directory found. */

    } while (1);

    fseek(fp, initial_pos, SEEK_SET);
    return line_start_pos;
}

int is_manifest(
    const char *path)
{
    if (!path)
        return 0;

    if (endswith(path, ".man") ||
        endswith(path, ".mnf") || endswith(path, ".mft"))
    {
        return 1;
    }
    else
    {
        return 0;
    }
}

redpajama_set_name: RedPajamaGithub


text:
Heston Blumenthal: "I'd Love to Cook Someone's Life" | Video
Heston Blumenthal is one busy chef - his second restaurant Dinner rocketed in at 9th on the The World's 50 Best Restaurants in 2012, his three Michelin Starred The Fat Duck in England has picked up a reputation as one of the most unique and innovative dining experiences on the planet and his food is arguably some of the tastiest around.
He has a host of successful TV shows from Heston's Feasts to his In Search of Perfection series - the chef has become a household name throughout the UK -keen to offer up advice and the tips and tricks he has perfected in the kitchen, all part of his philosophy of openness.
He has wowed celebrities with his magical dining, re-created scenes from the famous Charlie and The Chocolate Factory movie and recently launched an innovative invitation concept called Kid in a Sweetshop.
He's perfected dishes such as Bacon and Egg Ice Cream and Snail Porridge, a multi textured dish that has been developed over many years, and is famous for his taste first philosophy - if it doesn't taste great there is no point in doing it.
Blumenthal is arguably one of the hottest British chef of the moment and he recently sat down for an FDL interview to discuss his work, what he thinks of the current food landscape and how making a menu of someone's life would be his ultimate dining concept.
With special thanks to Big Hospitality and Restaurant Magazine for their help in producing this interview.
Chef Matias Perdomo: "My Disturbing Cuisine"

redpajama_set_name: RedPajamaCommonCrawl


text:
Società Italiana Urologia
The Italian Society of Urology (SIU) was founded in 1908, then re-founded in 1921. Parallel to the creation of the Society, specialist hospital departments were founded and, with greater difficulty, university chairs were established.
Russian Society of Urology
At the moment, urology is one of the most rapidly developing areas of medicine. In the diagnosis and treatment of urological diseases, new technologies are becoming available, which until recently could seem like something from the realm of fantasy. The pace of development set by the management in recent years allows ROU to constantly keep abreast of the pulse, big plans for the future are outlined.
L'Association Française des Urologues
The French Association of Urology in Teaching is an amalgamation of law 1901 created in 1989, which brings together an intern, clinical supervisor and urological assistant. In 2018, AFUF had about 501 members (internal and CCA)
Russian Society of Urological Oncology
The Russian Society of Urological Oncology is an expert medical community that unites medical specialists, doctors and scientists.
Società Italiana Andrologia
The Italian Society of Andrology (SIA), founded in Pisa on 14 February 1976, brings together Italian or foreign scientists who conduct clinical or research activities in the field of andrology.
For almost 40 years the EAU has addressed the most pressing issues of urological care in Europe, through its scientific and educational initiatives, as well as its publications.
German Society for Urology
Here you will find basic and current information about our society. The German Society for Urology, as a scientific association for urology in Germany, is a non-profit association with the task of further developing, promoting and representing scientific and clinical urology in Germany as well as the training of prospective and advanced training for those who have already been trained
European Society for Sexual Medicine
The European Society for Sexual Medicine means Education and Science in Sexual Medicine. In the last years, we have established several educational programs and developed criteria for certification in Sexual Medicine and Sexology.


Bought some catnip for my kittykats, ran out of beer, so I thought, what the hell. I've been reading experiences online so I would give it a try. I made 3 quite big joints of catnip and tobacco, about half and half. As soon I smoked first joint, I fealt a somewhat intense head rush, just like smoking bad weed. I proceeded on the 2 other joints, the feeling got more intense, but nothing really special. I walked a bit around in the woods, noticed how beautiful the nature is (hey, in midsummer it IS beautiful). After I got in and started sitting on computer, I noticed a very very slight warping feeling, nothing much.


text:
package netflix.adminresources.resources;

import com.netflix.config.ConfigurationManager;
import netflix.adminresources.resources.model.Property;
import org.apache.commons.configuration.AbstractConfiguration;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Set;

public class PropertiesHelper {
    private static final Logger LOG = LoggerFactory.getLogger(PropertiesHelper.class);

    public static List<Property> getAllProperties() {
        final AbstractConfiguration configInstance = ConfigurationManager.getConfigInstance();
        List<Property> properties = new ArrayList<Property>();
        Iterator keys = null;
        try {
            keys = configInstance.getKeys();
        } catch (Exception e) {
            LOG.error("Exception fetching all property keys ", e);
        }

        Set<String> maskedResources = MaskedResourceHelper.getMaskedPropertiesSet();

        while (keys.hasNext()) {
            final String key = (String) keys.next();
            try {
                Object value = null;
                // mask the specified properties
                if (maskedResources.contains(key)) {
                    value = MaskedResourceHelper.MASKED_PROPERTY_VALUE;
                } else {
                    value = configInstance.getProperty(key);
                }
                Property property = new Property(key, value.toString(), null);
                properties.add(property);
            } catch (Exception e) {
                LOG.info("Exception fetching property value for key " + key, e);
            }

        }
        return properties;
    }
}


Should I use an AWS KMS-managed key or a custom AWS KMS key to encrypt my objects on Amazon S3?
I want to use server-side encryption with AWS Key Management Service (SSE-KMS) for my objects stored on Amazon Simple Storage Service (Amazon S3). Should I use a custom AWS KMS customer master key (CMK)? Or, should I use the AWS KMS-managed CMK called aws/s3? What's the difference between the two?
AWS KMS manages the default aws/s3 CMK, but you have full control over a custom CMK.
Note: The name of the CMK is aws/s3 in the Amazon S3 console, but you don't specify that name or ID if you use the AWS Command Line Interface (AWS CLI).
You're uploading or accessing S3 objects using AWS Identity and Access Management (IAM) principals that are in the same AWS account as the CMK.
You don't want to manage policies for the CMK.
You don't want to rotate the CMK.
You want to create, rotate, disable, or define access controls for the CMK.
You want to grant cross-account access to your S3 objects. You can configure the policy of a custom CMK to allow access from another account.


In 1982, the natural hormone "Growth Hormone Releasing Hormone" (GHRH) was identified after a prolonged search. Soon, researchers discovered that those GH-Releasing Peptides (specifically GHRP-6 & GHRP-2) followed a mode of action which bound them to and was mediated through receptors different from those for GHRH. Furthermore, researches discovered that these GH-Releasing Peptides acted synergistically with the natural hormone Growth Hormone Releasing Hormone (GHRH), which is related to Sermorelin, in both laboratory animals and humans to produce large releases of Growth Hormone. In the 1980s, the first highly potent GH-Releasing peptide, GHRP-6, was developed. Due to a strong GH release response from the the peptide, it became the first member of a class called Growth Hormone secretagogues. GHRP-6 is a hexapeptide composed of 6 amino acids: L-Histidine, D-Tryptophan, L-Alanine, L-Tryptophan, D-Phenylalanine and L-Lysine. The "L" form of an amino acid is the naturally occurring form and often in the nomenclature the "L" is dropped. The "D" form does not occur in nature and is the isomeric form (i.e. mirror image) of the naturally occurring "L" form. GHRP-6 (His-D-Trp-Ala-Trp-D-Phe-Lys-NH2) is composed of both natural and isomeric forms of those 6 amino acids.This sequence provides a signal to the body to begin secreting Growth Hormone release while also blocking Somatostatin, a hormone that inhibits the release of Growth Hormone.
GHRPs are not simply surrogates of GHRH, instead GHRP-6 is an artificial activator of a separate newly discovered receptor called Growth Hormone Secretagogue Receptor (GHS-R). Soon Ghrelin was discovered, the endogenous ligand that binds to the GHS-R. Both Ghrelin and all the synthetic compounds such as GHRP-6 were termed "Growth Hormone Secretagogues" (GHSs). One side effect of GHRP-6 is a significant increase in appetite due to stimulating the release of Ghrelin, a peptide that is released naturally in the lining of the stomach that increases hunger and gastric emptying. Also, GHRP-6 causes stimulation of the anterior pituitary gland which causes an increase in Growth Hormone release. The increased amounts of Growth Hormone can cause the liver to secrete the hormone IGF-1, which improves the animal body's ability to burn fat and build muscle. Since GHRP-6 acts directly on the feedback loop which signals the inhibition of Growth Hormone release, GHRP-6 can re-stimulate the production of Growth Hormone.


The trouble with leaving so much time in between writing is that not only are there too many things that have happened, with many things getting lost in the shuffle, but also big things loom and overshadow all of the little stuff, making it hard to focus on anything else.
So the big thing that's happened lately is that M's try outs are over and she is playing JV soccer, not varsity. She worked very hard over the summer, and I am two parts angry and one part heartsick for her. But since any further comment would irritate her and would lead me to say unkind things about people who are not my daughter, I am not going to write any more about that here.
But I digress. The point is, there was a pile of stuff to be moved around and still no mouse to be found. The squeaking had stopped. We gave up and turned the light back off and got back into bed. And then, you guessed it: more squeaking.
Once again, lights on, looked around, no mouse, no more squeaking, and back in bed.
After that, we decided that when the squeaking started up again we'd stay in bed and listen harder, and Cute W retrieved one of his trusty headlamp flashlights. So when the squeaking started up again, he was able to shine a spotlight on the most adorably terrifying sight I'd ever seen. It was another bat, and this guy had somehow gotten trapped in our window. We don't have A/C upstairs, so we have one of those window fans where you open up the window, stick the fan in up against the screen, and then shut the window onto the top of the fan to secure it. Somehow, the bat had gotten himself stuck between the outer screen and the whirring fan. He was trapped, and in an effort to save himself, he was squeaking wildly and pawing the edge of the fan with adorable, teensy bat paws!
Sadly, we were half asleep and not entirely functional, because we totally should have taken a video of this. It really was both adorable and terrifying. He was working those little paws, and it seemed entirely possible that he might find a way to poke through. Instead of taking a video that would have made us, you know, internet famous or something, we were just hell-bent on eviction. We closed our bedroom door and then my wonderful husband took one for the team and sent me into the bathroom with the door shut behind me. He shooed the bat out with very little trouble, but not without noticing that the bat had sharp and menacing teeth. Phew! And then we went back to bed.
Since then, we've traveled around and experienced emotional turbulence here at home, and I'll fill you in on some of that later.
If this persists, you might want to call in an expert to figure out how they're getting in, and how to prevent them from getting in in the future. I mentioned on your previous post that we went through this for years, using a chain pest removal company before finally finding a local expert who took care of the problem once and for all (and charged less than the chain). Once bats get into your house, they often keep coming back, and they have long lifespans (and long memories of their favorite homes and how to access them!).
Ewww. That's so weird. (The long lives and coming back). If we get another one, I'm all for getting a professional. Blegh.


text:
è un film del 1993 diretto da Akira Kurosawa.

Il titolo significa "non ancora", frase propiziatoria che, nella tradizione nipponica, gli anziani declamano il giorno del loro compleanno, riferendosi alla morte. Si tratta dell'ultimo film firmato dal regista giapponese Kurosawa.

Trama
Tokyo, 1943. Un maturo professore universitario di letteratura tedesca lascia l'insegnamento. Nonostante la scarsità di viveri, egli decide di offrire a cinque discepoli una cena in ricordo degli anni trascorsi insieme. Terminata la guerra, gli ex allievi continuano a frequentare il loro insegnante, celebrando ogni anno un banchetto in suo onore. Di volta in volta, in occasione del compleanno del professore, la cena sarà sempre più sontuosa e riunirà un numero sempre maggiore di convitati. Ogni volta il rito prevede la domanda dei suoi allievi "Mada kai?" (tr. "Sei pronto?"), alla quale egli risponde: "Madadayo" (tr. "Non ancora").

Distribuzione
Fu presentato fuori concorso al 46º Festival di Cannes.

Note

Collegamenti esterni

Film drammatici
Film diretti da Akira Kurosawa

redpajama_set_name: RedPajamaWikipedia


Up first in this ongoing series on feeding your chakras, is the Muladhara, or Root Chakra. Tracing a down your spine from the base of your skull towards the floor, the Muladhara would be at the furthest point down, right at the very tip of the coccyx bone. This is also the resting place of dormant Kundalini, the infinite spiritual energy. Once the Root Chakra is open and the energy is flowing, the dormant energies of the Kundalini awaken, and begin to spiral up the spine, helping to awaken each of the other six chakras along the way.
This is why the Root Chakra is one of the most important of all the chakras to support. Without the Kundalini, the chance for enlightenment is less. So, how do we awaken and support this chakra? From an activity standpoint, meditation is the first and foremost thing we can do. Also, spending time gardening, walking barefoot on the grass or a dirt trail, or even helping to restore a part of Mother Earth that has been damaged or covered in trash and debris, are all active things we can do to support our Muladhara. And then, when you're done with that, you're going to be hungry.
If you weren't aware, each of the chakras has a color associated with it, and the Muladhara's color is red. So when you're thinking of what foods to eat, the best choices will always be foods that are red in color. Beets. Strawberries. Rhubarb. Red Onions. Red Potatoes. Red Bell Peppers. This chakra also responds well to any of the root vegetables, regardless of color, so throw in some carrots, parsnips, radishes, or yams, too. Finally, vegetable proteins, which means that beans, legumes, nuts, and seeds all play a part in helping to support this chakra.
To help you get started, here are five of my favorite recipes for foods that are associated with the root chakra.
I hope you enjoy these! And always, if you make any of these recipes, I'd love if you came back and left a quick comment on how you liked them, or if you added/changed anything about them. Next time we will look at the Swadhisthana, or the Sacral Chakra, and how we can feed and nourish the seat of our creativity!
Be well always my friends!


text:
General - Does a Vpn Protect Text Messages?
Does a Vpn Protect Text Messages?
1 End-to-end encryption
1.1 Geo-spoofing
1.1.1 Signal
1.1.1.1 WhatsApp
Does a VPN protect text messages? It depends. It doesn't encrypt standard voice calls, which you can accomplish by using voice over IP services. VPNs don't encrypt text messages, but they can encrypt Wi-Fi calls. And if you're using a mobile phone to send messages, you can use encryption through apps like iMessage, Android's RCS messaging, and even third-party services like WhatsApp.
If you use a VPN to protect text messages, then you're protecting yourself from cyber criminals and ensuring that your correspondence is as private as possible. You'll need to protect your devices and applications as well as your passwords and account details. Encryption protects not only your correspondence but also your ability to impersonate other people. This technology is becoming more common in communications.
End-to-end encryption works by restricting the amount of data that is sent and received. It's like sending a letter in a sealed, invincible box. It ensures the security of your communication from governments and tech companies that might want to monitor it. Expert mathematicians are constantly working to improve the technology that makes encryption possible. It's also important to remember that the encryption is only as good as the protection you're getting.
does a vpn protect text messages
Geo-spoofing
When you're using the Internet, geo-spoofing is a good way to ensure your privacy. Your IP address reveals where you are, making it easy for websites to track you. By changing your IP address, you can make it harder for these companies to monitor your activity and show you ads that are relevant to your location. This way, your messages, and private information aren't exposed to geo-spies.
Using a VPN can also prevent geo-restrictions on your content. Some sites restrict content based on the country you're in, making it impossible to access certain content. Changing your location with a VPN allows you to access content that's geo-restricted in your country without risking your privacy. VPNs protect you from this problem by bypassing the geo-blocks and allowing you to stream whatever content you want, wherever you are.
If you're worried about privacy, do you wonder if VPNs protect your text messages? If so, there are a number of options. Signal Messenger, for instance, has end-to-end encryption and is free to download and use. It uses the OTR protocol to protect your information, and encryption algorithms AES-256, Curve25519, and HMAC-SHA256. It's also open source, meaning anybody can audit its code and ensure no backdoors.
The problem with SMS is that standard SMS texting is not encrypted, and therefore outsiders can view the content of your messages, including any attachments. Standard SMS texting is not encrypted, leaving your conversations vulnerable to snoopers, both for law enforcement and for financial gain. VPNs, on the other hand, encrypt text messages and other data using the latest technologies. With these advanced protections, you can rest assured that your communications are safe and secure.
WhatsApp has an innate ability to track location history. By tracking where you send and receive messages, WhatsApp can learn a great deal about you, such as where you live, work, and where you drop your kids off at school. This data could be used to stalk you or spy on you, and you need a VPN to protect your WhatsApp text messages. It also protects your privacy, and you can even turn on notifications to prevent your location history from being downloaded by an unauthorized party.
In addition to encrypting messages, WhatsApp also tracks your phone's operating system, location, and connection to improve the service. You may have to ask your ISP to enable port forwarding before you can use a VPN. Ask your VPN provider if this option is supported by their app and how it works. If they don't, then you can use a VPN to hide your IP address and prevent your conversations from being traced.
How To Get Out Of A Group Text Conversation
How to Password Protect Text Messages on Android **2022
Getting the Most Out of EZ Texting
Google Speech to Text API
Why Am I Not Getting Text Notifications on My iPhone?
How to Set Up and Customize Text Reminders For Appointments
What Is Text Mining and How Can It Benefit Your Business?
2023 © Protectedtexts.net


text:
Beyond.ca - Car Forums - Automotive Enthusiasts Community > Car Forums > Motorsports > Osoyoos Motorsport Park in BC
View Full Version : Osoyoos Motorsport Park in BC
m10-power
Friends, PCA members and sportscar enthusiasts:
I am excited to invite you to a Press Launch & "enthusiasts Q&A session" with Jacques Villeneuve and founders of the new motorsports park & racetrack coming to the Southern Okanagan.
The name of the proposed motorsports park is Area 27.
Jacques Villeneuve, the Canadian of F1 racing fame, is coming to the Okanagan to tour the site of the track, for a meet and greet and press launch of Area 27.
Details are still under wraps (so the following is my understanding of it all), but Area 27 will be a full road course, motorsports park and members club. The location will be on First Nations land in the Osoyoos area.
The Porsche Club of America (BC Interior Region, http://bci.pca.org) has been invited to the exclusive "enthusiasts Q&A" session during the press launch Sep 1 (Sun), at Spirit Ridge Resort and Spa, Osoyoos, BC ( http://www.spiritridge.ca/).
The Sep 1 invitation is also open to any sports cars enthusiasts who are interested in motorsports, supporting racing in BC, and potentially being a member of Area 27.
Area 27 Launch Schedule Spirit Ridge Sunday September 1, 2013
11:00am to 12:00 noon, Jacques and kids at Spirit Ridge autographs session 12:00noon to 1:00pm, break for lunch 1:00pm to 3:00pm, media session and dignitaries meet and greet 3:30pm to 5:30pm, auto enthusiasts and prospective members Q & A 7:30pm, founding members dinner party with Jacques
Yay. This and then t'sui Tina and or Morley!
Cheeba
I couldn't find anything on Google - is there a site where I can receive updates on the development of this?
woodywoodford
Whatever happened to that one that supposed to come up in Mission? And then the one for Drumheller? So many promises....
Mision has a dragstrip, not sure about anything else there, but the "Drumheller" one is still very much a go.
These things don't happen overnight.
Originally posted by 89s1
Mision has a dragstrip, not sure about anything else there, but the "Drumheller" one is still very much a go.
Yeah, I just remember getting excited about those two literally 5 years ago. Mission was supposed to have a world class road course worthy of F1, as I was hearing back then. Didn't know drum was on the go though so that's good :D
The project is called Badlands Motorsports Park if you want to research it further.
sdubid
Originally posted by woodywoodford
I believe you are thinking of merritt not mission. I live in Mission and have never heard of that.
Originally posted by sdubid
He was thinking of the drag strip that is already operational a few blocks north of Mission on 17th Ave SW. I believe it is commonly known as The Red Mile.
Originally posted by Cheeba
"Details are still under wraps...press launch Sep 1"
"Area 27 Launch Schedule Spirit Ridge Sunday September 1, 2013"
I would imagine there will be many more details after Sept 1
Link to Indian Band website (http://oibdc.ca/)
They are a model of success in business the band conducts, no doubts this will go ahead.
Originally posted by Isaiah
haha coincidence then as I am from mission, BC. Didn't know there was another mission racetrack.
http://www.missionraceway.com/
Proposed track layout
https://lh5.googleusercontent.com/-pp6OWQJU3K4/UiSiJV1zslI/AAAAAAAAA70/iIGy7ZgXgOw/s400/photo.jpg
http://okanagansun.files.wordpress.com/2013/09/jacques-villeneuve-osoyoos-news.jpg
Link to article (http://www.vancouversun.com/sports/autoracing/Jacques+Villeneuve+helps+envision+South+Okanagan/8860878/story.html)
"OSOYOOS — A consortium that includes a developer, a native band and a Canadian motorsport legend is looking to uncork a new whine into the heartland of B.C.'s grape country.
The proposed South Okanagan Motorsports Club's Area 27 is envisioned as a country club for driving enthusiasts, and on Sunday at this B.C. resort town the principals gathered to unveil their plans.
Among them was Jacques Villeneuve, Canada's most accomplished professional race car driver, who is a vice-president of South Okanagan Motorsports Club (SOMC) and, more importantly, will design the 4.5- to 5.5-kilometre asphalt circuit. The '27' in the name refers to the number both Jacques and his legendary father Gilles, campaigned under for much of their careers.
"I've always loved creating, writing, so I find this super exciting," Villeneuve told the small gathering at the Spirit Ridge Lodge, noting he has already designed one circuit to date — a go-kart track in Mirabel, Que., north of Montreal. "It is a dream to design a track like this, to start from scratch. The possibilities are limitless."
The location of the Area 27 facility is 20 kilometres north of Osoyoos in Oliver, the self-proclaimed wine capital of Canada, and sits on land owned by the Osoyoos Indian Band (OIB).
The band's chief, Clarence Louie, was also on hand, and is in full support of the proposal.
"I'm a car, truck, motorcycle guy," Louie said, "And I hope this happens. I can't wait to hear the words, 'Gentlemen and Ladies, start your engines.'"
Before those famous words will ring out over the south Okanagan benchlands, however, the group behind the proposal needs to sign up members to the private club. And while 300 is their target, the SOMC president says 200 will be enough to get Phase 1 of the planned four phases completed.
"We're launching now and the market response we get is going to dictate a great deal of how we move ahead," explained David King, a longtime director at Intrawest and current director of ClubLink Enterprises Ltd.
"The target market is people who are at a stage of life that can afford expensive automobiles yet get frustrated because there is nowhere to use them."
King said initiation dues for the first 100 members are $30,000, with that bumped to $35,000 for the next 100. Annual dues are expected to be in the $3,000 to $4,000 range.
"There are three places you're going to find these kinds of cars and this kind of money," King noted. "Calgary, Vancouver and Kelowna."
The concept is not unlike a golf country club, only instead of playing golf, members drive their performance cars on a purpose-built track, with on-site facilities to service, fuel, store and detail their machines.
SOMC founder Bill Drossos, a longtime friend of Villeneuve's dating back to their days as student instructors at the Ontario-based Spenard Racing School, explained the four planned phases.
"Phase 1 will be all the asphalt of the track, the driving academy, karting facility and service roads," he said, noting that the track contractor will be Lake Excavating Ltd., operated by founding member and current Canadian Tire NASCAR series driver/owner Trevor Siebert. "Phase 2 will be commercial buildings, including an on-site service building for tires, brakes, fuelling and detailing, the clubhouse and on-site vehicle storage."
Phase 3 will incorporate trackside townhouses and condominiums, what Drossos referred to as "arrive and drive suites." Essentially, one and two bedrooms up top with a garage below with direct track access.
The final phase is to build grandstands, a timing and scoring tower and media centre for competitive motorsport events.
Drossos envisions four such events a year.
"The Canadian Tire NASCAR Series, Canadian Superbike, a historic weekend along the lines of the Monterey Historics at Laguna Seca and a car show similar to the Goodwood Festival," the Penticton-born Drossos said, noting the 40-foot wide circuit will be built to FIA Level 2 certification, meaning the only series that couldn't race on it is Formula One.
The IndyCar Series has made no secret about its desire to return to Canada's West Coast after years of successful events in downtown Vancouver, and Area 27 would be an ideal venue, much along the lines of Sonoma Raceway in the Northern California wine country.
The estimated cost of Phase 1, expected to take between six to eight months when approved, is $7.5 million. The overall budget is $10 million to $12 million.
SOMC would rent the land from the OIB, and Chief Louie, who has guided the band on many successful business ventures, including Spirit Ridge Lodge, says it will benefit his people.
"It's the same benefit every other business gets: jobs, jobs, jobs and income," he said, adding, "It's good for tourism, and not just for the south Okanagan but for all of B.C."
Apart from the challenge of signing up members to make Area 27 a reality, one issue that no doubt will come to the fore, as it always does with racetracks, is noise.
SOMC founders are fully aware of this and have done some preliminary tests.
"Our initial sound testing with a volume typical of a road vehicle exhaust was not able to register on a decibel meter at any of the nearby residents," said Drossos, noting the proposed track location is on benchland above vineyards and protected by a cliff and ridge. "We're going to do a second round of testing just to see if it registers."
Chief Louie also acknowledged this hurdle, saying "The issue of sound is something I'll be dealing with (with) my people. There will always be someone complaining about something."
As to a timeline, King said that once SOMC gives the go ahead — meaning a critical mass of members have joined up — the Osoyoos Indian Band will initiate a 'Designation Vote' process to approve the project, which will take between four to six months.
So, realistically, the first rubber to hit the road at Area 27 could be as early as the summer of 2015.
The SOMC will be providing information, and signing up members, at the Luxury and Supercar Weekend at VanDusen Gardens in Vancouver this Saturday and Sunday. The SOMC website, area27.ca, is expected to be up and running in two weeks.
"As the site is located on land owned by the Osoyoos Indian Band (O.I.B.), the South Okanagan Motor Sports Corporation has signed a 'letter of intent' with the O.I.B. for a land lease agreement."
http://okanagansun.files.wordpress.com/2013/09/villeneuve-land-osoyoos-daily-news.jpg
asp integra
very cool! only 20 mins south of the okanagan house!
darthVWader
New site up http://www.area27.ca/
Blair Robertsha
M10 power, you need to send your wife to a Porsche dealer and get her to shop for a race ready GT2 or GT3, then....Drumheller will be not only a destination for her but also a place where ....you never know what you may get!
milesmcewing
Hey Blair,
Paul was actually quoting someone else.
If she needed to go shopping I'm sure he would loan her his GT2 to go shopping somewhere...............or maybe the Lotus.
Sugarphreak
This looks pretty wicked, but I don't think I could ever afford the dues!
I wonder if the membership has any tangible asset value later on


We provide our customers with a best-in-class portfolio of enterprise-grade scalable software with analytics built in. We put customers at the center of our innovation and build high quality products that our teams can be proud of.
Through our breadth of solutions, we are uniquely positioned to help our customers solve business problems and deliver against the needs and opportunities of Hybrid IT, from mainframe to mobile to cloud. We're a pure-play software company – we have a level of focus that other technology companies don't have, we are designed from the ground up to build, sell and support software.
You will be part of a geographically distributed team (Romania and Israel), designing and developing and maintaining test automation frameworks, while working in an agile environment and taking ownership on wide areas of the product. Moreover, you will offer technical guidance and also influence new features development, from the inception phase until production.
Create and execute automation tests over existing automation frameworks as well as contributing to extend the frameworks according to product needs.


The Grand Canyon is 270 miles long, up to 18 miles wide, and took approximately 17 million years to form. Think about that, 17 million years. To put that into context, that was about the time of the cycle of Ice Ages began, and was at least 10 million years before the earliest form of humans evolved (Creationists, please exit stage left). What appears to be nothing but a jagged crack in the parched Arizona landscape is actually a thriving oasis of life in the middle of a red desert. It also provides an incredibly accurate slice of what happened to this geographic area completely beyond our scope of Now.
It's not difficult to imagine giant prehistoric creatures roaming these canyons for millions of years. The Ancient Pueblo Native Americans ("Anasazi," meaning ancient enemy, is not a preferred term) in the Four Corners area of the United States were the first to live in and around the Grand Canyon, joined by Cohonina and Sinagua peoples, between 500 and 1200 AD. The height of the Byzantium Empire was in 500 AD, and Mohammed was believed to have been born in approximately 570 AD. Europeans came along in 1540 AD, under the direction of conquistador Francisco Coronado, and President Woodrow Wilson created the Grand Canyon National Park in 1919 AD.
The author, prior to jumping the waterfall into the clear pools below.
It almost never happens that we are able to touch the evidence of such ancient history with our own hands. It maps climate changes, water levels, volcanic activity and the shifting of tectonic plates. Due in part to the protection and preservation of the government, the Grand Canyon is an irrefutable example of the enduring history of time, rather than our of our species.
This entry was posted in Expanding the Scope of Now, Exploring our World, Photo Gallery and tagged history, nature is neat. Bookmark the permalink.


When the holiday season rolls around, parents and kids usually want to show their teachers how much they appreciate all their hard work with a small gift. Unfortunately, your go-to gift is likely the same as just about every other parent's in the class. Follow this list for what not to get your child's teacher this year, and find some alternative recommendations as well.
Everyone loves a new coffee mug right? Maybe, but mugs are also one of the most common teacher gifts. It doesn't matter if you've filled it with chocolates or tucked in a Starbucks gift card, teachers only have so much cabinet space. The mug itself is likely to find a new home.
give this instead!^ If you know she partakes, consider gifting your teacher a nice bottle of wine and some wine charms. However, check with your school first. Some states have laws against bringing alcohol onto school campuses.
Good smelling lotions or body sprays are the go-to gift when you don't really know what else to give. Needless to say, teachers receive a lot of these items, and often end up giving them away. Perfumes and body care items can be a very personal choice. Let the teacher make that choice herself. And definitely stay away from the prepackaged gift sets.
give this instead!^ If you think she really needs some hygienic assistance, consider giving her a gift card for an upscale bath and body boutique, such as Lush, as opposed to your run-of-the-mill mall store.
Why buy your teacher something she'll only be packing away with the Christmas stuff in a few weeks? Nothing says "I shopped the holiday section at the big box store" like a Christmas snow globe that doubles as a candle holder.
give this instead!^ If you really want to get your teachers something useful, consider helping them restock their classrooms. Former teacher Christel Snelson recommends finding out what your teacher buys out of pocket for the class when the school budget has been depleted and putting together a gift basket of pens, dry-erase markers or even copy paper.
This one is a hard one to stomach, but teachers likely do not want your homemade cookies, cakes or muffins. Not only do they receive tons of this type of thing, a lot of teachers admit that they won't eat homemade goods from people that they don't really know. It's a well-meaning gift, but likely one that will end up in the trash. So unless you know your child's teacher really well, save yourself the trouble and skip the baking.
give this instead!^ If you know her specific preferences, consider giving your teacher some good quality chocolate, her favorite coffee or other prepackaged treat. Places like Cost Plus World Market offer all kinds of unique and tasty packaged foods.
This may be a no brainer, but teachers probably don't need us picking out their clothes for them. Former teacher Rebekah Patel recalls her strangest gift: a fitted, one-shoulder tank top from a student. "I would have never picked it out myself," she says, "but in my early 20s, I was able to rock that shirt. [It was] so weird that I was wearing a shirt my third grade student gave me to go dancing."
give this instead!^ If you really want to give a shirt, give them one they would be proud to wear to school, like this one that says I teach, what is your superpower?
Previously mentioned shirt aside, what is the thing teachers really don't want? Anything that says TEACHER on it. Especially if it's accompanied by a collage of red apples. Teacher-themed gifts are cute, but current and former teachers highly recommend steering clear of the red apples and chalkboard-themed decor.
give this instead!^ It may not seem very creative, but teachers love gift cards. Spice it up a little by putting together a gift card tree using wire photo holders stuck into a solid base and filled with gift cards for coffee, Target, the grocery store and more.
Snelson admits that the best teacher gift she ever got was a pair of cashmere socks. Try thinking about something you would really want, and give that. "I give presents I'd want to get," says blogger Kirsten Piccini. "If I'd open it and not be happy, I don't give it."
Share with us!^Have you ever committed any of these teacher gift crimes? Leave us a comment below!


text:
Home/Geneal NEWS/Former AGF's Aondoakaa loses legal battle over Benue APC governor's ticket
Former AGF's Aondoakaa loses legal battle over Benue APC governor's ticket
minatechDecember 1, 2022
The Federal High Court in Abuja on Thursday dismissed a case brought by the former Attorney General of the Federation, AGF, and the claimant to the position of governor at the All Progressives Congress (APC) in Benue, Mr Michael Ondaka (SAN).
The suit was challenging the pastor's appearance. dad. Sfeir Alia as the party's candidate for governor in the 2023 Conservative election.
Delivering judgment on Thursday in Abuja, Judge Ahmed Ramat Mohamed said that although the lawsuit was a pre-election matter, Andwaka had filed it after the time required by law.
The protest of the AGF and the former Minister of Justice is that the Benue APC primaries were not conducted in accordance with the law.
"The APC primaries took place on May 26 and the plaintiff is mandated by law to commence an action within 14 days."
The judge held that the law was vulgar in that when a cause of action commenced on time, the right of the litigant would be protected.
Since the primary was held on May 26, he said, filing the lawsuit on June 10 prevented the suit from being placed.
May 26th to June 10th is the 14-plus day period for filing a pre-election question. Thus the lawsuit is not competent and the court lacks jurisdiction to consider the lawsuit and the lawsuit is hereby dismissed.
The judge also said that after finding that the lawsuit was filed late, there is no basis to go into the substance of the matter.
Andwaka had taken the APC, Father Alia and the Independent National Electoral Commission to court on the grounds that the APC had held its primary election for governor in Benue in violation of the law.
He asked the court to declare, among other things, that Alia was unfit to contest the primaries because he was not a member of the GPC party.
His connections: "Declaring the Second Defendant (Father Alia) ineligible to vote, contest, and/or declare the winner of the Benue Governor's Primary (APC) primary to a First Defendant, who was not a party member and whose name did not appear on the party membership record list submitted to the Independent National Electoral Commission.
"Declaring that in accordance with the provisions of the Elections Act and the Constitution of the APC Party, the party has failed, neglected or refused to hold primary elections for the emergence of the Benue State gubernatorial candidate for the 2023 Benue State gubernatorial election.
"Declaring that by reason of the APC's non-compliance with the provisions of the 2022 Elections Act and its Constitution in holding primary elections in Benue for the emergence of its gubernatorial candidate, Fr.
Declaring the Benue APC gubernatorial primary election null and void and of no effect whatsoever, allegedly, on May 26 due to failure to comply with provisions of the law.
"FURTHER DECLARATION THAT THE BENUE APC gubernatorial primary summary results sheet dated May 28th is null and void and of no effect whatsoever."
Aondoakaa also asked the court to state that Fr. Alia could not properly compete and be declared the winner of the APC primary being an ordained priest of the Catholic Church and fully engaged as a minister in the employment and/or ministry of the Catholic Church.
He also called on the court to declare that he was not given an equal opportunity to participate in the Benue APC gubernatorial primary.
He further asked the court to issue an order directing the new conduct of the Benue APC gubernatorial primary.
In addition, the plaintiff requested a permanent restraining order prohibiting the father. Alia from holding, continuing or offering himself as the gubernatorial candidate of the APC on March 11, 2023, for the gubernatorial elections in Benue.
Elections: You will become incapacitated for office – Primate Ayodele warns the Chief
Transfer: Lorient rejected Southampton's £15m bid for Movie
Former General in Northern Nigeria Left Half Million Naira – Son
Ghana's World Cup exit: Former Nigerian international blames Ayew and Amarte


The origin of piggy banks dates back nearly 600 years, in a time before real banks even existed. Before the creation of modern-style banking institutions, people commonly stored their money at home — not under the mattress (or hay rack), but in common kitchen jars. During The Middle Ages, metal was expensive and seldom used for household wares. Instead, dishes and pots were made of an economical orange-colored clay called pygg. Whenever folks could save an extra coin or two, they dropped it into one of their clay jars — a pygg pot.


Small Equipment Shop Maintenance Lift for Lawn Mowers, ATVs, UTVs and more!
SESM Lifts offer many options to customize it specifically for you and your shop! Call now to get started.
Our Small Equipment Shop Maintenance (SESM) Lift is popular with mechanics who work on golf carts, ATVs, lawn Mowers, motorcycles, snowmobiles or any other equipment that needs to be raised for servicing in any type of shop.
Drill holes, anchor down, and add fluid.
Install Lifting Structure and take full advantage of your cool time-saving tool.
That puts your lift into service and usually takes just a few hours to accomplish. These 6.5" semi-hydraulic lifts do not require a tank and are available in multiple stroke lengths and different sized platforms and customized lifting structures.
The overall design is very low cost compared to others on the market. SESM Lifts are Made In America in our production facility in DeKalb, Illinois. Casings are fiberglass coated and the lifting platform sits flat on the floor so the lift is out of the way when not in use. Many owners park equipment right over the lift so you're not eating up valuable shop space.
You can purchase your lift with a safety leg and these lifts are available with full 360 degree rotation so that equipment being services can be positioned close to tools need for work.
Some shops use this lift to load and unload pickup truck beds because the 2500 lb capacity rating makes it possible to transfer and access heavy loads. That's an important safety feature for your business.
Its primary use of course is working on the small equipment you use for business or recreation. SVI has applied the best in ingenuity and simplicity to make this lift functional, affordable and flexible in its uses.
Call SVI today at (800) 321-8173.


text:
Q: Error in train from Caret I'm baffled.  I've used train before with no problem.  But now I'm repeatedly getting the "unused arguments" error.
#Generate random data
y <- rnorm(100, mean=.5)
x <- rnorm(100)
data <- cbind(x, y)
form <- y ~ x

fitControl <- trainControl(## 10-fold CV
                       method = "cv",
                       number = 8)

set.seed(825)
lmFit1 <- train(x, y, method = "lm", trControl = fitControl, na.action=na.omit)
lmFit1 <- train(form, data = data, method = "lm", trControl = fitControl, na.action=na.omit)

Since I am running a linear regression, I've specified this model both with x and y, and with form.  Both generate the same error.
Error in train(form, method = "lm", trControl = fitControl, na.action = na.omit) : unused arguments (method = "lm", trControl = fitControl, na.action = na.omit)
Error in train(x, y, method = "lm", trControl = fitControl, na.action = na.omit) : unused arguments (y, method = "lm", trControl = fitControl, na.action = na.omit)

In my actual data, I have many more predictors, and have played around with only including 1 or 2 predictors at a time, but all generate the same error.  Even the random data generates the error.
Any thoughts?  Help is much appreciated!  Thanks!

A: I also had the same issue. It seems that there is another package loaded in your session that also has a function defined as train.
Use caret::train instead of train

A: you probably updated the caret package. If you look into the changelog from the package, you can see the following:

Changes in version 6.0-34
For the input data x to train, we now respect the class of the input
  value to accommodate other data types (such as sparse matrices). There
  are some complications though; for pre-processing we throw a warning
  if the data are not simple matrices or data frames since there is some
  infrastructure that does not exist for other classes( e.g.
  complete.cases). We also throw a warning if returnData <- TRUE and it
  cannot be converted to a data frame. This allows the use of sparse
  matrices and text corpus to be used as inputs into that function.

Further in the help:

x  an object where samples are in rows and features are in columns.
  This could be a simple matrix, data frame or other type (e.g. sparse
  matrix). See Details below.

And the details:

The predictors in x can be most any object as long as the underlying
  model fit function can deal with the object class. The function was
  designed to work with simple matrices and data frame inputs, so some
  functionality may not work (e.g. pre-processing). When using string
  kernels, the vector of character strings should be converted to a
  matrix with a single column.

I have no issue with the second train model, for the first model, just add data.frame(x) instead of x.
library(caret)

#Generate random data
y <- rnorm(100, mean=.5)
x <- rnorm(100)
data <- cbind(x, y)
form <- y ~ x

fitControl <- trainControl(## 10-fold CV
          method = "cv",
          number = 8)

set.seed(825)
# changed x to data.frame(x)
lmFit1 <- train(data.frame(x), y, method = "lm", trControl = fitControl, na.action=na.omit)
set.seed(825)
lmFit2 <- train(form, data = data, method = "lm", trControl = fitControl, na.action=na.omit)

my sessionInfo()
R version 3.2.2 (2015-08-14)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1

locale:
[1] LC_COLLATE=Dutch_Netherlands.1252  LC_CTYPE=Dutch_Netherlands.1252    LC_MONETARY=Dutch_Netherlands.1252 LC_NUMERIC=C
[5] LC_TIME=Dutch_Netherlands.1252

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] caret_6.0-52    ggplot2_1.0.1   lattice_0.20-33

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.0         magrittr_1.5        splines_3.2.2       MASS_7.3-43         munsell_0.4.2       colorspace_1.2-6    foreach_1.4.2
 [8] minqa_1.2.4         car_2.1-0           stringr_1.0.0       plyr_1.8.3          tools_3.2.2         parallel_3.2.2      pbkrtest_0.4-2
[15] nnet_7.3-10         grid_3.2.2          gtable_0.1.2        nlme_3.1-121        mgcv_1.8-7          quantreg_5.19       MatrixModels_0.4-1
[22] iterators_1.0.7     gtools_3.5.0        lme4_1.1-9          digest_0.6.8        Matrix_1.2-2        nloptr_1.0.4        reshape2_1.4.1
[29] codetools_0.2-14    stringi_0.5-5       compiler_3.2.2      BradleyTerry2_1.0-6 scales_0.3.0        stats4_3.2.2        SparseM_1.7
[36] brglm_0.5-9         proto_0.3-10

redpajama_set_name: RedPajamaStackExchange


This interesting time laps video provides an insight into what's involved in swimming pool construction.
I was recently interviewed by The Owner Builder Club website. They were interested in who an owner builder should use for preparing house plans.
Is your builder licensed in the ACT?
Did you know that the ACT government lists Construction Professionals on Access Canberra. I'm there as an Owner-Builder (until Dec… Read more Is your builder licensed in the ACT?
Find out how you can receive email notifications about development applications in your area.
A review of free and open source building plans that could be used in Canberra.


With updated content and capabilities, our new site is optimized to provide better access to our vertically integrated packaging solutions.
We've made it even easier to contact us via our online request form. Whether looking for more information or a quote for your project, our team of packaging consultants is just a click away.
For over three decades, the Visual Pak Companies have built a reputation as the trusted source for contract and secondary packaging in the home, food and personal care markets! Call or visit Visualpak.com today to see how we can help you!


Overseas Network|Takisawa Machine Tool Co., Ltd.
A.Y. Control System & Technology Ltd.
Takisawa Machine (Shanghai) Co., Ltd.
Manufacturing and sales of CNC lathes and PC board drilling machines.
Machining service to an external company.
Takisawa Machine Tool Co., Ltd.