text:
import argparse

import torch
import torch.nn.functional as F
from torch.utils.data import DataLoader

from ogb.linkproppred import PygLinkPropPredDataset, Evaluator

from logger import Logger

class LinkPredictor(torch.nn.Module):
    def __init__(self, in_channels, hidden_channels, out_channels, num_layers,
                 dropout):
        super(LinkPredictor, self).__init__()

        self.lins = torch.nn.ModuleList()
        self.lins.append(torch.nn.Linear(in_channels, hidden_channels))
        for _ in range(num_layers - 2):
            self.lins.append(torch.nn.Linear(hidden_channels, hidden_channels))
        self.lins.append(torch.nn.Linear(hidden_channels, out_channels))

        self.dropout = dropout

    def reset_parameters(self):
        for lin in self.lins:
            lin.reset_parameters()

    def forward(self, x_i, x_j):
        x = x_i * x_j
        for lin in self.lins[:-1]:
            x = lin(x)
            x = F.relu(x)
            x = F.dropout(x, p=self.dropout, training=self.training)
        x = self.lins[-1](x)
        return torch.sigmoid(x)

def train(predictor, x, split_edge, optimizer, batch_size):
    predictor.train()

    pos_train_edge = split_edge['train']['edge'].to(x.device)

    total_loss = total_examples = 0
    for perm in DataLoader(range(pos_train_edge.size(0)), batch_size,
                           shuffle=True):
        optimizer.zero_grad()

        edge = pos_train_edge[perm].t()

        pos_out = predictor(x[edge[0]], x[edge[1]])
        pos_loss = -torch.log(pos_out + 1e-15).mean()

        # Just do some trivial random sampling.
        edge = torch.randint(0, x.size(0), edge.size(), dtype=torch.long,
                             device=x.device)
        neg_out = predictor(x[edge[0]], x[edge[1]])
        neg_loss = -torch.log(1 - neg_out + 1e-15).mean()

        loss = pos_loss + neg_loss
        loss.backward()
        optimizer.step()

        num_examples = pos_out.size(0)
        total_loss += loss.item() * num_examples
        total_examples += num_examples

    return total_loss / total_examples

@torch.no_grad()
def test(predictor, x, split_edge, evaluator, batch_size):
    predictor.eval()

    pos_train_edge = split_edge['train']['edge'].to(x.device)
    pos_valid_edge = split_edge['valid']['edge'].to(x.device)
    neg_valid_edge = split_edge['valid']['edge_neg'].to(x.device)
    pos_test_edge = split_edge['test']['edge'].to(x.device)
    neg_test_edge = split_edge['test']['edge_neg'].to(x.device)

    pos_train_preds = []
    for perm in DataLoader(range(pos_train_edge.size(0)), batch_size):
        edge = pos_train_edge[perm].t()
        pos_train_preds += [predictor(x[edge[0]], x[edge[1]]).squeeze().cpu()]
    pos_train_pred = torch.cat(pos_train_preds, dim=0)

    pos_valid_preds = []
    for perm in DataLoader(range(pos_valid_edge.size(0)), batch_size):
        edge = pos_valid_edge[perm].t()
        pos_valid_preds += [predictor(x[edge[0]], x[edge[1]]).squeeze().cpu()]
    pos_valid_pred = torch.cat(pos_valid_preds, dim=0)

    neg_valid_preds = []
    for perm in DataLoader(range(neg_valid_edge.size(0)), batch_size):
        edge = neg_valid_edge[perm].t()
        neg_valid_preds += [predictor(x[edge[0]], x[edge[1]]).squeeze().cpu()]
    neg_valid_pred = torch.cat(neg_valid_preds, dim=0)

    pos_test_preds = []
    for perm in DataLoader(range(pos_test_edge.size(0)), batch_size):
        edge = pos_test_edge[perm].t()
        pos_test_preds += [predictor(x[edge[0]], x[edge[1]]).squeeze().cpu()]
    pos_test_pred = torch.cat(pos_test_preds, dim=0)

    neg_test_preds = []
    for perm in DataLoader(range(neg_test_edge.size(0)), batch_size):
        edge = neg_test_edge[perm].t()
        neg_test_preds += [predictor(x[edge[0]], x[edge[1]]).squeeze().cpu()]
    neg_test_pred = torch.cat(neg_test_preds, dim=0)

    results = {}
    for K in [10, 50, 100]:
        evaluator.K = K
        train_hits = evaluator.eval({
            'y_pred_pos': pos_train_pred,
            'y_pred_neg': neg_valid_pred,
        })[f'hits@{K}']
        valid_hits = evaluator.eval({
            'y_pred_pos': pos_valid_pred,
            'y_pred_neg': neg_valid_pred,
        })[f'hits@{K}']
        test_hits = evaluator.eval({
            'y_pred_pos': pos_test_pred,
            'y_pred_neg': neg_test_pred,
        })[f'hits@{K}']

        results[f'Hits@{K}'] = (train_hits, valid_hits, test_hits)

    return results

def main():
    parser = argparse.ArgumentParser(description='OGBL-COLLAB (MF)')
    parser.add_argument('--device', type=int, default=0)
    parser.add_argument('--log_steps', type=int, default=1)
    parser.add_argument('--num_layers', type=int, default=3)
    parser.add_argument('--hidden_channels', type=int, default=256)
    parser.add_argument('--dropout', type=float, default=0.5)
    parser.add_argument('--batch_size', type=int, default=64 * 1024)
    parser.add_argument('--lr', type=float, default=0.01)
    parser.add_argument('--epochs', type=int, default=200)
    parser.add_argument('--eval_steps', type=int, default=1)
    parser.add_argument('--runs', type=int, default=10)
    args = parser.parse_args()
    print(args)

    device = f'cuda:{args.device}' if torch.cuda.is_available() else 'cpu'
    device = torch.device(device)

    dataset = PygLinkPropPredDataset(name='ogbl-collab')
    split_edge = dataset.get_edge_split()
    data = dataset[0]

    emb = torch.nn.Embedding(data.num_nodes, args.hidden_channels).to(device)
    predictor = LinkPredictor(args.hidden_channels, args.hidden_channels, 1,
                              args.num_layers, args.dropout).to(device)

    evaluator = Evaluator(name='ogbl-collab')
    loggers = {
        'Hits@10': Logger(args.runs, args),
        'Hits@50': Logger(args.runs, args),
        'Hits@100': Logger(args.runs, args),
    }

    for run in range(args.runs):
        emb.reset_parameters()
        predictor.reset_parameters()
        optimizer = torch.optim.Adam(
            list(emb.parameters()) + list(predictor.parameters()), lr=args.lr)

        for epoch in range(1, 1 + args.epochs):
            loss = train(predictor, emb.weight, split_edge, optimizer,
                         args.batch_size)

            if epoch % args.eval_steps == 0:
                results = test(predictor, emb.weight, split_edge, evaluator,
                               args.batch_size)
                for key, result in results.items():
                    loggers[key].add_result(run, result)

                if epoch % args.log_steps == 0:
                    for key, result in results.items():
                        train_hits, valid_hits, test_hits = result
                        print(key)
                        print(f'Run: {run + 1:02d}, '
                              f'Epoch: {epoch:02d}, '
                              f'Loss: {loss:.4f}, '
                              f'Train: {100 * train_hits:.2f}%, '
                              f'Valid: {100 * valid_hits:.2f}%, '
                              f'Test: {100 * test_hits:.2f}%')
                    print('---')

        for key in loggers.keys():
            print(key)
            loggers[key].print_statistics(run)

    for key in loggers.keys():
        print(key)
        loggers[key].print_statistics()

if __name__ == "__main__":
    main()


Walt Childs and I decided to do some birding in Swoope in the Sheandoah Valley, but decided to first go north in that valley to see how the Great Horned Owlets were doing that we saw on March 12. To our dreat dismay, the nest was gone. Perhaps a strong wind took down the nest, as this year, it did not seem as large or sturdy as it was three years ago when we last saw owlets there. We continued on to the Sheandoah Valley Regional Airport, and then south to Swoope. On this outing, we saw 42 avian species, and the trip highlights were at the end of the outing. During this day, we saw 7 American Kestrels and 11 Red-tailed Hawks.
We saw quite afew woodland and field species during this outing.
When we got to Smith Lake in Swoope, I hiked down the south side. At first, all I saw were a few Song Sparrows. And then, large flocks of ducks flew from the west end of the lake. I was too far away to have spooked them.
And then I saw why. A Sharp-shinned Hawk was circling over the lake.
We looped around North Mountain Road, and got a distant view of one of the Bald Eagles in their new nest.
Well, It had been a fairly good outing, but we were still upset about the Great Horned Owl nest, and hoped that the owlets had somehow survived. As we were leaving Swoope, and driving along Hewitt Road, we stopped when we saw about a dozen small blackbirds foraging in a wet, grassy area. We had already seen lots of Starlings, Common Grackles, and Red-winged Blackbirds, but these were different. They were all Rusty Blackbirds.
We stopped again a bit farther down the road. We had already heard a Belted Kingfisher earlier in the day, but this time we were fairly close to a female Belted Kingfisher fishing along a small creek. We watched her scanning the moving water, swooping down, and catching a meal - twice!


text:
Education and pastoral care >
Understanding Your Baby
Sophie Boswell
This book takes the reader through the entire first year of a baby's life, anticipating parents' questions and covering topics ranging from parental feelings during pregnancy to a 10-month-old's sociability and deepening relationships. Learn More
2004, Paperback / softback, 9.17in x 6.22in / 233mm x 158mm, 80pp, £9.99
2004, Ebook, ePUB, 80pp, £9.99
Understanding Your Two-Year-Old
Lisa Miller guides parents through their two-year-old's development, from how to deal with a 'bossy boots' to understanding the central importance of toys, and the development of language and nonverbal communicative skills. She describes ways in which parents can help a young child express or resolve difficult feelings or jealousy. Learn More
Understanding Your Three-Year-Old
Louise Emanuel
Louise Emanuel presents practical tips and a great deal of emotional reassurance for both the first-time and the experienced parent. She offers helpful guidance on a range of topics, from managing sibling rivalry and ensuring everyone in the family gets a good night's sleep, to encouraging conversation and imaginative solitary and social play. Learn More
Spaces to Play
More listening to young children using the Mosaic approach
Alison Clark and Peter Moss
An accessible guide to using the ground-breaking Mosaic approach to explore with young children their understanding and views on the use of outdoor space. Learn More
2005, Paperback / softback, 9.65in x 6.69in / 245mm x 170mm, 119pp, £18.00
2005, Ebook, PDF, 119pp, £18.00
Helping Babies and Toddlers Learn, Second Edition
A guide to practice with under-threes
Jennie Lindon
Fully updated to reflect new developments in early years provision and guidance, this book which is aimed at people who work with children under three in childcare settings or in the family home Learn More
Understanding Your Young Child with Special Needs
Pamela Bartram
Understanding Your Young Child with Special Needs explores the developmental impact of disability on normal stages of child development, and examines the complex nature of the emotional bonds between parents and their children with special needs. Learn More
2007, Ebook, PDF, 80pp, £9.99
Young Children's Rights
Exploring Beliefs, Principles and Practice Second Edition
Priscilla Alderson
This readable, informative and thought-provoking book is a compelling invitation to rethink our attitudes to young children's rights in the light of new theories, research and practical evidence about children's daily lives. It will be of interest to anyone who works with young children. Learn More
2008, Ebook, ePUB, 240pp, £32.95
Grief in Young Children
A Handbook for Adults
Atle Dyregrov
It is a common misconception that pre-school children are not capable of experiencing grief in the same way that older children do. Grief in Young Children challenges this assumption, demonstrating that although young children may not express grief in the same way as older children, they still need to be supported through loss. Learn More
Young Children and Racial Justice
Taking action for racial equality in the early years – understanding the past, thinking about the present, planning for the future
Jane Lane
This essential resource provides a framework for good practice in racial equality for everyone working in the early years sector, and gives practitioners the tools and knowledge to implement race equality policies and action plans Learn More
Parents, Early Years and Learning
Parents as partners in the Early Years Foundation Stage - Principles into practice
Helen Wheeler and Joyce Connor
Solidly grounded in theory and practice, this book will assist practitioners to examine their setting and enable them to embed partnership with parents into their practice Learn More
Children in Charge (1)
The Tavistock Clinic - Understanding Your Child (5)

redpajama_set_name: RedPajamaCommonCrawl


As we have discussed on our blog, the NLRB has been very active since late 2010 in enforcing employees' rights to discuss working conditions through social media. The Board's numerous enforcement actions have focused on employees' work-related statements on social media platforms such as Facebook, Twitter and YouTube. The enforcement actions have addressed employees' social media activities in the context of their rights under Section 7 of the National Labor Relations Act to engage in "concerted activities for the purpose of collective bargaining or other mutual aid or protection." Employers may not discipline or terminate employees (either unionized or non-unionized) for exercising their Section 7 rights.
The report suggests that the NLRB views as protected a broad scope of social media activity that addresses working conditions. It also suggest that the Board sets a low threshold for finding that such activity is "concerted" – i.e., "undertaken with or on the authority of other employees, and not solely by and on behalf of the employee himself." While each enforcement action represents a unique set of circumstances, generally, the NRLB has found employees' social media activity to be protected when the statements expressed employees' sentiment about working conditions, whether or not the actual postings involved one or more employees. Examples of activities the Board deemed protected include discussions on social media that implicated working conditions and that were initiated by one coworker in an appeal to other coworkers for assistance; postings provoked by a supervisor's allegedly unlawful activity; and postings that vocalized employees' sentiment about working conditions that the employees expressed in off-line conversations, even where coworkers did not post comments to the initial post by one of the employees.
Prohibit the use of employer's logos and photographs or of the employer's store, brand or product without written authorization.
As we have previously noted in the context of discussing the NLRB's social media enforcement actions, the Board's view of employees' Section 7 rights in the context of social media requires employers to carefully review and adjust their communications and social media policies and practices. The Board's report further suggests that employers need to tailor their social media policies narrowly to protect company interests without infringing on employees' rights.


Newly crowned UFC featherweight champion, Max Holloway, delivered a performance of a lifetime at UFC 212. After being down two round, Holloway dropped and put a beating on Jose Aldo until the referee saw enough, earning a third-round TKO. Cementing Holloway as the official king of the featherweights.
So who should Holloway make his first title defense against? only two names come to mind top ranked contenders, Frankie Edgar and Cub Swanson.
Edgar was on this Monday's edition of The MMA Hour and believes there is only one featherweight title fight to make after UFC 212.
Swanson has been campaigning for a title shot and rematch before UFC 212, even though he was finished by both Holloway and Aldo. While Edgar has only lost to Aldo (twice) at featherweight and has never faced Holloway. Edgar doesn't see how Swanson thinks he deserves a title shot over him.
The Full interview from Monday's edition of The MMA Hour.


At MaxDumpster, we strive to bring you the best service at the best price available. We have a wide selection of dumpster sizes in stock in Kaplan, LA, with flexible & timley pickup and delivery. Give us a call today for all your dumpster rental and roll off needs.
Every kind of business involves some sort pertaining to 6 Yard Dumpster in Kaplan, LAs due to the property. The sort of 6 Yard Dumpster in Kaplan, LAs service and height and width of dumpster required by a specific business depends on the nature of business. Dumpster rentals providers offer various pickup possibilities such as daily, weekly, as well as event regular pickups. These lenders also rent out specialty dumpsters (made especially for recyclable goods) to the businesses. If you require a compacting dumpster pertaining to boxes as well as cardboard goods, you can rent these individuals from the identical waste administration company that will rents out any other type of dumpster.
First you employed a design company that will be remodeling your own master bedroom. If you are intending to eliminate a wall membrane and increase the size of the bedroom when compared with you will need to rent a new dumpster for your bedroom remodeling venture. By renting a new dumpster the construction crew can keep the surrounding and home more organized and clean up. Dust will be flying so you do not need to get garbage as well as debris lounging all over the place in this renovation occasion.
Nowadays there are most companies offering trash bins as well as disposal receptacles on rent and you will take advantage of this competitiveness. The companies are spread around across numerous areas as well as cities so you must select the nearest just one for their and also your convenience.
However 6 Yard Dumpster in Kaplan, LAs are not one size fits all. To assist you keep your costs in check, you only pay only for this receptacle measurement that suits your own amount of waste. So whether or not you rent a new 10-, 20-, or 30-yard ability dumpster, you'll have just the expanse of space you have to jettison all of your useless. Contact your regional junk transporting service today for a free of charge, no-obligation estimate for the different sizes of dumpsters.
As far as costs are worry than costs depend upon business to business. You can find most companies which offer their helps on smooth charges you may possibly find more expensive whereas a few companies give you the service in rent basis such as you can consider bin as well as dumpster on rent. Where there are some firms which provide an individual same providers in more cost-effective rates and you have to be cautious while picking out these kinds of firms as there might be hidden costs. So it is advisable that you should choose companies which offer you trash can or dumpster in rent. As most of these lenders are spread over many towns so you can find your nearest service provider. The most important part is you can save your trash can or dumpster carry money which often many other firms can ask for.
through your regional junk as well as trash haulers provides a number of advantages that can make your health much simpler when you find yourself tackling residence projects. When you rent a dumpster, you will get rid of just about anything, large or small, you'll want to, you can work towards your own agenda, and you can leave the final washing work to the garbage and dumpster benefits.
Every so often even as we look around home and residence we get the urge to do a detailed cleanup. The need usually occurs spring is with the air, but it really can happen whenever when we realize that the accumulation of unused as well as worn out odds and ends have simply just built up being too much.
By renting a dumpster you are able to store exactly what is not required and have absolutely it transferred out in the event the work is finish. This not only keeps your premises clean almost all helps keep the neighbors pleased. During a upgrading process, in case waste will not be managed properly, the nearby houses could also have to have with debris and dirt. Therefore, the simplest way out is definitely to rent a dumpster right after the remodeling begins.
Every type of economic requires sort for dumpster rentals for its house. The type of dumpster rentals service and size of dumpster essential to a specific business depends on the type of business. Dumpster rentals services offer different pick up options for example daily, each week, or occasion monthly pick-ups. These companies furthermore rent out specialised dumpsters (made especially for recyclable merchandise) to the businesses. When you require a compacting dumpster intended for boxes and cardboard products, you can rent these people from the similar waste operations company that will rents available any other type associated with dumpster.
Dumpsters are big trash canisters that are applied to dispose massive tons of waste on realization major jobs. Containers usually arrive in a couple different types, move off dumpster and trash dumpster.
Usually, roll away dumpsters are leased out in accordance with the amount of waste they can carry in terms of central cubic yards, but heavier materials will make the dumpster reach its boundaries long before it is completely filled. The actual amount of weight which can be put into the container is determined by the size of the bin under consideration, so underneath is an outline of the typical roll away container rental shapes, along with their optimum weight considerations.
These dumpsters will likely be of great help within situations associated with natural catastrophes like surges, earth quakes. Professional 6 Yard Dumpster in Kaplan services will certainly pile up all of the waste in dumpster and delete them. Environment friendly waste materials management approaches followed by the professional 6 Yard Dumpster in Kaplan support reduces the impression of the pure calamity around the environment at this time there by reducing broad spreading associated with infectious diseases across the affected area.
For more information on 6 Yard Dumpster in Kaplan providers check out the Price range Dumpster company. They are a country wide company with a capable reputation for affordable, upfront, all inclusive vacation pricing and great support services. 1-866-284-6164 Ideally this company has been around for a minimum of several years to really establish by themselves. This will make sure that they are unlikely to make mistakes along with their reputation will be more important to these people. They have put in too long building a name for by themselves to simply rebrand when they get too many complaints.
Sorting through an entire property, building, or storage unit means sifting by means of items to ascertain what's salvageable and what's waste. Some products can be held or vendored; others go straight to the recycling heart or the neighborhood dump. You will need somewhere to put junk after it's out of the building-and chances are, there is no need the time or energy to travel back and up to the garbage dump every hours. That's where an experienced junk eradication team comes in, to get that waste off the house and from a life. If you're dealing with the decline of a loved one, you would like the property cleanout to be as smooth and painless as is possible. A crap hauling firm will make an effort to make that happen.
Yet dumpster renting are not one-size-fits-all. To help you maintain your costs in check, you pay limited to the container size to suit your number of trash. And so whether anyone rent a 10-, 20-, as well as 30-yard capacity dumpster, you'll have precisely the field of room you need to jettison your junk. Speak to your local useless hauling services today for any free, no-obligation estimate on the various sizes of dumpsters.
The rolloff dumpster is a larger than what you see commonly dumpster which is shipped to your location, usually filled up for you to capacity, then picked up all over again. If you need a dumpster and it's your first occasion, then look for a few good sites online first. They may have everything arranged to get you an area dumpster almost as quickly as you can ever want to buy. Because it's nearby, that means the dumpster costs less, and will also arrive speedier.
As the evening approaches, begin to set things up. Mark your property as a sales participant. Start off marking the items with the cost you think it is possible to sell it pertaining to. Be realistic about these rates; if you think you could make more on dealer site, sell it off there instead-but in case you really weren't able to sell it online, don't expect an exorbitant cost in person! Collect tables as well as old blankets to display products on. Begin early the morning hours of by means of setting almost everything out where people can easily see all of them, grab yourself some sort of chair and a brimmed hat, and make preparations to sell! The roll down 6 Yard Dumpster in Kaplan, LA looks like a miniature dumpster that you could rent for your own personal as well as business make use of. You can get these dumpsters in call sizes like some actually big dimensions that will competing the ones you utilize at your nearby dumpster. You may be asking yourself just the reason why they are called roll down 6 Yard Dumpster in Kaplan, LAs to begin with. Well the rationale they are called roll down dumpsters is because they drive them on a large truck. The truck will lift up and the dumpster will in fact roll down.
Let us talk about the reason behind each one of these horrifying difficulties affecting the environment of Alaska; it is the one and only our sloppy deeds. We are contaminating our surroundings by means of disposing the solid waste materials in the wrong type of way. Bed mattress the polluting of the environment of the state affected by the wrong type of disposal involving waste? The particular solid waste materials generated through household tasks and business oriented projects while piled up with our job place for longer period of time, emits toxic unwanted gas into the surroundings contaminating fresh air. The waste materials waiting at the job location will get amassed with the airborne dirt and dust probing the workers to many infectious diseases. Many residents with the state choose to channel the garbage into drinking water. Contaminating the lake by disposal the sound waste can cause making the survival involving inhabitants in water miserable. Intake of this infected water will probably affect the overall health of occupants as well.
These are the basic most convenient way for you to dispose of individual wastes. On account of these waste materials management firms for supplying you with dumpsters on rent in which you can deposits different types of individual waste made at the structure site including disposal food items packages baskets made of papers etc.


The Institute for G.O.D. is blessed to partner with local businesses to offer immediate employment to all Institute students. These employment opportunities allow students to work with one another and learn valuable skills for their future. All businesses are managed by believers who uphold biblical ethics in their practices, guaranteeing a safe work environment.


Irina has built her business on creating custom couture garments. Her specialty is cocktail and formal attire, but she can recreate or copy almost anything from casual pants to bridal gown. Irina guides each client through the creative process lending her expertise in design to bring her clients' dreams to reality. Our state of the art sewing equipment allows us to work with all types of fabrics: silk, lace, chiffon, suede, leather, wool, fur, intricate beaded fabrics, and so much more.
The process of custom design is easy. First, we ask the client to provide us with the inspiration photos for their garment. Then, during the consultation, we go over the details. After everyone agrees, we begin to look at fabric. Irina begins by providing in-stock options at the meeting. Next in the process, Irina takes client's measurements, and we begin the pattern making process. Each pattern is created specifically to the person's measurements, and the garment is tailored at each fitting until the final product is complete.
All pricing and turn-around times vary depending on the complexity of the garment. Garment construction is done locally in Philadelphia at Irina Sigal Dressmaker in Rittenhouse Square.


A diabolical villain otherwise known as Mr. Blue. A man whose wealth and status as a legitimate businessman in the wine import trade support an increasingly profitable and highly illegal sideline.
Coster is repped by The Gersh Agency and GDArts Management.


Painting by this method I am told requires great patience, and it does indeed take time to achieve such detail.
Nobody else would have the patience!
She has little patience with any feminist arguments against such pin-ups.
She had neither the patience nor the inclination.
For a time, things hung in the balance, until Richard finally lost patience and took the city of Messina.
She'd read Shakespeare, Pete hadn't; not unless you counted Julius Caesar at school, which he'd managed to get through with a lot of patience and a set of Coles' Notes.
This has been represented as some kind of martyrdom on Lewis's part; and doubtless, like any long-term relationship, it called for reserves of patience and good humour on both sides.


15 Cool Kitchen Ideas on Kitchen Tools and Kitchen Gadgets #4.
15 awesome kitchen gadgets you should put to the test. These amazing kitchen tools you must need at your home. These are the collection of new cooking appliances of 2018. Must have kitchen gadgets.


> file (commands for connection will follow later using wpa_cli).
It's almost possible and could be made to work with minor change.
> configured, and if so, it exits with an error.
I dropped this requirement in 0.4.4.
then be used to add new network blocks and set the parameters for them.


text:
Entrepreneurship Articles, Databases, and Videos at WIT
Finding Investors
Business Planning: The Young Entrepreneur's Guide to Starting and Growing a Business (09:35 minutes)
ABI/Inform Collection This link opens in a new window
Features thousands of full-text journals, dissertations, working papers, country-and industry-focused reports and key business and economics periodicals such as The Economist and Sloan Management Review, and major news sources like the Wall Street Journal.
Academic Search Complete This link opens in a new window
Offers scholarly journal articles in science and technology, the arts, medicine, education and more. Includes peer−reviewed and full-text sources, as well as 75,000 videos from the Associated Press.
Business Insights: Essentials This link opens in a new window
Find articles, marketing reports, industry reports, corporate profiles, and SWOT analyses.
LinkedIn Learning This link opens in a new window
Video tutorials on software, technology, and business skills
MaRS LIbrary
Videos, articles, reports, and a startup library from the Toronto-based investment bank, MaRS.
Startup Grind Video Collection
Talks by some of the world's most successful entrepreneurs on a wide range of business topics.
Angel Capital Association
Contains a directory to angel investor groups across the United States, as well as useful information for entrepreneurs.
The federal clearinghouse for government grants that do not involve small businesses.
SBA: Loans and Grants
Loan and grant programs sponsored by the U.S. Small Business Administration.
Lemelson-MIT Program
Recognizes collegiate inventors with cash prizes.
The Art of Startup Fundraising: Pitching Investors, Negotiating the Deal, and Everything Else Entrepreneurs Need to Know by Alejandro Cremades
Crowdfunding: A Guide to Raising Capital on the Internet by Steven Dresner
From Science to Startup: The Inside Track of Technology Entrepreneurship by Anil Sethi
What Every Angel Investor Wants You to Know by Brian Cohen; John Kador
<< Previous: Welcome
Next: Buisness Series 2022-From Problem to Opportunity (Design Thinking) >>


text:
Firms are fearful as uncertainty has gone up by Ajay Shah in the Business Standard, June 12, 2017.
Time for reflection, fellow doctors by Vikram Patel in The Indian Express, June 10, 2017. There is a similar problem with lawyers.
Comey Drama A Reminder Presidential Disaster Often Hits In Times Of High Confidence by Ron Elving in NPR, June 9, 2017.
How to Write Like James Comey by Beth Skwarecki in Lifehacker, June 8, 2017. The Comey statement.
The Bounty Hunter of Wall Street by Jesse Barron in The New York Times, June 8, 2017. We need to careful to ensure that IFC market abuse, and laws about freedom of speech, do not interfere with such activities, which the richest 1000 families of India dislike.
Presstitute chronicles by Pratap Bhanu Mehta in The Indian Express, June 7, 2017.
Conspicuous consumption is over. It's all about intangibles now by Elizabeth Currid-Halkett in Aeon, June 7, 2017.
Smart policing and safer streets start with better data; this is not the norm in India by Neha Sinha, Avanti Durani, and Rithika Kumar in Hindustan Times, June 7, 2017.
Aadhaar's potential for financial inclusion by Bindu Ananth and Malavika Raghavan in Mint, June 7, 2017.
The crisis of expertise by Tom Nichols in Aeon, June 6, 2017.
Policing by consent: The reassuring face of the British police in trying times by Prasun Sonwalkar in Hindustan Times, June 6, 2017.
Where schools struggle, students seek out English themselves by Aman Sethi, Heena Kausar and Saumya Khandelwal in Hindustan Times, June 5, 2017.
Britain's Secret Weapon Against the Nazis? Refugees by Simon Worrall in National Geographic, June 4, 2017.
What Winston Churchill and George Orwell had in common by John Gray in NewStatesman, June 4, 2017.
Indian Council of Social Science Research: Past, present and a troubled future by Ramachandra Guha in Hindustan Times, May 28, 2017.
Loan Waivers Are Duds: India Needs An Exit Policy For Unviable Farming by R Jagannathan in Swarajya, March 20, 2017.
NPA Ordinance: The impact of secrecy in ordinance ...
What happens to private airlines when Air India is...
Movement on the law for the Resolution Corporation


text:
Main ¤ 1999
Family Guy season 1 480p 720p (1999 Lang: English)
Category: Series Cartoons / Family Guy
Family Guy - In a wacky Rhode Island town, a dysfunctional family strive to cope with everyday life as they are thrown from one crazy scenario to another. Sick, twisted and politically incorrect, the animated series features the adventures of the Griffin family. Endearingly ignorant Peter and his stay-at-home wife Lois reside in Quahog, R.I., and have three kids. Meg, the eldest child, is a social outcast, and teenage Chris is awkward and clueless when it comes to the opposite sex. The youngest, Stewie, is a genius baby bent on killing his mother and destroying the world. The talking dog, Brian, keeps Stewie in check while sipping martinis and sorting through his own life issues. (Sub yes Eng)
Tarzan 720p (1999 Lang: English)
A man raised by gorillas must decide where he really belongs when he discovers he is a human. The movie is about the life of Tarzan. Tarzan was a small orphan who was raised by an ape named Kala since he was a child. He believed that this was his family, but on an expedition Jane Porter is rescued by Tarzan. He then finds out that he's human. Now Tarzan must make the decision as to which family he should belong to...
Toy Story 2 720p (1999 Lang: English)
Author: Ahsoka | Date: 2-05-2017, 01:56
When Woody is stolen by a toy collector, Buzz and his friends vow to rescue him, but Woody finds the idea of immortality in a museum tempting. While Andy is away at summer camp Woody has been toynapped by Al McWiggin, a greedy collector and proprietor of "Al's Toy Barn"! In this all-out rescue mission, Buzz and his friends Mr. Potato Head, Slinky Dog, Rex and Hamm springs into action to rescue Woody from winding up as a museum piece. They must find a way to save him before he gets sold in Japan forever and they'll never see him again!
South Park Bigger Longer and Uncut 720p (1999 Lang: English)
Category: Series Cartoons / South Park
When four boys in South Park Stan Marsh, Kyle and his stepbrother Ike Broflovski, Eric Cartman, and Kenny McCormick sees an R-rated movie featuring Canadians "Terrance & Phillip: Asses of Fire", they are pronounced "corrupted", and Kyle's mom Sheila with the rest of the parents pressure the United States to wage war against Canada for World War 3! It's all up to Stan, Kyle and Cartman to save Terrence and Phillip before Satan and his lover Saddam Hussein from Hell rules the world and it'll be the end of the whole world.
South Park (Season 03) 720p (1999 Lang: English)
The curious, adventure-seeking, fourth grade group of boys, Stan, Kyle, Cartman, and Kenny, all join in in buffoonish adventures that sometimes evolve nothing. Sometimes something that was simple at the start, turns out to get out of control. Everything is odd in the small mountain town, South Park, and the boys always find something to do with it. The pilot episode was produced using cutout animation. All subsequent episodes are created with software that emulates the cutout technique. Parker and Stone perform most of the voice acting for the show's male characters. Since 2000, each episode is typically written and produced during the week preceding its broadcast, with Parker serving as the primary writer and director. There have been a total of 275 episodes over the course of the show's 20 seasons.


Multipurpose Internet Mail Extensions ( MIME ) is an Internet Standard for the format of e- mail. Virtually all Internet e-mail is transmitted via SMTP in MIME format.
You may view the list of Mime Types here.
2. Then type in the file extension in the File Extension column. Separate multiple file extensions with spaces.


One of our colleagues said he has tired of all my sports examples of leadership. He suggested I look more often at heroes like former President Eisenhower.
Most of us don't have first-hand knowledge of "Ike" Eisenhower. He was Supreme Commander of the Allied Forces in World War II. He crafted the famous, world changing D Day assault on Normandy which changed the direction of the war. Things would be very different for all of us, but for Eisenhower's leadership.
When you consider the heroism and selflessness our troops demonstrated on the shores of Normandy, you must revere Eisenhower's definition of leadership.
He called motivation an "art". While there are many things known about motivation, a leader understands everybody is different and not everyone responds the same to motivating strategies.
So, one seeking to lead pays attentions. She pays attention to the things that individuals respond to. The leader develops a range of tools and colors which allows her to craft unique leadership strategies. There is art. Bold, aggressive colorful strokes some days. More subtle, subdued strokes on others. That's the art of it.
He also points out the essential importance of alignment. A leader teaches, exhorts, cajoles, disciplines in such a way that every teammate understands what's expected, why it's important and how we all benefit when those expectations are fulfilled.
When those things align, success occurs. Business thrives. Wars are won. Satisfaction is achieved.


Alexandre Bissonnette, the man responsible for the 2017 Quebec City mosque shooting that left six people dead, has been sentenced to life in prison with no chance of parole for 40 years.
Bissonnette pleaded guilty last March to six counts of first-degree murder and six of attempted murder.
In March, Bissonnette admitted to killing Khaled Belkacemi, 60, Azzedine Soufiane, 57, Abdelkrim Hassane, 41, Mamadou Tanou Barry, 42, Aboubaker Thabti, 44, and Ibrahima Barry, 39, in the January attack. His lawyer had argued the sentences should be served concurrently, making him eligible for parole after 25 years.
While serial killer Bruce McArthur was handed 25 years of parole ineligibility in a Toronto courtroom this morning, the longest prison sentence in Canadian history could be handed out to another mass murderer. Bissonnette's parents were also present.
Following hearings previous year, the sentence was expected to be handed down in October, but the judge delayed it to have more time to ponder his decision. Several of the survivors and the victims' families had argued for a sentence longer than 25 years, noting the heinous nature of the crime and the lasting trauma it caused for the Muslim community.


text:
[![](/public/assets/crowdsurge-serp.png "StackupApp")](http://stackupapp.herokuapp.com/)
## Description

[StackupApp](http://stackupapp.herokuapp.com/) is AngelList for tech stacks. The app seeks to map out the current technology landscape of the startup ecosystem. The app injests startups from the AngelList API and tags each startup with programming language and tech stack keywords from Indeed job postings.

Currently there at 5,318 New York City-based startups on StackupApp, of which 693 have been tagged.

## Technical Features

##### APIs and OAuth

In addition to retrieving startup information from the AngelList API and job postings from Indeed's API, StackupApp also enables users to sign in via AngelList OAuth. [The OAuth implementation](/app/models/user.rb) relies upon Devise and OmniAuth.

If the user is a Founder of a AngelList startup also on StackupApp, they will see a Manage section on the startup's page and their profile page. The Manage section enables the user to Edit the startup's tags (under development), Unclaim or Deadpool the startup.

If you don't have an AngelList profile or would like to use a demo account, you can sign in via AngelList OAuth with the StackupApp test account credentials (hello at poemtoday dot com, abcd1234).

[![](/public/assets/manage.png "Manage")](http://stackupapp.herokuapp.com/)

##### RESTful Routes

StackupApp is built with Rails, and takes full advantage of the framework's REST conventions. The Unclaim and Deadpool buttons intiate DELETE actions on the [UserStartups](/app/controllers/user_startups_controller.rb) and [Startups](/app/controllers/startups_controller.rb) controllers, respectively, and can only be access as an authenticated user.

##### Backgrounds jobs with Sidekiq and Redis

When a user has signed in via AngelList, the app makes an API request to AngelList to retrieve the user's startups. This request is made via a background job to improve performance, specifcially via [a Sidekiq Worker ](/app/workers/angellist_worker.rb) and Redis.

##### Scopes and counter_cache

The app displays startups and technology tags by popularity scopes. Tag popularity is determined by counting the number of [StatupTags](/app/models/startup_tag.rb) or job postings with each tag. A ```counter_cache``` is used on the StartupTag table to improve performance. The AngelList API provides ```follower_count``` which serves as the startup popularity metric.

The app enables users to ```search_by_name``` for startups or ```search_by_tag``` for tecnologies, which is implemented with the ```pg_search``` gem on [the Startup model](/app/models/startup.rb). Only startups that have been tagged are shown in the index and search results, while all startups are searchable by name.

##### Database DDL

For Ruby, see [schema.rb](/db/schema.rb) or run ```rake db:schema```. For SQL, see [structure.sql](/db/structure.sql) or run ```rake db:structure:dump```. Also see the database [Entity-Relationship Diagram (ERD)](#domain-model) below.

## Build Instructions

Clone the repo and run Postgres locally. If need to install Postgres and you are on Mac, I recommend [Postgres.app](http://postgresapp.com/) from Heroku (5 minute setup, free).

Then run the following rake tasks to build the database locally:

```rake stackup:add_startups```

```rake stackup:add_tags```

```rake stackup:tag_startups```

You can also add an individual startup by AngelList slug:

```rake stackup:add_slug```

If you have an AngelList profile with a startup where you're a Founder, then you'll see your startup immediately after signing in with AngelList OAuth.

If you don't have an AngelList profile or would like to use a demo account, you can sign in via AngelList OAuth with the StackupApp test account credentials (hello at poemtoday dot com, abcd1234). The included AngelList API keys will enable you to OAuth locally.

## Code Climate GPA
[![Code Climate](https://codeclimate.com/github/alexpatriquin/stackupapp.png)](https://codeclimate.com/github/alexpatriquin/stackupapp)
[![](/public/assets/codeclimate.png "Code Climate")](https://codeclimate.com/github/alexpatriquin/stackupapp)

## Dependency Report by Gemnasium
All dependencies are listed below. Rails and New Relic dependencies are very slightly out-of-date, otherwise the app is current. Also see the [gemfile](/Gemfile).

[![](/public/assets/gemnasium.png "Gemnasium")](https://gemnasium.com/alexpatriquin/stackupapp)

## Domain Model

[![](/public/assets/rails-erd.png "Database Schema")](http://stackupapp.herokuapp.com/)

## Screenshots
#### Homepage

[![](/public/assets/homepage.png "Homepage")](http://stackupapp.herokuapp.com/)

#### Dashboard

[![](/public/assets/dashboard.png "Dashboard")](http://stackupapp.herokuapp.com/)

## Continuing Development
Continuing development plans include moving the frontend into Ember.js. Also, expanding to SF and Boston.

## License
[MIT License](/mit-license.txt). Copyright 2014 Alex Patriquin.

redpajama_set_name: RedPajamaGithub


With the introduction of Hemingway furniture range in 2010 Bedroom Craft have seen the demand for bespoke lounge furniture increase, with customers looking for more space saving fitted furniture to take the place of free standing furniture.
The introduction of the bespoke service and painted range from Hemingway enables us to create a range of versatile and stunning furniture to grace any study or lounge while giving you that extra storage we all desire.
The options are endless with a wide range of furniture styles and finishes we can create furniture in the traditional range of display cabinets and bookcases, to a more contemporary range of bespoke furniture to house all the latest TV and entertainment equipment our modern lives demand.


text:
Viktorija may refer to:
 Viktorija (given name), including a list of people with this name
 Viktorija (singer), Serbian singer

See also
 Viktoriya
 Viktoria (disambiguation)
 Victoria (disambiguation)
 Viktor (disambiguation)
 Victor (disambiguation)

redpajama_set_name: RedPajamaWikipedia


Writing is in my blood, it's in the air I breathe and it's in every thought I produce during most of the day. – Writing is me!
I have always written, even as a little girl, I wrote stories, novels and little poems. I then wrote mostly poems when I was a teen, poems and blogs.
Now I mostly blog, about everything and anything. Make-up is mainly my interest, but also travels, my garden, just life in general.
I blog for anyone who cares to listen, anyone who likes to follow and to comment and I read what others have to share.
What is your passion, what makes you tick and your heart beat? Mine is my boyfriend and my writing, that's my everything.
A heads up to all of ya'..
My baby sister has joined WordPress – finally! She has created the blog "ClosetOfTreasures" and as you guys can see she is on my follow and like list – please do follow her, she is a brilliant girl, who mostly writes about books, fashion and love, aka girly stuff!
She is brilliant! And you guys should get to know her, you will adore her blogs.


text:
Q: If $x\in \mathbb{C}^n$ , $N$ be invertible, then there is $y\in \mathbb{C}^n$ such that ${\left\| y \right\|_2} = 1$ and $x=Ny$ Let $x\in \mathbb{C}^n$ and $N\in M_n$ be invertible.
Is it true that:
there is $y\in \mathbb{C}^n$ such that ${\left\| y \right\|_2} = 1$ and $x=Ny$.

A: If $x=0$ is allowed, then $N^{-1}x=y$, then $\|y\|_2=x^TN^{-1}Nx=0$.  Which shows that no $y$ exists.
If $x=0$ is not allowed, then $\{x\}$ can be extended to a basis of $\mathbb{C}^n$.  Put the basis as the columns of $N$ and $y=e_1$.

redpajama_set_name: RedPajamaStackExchange


Our recent attendance at a major palm oil conference in Kuala Lumpur with 1,593 registered delegates from over 50 countries revealed a mostly positive outlook on crude palm oil (CPO) due to the higher biodiesel mandate and weather risks. However, some speakers also continued to see risks from the improving production of other vegetable oils.
Dorab Mistry of Godrej International believes the Malaysia CPO price could go as high as 3,500 Malaysian ringgit per ton if an El Niño weather pattern occurs and about 3,000 ringgit per ton if it does not occur. Similarly, James Fry of LMC International believes that if the Brent oil price remains at US$110 per barrel, the Rotterdam CPO price could reach $1,030 this year. Thomas Mielke takes a slightly more conservative approach, estimating a Rotterdam CPO price of $970 per ton.
Weather is likely to be the key factor in determining the short-to-medium-term outlook for the CPO price. Mistry expects the seasonally low production cycle that started in March 2013 to continue through May 2014. The continued unusually dry weather in Malaysia and some parts of Sumatra, which began at the beginning of this year, could lower production in the short (six months) to medium term (24 months).
Many speakers agreed that continued weather problems in the next two weeks would disrupt harvesting activities, lowering an already tight CPO supply. Additionally, based on the Predictive Ocean Atmosphere Model for Australia (POAMA), there is more than a 50 percent probability that an El Niño pattern will occur in the near future, as the last El Niño was four years ago. While bad weather conditions will likely harm the CPO supply, we believe an El Niño pattern will disrupt a huge amount of CPO supply. During the last few El Niño and La Niña occurrences, the CPO price rose significantly.
Mistry believes additional demand for biodiesel will be a game changer for global CPO supply-demand. Additionally, for 2014 Mistry expects biodiesel to absorb an additional vegetable oil volume of 3 million tons, of which 1 million tons would be from Indonesian biodiesel demand. In addition to Indonesia, Malaysia plans to apply a 5 percent biodiesel blending requirement. In South America, Brazil (up from 7 percent to 10 percent) and Argentina (up from 8 percent to 10 percent) also plan to increase their biodiesel blending requirements in 2014.
Although additional demand for biodiesel should be a key factor supporting the CPO price outlook, few expect Indonesia to secure all 3.3 million kiloliters of 2014's forecast biodiesel supply. Mielke expects Pertamina to only secure 2.4 million tons of 2014 biofuel supply, which basically amounts to the current supply secured from the first and the second tenders. We believe there is still downward risk for the CPO price, as Mielke expects 2014 world vegetable oil production to reach 559,000 tons, up 6 percent year-on-year (y-y). However, some vegetable oils cannot be exported given extremely high export taxes (Argentina) and severe logistical problems (South America and Canada). We expect higher world edible oil production in the second half of 2014 (2H14).
Support for the CPO price will stem from low CPO production in the short to medium term due to poor weather conditions. Through the 1H14, we expect CPO production to be low in Indonesia and Malaysia, coinciding with huge demand on Lebaran festivities at the end of 1H14, pushing inventory levels down further. We expect the CPO price to surpass the psychological level of $1,000 per ton during 1H14.
However, we think a revisit to below $1,000 per ton in 2H14 on seasonality is likely, before continuing its strong momentum in 2015 as production volumes should be affected by current dry weather conditions.
Thus, we raise our Rotterdam CPO expectation from $871 per ton to $964 per ton, based on the Malaysian Palm Oil Board (MPOB) price: 2,859 ringgit ($869) per ton, up 13 percent y-y in 2014, and from $915 per ton to $1,025 per ton (MPOB price: 3,025 ringgit per ton), up 6 percent y-y in 2015.
At this stage, we have not included an El Niño risk in our numbers, although this could be offset by a stronger rupiah. Hence, our neutral rating on the sector remains.


text:
Petter Thoresen kan henvise til:

 Petter Thoresen (badmintonspiller) (født 1955), norsk tidligere badmintonspiller
 Petter Thoresen (ishockeyspiller) (født 1961), norsk ishockeytræner og tidligere spiller
 Petter Thoresen (orienteringsløber) (født 1966), norsk orienteringsløber


text:
Q: Running rufus scheduler on multiple nodes problem? Running rufus-scheduler in a Rails 3 app without any problem.
But since my app is running in cluster of nodes, app1.myapp.com - app2.myapp.com,
the rufus-scheduler is running the job app(N) times.
How can I make it run only on one server?

A: Have you thought of this naive solution:
# at initialization

if `hostname -f` == 'app1.myapp.com'
  $scheduler = Rufus::Scheduler.start_new
  $scheduler.every '5s' do
    puts "hello world"
  end
else
  # we're on another host, do not schedule anything
  $scheduler = nil
end

?


text:
Ethiopia at war with itself
This bloody conflict between ethnic elites will only benefit the few.
Topics Politics World
In October 1984, Western publics glimpsed the suffering of the inhabitants of Ethiopia's northern region of Tigray, as footage of emaciated children and their desperate, starving parents, recorded in and around the regional capital of Mekelle, was beamed around the world.
But the famine and subsequent drought was never entirely the natural disaster it was made out to be. Rather, it was the aggravated byproduct of a war Ethiopia's then government was waging against the Tigray People's Liberation Front (TPLF), an armed liberation movement with a Marxist-Leninist gloss.
Today, government forces and allied militias have once again embarked on a military operation against the TPLF. But this time, we know little of the suffering it is causing. Phone and internet access to the region has been cut. And journalists have found reporting nigh-on impossible. We know from hospital pleas for support and supplies, including body bags, that many have been killed. And we know from the influx of Tigrayan refugees into neighbouring Sudan that the month-long assault has already displaced many thousands.
But precise details remain sketchy. No one is even sure if the TPLF is still fighting. Prime minister Abiy Ahmed claimed this weekend that government forces had taken control of Mekelle, stating that 'the main operation is successfully concluded'. But on Monday, TPLF president Debretsion Gebremichael said Tigrayan forces were still fighting close to Mekelle and had shot down a government warplane.
But, through the fog of this conflict, one thing is clear. That is, despite the superficial parallels between this government assault on the TPLF and that of the mid-1980s, things are very different this time round.
Back then, the TPLF, which was founded in 1975, was part of a network of ethnic independence movements allied under the banner of the Ethiopian People's Revolutionary Democratic Front. As part of the EPRDF, the TPLF was fighting a brutal civil war against Mengitsu Haile Mariam's military junta – known as the Derg – which was backed by the Soviet Union.
After 17 years of prolonged and bloody fighting, the EPRDF finally took power in 1991, with TPLF the dominant faction. This meant that in the post-civil war era, Tigray's rebel army, despite Tigrayans accounting for just six per cent of Ethiopia's ethnically diverse population, had become the dominant force in Ethiopian politics. The TPLF's very own Meles Zenawi served first as president and then prime minister of Ethiopia until his death in 2012. And the national army and intelligence services were dominated by Tigrayans, who went on to cement control in other sectors, too. Debretsion himself was made the deputy head of the national intelligence agency, before becoming the minister of communications and information technology.
Formally, of course, it was all meant to look very different. The Ethiopian constitution of 1995 established a federal system in which 'all peoples' were granted the 'right of self-determination'. This system comprised 10 semi-autonomous, ethno-linguistic regional states, each with its own police and militia, and two chartered cites.
But under the leadership of Zenawi and the EPRDF, Ethiopia was not as federal, nor the regional states as autonomous, as the constitution promised. In fact, under the EPRDF, with the TPLF ascendent, Ethiopia was effectively dominated by one party. Regional, ethnic sentiment, having been emboldened by the ethno-federalism of the constitution, turned into regional, ethnic resentment among those now lacking a say in government. Conflict was never far from the surface. And, unsurprisingly, when it did threaten to erupt, the national government under both Zenawi and his weak successor Hailemariam Desalegn responded brutally and repressively.
Not that it worked to quieten the discontent, especially in Abiy's own ethnic region of Oromia. It was there in November 2015 that protests erupted over plans to expand the Ethiopian capital Addis Ababa into the Oromia special zone and displace local farmers. After a violent crackdown in which hundreds of protesters were killed and detained, a wave of unrest subsequently swept through Oromia and into the Amhara region during 2016. While the protests were eventually suppressed, it was still enough to bring down Hailemariam, who eventually departed government in 2018.
Abiy, his replacement, looked like a unifying, reforming prime minister – at least to outsiders. A member of the Oromo Democratic Party, he initially released political prisoners, reiterated commitments to democratic reform, and, most notably, struck a peace deal with long-time antagonist Eritrea. It was enough to earn him last year's Nobel Peace Prize.
Yet, at the same time, he set about consolidating his own power base. Over the past year, thousands of activists demanding more autonomy from Addis Ababa have been arrested, including one-time ally and Oromo opposition figure Jawar Mohammed. And, despite rising through the EPRDF himself (as part of the ODP), Abiy created a new political vehicle – the Prosperity Party – to replace it in December 2019, in an effort to marginalise the EPRDF's dominant party, the TPLF. Indeed, it was this move which set in train the events that led to the start of the conflict in Tigray in November, with the TPLF accusing him of building a dictatorship and, later, using Covid as an excuse to postpone this year's General Election. Matters came to a head, not with the TPLF's attack on an army base near Mekelle, but with its decision in September to defy federal government and hold its own elections. This prompted parliament to vote to sever all ties with the TPLF government in Tigray.
In many ways, then, what is happening in Tigray at the moment is very different to the conflict waged by the Derg against Tigray's guerilla army in the 1980s. What we are seeing now is the culmination of a struggle among Ethiopia's ethnic elites, brought to power by the post-civil-war settlement. The only difference between Abiy and the TPLF's cast of leaders is the ethnic badge.
The constellation of international forces this time around is also utterly changed. During the civil war, the Ethiopian government was backed by the Soviet Union. Since the 1990s, it has been steadfastly supported by the US, especially as a regional bulwark against militant Islam. So determined has been the support that Ethiopia has arguably emerged as the US's most important partner in Africa.
And no leader has perhaps received more backing than Abiy himself. Earlier this year, a US House of Representative Congressional Delegation announced that it was to 'embed senior US government officials at key Ethiopian economic ministries and operations for a sustained period of time'.
The EU has also thrown its weight behind Abiy. The day after her inauguration last December, Ursula von der Leyen chose Addis Ababa for her first foreign visit as Commission president. She declared, 'I am here today to show the European Union's full commitment to supporting Ethiopia and its people on their future path'.
All of which makes it somewhat odd to see calls for the 'international community' to do something, resolve the conflict, sort Ethiopia out, etc. If it does not, one pundit warned, 'it will not only be the Ethiopians who ask why the international community did little to prevent a regional catastrophe'. The only problem with this narrative, of course, is that the 'international community', from the US to the EU, has long been doing something in Ethiopia – supporting a succession of rulers that serve its regional interests, not those of Ethiopians.
There is no easy solution for the peoples of Ethiopia. But, as ever, it will have to come from them, not the international community.
Tim Black is a spiked columnist.
Tags Africa Foreign Policy Race and racism


The 4001 Base is a replacement Base designed for the 4001 Clifton Park Style Street Light and Post Package. The Base, when used with the 4001 Fixture, Globe, and Pole makes for an ideal streetlight for both residential and commercial locations. Made of extruded aluminum, the 4001 Base is a durable and weather resistant street light component that helps to provide a substantial area of quality, outdoor lighting. Furthermore, assembly of the Base is a straightforward process of attaching the globe and fixture to the pole, and then attaching the pole to the Base. Finally, bulk discounts are available for high volume orders.
Shipping Package: 19 in. x 19 in. x 22.5 in.


text:
THE YOUNG & THE RESTLESS Spoilers — Dylan Prepares to Leave Genoa City!
By	Chris Eades	 December 27, 2016
Unexpected decisions are made in these spoilers from THE YOUNG & THE RESTLESS that could have devastating consequences!
How To Entirely Empty Your Bowels Every Morning—Top Surgeon Explains How
Now, after years of research, Dr. Gundry has decided to release an informative video to the public — free and uninterrupted — showcasing exactly which foods you need to avoid.
Heartbroken over losing Christian, and desperately missing being the little boy's father, Dylan continues to withdraw into himself. Turning to his work, he heads to the police station where Christine hands him an envelope. "Your plane ticket to Miami," she says grimly. As Dylan ponders his next move, will he regret throwing himself into a dangerous assignment to distract himself from his family drama when any distraction could get him killed?
MUST SEE: Y&R to Air Classic Episode With Victor and Nikki's First Wedding!
With time quickly running out, Jack and Neil continue scrambling to find a venue for the Abbott/Winters charity gala. "Here we are," Neil sighs, "it's New Year's Eve, all dressed up and no place to go." Meanwhile, Ashley is off making an unexpected deal with Victor. "You want to shake on that?" he asks, reaching forward. Ashley seals the deal with a handshake and promises, "You're not going to regret this." But as Victor smiles, she adds, "What's the catch?" Will she regret her decision to strike a deal with The Mustache?
Don't miss this tease for today's episode, and for more Y&R previews, keep reading the CBS edition of Soaps In Depth magazine.
More in CBS
Robert Newman Opens up About Joining THE YOUNG & THE RESTLESS!
Vincent Irizarry Reunites With Y&R Co-Star Eric Braeden!
Robert Newman Is the New Ashland on THE YOUNG & THE RESTLESS!
Y&R's Camryn Grimes Is Engaged to Brock Powell!


The rose, carnation, lily, tulip – Hungarian folk tradition is full of floral motifs. Folk ornaments presently decorate clothing and sheets, furniture, building facades, and kitchen interiors. There is growing interest in the reinterpretation of the cultural heritage of the countryside. Boglárka Nadi has already shown interest in folk culture, which was the subject of her BA graduation project, where she created interpretations of folk tales (the design was selected in our review two years ago). In her MA work she has proposed a more abstract approach. She has designed a typeface, along with decorative elements. Apart from the patterns with plants and birds, the design includes a set of non-proportional all caps letters whose format fits a square tile. In the assortment of the decorative letters the lines drawing the symbols join one another in the corners, creating a whole. The patterns and letters can be freely arranged and colored. The examples look very contemporary, while evoking the world they come from (dusters, wallpaper, memorabilia). The designer has named her system Valérie, after her grandmother, giving the design a personal touch.


What should sales professionals look for from an employer?
Sales professionals often get unfairly criticised by those who say they're just in it for the money. While that may be true to a degree – after all, very few salespeople become successful without that basic drive to make cash – there's a considerable amount outside of commission that professionals should seek out from an employer before committing to a job move. Here's what you need to find out before taking a role with the wrong firm.
In some cases, training is seen as a distraction from delivering what your job requires, but in fact, developing your skills is crucial to progressing your career and any employer worth their salt will look to build on their employees' pre-existing competencies. If nothing else, it makes simple business sense to want to maximise the potential of the people they've invested in. In an ideal world, every job should come with opportunities to further your skills, however not enough organisations actually appreciate the value of developing their staff.
A company that provides a structured training programme is one that's committed to the ongoing development of its staff, so ensure that you ask for information regarding available development opportunities before making a decision. Asking these types of questions is also likely to look good in the eyes of the employer, as it shows that you're passionate about growing with the business.
Yes, it's true that this possibly isn't the easiest profession to incorporate flexible working practices, but it can, and should, be done. The working world has changed and, as we all know, modern professionals tend to want more of a balance between work and social time than their predecessors. If businesses want to retain their best employees, particularly those from the millennial generation, then they need to be offering this to their staff. It won't be suited to everyone and you may not even want to work on a flexible basis, but it's crucial that employers at least offer this to their employees. Giving these types of perks to staff is one indication of a firm that cares for the development and wellbeing of its people.
The last thing you want to do is find yourself stagnating in a role with no potential for climbing the career ladder. Look at the position and consider where it can take you within that particular organisation. It goes without saying that you should be asking about this in your interview, or even before then if possible, but you can also keep in mind that there's likely to be a considerable amount of information available in the public domain. For example, see if you can track down salespeople on LinkedIn who've been at the firm for two-three years and find out how they've progressed. It's a good sign if the organisation appears to have a structured progression path in place with clearly definable targets that allow you to have a clear idea of how you're developing.
Sales roles are about more than just commission and while it may be the money that attracts you to a role, it's likely to be the benefits that only the best employers provide that keep you there. Don't be fooled by attractive OTE numbers alone and instead look deeper before committing to your next sales role, you'll reap the rewards in the long run.
What other factors do you think sales professionals should look for in an employer? Share your thoughts with us below.
If you want some advice on your career or want to know our current opportunities, call the office on 01772 259121 or email enquiries@clayton-recruitment.co.uk. Visit our jobs page to view all our current jobs.


text:
Q: get oath2 token with client credentials I have an API call with the following postman setup to get a token

I try to make it work with the following code, but I get 401 unauthorized error
private async Task<Token> GetElibilityToken()
{
    using (var httpClient = new HttpClient())
    {
        httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/x-www-form-urlencoded"));

        string baseAddress = ApiCallsConsts.AccessTokenURL;

        string grant_type = "client_credentials";
        string client_id = "xxxxxxxxxxxxxxx";
        string client_secret = "yyyyyyyyyyyyyyy";

        var form = new Dictionary<string, string>
        {
            {"grant_type", grant_type},
            {"client_id", client_id},
            {"client_secret", client_secret},
        };

        HttpResponseMessage tokenResponse = await httpClient.PostAsync(baseAddress, new FormUrlEncodedContent(form));
        var jsonContent = await tokenResponse.Content.ReadAsStringAsync();
        Token tok = JsonConvert.DeserializeObject<Token>(jsonContent);
        return tok;
    }
}

Also I try to make it work with RestSharp nuget without luck.
private async Task<string> GetToken()
{
    try
    {

        string url = ApiCallsConsts.AccessTokenURL;
        string client_id = "xxxxxxxxxxxx";
        string client_secret = "yyyyyyyyyyyyyy";
        //request token
        var restclient = new RestClient(url);
        RestRequest request = new RestRequest();
        request.AddHeader("Accept", "application/json");
        request.AddHeader("Content-Type", "application/x-www-form-urlencoded");
        request.AddParameter("client_id", client_id);
        request.AddParameter("client_secret", client_secret);
        request.AddParameter("grant_type", "client_credentials");
        var tResponse = await restclient.ExecutePostAsync(request);
        var responseJson = tResponse.Content;
        var token = JsonConvert.DeserializeObject<Dictionary<string, object>>(responseJson)["access_token"].ToString();
        return token;
    }
    catch (Exception ex)
    {
        return null;
    }

}

A: Here is the working code sample
private async Task<Token> GetElibilityToken()
{
    using (var httpClient = new HttpClient())
    {
        string baseAddress = ApiCallsConsts.AccessTokenURL;

        string grant_type = "client_credentials";
        string client_id = "xxxxxxxxxxxxx";
        string client_secret = "yyyyyyyyyyyyy";

        var clientCreds = System.Text.Encoding.UTF8.GetBytes($"{client_id}:{client_secret}");
        httpClient.DefaultRequestHeaders.Authorization =
          new AuthenticationHeaderValue("Basic", System.Convert.ToBase64String(clientCreds));

        var form = new Dictionary<string, string>
        {
            {"grant_type", grant_type}
        };

        HttpResponseMessage tokenResponse = await httpClient.PostAsync(baseAddress, new FormUrlEncodedContent(form));
        var jsonContent = await tokenResponse.Content.ReadAsStringAsync();
        Token tok = JsonConvert.DeserializeObject<Token>(jsonContent);
        return tok;
    }
}


Fairway Gardens is located at 12030-56 E 25th Ave. in the City of Aurora, County of Adams, it consists of 3 buildings, 13 units, and developed in one phase. The Complex has no commercial space and units are held in fee simple. The Association was formed in August of 1998 after the units were converted from Apartments into Condominiums. The developer turned control of the Association over to an elected body of Homeowners in May of 1999. The Developer no longer has any control or ownership of any units or common areas. The Board today consists of 1 Member that have been elected or appointed to serve the entire Membership.
The Members are responsible to pay Homeowner Association fees, these fees are $175.00 per month, and the Association provides the following, Water, Trash, Common Area Insurance, and Maintenance to the Common Areas. If necessary fees may be adjusted to cover the Association's operating budget. Additionally, from time to time a Special Assessment may be imposed to the Members to cover capital improvements or other needs the Association might have.
The Associations fiscal year ends on December 31st of each year.


Canada-opoly seemed the perfect gift for a Canadian friend (I can imagine us having a go playing it while both in rollers and head scarfs - oh the glamour!).
Instead of houses and hotels it comes with log cabins and ski chalets. Rather than going to jail you get caught in a snow storm. There isn't a 'No Parking', but a 'O Canada' space instead.
It is missing some of its money, it only came with the $50 and $1, so we will need to steal some Monopoly money or print some off. Now we just need a bottle of pink fizz, and games night can commence!


Star pizza & Grill, Assens, Denmark - Restina.net, discover great local restaurants, bars and clubs.
Do you like Star pizza & Grill?
How do you like Star pizza & Grill?
New customers can now instantly discover and get in touch with places like Star pizza & Grill in Assens.
Your basic listing on Restina.net in Assens is free of charge. We believe in giving first. Unlimited views. Unlimited contact request forms sent to your email.
Drop us email on restina@restina.net to get exclusive promotion in Assens area. And special promotion in Restaurant/cafe category in Denmark.
Do you like Star pizza & Grill ?


Blue Dream Ice Cream - Blue berries drizzled over a Kaspas style ice cream.
Strawberry Banana Waffle - Soft fluffy waffle topped with fresh strawberries and bananas.
Toasted Marshmallow - A marshmallow that has been slightly fried then flipped over and fried again.


text:
module Splicer
  module Rackspace

    class Provider < Splicer::Provider
      attr_reader :client, :records, :config

      def initialize(config)
        @config = config
        @client = Fog::DNS.new(provider: 'Rackspace', rackspace_api_key: config.api_key, rackspace_username: config.username)
      end

      def create_zone(zone)
        Splicer.logger.debug "[SPLICER][RACKSPACE] #create_zone zone=#{zone.inspect}"
        domain = client.zones.get(zone.name)

        if domain
          client.zones.create(domain: zone.name, email: config.email)
        else
          false
        end
      end

      def delete_zone(zone)
        Splicer.logger.debug "[SPLICER][RACKSPACE] #delete_zone zone=#{zone.inspect}"
        domain = client.zones.get(zone.name)
        domain ? domain.destroy : false
      end

      def delete_record_in_zone(record, zone)
        Splicer.logger.debug "[SPLICER][RACKSPACE] #delete_record_in_zone record=#{record.inspect} zone=#{zone.inspect}"
        domain = client.zones.get(zone.name)
        return false unless domain

        rax_record = domain.records.detect { |r| r.name == record.name && r.type == record.type }
        rax_record ? rax_record.destroy : false
      end

      def update_record_in_zone(record, zone)
        Splicer.logger.debug "[SPLICER][RACKSPACE] #update_record_in_zone record=#{record.inspect} zone=#{zone.inspect}"
        domain = client.zones.get(zone.name)
        return false unless domain

        rax_record = domain.records.detect { |r| r.name == record.name && r.type == record.type }
        rax_record ? rax_record.update(record_payload(record, zone)) : false
      end

      def create_record_in_zone(record, zone)
        Splicer.logger.debug "[SPLICER][RACKSPACE] #create_record_in_zone record=#{record.inspect} zone=#{zone.inspect}"
        domain = client.zones.get(zone.name) || client.zones.create(domain: zone.name, email: config.email)

        rax_record = domain.records.detect { |r| r.name == record.name && r.type == record.type }
        rax_record ? false : domain.records.create(record_payload(record, zone))
      end

      def get_records_for(zone)
        Splicer.logger.debug "[SPLICER][RACKSPACE] #get_records_for zone=#{zone.inspect}"
        domain = client.zones.get(zone.name)
        return [] unless domain
        domains.records
      end

      private

      def record_payload(record, zone)
        payload = {
          type: record.type,
          name: record.name ? "#{record.name}.#{zone.name}" : '',
          ttl: record.ttl
        }
        case record
          when Splicer::Records::ARecord
            payload.merge!({ value: record.ip })
          when Splicer::Records::AAAARecord
            payload.merge!({ value: record.ip })
          when Splicer::Records::CNAMERecord
            # Removes last period
            payload.merge!({ value: record.cname.sub(/\.\z/, '') })
          when Splicer::Records::MXRecord
            payload.merge!({ value: record.exchanger, mxLevel: record.priority })
          when Splicer::Records::NSRecord
            payload.merge!({ value: record.server })
          when Splicer::Records::PTRRecord
            payload.merge!({ value: record.host })
          when Splicer::Records::SRVRecord
            payload.merge!({
              value: record.target,
              weight: record.weight,
              priority: record.priority,
              port: record.port
            })
          when Splicer::Records::TXTRecord
            payload.merge!({
              value: record.text
            })
          else
            payload = {}
        end
        payload
      end
    end

  end
end


After two years of hard work, STA is proud to confirm that both Claire Brisbourne (Director of Awarding Organisation) and Kaylë Burgham (Head of Qualification Development) have successfully gained a Level 5 Diploma in Education and Training.
Dave Candler, STA CEO, said: We are massively proud of Claire and Kaylë's achievements; to work and study for this high-level qualification, while continuing to be fully-focussed on their busy role at STA, and juggling a family, is a credit to their work ethic and commitment.
While the Diploma serves to enhance Claire and Kaylë's own personal development, it also provides huge benefits to STA, added Dave, who is committed to investing in staff training and personal development.
Having senior members of our operations and technical team fully versed with the latest theories and current educational practices and policies, provides an important, added layer of expertise to the team. To have this level of teaching knowledge in-house combined with our workforce partnerships will prove invaluable during the development of future qualifications, confirmed Dave.
The Level 5 Diploma in Education and Training (DET) programme is the recognised teaching qualification for the post-16 sector.


text:
Q: python.logging: Why does my non-basicConfig setting not work? I want to log to a single log file from main and all sub modules.
The log messages send from a main file, where I define the logger, work as expected. But the ones send from a call to an imported function are missing.
It is working if I use logging.basicConfig as in Example 1 below.
But the second example which allows for more custom settings does not work.
Any ideas why?
# in the submodule I have this code
import logging
logger = logging.getLogger(__name__)

EXAMPLE 1 - Working
Here I create two handlers and just pass them to basicConfig:
# definition of root looger in main module

formatter = logging.Formatter(fmt="%(asctime)s %(name)s.%(levelname)s: %(message)s", datefmt="%Y.%m.%d %H:%M:%S")

handler = logging.FileHandler('logger.log')
handler.setFormatter(formatter)
handler.setLevel(logging.DEBUG)

handler2 = logging.StreamHandler(stream=None)
handler2.setFormatter(formatter)
handler2.setLevel(logging.DEBUG)

logging.basicConfig(handlers=[handler, handler2], level=logging.DEBUG)
logger = logging.getLogger(__name__)

EXAMPLE 2 - Not working
Here I create two handlers and addHandler() them to the root logger:
# definition of root looger in main module

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)

handler = logging.FileHandler('logger.log')
handler.setFormatter(formatter)
handler.setLevel(logging.DEBUG)
#handler.setLevel(logging.ERROR)
logger.addHandler(handler)

handler = logging.StreamHandler(stream=None)
handler.setFormatter(formatter)
handler.setLevel(logging.DEBUG)
logger.addHandler(handler)

A: You need to configure the (one and only) root logger in the main module of your software. This is done by calling
logger = logging.getLogger() #without arguments

instead of
logger = logging.getLogger(__name__)

(Python doc on logging)
The second example creates a separate, child logger with the name of your script.
If there are no handlers defined in the submodules, the log message is being passed down to the root logger to handle it.
A related question can be found here:
Python Logging - How to inherit root logger level & handler


text:
melmanyossi1950@gmail.com
יוסי מלמן
Yossi Melman
© All Rights Reserved To Yossi Melman 2018. Designed By
SnowTech-Software.
All Aricles
כל הכתבות
Eisenkot - One of Israel's Best Generals
In mid-January, 2019, Israel will have a new Chief of Staff (COS). Maj.-Gen. Aviv Kochavi will be promoted to lieutenant general and will replace Lt.-Gen. Gadi Eisenkot.
While the change of guard at the helm of the Israel Defense Forces (IDF) is usually a smooth process, the office of the COS, with its full pack of duties, responsibilities and sensitivities, is only second in importance to the prime minister. It is not a cliché or exaggeration to say that the COS determines on a daily basis questions of life and death, and war and peace.
The 59-year-old Eisenkot, always struggling with his weight, is leaving office after nearly four years. His beaming smiles with his bearish look create an impression of softness. But his look can be misleading. He knows how to be tough, and, if necessary, to inflict painful blows on enemies and rivals.
During his tenure, Eisenkot successfully navigated the IDF and the country through several minefields, overcame obstacles and confronted challenges on six fronts. Five of them were well-known to him before he entered office. The sixth was a complete surprise.
The five fronts (arenas in military jargon) are Iran, Syria, and Hezbollah in Lebanon, Gaza and Sinai. The major tool that Eisenkot and his 21 subordinate generals on the General Staff use in their battles is CBW, an IDF acronym, which means "Campaign between Wars."
Since its independence in 1948, Israel fought four classical wars with tanks, air force, artillery, naval warfare and special operations aiming to defeat the enemies' armies and conquer territory, in 1948, 1956, 1967 and 1973.
The Yom Kippur War (October 1973-January 1974) was the last of its kind. The IDF fiercely fought against the Syrian and Egyptian armies. Since then, all eight confrontations – two in Lebanon against Hezbollah (1982, 2006), three in the West Bank (1987-90, 2002-2005 and 2015-16), and three in Gaza (2008-9, 2012 and 2014) – have taken on a completely different shape. These were asymmetrical battles between IDF regular and reserve troops and the guerrilla and terrorist forces of Hezbollah, Hamas and the Palestinian Authority.
Between these much publicized and visible wars, the IDF under Eisenkot was involved in considerably less noticeable operations, mostly carried out under the public radar. In these CBWs, which are ongoing in all arenas, close to home and far away, the IDF has mainly used the air force, intelligence units, special forces and, occasionally, naval boats and submarines.
Since Israel maintains almost total silence, we need to refer to past foreign reports to illustrate the nature of the CBW operations. These reports published outside Israel revealed that Israeli war planes, including the newly acquired US-made F-35 "stealth" jet, which, according to Kuwaiti daily, Al-Jarida, flew over Iraq and Iran. In other reports, Israeli drones crossed from Azerbaijan to Iran. Israeli warplanes and naval missile ships in the Red Sea attacked boats carrying Iranian weapons to Gaza and destroyed weapons depots in Sudan, which stored Iranian weapons.
Israeli submarines, which according to foreign reports are equipped to carry nuclear-tipped warheads, also sailed to the Persian Gulf near Iran.
The Gaza Front
Five months before Eisenkot entered his modest office on the 14th floor of the Kirya tower overlooking central Tel Aviv, the third Gaza campaign (Operation Protective Edge) ended in August 2014. Hamas emerged with severe pains and bruises and agreed to a ceasefire and negotiations, after 50 days of fighting. Egyptian intelligence submitted a document of six points for reaching a long-term solution. Both sides agreed to it, but eventually only two clauses – one-third of the document – were implemented. These were the ceasefire and basic reconstruction with Qatari funds of thousands of buildings damaged during the fighting.
But the two sides have refused to compromise and honor the other items of the Egyptian proposal: Israel's lifting of the siege of Gaza, building air and seaports, significant economic upgrading and a deal to swap prisoners and bodies.
For three and a half years, the ceasefire somehow held. But in March 2018, Hamas began a war of attrition by sending thousands of demonstrators to the border and flying incendiary kites and balloons, which set Israeli fields on fire. Israel responded with air strikes and snipers' fire. Hamas reacted by renewing rocket launches against rural communities and towns in Israel and the two sides found themselves sliding into a new war.
Eisenkot was determined to prevent it. He believed that despite the damage and the sense of insecurity shared by many Israeli citizens near Gaza, the state cannot unleash the strongest army in the Middle East against Gaza because of kites and border protests.
He found himself in a face-to-face confrontation with then-defense minister Avigdor Liberman, his direct superior, who advocated an all-out war in Gaza to topple the Hamas regime – but he didn't give in. The question whether to go to war was brought up twice in the last six months before the cabinet, and the majority of ministers, Prime Minister Benjamin Netanyahu included, backed Eisenkot. War was averted and Liberman resigned.
The Gaza ceasefire is still holding but Eisenkot has no illusions that sooner or later – whether in weeks or several months – the same old, unresolved issues will emerge and challenge his successor, Kochavi. Until then, Israel hopes to locate more Hamas tunnels – so far, 17 have been discovered – and complete the construction of the remaining 40 of 66 kilometers of its underground and above-ground, heavily fortified barrier enveloping Gaza.
In September 2016, nine months into his term, Eisenkot faced another Palestinian front – in the West Bank. Unlike the first and second intifadas, this one was unorganized. It was in a way spontaneous or its perpetrators drew their inspiration to carry out terror attacks against Israelis from social media. The terror wave was termed as the "lone-wolf intifada" or the "knife intifada."
This was characterized by the employment of "cold" weapons, such as knives and cars, used mainly by teenagers with no organizational affiliation. The Palestinian Authority decided to stay out of the violence and its security services continued to cooperate with their Israeli counterparts and the military. After 13 months, with a death toll of 500 Palestinians and 45 Israelis, the IDF and the Shin Bet security service, which provided accurate intelligence, quashed the wave of terror.
Eisenkot deserves part of the credit. He wisely managed the crisis by isolating the terrorists and separating them from the rest of the 2.8 million Palestinians. He opposed any proposal to use collective punishment (such as imposing curfews on entire villages and towns) as occurred in previous uprisings. By doing so, he allowed 400,000 Palestinians to continue working in Israel, the Jewish settlements in the West Bank, in the security services, the PA and the private sector, to provide for and support their families and lead as normal a life as possible.
It was Eisenkot who eventually had to pay a personal price. In the midst of the Palestinian terror wave, an IDF soldier, Sgt. Elor Azaria, who arrived at the scene of a terror attack 12 minutes after the incident was over, murdered in cold blood a Palestinian terrorist who had already been shot and neutralized.
Eisenkot and the entire General Staff, including the IDF legal counsel, decided that Azaria had violated the code of engagement and the core values of the military and that he acted against the norms and spirit of the army.
His decision to prosecute Azaria caused unprecedented criticism from the Israeli right, including ministers, such as Netanyahu and Liberman, who demanded that Azaria not face trial because his act could and should be justified in the wake of the circumstances of a terrorist attack.
But Eisenkot, who was accused of "stabbing the soldier in the back," refused to cave in to pressure. He showed his stubbornness, determination and moral compass. Azaria stood trial in a military court and was sent to jail, although he was given a relatively light sentence.
this was not the only case in which Eisenkot found himself fighting on unknown territory – the home front. He was forced time and again to repel endless efforts by the Right and their rabbis to politicize the army and implant their ideology and religiosity, as well as brainwash the young conscript, contrary to the IDF code.
The ISIS threat
Another unexpected challenge Eisenkot faced was that of ISIS, which peaked in 2015 when Isis declared the creation of the "caliphate" in Iraq and Syria. Though Israel was a marginal target for these Islamic fanatics, it did establish branches near Israel's borders in Sinai and on the Golan Heights. It took more than two years and the involvement of two international camps, one led by the US and another by Russia and Iran, to defeat ISIS and liberate most of the territories it controlled.
Israel's contribution to the worldwide struggle was marginal. Nevertheless, Israel did help by providing intelligence, which helped the coalition planners to designate targets of ISIS leaders, safe houses and bases. In addition, the Mossad and military intelligence obtained valuable information regarding terror plots by ISIS members against Western targets in Europe, Asia and Australia. The information was forwarded to the relevant security service. The terror attacks were prevented and the Israeli intelligence community gained further credit and prestige from its peers.
At the same time, Israel reportedly acted independently by using its air force against ISIS concentrations near its borders in Syria and Sinai. On the peninsula Israel has two main interests. The first is to prevent the supply of rockets and other military equipment from ISIS in Sinai to Hamas. Indeed, in recent years, shipments of more than 10,000 rockets were discovered and destroyed on their way to Gaza. The second is to free Sinai from the grips of ISIS. According to foreign reports, Israel has supplied Egypt with intelligence and sent its warplanes and drones on hundreds of missions to pinpoint targets.
The Syria-Iran-Hezbollah Axis
With all due respect to the other arenas, the IDF under Eisenkot has perceived Iran to this day as the major threat facing Israel and it has been a continuously evolving one. Until 2015, it came from Iran's aspirations to acquire nuclear weapons or at least to reach the nuclear threshold. That year Iran signed the nuclear deal with the world powers. It slowed down its nuclear development and, in return, the crippling sanctions were lifted, hundreds of billions of dollars held in bank accounts around the world were unfrozen and revenues from expanded oil exports poured into its economy.
The money has lubricated Iran's aspirations and vision to control the Middle East. Eisenkot and his team detected three major Iranian efforts: to implant a 100,000 strong force of Shi'ite warriors from Pakistan, Afghanistan and Iraq in Syria, to establish air and maritime positions in Syrian air and seaports, and to build factories in Syria and Lebanon to improve missile accuracy.
Israeli strategy has been to disrupt Iranian plans at any cost, even taking calculated risks despite the presence in Syria of a strong Russian contingent force.
Under the chaos of the civil war and with excellent intelligence, Israel sent its air force to carry out hundreds of strikes against Iranian and Hezbollah positions in Syria. These were mostly secret CBW operations, which rarely made the headlines.
It has been a very successful campaign. As of today Hezbollah has only a handful of precision missiles, though it did have a huge arsenal of nearly 150,000 inaccurate rockets and missiles, which can cause a great deal of damage. Iran failed to deploy its forces near the Golan Heights and was forced to reduce its troops and those of Hezbollah in Syria.
The Israeli strikes prevented Iran from constructing factories to upgrade Hezbollah missiles and there are no significant Iranian intelligence, air and naval posts.
Still Eisenkot knows very well that despite its setbacks, Iran has shown on other occasions that it can be patient. Thus it is clear to him that Iran hasn't abandoned its aspirations for hegemony and opening a second front, in addition to Hezbollah in Lebanon, on which to confront Israel. This will continue to be Kochavi's mission.
In my humble opinion, Eisenkot will be remembered as one of the best chiefs of staff Israel has ever had.


text:
Home History Studysite Research Bulls Families Fieldnotes Support
Tsavo Bulls
There are 239 known independent bulls in the Tsavo Elephant Database. Many of these bulls have been known for ten or more years. In Tsavo, males disperse from their family in their mid-teens and typically stay in their family's range, spending time with other young males or alone on the periphery of a family. As they age they began to explore areas outside their family's range, either alone or spend time with older more experienced males in all male groups in a bull area. Bull groups are larger in the dry season than in the rainy season, and within these groups many bulls have long-term bonds; companions that they associate with year after year. Bulls' experience their first musth cycles in their mid-20's, and leave the bull area to search for estrus females. When they drop out of musth they return to a bull area and join other non-musth bulls.
LIVINGSTONE was first identified in July 1993. At that time he had two wide-tusks. In February of 2012 he lost his right tusk. He is in musth during both the dry and rainy seasons. He spends most of his time in small bull groups of two to three bulls, but also in groups of 16 bulls and is typically the leader in most groups. The rest of the time he is alone or with families. He has long-term bonds with Dusk, Sun, Sandstone and Sunray.
RUDOLF was first identified as a young male in November 1989. His has distinct notches and holes in both ears. When he was younger he stayed in his families range alone or with families. As he got older he started spending time with other bulls in small groups of three to six bulls. The largest bull group he's been in had 25 bulls. He is in musth during the rainy season. He has long-term bonds with Dusk, Arrow, Sandstone, Darwin and Sun.
SANDSTONE was first identified in February 2005 when he moved into the bull area. With his distinct features of a broken left ear and crooked tail, he is easy to identify from far away. He is in musth during the rains. He spends most of his time with other bulls in medium size groups of six to eight bulls. The largest bull group he's been in had 28 bulls. The rest of the time he is alone or with families. He has long-term bonds with Livingstone, Darwin, Sunray, Dusk and Arrow.
SKYLIGHT was first identified when he moved into the bull area in January 2009. His distinct features were two long tusks and few tail hairs. In 2013 he broke his left tusk tip. Then in 2015 he broke half of his right tusk. He is in musth during the rains. He spends most of his time in medium size groups of four to six bulls. The largest bull group he's been in had 25 bulls. He is sometimes alone and rarely with families unless he is in musth. He has long-term bonds with Sunray, Ripley, Darwin and Sun.
SUNRAY was first identified when he moved into the bull area in June 2005. His distinct features are long tusks and notches in both ears. So far I have no records of him in musth. He spends most of his time in large bull groups of seven to eight bulls. He is often the leader of these groups. The largest bull group he's been in had 21 bulls. The rest of the time he is either alone or with families. He has long-term bonds with Dusk, Sandstone, Arrow and Cloud.
RASPUTIN was first identified in September 2004 when his tusks were short and the same length. Since then his right tusk remains short while the left tusk continues to grow. He is in musth during both the dry and rainy seasons. He spends most of his time alone or with families. When he is with other bulls, the groups are small, two to three bulls and on occasion with ten other bulls. He has long-term bonds with Livingstone, Nathan, Linus and Arrow
All content and images © Dr. Barbara McKnight