text:
eBay and Myer launch world-first virtual reality department store in Australia
According to The Australian Financial Review today, online marketplace eBay has partnered with Myer, a major department store in Australia, to create what it says is the world's first virtual reality department store in Australia.
The two companies will unveil the app on Thursday, which works via a smartphone inside a virtual reality headset to place shoppers inside a virtual world surrounded by products to buy.
The launch is a global first for eBay, which will closely observe how Australian shoppers behave inside virtual reality, in order to develop its broader plans for what it views as an important new retail channel.
The app works with virtual reality headsets like Samsung's Gear VR, but also with cheaper options like Google Cardboard.
Myer chief executive Richard Umbers said "Our customers can now immerse themselves in the experience of shopping inside a Myer store from wherever they may be, with product information updated in real time to ensure everyone can keep up with the latest offers from Myer."
Rather than walking around a virtual recreation of a Myer store, once wearing the VR headset, customers find themselves surrounded by images of different product categories which they can investigate further by staring at them.
eBay Australia and New Zealand senior director of marketing and retail innovation Steve Brennen said the app had taken 12 months to design, and would provide Australian shoppers with an early glimpse of the future of shopping.
"We knew Australia was ready to go first with this because we see how much VR equipment is being bought here on eBay ... from January through to April we've already sold tens of thousands of headsets."
"We really are glimpsing a future where future versions will see a shopper in Sydney shopping with a friend in New York from a store in London," Mr Brennen said.
"Personalisation will also mean in future an individual will have their own virtual reality store that is built up by their past purchases and tastes ... only showing products in their size and shape. This will make it a serious new retail channel."
Ref: http://www.afr.com/technology/web/ecommerce/ebay-and-myer-launch-worldfirst-virtual-reality-department-store-20160518-goxpum
http://www.j-abc.com/jp-blog/1303681


"From Nepal" will be a weekly series on my winter break in Nepal. Following this point, is the first of such stories.
I arrive in Nepal after a long flight. It's midnight here and even later back in Korea. I've been in transit for the past 14 hours and I get through Nepal's sleepy immigration, matching my mood. I couldn't sleep on the long flight from Incheon to Delhi. I was in a middle seat with aisle-seater who refused to give me any space let alone the armrest. It was an unspoken Cold War between him and me, me usually winning. But like any Cold War, I had to be vigilant and awake. It also didn't help that my flight from Delhi to Kathmandu was nervously anticipated, due to the fact that I neglected to get the Indian visa in order for my transfer. The only reason I knew my mistake was because of my constant Deus Ex Machina of a landlady, 엄마, spontaneously decided to come with me in the last three days leading up to my trip. She neglected to say anything earlier because she thought I had friends to go with; It was nice of her to think that but she was wrong. Realizing visas were required, she told me she couldn't go. Visas – This was news to me. My greenness ever-present, I'm a scruffy-bearded Kimmy Schmidt I thought.
My trip's itinerary I made for myself was packed with a day or two in each city, blitzing across India and into Nepal. A tight trip I wouldn't have enjoyed I rationalized. It makes me feel better to think about the how bad my previous plan would've been. Don't think about the oversight, I tell myself, It's a positive kind of negative thinking. But now I had to hope that Indian immigration would let me through without a visa or be turned back in Delhi.
I wasn't, obviously. Or this story would be a guilty pleasure of a conversation only told to friends in more intimate settings than a blog. Possibly of a cryptic Facebook post would work too.
My flight from Delhi from to Kathmandu was not quiet. I was surrounded by Americans from the Pacific Northwest on a trip for agricultural research reasons. They were interesting to talk to, but that didn't help me sleep nonetheless, especially on the cramped Indian airline.
When I got through the airport with my lone carry-on (checked bags were a different problem entirely seeing how I booked separate flights purposely to keep my previously tight timetable flexible. My greenness is showing again. This is a case study in reactionary living, this trip a microcosm of my life) I was greeted by taxis flooding my periphery. Cars were jammed in the airport pick-up area and their drivers on the adjacent dark sidewalk waiting for tourists to scoop off their planes. This is what's called a Nepalese Welcome Party.
Quick break for a bad joke: How do you kill a circus? You go for the juggler.
These taxis drivers aren't into bad jokes but they practice this nonetheless. They don't ask if I need a taxi, they assume I do and ask instead "Where are you going?" They don't ask a question that could be outright rejected. That's smart. They've done this before, they're used to tourists. I respond "I have someone waiting for me." which was true, I arranged it with my hostel for a small fee to ensure I got where I needed at midnight in Kathmandu. One in the background says "This flight is dead." I know without looking he's sullenly shaking his head, the disappointment emanates. This sentiment is probably due to the massive group of agricultural professionals who came through in front of me, they all had chartered buses, and now this mob of taxi drivers are trying to pick off the few remaining people from our small plane.
My response isn't enough, however. I need to learn how to say no one of these days, but that's not today. They press the hard sell. Two open their cars and just tell me to go in, "I'll take you." trying to look like, walking the line of ambiguity, that they're my driver while having the plausible deniability of never outright saying as much. One just goes for my bag and motions for it, saying he'll take my bag and load it up. I jerk back. The man policing the sidewalk comes up and asks where I'm going while the taxi drivers continue pressing. I tell him I have someone picking me up. This is where I see a man in my periphery, as my eyes darting back and forth trying to get a hold of the situation, look behind him across the street then he looks at me and says "Stephan?" But I don't notice where he was looking at or why he did it; the mob he is a part of is distracting and it gets lost in the static of the situation.
"Yeah!" I say, excited he knows my name. He tells me to come with him. I ask to make sure "So you're my driver?" and he responds "Get in the car and I'll take you where you need to go," assuming the role of my driver. I stop, I ask harder "So you're my driver?" He motions to the car. I stop dead. I'm out I'm out of options. I don't know what to do. I'm stuck on this island in the night. Because this is where people get picked up. Where else could I go?
The officer sees me surrounded by these taxi drivers like I'm Charlie finding the last Golden Ticket. The officer asks again "Where are you going?", I say "Someone is here to pick me up." and then he points "Is that him?" and points across the street. We make eye contact with the man across the street, holding a sign that reads a scribbled "Stephen," I look back at the police officer and tell him "Yes!" as I skip across trying to get away from the taxi drivers. I don't even look both ways. My mother stresses out somewhere. I tell the driver what just happened. All he did was hang his head and say, like a disappointed father says to a son, "Why didn't you look across the street?" After all the trouble I made for myself getting here, I guess deserve the admonishment.
I have finally made it to Nepal.


text:
import math
import matplotlib.pyplot as plt
import numpy as np

from mas_tools.os import get_parameters
from mas_tools.ml import plot_history
from mas_tools.data import create_timeseries_matrix
from mas_tools.data import get_delta, get_diff, get_log_diff
from mas_tools.data import get_sigmoid_to_zero, get_sigmoid_ration
from mas_tools.models import save_model, load_model
from mas_tools.classes import signal_to_class, class_to_signal
from sklearn.model_selection import train_test_split

from keras.models import Sequential
from keras.layers import BatchNormalization
from keras.layers import Dense, Activation
from keras.layers import LSTM, GRU
from keras.layers import LeakyReLU
from keras.layers import Dropout, ActivityRegularization
from keras.layers.wrappers import Bidirectional
from keras import regularizers
from keras.optimizers import RMSprop, SGD
from keras.optimizers import Adam, Nadam, Adagrad, Adamax, Adadelta
from keras.callbacks import ModelCheckpoint, ReduceLROnPlateau
from keras.callbacks import CSVLogger, EarlyStopping

#=============================================================================#
#       P R E P A R E   V A R I A B L E S                                     #
#=============================================================================#
# params[symb+period, arg1, arg2, ..]
params = ['EURUSD30', '-train', '100', '-graph']
# params = ['EURUSD15', '-predict']
limit = 8000
batch_size = 256
fit_epoch = 100
train_test = 0.2
ts_lookback = 5

nclasses = 3
normalize_class = True

run_type = 0
graph = False

idx = 0
for item in params:
    if idx > 0:
        if item == '-train':
            run_type = 0
        elif item == '-predict':
            run_type = 1
        elif item == '-graph':
            graph = True
        elif item == '-limit':
            pass
        elif int(item) > 0:
            if params[idx-1] == '-train':
                fit_epoch = int(item)
            elif params[idx-1] == '-limit':
                limit = int(item)
    idx += 1

np.random.seed(7)

path = 'C:/Users/Alexey/AppData/Roaming/MetaQuotes/Terminal/287469DEA9630EA94D0715D755974F1B/MQL4/Files/ML-Assistant/'
workfile = params[0]
file_x = path + workfile + '_x.csv'
file_y = path + workfile + '_y.csv'
file_xx = path + workfile + '_xx.csv'
file_yy = path + workfile + '_yy.csv'
prefix = 'wgts/classifier_0_'
model = None
data_x = np.array([])
data_y = np.array([])
train_x = np.array([])
train_y = np.array([])
test_x = np.array([])
test_y = np.array([])
history = None

# print('Backend:', backend())
print('\nWork file:', workfile)

#=============================================================================#
#       L O A D   D A T A                                                     #
#=============================================================================#
def prepare_data(data):
    return data
    # for time(0, 6), market(7, 10), ema(11, 14), macd(15, 16)
    # for atr(17), cci(18), rsi(19), usdx(20), eurx(21)
    #----------------------------
    # for market(0, 3), ema(4, 7),
    # for atr(8), cci(9), rsi(10)
    mrkt, ema = range(4), range(4, 8)
    # delta = get_delta(data, mrkt[0], mrkt[3])
    diff1 = get_diff(data[:, mrkt[1]])
    diff2 = get_diff(data[:, mrkt[2]])
    diff3 = get_diff(data[:, mrkt[3]])
    # logdiff1 = get_log_diff(data[:, mrkt[1]])
    # logdiff2 = get_log_diff(data[:, mrkt[2]])
    # logdiff3 = get_log_diff(data[:, mrkt[3]])
    detrend1 = get_delta(data, mrkt[3], ema[0]) # close - ema13
    detrend2 = get_delta(data, mrkt[3], ema[1]) # close - ema26
    #
    ediff1 = get_diff(data[:, ema[0]])
    ediff2 = get_diff(data[:, ema[1]])
    ediff3 = get_diff(data[:, ema[2]])
    # elogdiff1 = get_log_diff(data[:, 11])
    # elogdiff2 = get_log_diff(data[:, 12])
    # elogdiff3 = get_log_diff(data[:, 13])
    return np.array(np.column_stack((
                            # data[:, 5:6], # hours and minutes
                            # data[:, 8:11], # prices (without open)
                            # delta,
                            diff1, diff2, diff3,
                            # logdiff1, logdiff2, logdiff3,
                            detrend1, detrend2,
                            ediff1, ediff2, ediff3,
                            # elogdiff1, elogdiff2, elogdiff3,
                            # data[:, 15:17], # macd
                            # data[:, 17:19], data[:, 19]-50, # atr, cci, rsi
                            # data[:, 20:22], # usd and eur indexes
                          ))
                    )

if run_type == 0:
    print('Loading Data...')

    train_data = np.genfromtxt(file_x, delimiter=';')
    target_data = np.genfromtxt(file_y, delimiter=';')

    # train_data, target_data = train_data[-limit:,], target_data[-limit:]

    data_x = prepare_data(train_data)
    shape_x = data_x.shape
    data_y = signal_to_class(target_data, n=nclasses, normalize=normalize_class)
    data_x, data_y = create_timeseries_matrix(data_x, data_y, ts_lookback)

    # batch_input_shape=(batch_size, timesteps, units)
    data_x = np.reshape(data_x, (data_x.shape[0], ts_lookback, shape_x[1]))

    # For training validation
    train_x, test_x, train_y, test_y = train_test_split(data_x, data_y, test_size=train_test)

    print('Input data shape :', data_x.shape)
    print('Train/Test :', len(train_y), '/', len(test_y))

    #=============================================================================#
    #       P R E P A R E   M O D E L                                             #
    #=============================================================================#
    print('\nCreating Model...')

    batch_size = 256
    fa = 'elu'
    init = 'lecun_uniform' #'lecun_uniform' #'random_normal'
    init_b = 'lecun_uniform'
    reg = regularizers.l2
    rs = 0.001
    Rcrnt = GRU

    model = Sequential()
    model.add(BatchNormalization(batch_input_shape=(None, ts_lookback, shape_x[1])))
    model.add(Rcrnt(50,
                    return_sequences=True,
                    # activation=fa,
                    kernel_initializer=init,
                    bias_initializer=init_b,
                    kernel_regularizer=reg(rs),
                    recurrent_activation='elu',
                    recurrent_regularizer=reg(rs)
                    ))
    model.add(LeakyReLU())
    # model.add(ActivityRegularization(l1=0.01, l2=0.01))
    model.add(Rcrnt(32,
                    return_sequences=True,
                    # activation=fa,
                    kernel_initializer=init,
                    bias_initializer=init_b,
                    kernel_regularizer=reg(rs),
                    recurrent_activation='elu',
                    recurrent_regularizer=reg(rs)
                    ))
    model.add(LeakyReLU())
    model.add(Dropout(0.3))
    model.add(Rcrnt(32,
                    # activation=fa,
                    kernel_initializer=init,
                    bias_initializer=init_b,
                    kernel_regularizer=reg(rs),
                    recurrent_activation='elu',
                    recurrent_regularizer=reg(rs)
                    ))
    model.add(LeakyReLU())
    model.add(Dropout(0.3))
    model.add(Dense(nclasses,
                    activation='softmax',
                    kernel_initializer=init,
                    bias_initializer=init_b,
                    # kernel_regularizer=regularizers.l2(rs)
                    ))

    save_model(model, prefix + workfile + '.model')
elif run_type == 1:
    model = load_model(prefix + workfile + '.model')

opt = Nadam(lr=0.002)
model.compile(loss='categorical_crossentropy', optimizer=opt, metrics=['categorical_accuracy'])

#=============================================================================#
#       T R A I N I N G                                                       #
#=============================================================================#
if run_type == 0:
    print('Training...')

    reduce_lr = ReduceLROnPlateau(factor=0.1, patience=3, min_lr=0.00001, verbose=1)
    # checkpointer = ModelCheckpoint(filepath=(prefix+workfile+"_{epoch:02d}-{val_loss:.2f}"+'.hdf5'), verbose=0, save_best_only=True)
    es = EarlyStopping(patience=20, min_delta=0.001)

    history = model.fit(train_x, train_y,
                        batch_size=batch_size,
                        epochs=fit_epoch,
                        callbacks=[reduce_lr, es],
                        validation_data=(test_x, test_y)
                       )

    model.save_weights(prefix + workfile + '.hdf5')

#=============================================================================#
#       P R E D I C T I N G                                                   #
#=============================================================================#
print('\nPredicting...')

data_xx = prepare_data(np.genfromtxt(file_xx, delimiter=';'))
shape_xx = data_xx.shape
data_xx, empty = create_timeseries_matrix(data_xx, look_back=ts_lookback)
print(data_xx.shape)
data_xx = np.reshape(data_xx, (data_xx.shape[0], ts_lookback, shape_xx[1]))
print(data_xx.shape)

if run_type == 1:
    model.load_weights(prefix + workfile + '.hdf5')

# Prediction model
data_yy = model.predict(data_xx)
predicted = data_yy
data_yy = class_to_signal(data_yy.reshape(data_xx.shape[0], nclasses),
                          n=nclasses,
                          normalized=normalize_class)

np.savetxt(file_yy, data_yy, fmt='%.2f', delimiter=';')
print("Predict saved:\n", file_yy)

#=============================================================================#
#       P L O T                                                               #
#=============================================================================#
if graph:
    test_y_ = [np.argmax(x) for x in test_y]
    test_yy = [np.argmax(x) for x in model.predict(test_x).reshape(test_x.shape[0], nclasses)]

    print_classification_scores(test_y_, test_yy, nclasses)

    plt.plot(predicted)
    plt.title('Predict')
    plt.ylabel('class')
    plt.xlabel('bar')
    plt.legend(['buy', 'hold', 'sell'])
    plt.show()

    plt.plot(data_yy)
    plt.title('Saved predict')
    plt.ylabel('class')
    plt.xlabel('bar')
    plt.legend(['prediction'])
    plt.show()

    if run_type == 0:
        plot_history(history, acc='categorical_accuracy')

redpajama_set_name: RedPajamaGithub


text:
Coșmarul unui american la Paris (în ) este un film din 1997 de comedie de groază regizat de Anthony Waller, co-scris de Tim Burns, Tom Stern și Waller, cu Tom Everett Scott și Julie Delpy.  Urmează conceptul general al filmului lui John Landis, Un vârcolac american la Londra (în , 1981). Filmul este o coproducție internațională între companii din Olanda, Luxemburg, Franța și Statele Unite.

Distribuție
 Tom Everett Scott - Andy McDermott
 Julie Delpy - Sérafine Pigot McDermott
 Vince Vieluf - Brad
 Phil Buckman - Chris
 Julie Bowen - Amy Finch
 Thierry Lhermitte - Dr. Thierry Pigot
 Pierre Cosso - Claude
 Tom Novembre - Inspector LeDuc
 Anthony Waller - Metro Driver
 Isabelle Constantini -  Alex Price (menționat ca mama Serafinei)

Note

Legături externe

Vezi și
Listă de filme de groază din 1997

Filme din 1997
Filme de groază din anii 1990
Filme în limba engleză

redpajama_set_name: RedPajamaWikipedia


text:
Consignworks Hosts Bourque Family Estate Sale
Boxford, MA June 22, 2019 - The Bourque family is downsizing and ConsignWorks is hosting their estate sale! ConsignWorks is proud to bring you this great opportunity to own a piece of history! There will be memorabilia - and we have a household FILLED from top to bottom with great furniture, jewelry, designer clothing and shoes, designer purses and accessories, some Restoration Hardware and Frontgate outdoor furniture, designer sunglasses, tons of kitchen items, fabulous decor and more! We have Bruins and Bourque memorabilia, a 6.5 foot tall bronze statue of a golfer, exceptional furnishings, a Bernhardt Dining Room, stunning estate jewelry, a giant walk-in closet filled with all things designer, including Louis Vuitton, Jimmy Choo, Gucci, Burberry, and the like!
Boston Globe Link: Boston Bruins legend Ray Bourque is selling his stuff
Doran Family Benefit Estate Sale raises nearly $10k!
Webster, MA, July 20, 2015 – On July 11th, several Consignworks staffers held a pro bono estate sale to raise money for the Doran family of Marlborough, MA. Their volunteer efforts and the family were featured in this Metrowest Daily News article. Between sales and the generous donations from our customers and the community, almost $10,000 was raised to help with Peter Doran's medical bills. Thank you to all who came out — you helped a very special family as they navigate this difficult time.
Congratulations to our team members who passed the USPAP exam!
Webster, MA, December 20, 2014 – Congratulations to all six members of the Consignworks team who successfully completed the USPAP 15-hour course! USPAP stands for Uniform Standards of Professional Appraisal Practice, established by The Appraisal Foundation.
"The Foundation is dedicated to promoting professionalism and ensuring public trust in the valuation profession. This is accomplished through the promulgation of standards, appraiser qualifications, and guidance regarding valuation methods and techniques."
Held at the Rhode Island School of Design in November, the intensive class was taught by Sandra J. Tropper, an Accredited Senior Appraiser of Fine Art, and instructor for American Society of Appraisers. Everyone who attended has already been able to apply the knowledge gained to making Consignwork's valuation services even stronger. Clients can rest assured our team is USPAP compliant. Deidra Witschorke, owner and founder of Consignworks states it best, "This class has been a tremendous validation to the effort and care we put into pricing, which is key to successful sales for our clients."
In Memoriam: Gaetane (Tana) Scouras - (1961-2014)
Worcester, MA, January 15, 2014– Gaetane Aline Scouras died peacefully in the presence of her loving wife, Deidra on January 15, 2014, age 52. Although diagnosed with pancreatic cancer earlier this year, she continued as CEO of Consignworks until very recently, helping it to become the largest estate sale company in New England. The company will continue to grow on it's projected path per Tana's vision.
Consignworks To Manage the Estate Sale for Mr. Curt Shilling
Wellesley, MA, October 6, 2013– Consignworks is pleased to announce the estate sale of Mr. Curt Shilling of Medfield Mass. As with 80% of our clients, the Shillings are downsizing, and Consignworks provides professional services to make the sale worry-free. The sale will be conducted on Saturday, October 12th, from 8am to 4pm at the residence on Woodridge Road. The sale will consist of exquisite furniture, home furnishings and decor and many other wonderful and unique items. The contents of this 7 bedroom, 8,000 square foot home offers entry tables, china cabinets, a handsome, custom-built 13 foot dining table with ten chairs, Tiffany & Waterford crystal pieces, Lladro figurines, custom sofas, sofa tables, coffee tables, a Kohler & Campbell baby grand piano, lots of home decor & accents, mirrors, faux plants, lamps, clocks, glassware, china, small kitchen items, linens, porch rockers, Catnapper power lift chair, artwork, bar stools, Holiday decor, Pottery Barn bunk beds, lots of toys & games, electronics, clothing, DVDs & books, drum set, and more. Other furniture includes Pottery Barn bedroom furniture, a Craftsman tractor, marble top sink, club chairs and home theatre furniture.
There is a also a Bambini zamboni, a Hummer golf cart, basebal, glove chair, billiard table, pinball and arcade games, various sporting equipment, a pristine retro Coca Cola machine, Studio 38 drafting tables, lots of costumes just in time for Halloween ... and so much more to be unpacked! Due to the large quantity of items, the sale hours have been extended. Off Route 27 (Spring St)in Medfield Mass, signs and a police detail will direct traffic. Credit cards and cash accepted.
Consignworks Appears on NECN!
July 12, 2013– At 7:50 a.m. Consignworks sales manager, Vicki Rellas, appeared on NECN to talk a little bit about Consignworks and the service we offer. Below is the article from NECN and the link to watch Vicki's interview!
Buyers and Sellers Week: Selling your old items Friday, July 12, 2013, 8:36am (NECN) "Moving is one of the biggest stressors in life, but there are people and companies out there, whose businesses are built around helping you. Sometimes that help will even put money back in your wallet. Vicki Rellas from Consignworks helps you clean up, clean out and cash in. They will come to your house, price your items and help you sell them. Through the advertisements and the labor of Consignworks, they take 30% of the profit from the items sold."
Click here to watch NECN Video Clip
Consignworks Spins Off Antiques Store
Dudley, MA, May 30, 2013– Consignworks, Inc, New England's largest estate sale company, has spun off its retail store operations. The retail gallery, New England Antiques, is an 11,000 sq ft store that specializes in fine antiques, art and collectibles from the 1700s to the present. It will now operate as a standalone company.
"It made sense to focus on the exploding growth of our estate sale line of business. We want to expand into new markets, partner with other companies, auction houses and dealers where there is great synergy. Now we can devote 100% of our resources to estate sale services," says Tana Scouras, President. "We will continue to work closely with New England Antiques, but it is now a separate, standalone company." The divesture is effective May 1, 2013.
Consignworks Offers Concierge Services
Dudley, MA, Jan 14, 2013– Consignworks, Inc, New England's largest estate sale company, has announced plans to provide comprehensive concierge services in addition to professional estate sale management. Consignworks provides professional services to private clients, businesses, and non-profits that are downsizing or liquidating estates, and selling personal property. Since 2004, they have served the general Massachusetts area, running 80-100 sales per year, covering average homes to 15,000 sq ft mansions. In addition to estate sales, Consignworks has assisted the Isabella Stewart Gardner Museum, the Nightingale Inn, Dreamworks, Spookyworld, and other movie studios.
"We recognize that estate sales often require additional and specialty services beyond the sale," says Tana Scouras, President. "Clients have asked us to provide other services, as often they have already relocated, and prefer to work with a company that they know and trust. We are happy to have to provide these services." Consignworks is able to provide a multitude of services, from packing, shipping, and cleaning, to even returning cable boxes for clients. These services will offered starting January, 2013.
Consignworks to Sell Hand-Crafted Early American Furniture
Dudley, MA, Sep 12, 2012– Consignworks, Inc. is pleased to announce that it has entered into an agreement with Paul Rulli Reproductions, award-winning craftsman of early American furniture (c1680-1840), to sell their items in retail and on-line channels. This collection of museum quality reproductions represents celebrated examples of the American William and Mary, Queen Anne and Chippendale Periods, Dunlap chairs and chests, Connecticut lowboys and highboys, Philadelphia Tea Tables as well as painted furniture of Taunton Massachusetts, coastal Connecticut and Pennsylvania are among the offerings to be found in a constantly evolving inventory.
Rulli furniture is constructed with the finest woods including curly maple, cherry, chestnut, mahogany, and others, one piece at a time using period tools and methods. Each item is hand-planed, hand-carved and hand finished to create a stunning an precise reproduction of its period original. Mr. Rulli has been selected seven times for Early American Life's Directory of American Crafts, Formal & Painted Furniture. He is a Member of the Society of American Period Furniture Makers and has been featured in several publications.
"We are so proud to feature this incredible line of furniture in our gallery," says Tana Scouras, President. "The outstanding craftsmanship and attention to detail with each piece truly makes them a treasure. This furniture enables our buyers to afford a reproduction of timeless pieces of yesteryear. We invite folks to come in and see the talents of this master furniture craftsman. "
Consignworks will sell the Rulli Collection through its 11,000 sq ft retail gallery, New England Antiques. The antiques gallery features antiques, art, pottery and other fine items. The furniture is available for viewing during normal business hours of Fridays and Saturdays 11-5 and Sundays 11-3. New England Antiques is located at 137 Schofield Ave in Dudley (Route 12) less than 20 minutes from Worcester, Sturbridge and Putnam, CT and one hour from Boston. All credit cards will be accepted. The Rulli color catalog can be downloaded here.
Historic Nightingale Inn in Wenham/Beverly Estate Sale by Consignworks
Wellesley, MA, Aug 1, 2012– Consignworks, Inc. is pleased to announce the estate sale of the famous Nightingale Inn of Wenham, MA on the North Shore. Fine furniture, art, rugs, silver, tapestries and all furnishings will be sold to the public before the inn converts to a private residence.
The Nightingale Inn, nestled in scenic Cape Ann in Wenham was built in 1910 by Arthur D. Little, the famous entrepreneur who discovered acetate and went on to build a multi-national corporation. Later, John and Augusta Nightingale owned this historic residence, which is complete with horse barns, fountains, pools and gazebos, and abuts Audubon land. Augusta is a direct descendant of Thomas Jefferson. President and Nancy Reagan once stayed at this residence, as well as astronauts and other celebrities. The home features grand reception halls, staircases, a hand-painted Zuber wall covering depicting the complete 1849 El Dorado scene. Magnificent, well-appointed rooms and grounds make this an exceptional estate.
The sale features the contents of the main residence and other buildings filled with fine furniture in Chippendale and English styles, including a Chippendale style dining room, settees and fainting couches, parlor chairs, a variety of tables, chests, and accent pieces. There are leather chairs and recliners, desks, lamps, several bedroom sets with canopy beds, Shaker style items, classic mahogany pieces, a king sleigh bed, cast iron bed, c1920s antiques, and more. There are dozens of beautiful area rugs and runners, many LCD TVs, dozens of fine prints, lithographs, paintings, pedestals, tapestries, Egyptian artwork and other items from around the world. Also for sale are porcelain figurines and chargers, a complete Wallace sterling silver service in the Grand Baroque pattern, dozens of other sterling serving pieces, demitasse sets, tea sets, serving bowls, a Murano glass bird collection, large sets of fine bone china, the entire contents of the kitchen and pantries, décor accents, and window treatments. There are outdoor patio sets, as well as the contents of the basement and barn that house lawn and garden equipment, tools, cast iron bathtubs and sinks and other architecture items, and hundreds upon hundreds of other great finds from 10 years of restoration and accommodation.
The sale will be held on August 18th and 19th from 9AM to 3PM daily at 356 Grapevine Road in Wenham, MA. All items must be sold that weekend. All credit cards will be accepted. Pictures and sale information are available at http://www.consignworks.com.
Spooky World Estate Sale Oct 8/9/10 2011
Dudley, MA, Sep, 2011– - Consignworks, Inc. is pleased to announce the estate sale of David Bertolino, Producer, and former owner of the Spooky World Theme Park in Berlin, MA. This private collection contains thousands of unique and collectible items covering the horror genre and many other items of interest. This three day event will offer an extensive collection of one-of-a-kind items, collectibles and memorabilia. There are vintage pinball machines, a comic book collection with hundreds of items, Victorian and vintage clothing, over one thousand Halloween costumes, novelty jewelry, autographed pictures and props, haunted house displays, original movie posters, statues, novelties, and tens of thousands of other wonderful items.
Spooky World was created in 1991 by David Bertolino. Since its inception, it has grown into the Northeast's largest horror theme park and featured shows, celebrities and entertainment. David sold the Spooky World brand in 2005 and is now engaged in producing off-Broadway plays and other television productions.
The sale will be held on Columbus Day weekend, October 8th, 9th and 10th from 9AM to 3PM daily at Brewster Road in Sudbury, MA. There will be many giveaways, promotions and fun surprises. A portion of proceeds will benefit Pediatric Cancer charities. All credit cards will be accepted. Pictures and sale information is available at http://www.spookyworldestatesale.com.
Consignworks is New England's largest estate sale company, with main offices and a retail gallery in Dudley, MA. In addition to estate sales, Consignworks runs non-profit fundraisers and has supplied furniture and props to Dreamworks and other studios for movie productions. Consignworks is on the web at http://www.consignworks.com or by telephone at (781) 591-3003.
Consignworks To Resell Isabella Stewart Gardner Museum Shop Items
Dudley, MA, Feb, 2011– Consignworks has reached an agreement with the Isabella Stewart Gardner Museum which allows Consignworks to offer artisan jewelry and specialty items from the museum shop. The museum shop is currently closed for renovations and expansion. Since 1903, The Isabella Stewart Gardner Museum has been a venue of art education and enrichment for Boston and the global community, and features an extensive collection of fine paintings, sculpture, tapestries, furniture, manuscripts, and decorative arts. Consignworks will market these items to both retail and on-line customers.
Worcester Telegram article about Consignworks
Dudley, MA, Nov, 2010– Consignworks is featured in the Worcester Telegram about our Dreamworks movie furniture.
Consignworks Provides Retro Furniture for Movie "Something Borrowed"
Dudley, MA, May, 2010– Consignworks supplies Heywood Wakefield Sculptura furniture for the movie set of "Something Borrowed", starring Kate Hudson, and filmed in New York!
Consignworks Sells Original Medvedev Painting
Dudley , MA , Dec, 2007– Consignworks sells listed artist Igor Medvedev (1931- ) painting for $4,400.
Medvedev - "Derekoy Village 1991"
Allston Boys & Girls Club Use Consignworks
Allston , MA , March, 2007– The Allston Boys & Girl Club taps Consignworks to sell excess computer equipment.
Consignworks Earns Ebay Red Star
Webster , MA , February, 2007– Consignworks receives eBay Red Star for reaching 1000 positive feedbacks.
Ferdinand Barbedienne 1866 Bronze Mercury Sold by Consignworks
Webster , MA , December, 2006 – A circa 1866 bronze sculpture of Mercury (Hermes) consigned to Consignworks was sold to a private collector for over $3000. This piece was cast by the Barbedienne foundry in Paris. Ferdinand Barbedienne ( 1810-1892) was well known for his bronzes of mythological figures, candelabra and other castings.
Mercury Sculpture (circa 1866)
Consignworks Sells Two Sidney Gross Oil Paintings
Webster , MA , August, 2006 – Consignworks has successfully sold two original abstract oil paintings by Sidney Gross ( 1921-1969) These pieces were on consignment from a private collector, and were sold to a gallery in New York. Terms were not disclosed.
Sidney Gross was born in New York, and has exhibited at the Whitney Museum, Georgia Museum, Oklahoma City and many other museums and galleries. He was a member of Audubon Artists, AEA and others.

redpajama_set_name: RedPajamaCommonCrawl


Genetic markers are now a vital part of forensic science.
Science was forever changed in 1984, and the groundbreaking moment had nothing to do with George Orwell's famous sci-fi dystopia. British geneticist Alec Jeffreys was trying to trace genetic markers through family generations when he accidentally discovered something far more important: Every unique person has an equally unique DNA profile. Seems obvious, right? Well, at the time, it wasn't -- and Jeffreys' realization had a huge impact on science and many other industries.
Unique genetic profiles are derived from the profiles of our parents, meaning lineage can be traced back through generations with DNA testing. But there are obviously other uses, too -- imagine modern-day criminal investigation without DNA forensics. Jeffreys coined the term DNA fingerprinting and earned a knighthood for his work.
As DNA fingerprinting spread from Jeffreys' lab, so did its scope. Today, the world of forensic science owes its development to DNA profiling. And like humans, animals have unique genetic codes that can be used to -- for example -- catch poachers illegally selling the skins of endangered animals.


With 120GB of storage, iPod classic can hold up to 30,000 songs, 150 hours of video, or 25,000 photos. That's more than enough room for a day's — or a lifetime's — worth of entertainment. Available in quintessential silver or striking new black, iPod classic catches your eye with its sleek, all-metal enclosure composed of anodised aluminium and polished stainless steel.
Beautiful, durable, and sleek, iPod classic features an anodized aluminum and polished stainless steel enclosure with rounded edges. Choose quintessential silver or striking new black.
A Genius in the house.
With just a few clicks, the new Genius feature creates a playlist of tracks in your library that go great together.
With Cover Flow, you can browse through your music collection by flipping through album art. Select an album to turn it over and see the track list.


Friday, Oct. 26, 2018, 1 – 4 p.m.
This event is designed for participants to attend the Thursday evening presentation and then one Friday workshop. If you cannot attend both days, one session is ok.
A Broader Impact (BI) Legacy Document is a narrative created by a faculty member that details why they chose their field and how they want to change the world with their research. The document is meant to complement and enhance their research agenda. It can strengthen their promotion and tenure dossier, applications for research support, and bids for partnership with UW Bothell and external organizations.
Participants will articulate their B.I. Identity by wrapping a narrative around the personal elements of: Self, Capacity, Institution, Scholarship, Society, and Discipline or Field.
Events are led by Dr. Ann McMahon and Dr. Julie Risien from Oregon State University. Dr. Risien serves as an advisor to the OSU office of research development and the NSF-funded Center for Advancement of Informal Science Education. Dr. Risien is also a steering committee member on the NSF-funded National Alliance for Broader Impacts.
The BI Legacy Kick-Off event is limited to 50 participants.
Each identical BI Legacy Workshop session is limited to 25 participants.
You may register for the Kick-Off Event and one of the two identical BI Legacy Workshops.
Hosted by the Office of Research.
Contact Ann McMahon with questions at mcmahon4@uw.edu.


text:
Q: Type error for http outgoing value.replace is not a function I'm having this random node error after deleting something in my database and exploring a route. What is this caused by?
_http_outgoing.js:299
    value = value.replace(/[\r\n]+[ \t]*/g, '');
                  ^
TypeError: value.replace is not a function
    at storeHeader (_http_outgoing.js:299:19)
    at ClientRequest.OutgoingMessage._storeHeader (_http_outgoing.js:215:9)
    at ClientRequest._implicitHeader (_http_client.js:166:8)
    at ClientRequest.OutgoingMessage.end (_http_outgoing.js:539:10)
    at Request.end (/Users/thomas/Desktop/node-project-app/node-project-api/node_modules/request-promise/node_modules/request/request.js:1363:12)
    at end (/Users/thomas/Desktop/node-project-app/node-project-api/node_modules/request-promise/node_modules/request/request.js:563:14)
    at Immediate._onImmediate (/Users/thomas/Desktop/node-project-app/node-project-api/node_modules/request-promise/node_modules/request/request.js:577:7)
    at processImmediate [as _immediateCallback] (timers.js:371:17)
15 Jul 11:26:54 - [nodemon] app crashed - waiting for file changes before starting...

A: I believe this error is caused when you set a request (in my case request-promise) parameter (in my case header) to a function instead of a string.

redpajama_set_name: RedPajamaStackExchange


text:
Lending a hand to San Angelo's homeless neighbors
CEO Coaching International Congratulates Clients and Partners Named on Real Leaders® List of 300 'Top Impact Companies of 2023'
CEO Coaching international
DLP Capital, StoneAge Tools, and STS Capital Partners Join List with Tesla, REI, Patagonia, and Lego Group
MIAMI, Jan. 24, 2023 /PRNewswire/ -- CEO Coaching International, the leading executive coaching firm for growth-focused CEOs and entrepreneurs globally, is pleased to congratulate two clients and one Strategic Partner for making it onto the impressive Real Leaders® list of 300 "Top Impact Companies in 2023" from around the globe.
The clients and partners named to the list include:
DLP Capital: Ranked No. 32 overall, and No. 1 in the Real Estate category
StoneAge Tools: Ranked No. 131 overall. StoneAge Tools' CEO, Kerry Siggins, was also featured on the cover of Real Leaders magazine
Strategic Partner STS Capital Partners: Ranked No. 111 overall, and No. 3 in the Professional/Advisory Services category
The rankings are calculated by the Real Leaders "Force for Good" score, which takes into account a company's 5-year sales growth, revenue, and B Impact Assessment (or default score).
According to the Real Leaders magazine, this is the fifth annual ranking of top impact companies, and its biggest list to date with 300 winners. The winners are "a diverse group of companies from around the world that prove that businesses can thrive and help build a better world," and include leaders such as CVS Health, Tesla, REI, and Patagonia.
For more information about CEO Coaching International or to connect with an executive coach, visit CEOCoachingInternational.com/contact.
About CEO Coaching International
CEO Coaching International works with CEOs and their leadership teams to achieve extraordinary results quarter after quarter, year after year. Known globally for its success in coaching growth-focused entrepreneurs to meaningful exits, CEO Coaching International has coached more than 1,000 CEOs and entrepreneurs in more than 60 countries and 45 industries. The coaches at CEO Coaching International are former CEOs, presidents, or executives who have made BIG happen. The firm's coaches have led double-digit sales and profit growth in businesses ranging in size from startups to over $10 billion, and many are founders that have led their companies through successful eight, nine, and ten-figure exits. Companies working with CEO Coaching International for three years or more have experienced an average EBITDA CAGR of 30.4% during their time as a client, more than three times the U.S. average and a revenue CAGR of 18.6%, nearly twice the U.S. average. For more information, please visit: https://www.ceocoachinginternational.com.
View original content to download multimedia:https://www.prnewswire.com/news-releases/ceo-coaching-international-congratulates-clients-and-partners-named-on-real-leaders-list-of-300-top-impact-companies-of-2023-301728857.html
SOURCE CEO Coaching International


text:
Guild wars 2 gems
Online Loans Title
Ghostly Events – First Signs of the Living World 4? – Update – Guild news
Update November 13 : In the meantime, a few more things have been found out. When talking to the Necromancer in Death Valley Lodge in the Queens Valley after interacting with the corpse, you get the following dialogue:
Do you know anything about the body nearby: a necromancer. He followed a call, as he wrote. Dark things were on his trail. It does not surprise me that he is dead now
There is also speculation about a Lich lady who appeared in Guild Wars 1 in 2011. She was in Droknar's smithy and many players thought she should become part of the Guild Wars Beyond story (between GW1 and GW2). But nothing happened to her anymore, she only stood around during the Halloween event and then disappeared. Maybe this is the "red lady"?
News November 10th : As we wait for the release of Living World 4, something is happening in the wicked swamp and in the gate of the Reaper. Corpses have surfaced, probably placed there with the latest patch on Tuesday. What is certain is that they did not come into play until after the release of Path of Fire, as different players would have discovered the corpses before they discovered the cards.
This reddit thread made us aware. After that, we went to search for ourselves, summarize everything important and of course like to speculate with you.
The corpses
When interacting with the corpse in the ungodly swamp in the kings valley near the heroic point, we can read the following text:
This person seems to have succumbed to a series of puncture wounds. Who could have done that or what the murderers might have attracted remains unclear
So unspectacular. The dialogue becomes more interesting if you are a necromancer:
Judging by the different necromantic energies emanating from the wounds of his corpse, this priest seems to have been attacked by an unusually aggressive group of undead skeletons
Here are two interesting aspects. First, it is no longer a person, but a priest. On the other hand, he was not attacked by simple opponents, but by skeletons. Also exciting is the fact that a ghost flies in the direction of the body when the shadow behemoth has been defeated.
But not only in the royal valley a corpse has appeared. At the gate of the reaper, a place with a Grenth statue, someone is also in exactly the same position. As a necromancer you get the most information here as well:
The body of this priest not only has ax wounds, but was torn to pieces by skeletons with claws. Traces of the underworld and powerful necromancy are clearly visible.
Examine Corpse: You find a chronicle that the priest clings to. Because of the blood stains you can decipher nothing except a few words and the initials "DS"
Read Diary: Talk to me in a dream … the red lady … .Allies … follow the call
The body also contains mysterious skeletons that seem to drop Halloween items.
First clues
First, the question arises, who the red lady is. We first came to Livia, who used to wear red clothes in Guild Wars 1 and is also a necromancer. Meanwhile, she is only in the armor of the Shining Blade on the way and somehow she does not fit in the current story, because she has said goodbye with the conclusion of the Living World Season 3. The mysterious spirit that drives into the corpse after defeating the Shadow Behemoth is red. So whether the red lady is already dead?
Further, we do not know what the initials "DS" mean. It could be a person, a medal, a group or a place. In Reddit, the Point of Interest "Deathroot Shack" was discussed in the Godless Swamp, but in German it is unfortunately called the Death Roots Hut and would not match our text accordingly.
Edit: Community member Eyora has alerted us to the official font for Grenth. This refers to Desmina, to whom the initials DS might apply. She was Grenth's first devotee and could be the person looking for allies.
Then Desmina despised and cast out by her people came. And in their grief and misery, Desmina cursed the gods for giving up all those who, like themselves, admired power and ambition.
And she asked, "Where is the God to whom I can dedicate myself in everlasting devotion? Where is the God from whom I can seek revenge against all those who despise me? "
And it shook the earth deep beneath her and with a terrible crunch a crack opened up. The ground became white with frost and ice, and the frozen earth spit out the rotting, bony servants of Grenth.
Then the god himself appeared to her and welcomed the girl in his flock with outstretched bones. And he said, "I am your God. Follow me, wherever I lead you, come whenever I call you, and I make you mistress over the rotting carcasses of the dead. "
And Desmina swore allegiance to her death and beyond, becoming the first devotee of God. Writings by Grenth
Speculation about the course of the story
What could this all mean? On the one hand, the departure of the god Grenth could have caused chaos in the underworld. The guardian and also a statement of the developers confirm this theory. The wicked swamp and the gate of the reaper are closely related to the underworld. Are the creatures trying to break free and attack Tyria?
The former god Dhuum , who was overthrown by Grenth and held in the underworld, could have benefited the most from the disappearance. He could be the one who has freed himself from his prison and now either wants to take control of the world or even take revenge on the followers of Grenth. This would be the fact that so far two Grenth priests have died.
Palawa Joko could also play an important role here. He was last in transition to death and was held there by Balthasar. After Balthasar's death, he could have freed himself and launched attacks from the underworld. However, this somewhat contradicts the skeletal statement, since Palawas Awakened are not really similar.
Another very exciting theory has set up community member Raggos. The Halloween NPCs say that the boundaries between the worlds are getting weaker and Thorn can hold each year longer. In fact, last year the Mad King stayed a week longer than the years before, and this year at least a day longer than announced. Could ArenaNet have given us an indication that the borders are crumbling? Could the Mad King, who indeed has skeletons in his army, have anything to do with the current events?
What do you think? What do you expect for the upcoming Living World Season 4? Are we experiencing the first omens here?
Gamesrocket as new partner for gamekeys and first raffle
Guide: Labyrinth of the Mad King – Farming Tips


text:
Italiano	Italian	it
Keysi in the Movies
You are here: Home / Blog / Keysi´s First Steps
Keysi´s First Steps
February 6, 2017 /1 Comment/in Blog /by administrador
All those who are interested in martial arts or self-defence end up finding Keysi, the funny thing is that people find this method already created. But what were the first Keysi steps?
Justo Diéguez throughout his long career in martial arts shows Keysi, not through the film industry but through seminars around the world.
This is the way in which people from different nationalities and different countries became interested in the method that today is changing the mindset on how self-defence is geared to a reality that is far from what can be seen in any action movie.
Eventually Justo Diéguez began to know and meet people interested in teaching, as mentioned above, it is far from other systems or methods.
It is in places like the UK where people approached him can show pictures of the seminars received by Justo Diéguez first hand.
Given the charisma and sympathy it was inevitable that over time, these people would approach him and ask academic information, because the reality of the method itself, it will hook you from the first time you train.
Your mind hits a radical change as you will see that you don't need to be a born athlete to learn or to teach, you only need two simple but extremely important things, dedication and effort.
In tandem through day to day working alone or with a partner you develop a sense of "honour" and "discipline". Despite being a non-rule method these values re used as a dogma.
Over time one of the students introduced to Justo with the brilliant idea of showing Keysi even more.
Broadly speaking, a class of Keysi can be divided into two parts, the physical part which is working alone or with a partner and the intellectual part, because even being a method of self-defence, a notebook is always necessary to write down what you have learned, our own conclusions and symbolism of learning. It is in this way that a student learns to develop Keysi, from the lowest level to the highest, and this is how these students are teaching today. Through examples, explained and developed by its founder Justo Diéguez.
Alongside his former student A.N., Justo decided to give a twist to make the method known with more power. So the method spread to the world as "KFM" (Keysi Fighting Method).
It is impossible not to mention starting and evolving the company KFM was increasing in a rapid pace and the number of seminars and this method was exponentially growing.
But here, my friend, when things start to go wrong. Justo "Keysi" is its son. Keysi was born of necessity, real cruelty of a society that forced its founder to grow physically and mentally, he developed this method that allowed him, on more than one occasion, not only emerge unscathed from a critical situation but to tell the story today.
But as I said, to Justo "Keysi" is family, and its founder was unaware that his partner in the company didn't believe in the same thing. Sadly he will never forget that for his partner "Keysi" meant nothing less than "money", and where Justo saw students who were like family, he saw shares and people which to take advantage of, so much was his greed that he decided to call himself "founder". But we know it is not the same to be the founder of a method to be the founder of a company, the same way as it is to work in a company than owning a company.
As you can imagine at this point, the problems were increasing. Justo was doing seminars around the world and old students converted into instructors, but because of the two ways of looking at Keysi more problems appeared for Justo. Some instructors didn't allow any development or creativity which people who wanted to be instructors whished, aspired and wanted. That is because for them it was essential to win and feel the need of having more power forgetting what Keysi is about, family, and that nobody is better than anyone, because no one is born knowing and through work and sacrifice we all improve day by day.
With these kind of events, Justo started to feel and observe how what he created and put so much effort in was heading into a decline which he had ever imagine, but the problems had just begun.
The instructors in charge of the training of the students in Spain who knew Keysi in a more precise and intimate way from their first steps forgot the base of itself. In the end it ended in a complete separation and closure of the company KFM, leaving its founder with his soul in a fist and pain which only a father can feel when he can see what they have done to his child. Because those people who he included them until the last minute, he believed and respected was proved to be the opposite.
But Justo far from surrendering decided to start from scratch, he decided to return to their origins and then appeared "Keysi" a phoenix renewed and stronger than before, as one of the first things you learn in Keysi is to "never give up" whatever happens, keep going.
Today these former students decided to go their own way and teach what Justo instilled from the heart and put their own name to it, thanks to them more and more people are interested in Keysi, because even people who don't know about the method, as soon as they learn its origins they will ask the correct question: Where does this which I'm learning come from? Day by day more and more emails and phone calls requesting information about Justos and where it can be learned.
And this, my friend, is the reality of why KFM (Keysi Fighting Method) disappeared and today is known only by Keysi by Justo Diéguez or just Keysi, because if you learn a derivative of Keysi method you end up wanting to know more about Keysi, and because when you finish a lesson of Keysi or derivative born from the disunity of Keysi you will be applauding his creator: Justo Diéguez.
https://www.keysiworld.com/wp-content/uploads/2017/02/primeros-pasos.jpg 540 960 administrador https://www.keysiworld.com/wp-content/uploads/2019/08/Keysi-Fighting-Method-Logotipo-800x311.png administrador2017-02-06 23:50:032019-09-24 06:47:50Keysi´s First Steps
Jason O'Neil says:
Having wondered what had transpired between Justo and Andy Norman, your article was extremely informative. I suspected that Andy had taken the "money" route, since the involvement of Paul Jennings and the 'Dark Knight' franchise. When KFM first appeared in the pages of 'Martial Arts Illustrated' in 2000, I avidly collected all technique application, and training information, as I felt that it was something unique, and developmentally special to the combat arts, and more than ever, I feel exactly the same way today. Watching several of Andy Normans 'Defence Lab' videos on youtube, I found only someone attempting to dissacociate themselves from something that already has function and notability, by adding and adding, to the point of overcomplification and impracticality. Justo Diegez Keysi is the only true source, the same as 'Jun Fan Jeet Kune Do' is the only true representation, of Bruce Lees creation, and I for one only prefer the real deal.
Passed exams November 2019 Germany
KEYSI certification November 2019 Germany
Bestandene Prüfungen November 2019
KEYSI Zertifizierung November 2019
KEYSI Movie Action en Suiza
What is Vortex? Biomecánica a nivel emocional


Chloroformium is made from genuine raw materials, back potency and expensive and purest form of alcohol, namely Extra Neutral Alcohol (ENA).
It is useful in conditions of nervous troubles with violent convulsions, difficulty in breathing and to relieve pain and muscular tension.
Head: State of delirium with excitement and violent behaviour. Head is drawn to the sides towards the shoulders. Rapid and violent convulsive movements of the muscles of the face and extremities. Eyes open and closes rapidly with contracted pupils.
Extremities: It is indicated in cases of complete muscular relaxation with great weakness especially on the right side. Rapid and violent convulsive movements of the muscles of the extremities. Tiredness and weakness down the knees.
Chest: Difficulty in breathing with weak pulse. Sharp pains in the right side of the chest from taking long breaths with increased perspiration all over the face and chest. Dry throat and dry cough at night from tickling in the larynx. Respiration shallow and shortness of breath from exertion with catching pain in the chest.
Stomach: Biliary colic and excessive flatulence. Pain in the stomach with regurgitation of food from flatulence.


Linda Coin is an everyday utility cryptocurrency that has been majorly focused as a payment gateway since its inception. However, the set narrative about the coin is being made to change which suggests of an increment in its use cases. That is certainly the case with its line of products, which inherently provide ease of access to cryptos while aiding master nodes and staking mechanisms.
We created a couple products that are working today, those are MyStakingWallet.com and MyNodePool.com — Our thoughts are that we must make crypto something easily attained and used, and that extends to ALL aspects of the currency, not just sending and recieving.
About Linda X, he clarified that it is not much different to Linda Coin, but is based on a separate chain.
MSW is our flagship app, a multi coin staking and MN enabled wallet application available on both Google and Apple app stores, our goal with MSW was simply to help bring both MN's and Staking in general to anyone with a phone.
Linda Project is working in its capacity, both technical and user based, to innovate technology and provide maximum adoption of cryptocurrencies. The Linda Coin, although not yet inherent to the most major crypto exchanges, does make a mark on exchanges like coinexchange.io, IDAX and BitFlip. Its decentralized utility features, hot swaps, stealth transactions and desktop enabled wallet applications are only a testament to its work for blockchain development and cryptocurrency adoption.


smartcockpit exists because our daily professional activities generates more and more data; and we accumulate them, although they should be analyzed and provide clear insight, leading to actions. Governance, risk, audit, performance, quality, compliance… smartcockpit provides you with a quick view of your business health in a custom dashboard. To collect the right data that fit your needs, you have to ask yourself what are the key questions that need to b answered to drive your business to success. This crucial step will enable the collection of the data you need and the establishment of your personalized dashboard. smartcockpit is a tailor-made tool with your words, your information, your indicators, your thresholds… Create your own cockpit which will reflect your activity and your situation, in an appropriate, concise and visual manner.
Quantitative data, qualitative data, information flows… Adding up data is not a goal in itself and making decisions from these is not easy. Smartcockpit offers you a clear, uncluttered and focused view of what you need to know to manage your company efficiently. Simply add complementary information from your teams, your partners, or the economic situation and you will get with smartcockpit a global and precise view of your business health. Inertia has never led to positive results, in term of business. Only considered decisions and efficient actions will lead you to success. Your dashboard should let you know what is important, what is urgent, where there is a problem and what is under control. Not only will you have these information with smartcockpit, but you will also be able to indicate the decisions you take, to follow-up the actions, to measure their impact and readjust your plans.
Quick insight, Audit trail of your decisions, Collaborative, Predefined cockpits, Real time alerts, Enriched information, Easy to use and deploy: smartcockpit's strengths are many to help your business become more efficient.
Analyze your situation with strategic information displayed as a simple universal color code: a red square is a problem, a orange triangle is a potential concern and a green circle is under control.
Keep a record of your decisions, actions and results to maintain successful governance.
Supplement your information with user's feedback concerning the situation/action/plan, thanks to personalized access.
We have developped different predefined templates that might help you quick start your cockpit.
Whether you want to optimize risk management or improve e-governance, we propose putting in place cockpits in complete, turnkey solutions.
Enrich your cockpit with documents/comments and manage all the information in one place.
Whether data are provided automatically or entered by an user, get up to date information and alerts when you go over your thresholds.
Get it started: it is simple, visual and user-friendly.
Compliance, risk management or performance optimization applies to all business sectors and all types of functions. Our cockpits make it possible to put in place a digital governance that allows you to read and lead your organization.


Factors affecting changes in the serum levels of 25-hydroxyvitamin D: a 3-year follow-up of the ROAD study.
Yoshimura N1, Muraki S, Oka H, Tanaka S, Kawaguchi H, Nakamura K, Akune T.
1Department of Joint Disease Research, 22nd Century Medical and Research Center, Graduate School of Medicine, The University of Tokyo, 7-3-1 Hongo, Bunkyo-ku, Tokyo, 113-8655, Japan, YOSHIMURAN-ORT at h.u-tokyo.ac.jp.
In this 3-year population-based cohort study, among 1346 subjects, the mean annual change in the serum 25-hydroxyvitamin D levels was 7.6 %/year, which tended to increase during the 3-year period. Multivariate regression analysis indicated that the L2-4 bone mineral density and total daily energy intake were significant independent associated factors.
The aim of this study was to clarify the change rate of the serum levels of 25-hydroxyvitamin D (25D) and the associated factors in a general Japanese population during a 3-year period.
The baseline survey of Research on Osteoarthritis/osteoporosis Against Disability study (ROAD), a large-scale population-based cohort study, was performed between 2005 and 2007, and a follow-up survey was repeated 3 years later. Among 1690 participants at baseline, the change rate of the serum 25D levels were assessed in 1346 individuals (79.6 %; 458 men and 888 women) who completed measurements of 25D at both the baseline and follow-up examinations. The change rate was calculated, and the factors associated with the changes in the 25D levels were determined using multivariate regression analysis after adjustment for age, gender, body mass index, participated month, and regional differences at baseline.
The mean (standard deviation) change rate of the 25D levels in all subjects was 7.6 (13.3) %/year (men, 8.2 [12.4] %/year; women, 7.3 [13.7] %/year). Multivariate regression analysis indicated that higher bone mineral density at lumbar spine L2-4 (p = 0.05) and total daily energy intake (p = 0.04) were significantly associated with the change rate of the 25D levels.
The serum levels of 25D tended to increase over the 3-year period, and higher lumbar bone mineral density and daily energy intake were found to be associated with increases in the 25D levels over time.


text:
Q: How to initialize the String in kotlin I have a code in java where i have initialised the String like this way
String str = new String("");

but when i have converted the code to kotlin the same intilization is in the below way
   private val mEmailApi : String("")

but it is giving me a error getter and setter required can you guys please let me know the way to initialise the String in Kotlin
Thanks In Advance

A: private var mString:String?=null
lateinit private var mString:String

A: So private val mEmailApi : String("") you just define type of your field mEmailApi. But calling constructor during type declaration impossible.
And so: private val mEmailApi = "" you initialize it.
If you initialize your filed during to define, you need not to define type obviously.


As part of our focus on evaluating the design of the SAFE Network for Fleming, we took a good hard look at Sybil resilience.
The main objective of this work was to clearly map out the extent to which the Network is resilient to Sybil attacks.
This knowledge would then provide us with certain constraints that we'd need to take account of in developing other aspects of the Network design.
We'll start by describing the Network according to a set of assumptions. This creates a model that lets us run simulations and analyse the system's response to perturbations in the parameters.
We define the concept of iteration as being the point at which all nodes in the Network have completed one unit of work (w).
In a real network, the pace at which useful work is carried out by different nodes may vary. However, this simplification allows for a uniform description of the Network. We've also assumed that minor variations between different nodes will cancel each other out, because this allows us to gain good insight in the trends of the system at a macro scale.
Since node ageing is the main weapon against Sybil attacks on SAFE, we now have to simulate ageing in order to measure its effectiveness.
In the fully featured SAFE Network, node ageing will use proxies for the amount of work done by a node to estimate how much useful work each node has contributed to the Network. It will then age nodes logarithmically: in other words, every time a node has done twice the amount of work it has previously completed, it will gain 1 age.
For this model, we assume that these proxies are perfect. This means that the age of each node is equal to log_2(w): the logarithm of the number of work units they've done. Because of the uniform work assumption, this is equivalent to saying that their age is log_2(n) where n is the number of iterations for which they've been a member of the Network.
To simulate the probability of nodes leaving the Network at any point in time, we use an exponential decay approximation.
This approximation appears to be sensible as these trends were measured in existing peer-to-peer networks such as gnutella.
Prob(node leaving) = 1 / w where w is the amount of work done by this node.
We don't try to tweak any constants to fit a hypothetical reality as we are mainly interested in the trends. We're not attempting to provide precise definitions of w or what actually constitutes a single work unit here. This means that we can simply make deductions based on the macro-impact of certain decisions according to the trends observed in the system.
Later, we'll be able to build a more precise picture by estimating values for these constants based on the actual behaviour of live test networks.
We're also considering one idea for reducing the possible impact of an attempted Sybil Attack: the Network should only accept joining nodes on its own terms (i.e. if it needs the extra-capacity that these nodes could offer).
Such a measure would prevent any entity from immediately offering nodes that would cover a high percentage of the Network because they have a malicious intent to take over.
In our simulations, we are considering that such a measure be put in place so that nodes only get accepted as the Network needs more capacity.
We should be clear that this exercise does not include any simulation of how data will perform. Instead, the rate of growth of the Network is simply defined as the rate at which the data stored in the Network grows.
In some simulations, we consider the steady-state (where the number of nodes in the Network is not changing). In others, we look into the impact of varying growth rates on the system.
For the steady-state case, any node leaving the Network is immediately replaced with a node of age 4 joining the Network. The reasoning behind this is that if a joining node starts at age 4, it will avoid immediate churn in the Network.
How does it accomplish its task?
How many nodes should there be in any given section of the network?
This particular design decision has ramifications on many aspects of the design of the Network. For instance, a larger section will lead to fewer hops through the Network when communicating messages across the Network. On the other hand, a larger section may mean that the number of nodes that can be communicated with directly by any given node grows beyond what's technically feasible. For this reason, other aspects of our design work interplay with this decision.
Being mindful of this, what is the impact of the minimum section size on sybil resilience alone?
In the SAFE Network, Elders are the oldest nodes in any given section. They are trusted with important tasks such as reaching consensus on events happening in their section. No individual Elder is ever trusted, but a quorum of elders can make decision together on behalf of their entire section.
Varying how many Elders constitute a quorum may impact Sybil resilience. In a way, reducing the number of Elders may centralize the decision-making power within a section.
So we have to answer this unintuitive question: what is the right balance of centralization that will make our decentralized system the most secure?
Note that it may seem that considering some level of centralization as a measure against Sybil attacks goes against the principles of the Network. It isn't actually the case: rather than a binary decision, centralization vs decentralization can be seen as more of a slider. Our aim is to pick the setting on that slider that makes the Network the most fit to deliver on its fundamentals overall.
Like the section size, the number of Elders per section has wide reaching implications on the design of the Network overall.
For its two main components, having a bigger group means that the consensus algorithm (PARSEC) needs to scale to a larger number of participants.
Beneath a certain number, having less Elders may negatively impact the reliable delivery of messages through the Network if connectivity between nodes is limited.
The main attack vector we are considering in this document is Sybil attacks: in other words, where an attacker creates many pseudonymous identities in an attempt to gain more influence on the Network.
In one scenario, the attacker gets hold of a botnet. In such a case, we can assume that the financial cost of maintaining an attack for a long time is rather low to the attacker. Practically, it's more the opportunity cost of not using the botnet for other nefarious purposes that may be more lucrative.
For this reason, we allowed a botnet attacker to provide a larger proportion of nodes to the Network (20% of all joining nodes in our simulations).
We are also interested in observing the behaviour of such an attack over a relatively long time period.
The attacker will also like face the same challenges with the reliability of his nodes as any other: therefore, our simulation assumes that the attacker's nodes will leave the Network at the same rate as any other node.
Another possible situation consists of using a large amount of reliable compute power in an attempt to target the Network. For instance, an attacker could run their own datacenter or simply rent a server farm for a certain amount of time.
The financial cost of such an attack is higher to the attacker, particularly when maintaining that compute power over time. Therefore, we're more interested in observing the impact of such an attack over a relatively short time period - but with the optimal amount of compute power needed to maximise Network disruption. We saw that an attacker who provides above 5% of all nodes joining the Network didn't improve the prospects of an attack significantly, so this is the magic number that we chose for our simulations.
In most of our simulations, we picked a time horizon of 20,000 iterations with 100,000 nodes. These values were picked so that the simulations could run in a reasonable time (i.e: ~1 hour).
By running one simulation with 100,000 nodes and another one with 200,000 nodes, we could see that the impact of the number of nodes was quite limited. This meant that we could use the results we obtained with 100,000 nodes in various conditions and extrapolate the trends for larger networks.
On the x axis, we have the number of iterations. With a network of age 12 (the Network has been running for 2^12 iterations until now, so a minority of older nodes have age 12 and most nodes are younger), 20K iterations represent about 5 times the original amount of work done by the Network. In this case, the Network's starting age is 20 so 20K iterations represent about 2% of the entire lifetime of the Network.
On the y axis, we have information about the proportion of nodes in any section. The distribution varies over the entire Network, so the black curve represents the average, the blue and pink curves represent half a standard deviation and a full standard deviation away from the average (to give an idea of the spread). The green curve represents the percentage of malicious Elders in the section in the entire Network that has the most malicious elders.
Because any Section that has 33% of its Elders as malicious means that they can stall progress in that Section, a very simple way to interpret this curve is that the earlier the green curve crosses the 33% percentage line, the worse this set of parameters is at fending off a Sybil attack.
By this measure, the particular conditions we picked here are terrible.
Of course, this is to be expected as this choice of parameters was totally arbitrary and simply used as a starting point. Continuing this post, we will show how a more careful choice of parameters leads to much better results.
We played with a few different values for the initial network age. Let's focus here on two different ages: 12 and 16. Note that these represent the logarithm of the amount of work done, so a network of age 16 has done 16 times more work (i.e: 2^(16-12)) than a network of age 12.
For a network of age 12, the amount of work done by the oldest existing members is 2^12 == 4096 work units. This means that a time horizon of 20,000 represents ~5 times more work than has been done by the oldest Elders.
For a network of age 16, the entire duration we're looking at represents 1/3 of the work done by the oldest Elders. This means that we learn less about how the Network would behave in the long run.
Since we are looking for high-level trends, it is better for us to mostly use a younger network here (age 12). This allows us to extrapolate the results to older networks by keeping the amount of work an adversary puts in proportional to the amount of work did before that adversary joined.
In other words, using a young network means we can easily (with fewer computations) create situations where an adversary is able to take over the Network. This helps us to see what can be done to mitigate such attacks.
We simulated network growth so that we could measure its impact on the Network.
Everything else being equal, we compared a static network with two networks: one that grew 7 times and another that grew 50 times during the duration of the simulation.
Note that since we simulated an attacker that keeps providing 20% of all new nodes, we assumed that the rate of resources provided by the attacker was able to match the network growth.
Given the dramatic difference in network growth, we observed that the impact on Network behaviour wasn't as high as we may have predicted.
Roughly, a network that is growing very fast behaves similarly to a network with a lower initial age as the ratio of existing nodes to the nodes the attacker provides decreases with the growth rate.
Because simulating network growth makes the simulations slower and we saw that the trends weren't massively different, we decided to use a network with static size in any further simulation.
With the number of nodes and the initial network age decided, it was time to start looking into the impact of variables that we have control over when designing the SAFE Network.
We did a few simulations with varying values for the minimum section size.
The result is pretty significant! With this set of parameters, a network with sections of size 10 will not be able to withold a 20% Sybil attack for any stretch of time. But increasing the section size to 100 drastically reduces the probabilty of a section being owned by the attacker.
The spread of ratio of elders per section becomes much tighter across the Network, which means that it becomes considerably harder for an attacker to control 1/3 of any given section.
At this stage, we didn't test a minimum section size larger than 100 as we thought that there may be scaling limitations by going beyond this order of magnitude. Now it's time to explore other ways to reduce the impact of a Sybil attack.
One idea that we explored was to reduce the number of Elders in each section. This is closer to what is specified in the current Network specifications.
We ran various simulations. Here is a sample of 3 simulations with various number of Elders per section under two different attack vectors: the 20% botnet and the 5% datacenter attack.
The most important feature of these graphs is the delay happening for around 5000 iterations (around twice the age of the Network) when reducing the number of Elders.
It's important to remember that however powerful any attacker is, their nodes must first catch up with the age of the existing Elders before they can pose a threat. Because there are now only 10% Elders, the attacker must wait for their nodes to become one of the 10% oldest nodes.
With this information, it's quite obvious that if we were to assume a technical limitation of ~100 nodes per section, having only ~10 Elders per section is much better than having mostly Elders in the network.
It is also better for scalability of the Network to have less Elders per section as Elders are much more connected than simple Adult nodes.
So far, we saw that a low ratio of Elders (~10%) is good as it imposes a delay before any kind of attacker is able to do any damage to the Network.
We don't have hard numbers that say that 100 nodes per section represents the largest number that is technically possible. But we'll know what is technically acceptable when we have more data from the testnets.
So - assuming this limit of 100 isn't a real limitation in any way, how can we improve Sybil resilience of the Network?
To investigate further, we ran some simulations with larger sections - but this time, we kept the ratio of Elders to Adults at 10%. (A lower ratio means more concentration of power between Elders, which may have other undesirable consequences even without considering the impact on Sybil attacks).
These simulations showed very clearly that given 10% of Elders, the larger the section, the more resilient our network would be to Sybil attacks.
Node ageing mitigates Sybil attacks by forcing an attacker to maintain an attack for longer before they can participate in the decision making process.
A larger Section size reduces the probability of owning any Section of the Network with a relatively low proportion of nodes.
A smaller fraction of Elders adds a delay between the time an attacker starts providing nodes to the Network and the time before they can theoretically control a Section.
A ratio of 10% of elders per Section seems to be striking a good balance between the scalability cost of having large Sections, the scalability cost of having many elders and the impact on Sybil resilience.
As an order of magnitude, a minimum section size of ~100 seems to be required to be able to significantly affect the ability for an attacker to perform a Sybil attack. A larger Section (as far as connectivity permits) seems to only improve the Sybil resilience properties of the system.
With this knowledge, we can use information we will gain in future testnets (for instance: what's the relationship between the number of Elders and the scalability of the Network as a whole) to decide of exact numbers while being aware of how they impact Sybil resilience of the system.
Of course, we are standing on the shoulders of giants when performing simulations of the network in this community. For instance, this post and this one already contained a treasure trove of information on how the Network would behave under a variety of circumstances. What we wanted to investigate here was specifically the impact of how exactly we define node ageing on Sybil resilience of the systems, which is why we went ahead and performed these new simulations.
These kind of topics are a place were the power of the community can definitely bring a lot, so if you fancy running your own simulations under various conditions and sharing the results with your own analysis, feel free to have a look at the code we used to produce this data.
In the next post in this series, we aim to shift the focus to another one of the "big questions" we've been discussing on the road to Fleming: "Network restarts".
Awesome work. It's lovely to see the impact of some of the questions in the back of my mind, and very comforting that they are being modeled.
the Network should only accept joining nodes on its own terms (i.e. if it needs the extra-capacity that these nodes could offer).
The condition should not depend on the remaining free space. The aim is to get a larger network to be able to sustain sybil attacks, by diluting attackers' nodes.
In rust simulations there was a parameter that allowed to observe the influence of the number of young nodes in a section. Is there anything similar in the new simulations?
I don't agree. An attacker is more motivated for maintaining its nodes than a casual user. This is a supplementary reason for not rejecting users willing to enter the network.
In this condition, I agree that simulating a static network is the same as simulating a growing one.
But I think this is a bias in favor of rejecting new nodes because in the real world an attacker will have a fixed number of nodes available and not a number proportional to the network size. And it is obvious that a growing network will be more likely to sustain this attack.
Supposing an attacker launched a successful Sybil attack and managed to control more than a third of the nodes, by what mechanism could he influence the network. I'm not referring to the 'what' - altering votes, blocking messages, stealing coins - but the 'how'. How would the attacker obtain sufficient visibility into the workings of the network to go about doing these things? I can see how bringing the network down might be possible by reprogramming the vault software and getting more and more corrupted vaults to join, but how would you go about stealing a Safecoin?
And it is obvious that a growing network will be more likely to sustain this attack.
Not though, if 100% of the growth was the attacker or colluding attackers. So add 100million nodes to a thousand node network and voila, after some time you win. I say this to try and show the argument that an attacker with say a botnet that can flood huge amounts of nodes is an issue. ageing helps here with desktop botnets (they don't live long enough), data helps with IOT botnets (they have too few resources), but it is an issue of there was a google attack or some of those "silly" things folk talk about. There is much more to this, but a huge network with a high % of colluding attackers is not necessarily safer than a smaller network with a small % of colluding attackers. There is definitely a balance.
That would only stall the section, the bad folk need 2/3 of the sections elders (not easy). If they do malicious stuff then malice detection will get them (they need to sign messages, so we have proof of malice). There are many more points, but this is all where the network fundamentals work well. They cannot tell nodes to delete data (as we don't delete), they may block access in some ways, but they are achieving nothing there, but costing themselves safecoin.
So the only real danger from a Sybil attack is the possibility that over time an attacker could bring the network down? Obviously that's quite a big one but are there any other things such an attacker could do? It strikes me that even before Malice Detection, their options would be limited by the difficulty in actually seeing what they're doing.
So the only real danger from a Sybil attack is the possibility that over time an attacker could bring the network down?
That is the main one, there are likely subtle attacks we have yet to see, but the current simplifications of the code and introduction of chains and parsec mean our toolkit is quite large and should be powerful in combating such attacks, but we cannot be complacent just yet. I would like to take a bit of time after Fleming to dive right down into vandalism attacks as well as any attack that can mutate the network or safecoin issuance etc.
So add 100million nodes to a thousand node network and voila, after some time you win.
But that would be true also in stress period, when the network needs new vaults to increase available free space. So, this isn't an argument to accept vaults only when the network needs them.
On contrary if the network accepts vaults permanently, then the network will be bigger when an attacker decides to launch the offensive, so it will harder to control or disrupt a section.
But if the attack happens at the very beginning when the network is still small (like your figures), we can't do anything about it, accepting nodes only when the network needs them will only delay the inevitable. The only defense is to let it grow rapidly to reduce the initial window when an attack could be successful.
I will need to revive my old rust simulations to prove it. The problem is that I don't really have time for it right now.
But that would be true also in stress period, when the network needs new vaults to increase available free space.
The point is that would not be continuous and also it would not be unlimited new nodes. In fact it would make such attacks last much longer as the network will actively not allow surge joins of any player, including bad actors.
EDIT (added quote) Yes this is true, the larger the network the better, or at least the total age of the network all node ages added) is the measure of the strength of the network, so the younger the weaker for sure.
Great work as usual Maidsafe team.
Question re:sybil attacks, how much does a combination of a 5% datacenter together with a 20% botnet attack affect these estimates? Is such a scenario even likely? I'm sure you've thought about it and curious as to your thoughts.
Re:how does the network accept new nodes - Accepting new nodes based on space could limit the growth of the network assuming that there's no upper limit to a vault size and that a node that was just accepted joined with a vast storage capacity. There's an egalitarian simplicity to TFA's proposed [accepting nodes if there's a slot for one] in that no matter how far above the minimum resources requirements a node has gone (i.e., means of node owner), they do not affect the subsequent chance of a node of more meager means (but that meets the requirements) to join the network. Not to mention that nodes with large vaults attached (per the previous assumptions) could limit the growth of sections size, which could be detrimental to sybil resistance per your results.
I agree that there's a balance (to David's point), but an attacker would likely be more persistent in waiting for space to be available (more datacenter than botnet) while casual then honest nodes are more likely to quit participation attempts faster, thus increasing the proportion of potentially malicious nodes among the pool of new nodes waiting to join.
This seems intuitive when thought of in comparison to proof-of-work. PoW is more sybil resistant the more work is being done by the network. If PoW were sharded in to groups, those groups would each be more vulnerable to an attack than as a whole. Bitcoin puts the decentralisation slider to max by having only one work pool.
On the x axis, we have the number of iterations. With a network of age 12 (the Network has been running for 2^12 iterations until now, so a minority of older nodes have age 12 and most nodes are younger), 20K iterations represent about 5 times the existing age of the Network.
No its not about 5 times since each age represents twice the one before it.
So not 5 times but approx 1.1875 increase in age.
so a network of age 16 is 16 times older (i.e: 2^(16-12) ) than a network of age 12 .
It is 16 times the work to go from age 12 to age 16. NOT 16 times older since that would be age 12 to age 28.
And remember that work is not related to time since there could be x amount of work for 10 seconds then 5x for the next 10 seconds and then x/4 for the next.
I am highlighting this because it is easy to bring this inconsistency into your simulation and end up with skewed results.
etc and at 1 available there is a 10% chance of being accepted.
Of course another function could be used to determine change of acceptance/rejection.
The reason I am following is to prevent an attacker flooding the network and has all their nodes accepted even though the various sections are not needing them and this prevents others from joining for a long time. So by rejecting it gives more chance over time for others to be accepted.
On another note there was the concept mentioned by the dev team/David of a queue for each section where the section may not need a node but any new ones put into a queue till needed. This means the attacker has a very high cost to keep their nodes running but gaining no age or farming. The other good people are less likely to be disadvantage since they are using spare resources and not trying to keep thousands of nodes waiting in a queue.
I don't agree. An attacker is more motivated for maintaining its nodes than a casual user.
Absolutely they are motivated to remain on line for as long as possible.
Except maybe the botnet where the computers in the botnet will be switched off perhaps faster than any good node since the owners of those computers are not even aware of being in a bot net or the safe network. And so just turn off their computers when it suits them and not when it suits the attacker.
An attacker is likely to run up their nodes in a very short amount of time, so new nodes in that could and likely be 99-100% attacker and <1% others.
But the botnet nodes as I said above will live on average a lot less than people running up legit nodes. But for a datacentre the nodes being added will simply continue till they are accepted and during that time frame the others will be a very low percentage (maybe as bad as I suggested above). Which is why I suggested a balance between what @tfa suggested and what is being suggested here.
Correct. There is some wiggle room how to define "work" though, and we might end up with something that is fairly uniform in time.
and we might end up with something that is fairly uniform in time.
This I think is a mistake and trying to include time. My point was that there is no suitable relationship between work done and time. There is obviously going to be times (pun intended) when the relationship seems to be there but in the long term it will not exist.
This is especially important when comparing one section to another. There is no reason to consider that work versus time will be consistent between sections.
Thus no simulation can use a supposed relation between time and work, and there should be no reason for any simulation to consider real time at all. Maybe for a human comfort report it could loosely say work versus time over a long period is somewhat consistent, but in reality that is just an illusion.
Sorry just a slightly overloaded usage of "age", here age means linear time.
Can I suggest you use work for amount of work done (# of events) and age for node age. So for the illusionary "network time" then work done or #events is used rather than time or age.
Supposing an attacker launched a successful Sybil attack and managed to control more than a third of the nodes, by what mechanism could he influence the network.
That would only stall the section, the bad folk need 2/3 of the sections elders (not easy).
Just for clarity might be worth noting internally the line was getting drawn at 1/3rd itself cos once at 1/3rd members, they can stall, then they can also selectively stall certain Blocks/events and allow certain other events that benefit them such as influence membership in the section to take the ratio from 1/3rd to 2/3rd potentially.
Not consistent in your terminology.
Thanks for pointing this out @neo, I've edited the couple of places where I used "age" ambiguously to say "amount of work" instead, which is what I meant.
On the y axis, we have information about the proportion of nodes in any section. The distribution varies over the entire Network, so the black curve represents the average, the blue and pink curves represent half a standard deviation and a full standard deviation away from the average (to give an idea of the spread).
Some thoughts of different Sybil attack preventions, without necessary technical knowlege.
No budget, time, knowlege, technical or any other restrictions, everything else equal.
The following should be seen as inspiration and not as technical advise!
Invitation only up to, example 200k nodes . Controlled growth up to when the network reaches, example 200k nodes, similar to how the alpha test networks works.
Dynamic network growth allowance , somewhat in my mind, reverse similar, to Bitcoin halving. In the beginning the network could be restrictive with adding peers as a safety measurement, when network gets older it would be getting closer to zero limit in growth rate. The negative would be that it would limit a network that might need to grow fast in the beginning.
Neighbour overwatch, example every 200 iterations. For every, example 200 work iterations, a neighbour overwatch would occur.
Lets say that when a section have made, example 200 work iterations, then they will demand to check some previous work of a neighbour section. The goal would be to give added security boost without affecting performance too much and also be able to give lower section sizes. In worst case a malice actor could disrupt a section for awhile but would eventually go bust.
Dynamic proof of stake .
Similar to dynamic network growth, when the network is young it would demand a higher stake of coins, the stake size would reduce as the network gets older.
Keep up the amazing work, you guys are amazing.
Yes it's the usual standard deviation as defined by the square root of the variance. The distribution is quite likely to be close to a normal distribution so the rule (empirical rule) you're referring to probably holds.