Price of wellbutrin xl 300 mg cost of wellbutrin xl canada trileptal generic vs name brand price of generic wellbutrin. Wellbutrin 75 mg price Buy phenergan tablets price of generic wellbutrin at walmart wellbutrin price walgreens wellbutrin cost with insurance buy kamagra oral jelly usa. Buy kamagra usa price of generic wellbutrin without insurance wellbutrin sr 100mg price where can i buy kamagra in the uk. Wellbutrin price generic cost of wellbutrin xl at walmart wellbutrin xl brand price buy female viagra online india price of generic wellbutrin at walmart. Wellbutrin sr best price trileptal generic wellbutrin price online kamagra buy usa wellbutrin price imitrex tablets how supplied where can i buy kamagra in amsterdam. Kamagra tablets online co uk wellbutrin sr 100mg price kamagra price uk wellbutrin antidepressant price wellbutrin cost without insurance. Buy flagyl online fast delivery wellbutrin price in pakistan wellbutrin xl 300 price cheapest price for kamagra cost of wellbutrin xl brand. Wellbutrin price in india wellbutrin cost per month wellbutrin xl 150 mg price wellbutrin costco price kamagra low price cost of wellbutrin xl 300. Wellbutrin monthly cost wellbutrin xl vs sr price wellbutrin price with insurance wellbutrin xl brand price. Levitra original ohne rezept kamagra tabletten online bestellen wellbutrin cost in canada where can i buy kamagra in london. Wellbutrin xl 300 mg prices wellbutrin sr 150 mg price where can i buy kamagra in melbourne where can i buy kamagra tablets wellbutrin sr retail price where can i buy kamagra in manchester. Best place to buy sildenafil citrate online buy sildenafil citrate online canada Kamagra 90 Pills 100mg $361 - $4.01 Per pill what does generic wellbutrin cost. Wellbutrin name brand price cost of wellbutrin xl in canada trileptal suspension generic buy kamagra in the usa price of wellbutrin without insurance. Cost of brand name wellbutrin xl wellbutrin cost at walmart.
Where can i buy kamagra tablets kamagra gel günstig kaufen kamagra oral jelly bestellen erfahrungen cymbalta dosage 120 where to buy kamagra in adelaide. Cheap kamagra tablets next day delivery flomax and cold medicine 120 mg of cymbalta dosage kamagra soft tablets uk. Cymbalta 10 mg dosage buy plavix in canada online kaufen ohne rezept viagra generika 90 mg cymbalta dosage viagra generika online kaufen schweiz flomax medicine. Flomax and kidney stones emedicine viagra generika online kaufen what is the medicine flomax used for kamagra oral jelly kaufen erfahrung voveran medicine wiki. Where can i buy kamagra in australia where can i buy kamagra over the counter buy plavix from canada cymbalta dosage 60 mg kamagra sehr günstig kaufen what is flomax medicine for. Where can i buy kamagra in manchester flomax medicine prostate is flomax a blood pressure medicine kamagra oral jelly kaufen nachnahme. Medicine called flomax kamagra 100mg oral jelly kaufen plavix 75 mg price canada viagra generika kaufen preisvergleich viagra generika günstig online kaufen viagra generika kaufen deutschland. Flomaxtra xl tamsulosin medicine cymbalta dosage 100mg plavix price canada where can i buy kamagra in uk kamagra generika rezeptfrei kaufen. Flomax medicine used viagra generika online kaufen deutschland cheapest kamagra tablets how much does plavix cost in canada. Generika viagra in deutschland kaufen where to buy kamagra in brisbane viagra generika wo kaufen voveran medicine viagra generika kaufen ohne rezept. Priligy kaufen schweiz kamagra billig kaufen per überweisung viagra generika in deutschland kaufen voveran medicine use dosage of cymbalta 120 mg. Kamagra oral jelly in hamburg kaufen viagra generika online kaufen per nachnahme plavix canada best price kamagra oral jelly kaufen münchen cymbalta 90 mg dose. Cymbalta dosage 20 mg viagra generika online kaufen erfahrungen viagra generika online kaufen österreich. Kamagra oral jelly original kaufen flomax medicine price Where can i buy viagra over the counter in usa buy plavix online canada voveran medicine used for. Viagra generika online kaufen nachnahme where to buy kamagra in australia flomax alternative medicine cymbalta dosage 10 mg super kamagra generika kaufen. Kamagra oral jelly sicher kaufen kamagra 100mg günstig kaufen cymbalta dosage 80 mg where can i buy kamagra in melbourne cymbalta 90 mg dosage. Where can i buy kamagra in the uk where can i buy kamagra in the us cymbalta dosage 40 mg kamagra generika kaufen where can i buy kamagra in sydney. Buy generic plavix canada kamagra oral jelly bestellen belgie plavix 75mg price in canada viagra generika online kaufen ohne kreditkarte. Viagra generika rezeptfrei online kaufen cymbalta dosage 90 viagra generika rezeptfrei kaufen kamagra oral jelly kaufen seriös.
Kamagra oral jelly magyarul super kamagra online shop how much xanax should i take for anxiety of flying claritine 10 mg tabletta 30x �ra claritin d 24 hour 30 tablets. How much xanax to get high no tolerance lisinopril-hctz 20mg-25mg tablets claritin children's (5mg) grape 20-count chewable tablets. Kamagra oral jelly manchester cheap kamagra tablets uk lisinopril 5mg tablets price kamagra oral jelly vs tablets claritin chewable tablets coupon Order levitra online canada. Buy generic viagra cialis levitra kamagra oral jelly dosage children's claritin tablets dosage lisinopril-hctz 10/12.5mg tablets. Lisinopril tablet price buy propecia online usa kamagra oral jelly dose kamagra oral jelly mk lisinopril 5mg tablets lupin. Kamagra oral jelly does it make you last longer claritin 24 hour allergy relief tablets lisinopril 2.5 mg tablets use buy kamagra online in uk. How much xanax for flight anxiety claritin ingredients tablets kamagra soft tablets 100mg kamagra oral jelly vs tablets kamagra oral jelly online shop. Cheap dapoxetine online buying kamagra tablets how much xanax is prescribed for anxiety buy kamagra tablets lisinopril 10 mg tablet price kamagra oral jelly 7x100mg. Kamagra oral jelly melbourne how much does generic xanax cost at walmart children's claritin chewable tablet 5 mg kamagra oral jelly - 7 sachets children's claritin 5mg chewable tablets dosage. Buy levitra overnight shipping how much xanax for sleep claritin 10 mg tablet dosage buy kamagra uk online kamagra oral jelly make you last longer. Are claritin tablets gluten free cheapest kamagra tablets kamagra tablets for sale uk kamagra oral jelly bulk. Where can i buy kamagra tablets buy cheap levitra xanax how much does it cost kamagra soft tablets uk super kamagra online uk lisinopril-hctz 20/12.5mg tablets. Claritin 10mg tablets buy propecia online uk cheap claritin 10mg loratadine tablet dosage buy generic propecia online uk. Buy generic levitra online buy propecia online prescription how much xanax to get high first time how much do xanax footballs cost. Cheapest kamagra jelly kamagra tablets online how much xanax for severe anxiety kamagra 100mg oral jelly single dose. Kamagra oral jelly online usa how much xanax to take for flight anxiety how much xanax to take for anxiety. Buy kamagra tablets uk claritin 10mg loratadine tablet super kamagra sicher online bestellen lisinopril 40 mg tablet price.
Buy cialis viagra online uk children's allegra allergy generic propecia 1mg for hair loss viagra 100mg buy online does allegra have generic kamagra oral jelly in manchester. Cheap generic kamagra uk cheap cialis in nz kamagra buy online uk propecia hair loss tablets kamagra online germany. Generic 12 hour allegra-d cheap kamagra for sale uk what does generic allegra look like generic allegra cheap buy kamagra oral jelly usa allegra generic amazon. Viagra au canada order viagra from canada online allegra generic at walmart generic allegra oral suspension propecia hair loss medication generic drug for allegra d 12 hour. Cheap kamagra in london can propecia make hair loss worse where can i buy kamagra in the us kirkland generic allegra zithromax over the counter usa where to buy kamagra in the us. Cialis generika.de kamagra aus deutschland bestellen allegra d generico pre�o kamagra online kaufen deutschland. Cheap kamagra in the uk allegra 180 mg generic Kann man kamagra oral jelly in der apotheke kaufen allegra walmart generic cheap cialis tadalafil kamagra buy usa zithromax buy online usa. Allegra generic otc walmart cheap cialis overnight delivery how much propecia to take for hair loss cheap kamagra uk. Buy kamagra us generic for allegra d 12 hour kamagra online kaufen in deutschland super kamagra kaufen deutschland Is viagra available over the counter in the usa. Allegra generic walmart order zithromax online usa cheap cialis in uk generic allegra 180 mg otc propecia 1mg or 5mg for hair loss. Kamagra online bestellen deutschland cheap kamagra from uk allegra 24 hour generic where to buy kamagra usa allegra d generic cvs. Cheap kamagra london kamagra kaufen ohne rezept deutschland cheap generic viagra co uk french kamagra Kamagra 40 Pills 100mg $161 - $4.03 Per pill. Medicamento generico allegra d us online pharmacy for viagra viagra canada fast delivery kroger generic allegra viagra sales canada buy generic allegra online. Kamagra oral jelly günstig kaufen deutschland cheap kamagra online uk sildenafil canada generic generic children's allegra tablets buy viagra now online hair loss worse after propecia. Cheap cialis 5mg uk zithromax online usa buy kamagra in us buy kamagra online germany generic allegra prices allegra d generic name. Allegra generic otc allegra d generic rite aid allegra ingredients generic kamagra günstig kaufen deutschland does allegra d have a generic. Cheap cialis 40 mg cheap cialis in usa generic kamagra uk allegra d otc generic where to buy kamagra oral jelly in usa cheap cialis tablets. Generico de allegra 180 mg generico del allegra kamagra aus deutschland kaufen.


We understand that not all new projects or employees involved therein require full-fledged corporate training. Then so, only specific individuals or smaller group of individuals are in need of trainings. Also, Academic students sometimes may plan for some courses individually or in a group. Such Trainings are often neglected by institutions and Training Providers. However, we specially take care of such Trainings under our Open house Wing.
For any new course, suggestions are welcome from any individual or group from Corporate or non-corporate sector.


text:
#region Copyright
// Copyright 2014 Myrcon Pty. Ltd.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#endregion
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Threading;
using Potato.Core.Connections;
using Potato.Core.Database;
using Potato.Core.Events;
using Potato.Core.Packages;
using Potato.Core.Protocols;
using Potato.Core.Remote;
using Potato.Core.Shared;
using Potato.Core.Shared.Events;
using Potato.Core.Shared.Models;
using Potato.Net.Shared;
using Potato.Net.Shared.Utils;
using Potato.Service.Shared;

namespace Potato.Core {
    /// <summary>
    /// The core controller of Potato, an instance of Potato.
    /// </summary>
    public class PotatoController : CoreController, ISharedReferenceAccess, IService {
        /// <summary>
        /// List of game connections
        /// </summary>
        // todo Convert to ICoreController
        public List<IConnectionController> Connections { get; protected set; }

        /// <summary>
        /// The packages that are intalled or can be installed.
        /// </summary>
        public ICoreController Packages { get; protected set; }

        /// <summary>
        /// The command server controller, if active.
        /// </summary>
        public ICoreController CommandServer { get; protected set; }

        /// <summary>
        /// The database controller for interacting with databases.
        /// </summary>
        public ICoreController Database { get; protected set; }

        /// <summary>
        /// Controller to push events to various sources.
        /// </summary>
        public ICoreController PushEvents { get; protected set; }

        /// <summary>
        /// Controller to load library of supported protocols
        /// </summary>
        public ICoreController Protocols { get; protected set; }

        /// <summary>
        /// Tasks to be run by this connection. Primarily used to reattempt connections
        /// or force a synchronization of the game data.
        /// </summary>
        public List<Timer> Tasks { get; set; }

        /// <summary>
        /// Output to the console for all events processed by this instance.
        /// </summary>
        public ICoreController EventsConsole { get; protected set; }

        /// <summary>
        /// The latest service message to post back to the service controller. If no message exists then a "ok" response will be sent.
        /// </summary>
        public ServiceMessage ServiceMessage { get; set; }

        public SharedReferences Shared { get; private set; }

        /// <summary>
        /// A simple time stamp showing how old a Potato is. The time is set in the constructor.
        /// </summary>
        public DateTime InstantiatedStamp { get; set; }

        /// <summary>
        /// Creates a new instance of Potato, setting up command server, packages and tasks
        /// </summary>
        public PotatoController() : base() {
            this.InstantiatedStamp = DateTime.Now;

            this.Shared = new SharedReferences();

            this.Connections = new List<IConnectionController>();

            this.Packages = new PackagesController() {
                BubbleObjects = new List<ICoreController>() {
                    this
                }
            };

            this.CommandServer = new CommandServerController() {
                TunnelObjects = new List<ICoreController>() {
                    this
                }
            };

            this.Database = new DatabaseController() {
                BubbleObjects = new List<ICoreController>() {
                    this
                }
            };

            this.PushEvents = new PushEventsController() {
                BubbleObjects = new List<ICoreController>() {
                    this
                }
            };

            this.Protocols = new ProtocolController() {
                BubbleObjects = new List<ICoreController>() {
                    this
                }
            };

            this.Tasks = new List<Timer>() {
                new Timer(Connection_Tick, this, TimeSpan.FromSeconds(15), TimeSpan.FromSeconds(15)),
                new Timer(Events_Tick, this, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(60)),
                new Timer(CommandServer_Tick, this, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(60)),
                new Timer(Packages_Tick, this, TimeSpan.FromSeconds(5), TimeSpan.FromMinutes(60)),
                new Timer(Security_Tick, this, TimeSpan.FromSeconds(60), TimeSpan.FromSeconds(60))
            };

            this.EventsConsole = new EventsConsoleController();

            this.CommandDispatchers.AddRange(new List<ICommandDispatch>() {
                new CommandDispatch() {
                    CommandType = CommandType.PotatoServiceMergePackage,
                    ParameterTypes = new List<CommandParameterType>() {
                        new CommandParameterType() {
                            Name = "uri",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "packageId",
                            Type = typeof(String)
                        }
                    },
                    Handler = this.PotatoServiceMergePackage
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoServiceUninstallPackage,
                    ParameterTypes = new List<CommandParameterType>() {
                        new CommandParameterType() {
                            Name = "packageId",
                            Type = typeof(String)
                        }
                    },
                    Handler = this.PotatoServiceUninstallPackage
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoServiceRestart,
                    Handler = this.PotatoServiceRestart
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoAddConnection,
                    ParameterTypes = new List<CommandParameterType>() {
                        new CommandParameterType() {
                            Name = "gameTypeProvider",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "gameTypeType",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "hostName",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "port",
                            Type = typeof(UInt16)
                        },
                        new CommandParameterType() {
                            Name = "password",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "additional",
                            Type = typeof(String)
                        }
                    },
                    Handler = this.PotatoAddConnection
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoRemoveConnection,
                    ParameterTypes = new List<CommandParameterType>() {
                        new CommandParameterType() {
                            Name = "connectionGuid",
                            Type = typeof(String)
                        }
                    },
                    Handler = this.PotatoRemoveConnectionByGuid
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoRemoveConnection,
                    ParameterTypes = new List<CommandParameterType>() {
                        new CommandParameterType() {
                            Name = "gameTypeProvider",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "gameTypeType",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "hostName",
                            Type = typeof(String)
                        },
                        new CommandParameterType() {
                            Name = "port",
                            Type = typeof(UInt16)
                        }
                    },
                    Handler = this.PotatoRemoveConnectionByDetails
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoQuery,
                    Handler = this.PotatoQuery
                },
                new CommandDispatch() {
                    CommandType = CommandType.PotatoPing,
                    Handler = this.PotatoPing
                }
            });
        }

        /// <summary>
        /// Fires a message across the appdomain back to the instance controller, provided
        /// a callback has been setup.
        /// </summary>
        /// <remarks>
        /// If the main thread is tied up then "nop" won't be sent back and the service
        /// will be shut down. We may expand on this in the future to check extra threads,
        /// polling all the plugin appdomains and such.
        /// </remarks>
        public ServiceMessage PollService() {
            ServiceMessage message = null;

            if (this.ServiceMessage != null) {
                message = this.ServiceMessage;

                // clear it for the next poll.
                this.ServiceMessage = null;
            }
            else {
                message = new ServiceMessage() {
                    Name = "nop"
                };
            }

            return message;
        }

        /// <summary>
        /// Executes very simple commands originating from the service controller from a local origin.
        /// </summary>
        public ServiceMessage ExecuteMessage(ServiceMessage message) {
            // A request from the service controller to run a command locally.
            ICommandResult result = this.Tunnel(new Command() {
                Name = message.Name,
                Origin = CommandOrigin.Local,
                // This is possible because of the SortedDictionary used in Potato.Service.Shared.ArgumentsHelper
                // This method will always assume that Arguments.Values will result in the order of execution.
                Parameters = message.Arguments.Values.Select(value => new CommandParameter() {
                    Data = {
                        Content = new List<String>() {
                            value
                        }
                    }
                }).Cast<ICommandParameter>().ToList()
            });

            // Format and return the service message.
            return new ServiceMessage() {
                Name = "result",
                Arguments = new Dictionary<string, string>() {
                    { "Command", message.Name },
                    { "Success", result.Success.ToString() },
                    { "Status", result.CommandResultType.ToString() },
                    { "Message", result.Message }
                }
            };
        }

        /// <summary>
        /// Reconnects or synchronizes data on each connection. A periodic standard
        /// ten second poke of each connection pretty much.
        /// </summary>
        /// <param name="state"></param>
        private void Connection_Tick(Object state) {
            if (this.Connections != null) {
                lock (this.Connections) {
                    foreach (IConnectionController connection in this.Connections) {
                        connection.Poke();
                    }
                }
            }
        }

        /// <summary>
        /// Writes out the events to file.
        /// </summary>
        /// <param name="state"></param>
        private void Events_Tick(object state) {
            this.Shared.Events.WriteEvents();
        }

        /// <summary>
        /// Pokes the command server and all current active clients, ensuring we don't have any stale clients
        /// still held in memory.
        /// </summary>
        /// <param name="state"></param>
        protected void CommandServer_Tick(Object state) {
            if (this.CommandServer != null) {
                this.CommandServer.Poke();
            }
        }

        /// <summary>
        /// Rebuilds the current repositories cache every 60 minutes
        /// </summary>
        /// <param name="state"></param>
        protected void Packages_Tick(Object state) {
            if (this.Packages != null) {
                // Set the root (non-grouped) repository to Myrcon's official repository, or whatever
                // repository the host has setup.
                this.Shared.Variables.Variable(CommonVariableNames.PackagesRepositoryUri).Value = this.Shared.Variables.Get(CommonVariableNames.PackagesDefaultSourceRepositoryUri, Defines.PackagesDefaultSourceRepositoryUri);

                this.Packages.Poke();
            }
        }

        /// <summary>
        /// Removes all expired access tokens every 60 seconds.
        /// </summary>
        /// <param name="state"></param>
        protected void Security_Tick(Object state) {
            if (this.Shared != null && this.Shared.Security != null) {
                this.Shared.Security.Poke();
            }
        }

        /// <summary>
        /// Assigns event handlers to deal with changes within the class.
        /// Starts the execution of this object's security, packages, and variables.
        /// Loads the configuration file.
        /// </summary>
        /// <returns></returns>
        public override ICoreController Execute() {
            this.EventsConsole.Execute();
            this.Packages.Execute();
            this.CommandServer.Execute();
            this.PushEvents.Execute();
            this.Database.Execute();
            this.Protocols.Execute();

            this.Execute(new Command() {
                Origin = CommandOrigin.Local
            }, new Config().Load(new DirectoryInfo(Defines.ConfigsDirectory.FullName)), this.Shared.Variables.Get<String>(CommonVariableNames.PotatoConfigPassword));

            this.Shared.Events.Log(new GenericEvent() {
                GenericEventType = GenericEventType.PotatoServiceStarted,
                Message = @"The service has started successfully."
            });

            return base.Execute();
        }

        /// <summary>
        /// IService implementation to call the execute method and ignore the return type.
        /// </summary>
        public void Start() {
            this.Execute();
        }

        /// <summary>
        /// IService proxy for the variables of this object.
        /// </summary>
        /// <param name="arguments"></param>
        public void ParseCommandLineArguments(List<String> arguments) {
            this.Shared.Variables.ParseArguments(arguments);
        }

        /// <summary>
        /// Writes the current object out to a file.
        /// </summary>
        public void WriteConfig() {
            IConfig config = new Config();
            config.Create<PotatoController>();
            this.WriteConfig(config, this.Shared.Variables.Get<String>(CommonVariableNames.PotatoConfigPassword));

            config.Save(new FileInfo(Path.Combine(Defines.ConfigsDirectory.FullName, this.GetType().Namespace + ".json")));
        }

        /// <summary>
        /// Saves all the connections to the config file.
        /// </summary>
        /// <param name="config"></param>
        /// <param name="password"></param>
        public override void WriteConfig(IConfig config, String password = null) {
            this.Shared.Variables.WriteConfig(config, password);

            this.Shared.Events.WriteConfig(config, password);

            this.Packages.WriteConfig(config, password);

            this.Database.WriteConfig(config, password);

            this.Shared.Languages.WriteConfig(config, password);

            this.Shared.Security.WriteConfig(config, password);

            this.CommandServer.WriteConfig(config, password);

            this.PushEvents.WriteConfig(config, password);

            lock (this.Connections) {
                foreach (ConnectionController connection in this.Connections) {
                    // This command is executed in the Potato object.
                    // I had to write this comment because I kept moving it to the actual connection and failing oh so hard.
                    config.Append(new Command() {
                        CommandType = CommandType.PotatoAddConnection,
                        Parameters = new List<ICommandParameter>() {
                            new CommandParameter() {
                                Data = {
                                    Content = new List<String>() {
                                        connection.ConnectionModel.ProtocolType.Provider
                                    }
                                }
                            },
                            new CommandParameter() {
                                Data = {
                                    Content = new List<String>() {
                                        connection.ConnectionModel.ProtocolType.Type
                                    }
                                }
                            },
                            new CommandParameter() {
                                Data = {
                                    Content = new List<String>() {
                                        connection.ConnectionModel.Hostname
                                    }
                                }
                            },
                            new CommandParameter() {
                                Data = {
                                    Content = new List<String>() {
                                        connection.ConnectionModel.Port.ToString(CultureInfo.InvariantCulture)
                                    }
                                }
                            },
                            new CommandParameter() {
                                Data = {
                                    Content = new List<String>() {
                                        connection.ConnectionModel.Password
                                    }
                                }
                            },
                            new CommandParameter() {
                                Data = {
                                    Content = new List<String>() {
                                        connection.ConnectionModel.Arguments
                                    }
                                }
                            }
                        }
                    }.ToConfigCommand().Encrypt(password));

                    connection.WriteConfig(config, password);
                }
            }
        }

        /// <summary>
        /// Reverse the direction of the bubble. If we have not found it by now we need to tunnel down to
        /// everything to find where this command needs to be executed. If tunneling finds nothing then
        /// the command is completed.
        /// </summary>
        /// <param name="command"></param>
        /// <returns></returns>
        public override ICommandResult Bubble(ICommand command) {
            return this.Tunnel(command);
        }

        protected override IList<ICoreController> TunnelExecutableObjects(ICommand command) {
            List<ICoreController> list = new List<ICoreController>();

            if (command.Scope != null && command.Scope.ConnectionGuid != Guid.Empty) {
                // Focus only on the connection.
                this.Connections.Where(connection => connection.ConnectionModel.ConnectionGuid == command.Scope.ConnectionGuid).ToList().ForEach(list.Add);
            }
            else {
                // Add all of the connections.
                this.Connections.ForEach(list.Add);

                list.Add(this.PushEvents);
                list.Add(this.Shared.Security);
                list.Add(this.Shared.Languages);
                list.Add(this.Shared.Variables);
                list.Add(this.Shared.Events);
                list.Add(this.Packages);
                list.Add(this.Database);
                list.Add(this.Protocols);
            }

            return list;
        }

        /// <summary>
        /// Shuts down the layer.
        /// Disposes of this object's security, packages, and variables.
        /// Calls the base dispose.
        /// </summary>
        public override void Dispose() {

            // 1. Stop all tasks from ticking, removing concurrent executions with this object.
            this.Tasks.ForEach(task => task.Dispose());
            this.Tasks.Clear();
            this.Tasks = null;

            // 2. Events contains varies references to other data through out Potato. This
            // data should be written out first, writing out the full events data then
            // moving on to disposing the actual data.
            this.Shared.Events.Dispose();
            this.Shared.Events = null;

            // 3. Stop/disconnect all game server connections, unload any plugins etc.
            lock (this.Connections) {
                foreach (ConnectionController connection in this.Connections) {
                    connection.Dispose();
                }
            }

            this.Connections.Clear();
            this.Connections = null;

            // @todo Does the order matter here? If so, document why.

            this.Shared.Security.Dispose();
            this.Shared.Security = null;

            this.Shared.Languages.Dispose();
            this.Shared.Languages = null;

            this.Packages.Dispose();
            this.Packages = null;

            this.Database.Dispose();
            this.Database = null;

            this.CommandServer.Dispose();
            this.CommandServer = null;

            this.PushEvents.Dispose();
            this.PushEvents = null;

            this.Protocols.Dispose();
            this.Protocols = null;

            this.Shared.Variables.Dispose();
            this.Shared.Variables = null;

            this.EventsConsole.Dispose();
            this.EventsConsole = null;

            base.Dispose();
        }

        /// <summary>
        /// Posts a restart signal for the service controller to poll.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public ICommandResult PotatoServiceRestart(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            ICommandResult result = null;

            // As long as the current account is allowed to execute this command...
            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {
                this.ServiceMessage = new ServiceMessage() {
                    Name = "restart"
                };

                result = new CommandResult() {
                    Message = String.Format("Successfully posted restart signal."),
                    CommandResultType = CommandResultType.Success,
                    Success = true
                };

                this.Shared.Events.Log(GenericEvent.ConvertToGenericEvent(result, GenericEventType.PotatoServiceRestarting));
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }

        /// <summary>
        /// Posts a merge signal for the service controller to poll.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public ICommandResult PotatoServiceMergePackage(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            ICommandResult result = null;

            String uri = parameters["uri"].First<String>();
            String packageId = parameters["packageId"].First<String>();

            // As long as the current account is allowed to execute this command...
            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {
                if (String.IsNullOrEmpty(uri) == false && String.IsNullOrEmpty(packageId) == false) {
                    this.ServiceMessage = new ServiceMessage() {
                        Name = "merge",
                        Arguments = new Dictionary<String, String>() {
                            { "uri", uri },
                            { "packageid", packageId }
                        }
                    };

                    result = new CommandResult() {
                        Message = String.Format("Successfully posted merge signal."),
                        CommandResultType = CommandResultType.Success,
                        Success = true
                    };

                    this.Shared.Events.Log(GenericEvent.ConvertToGenericEvent(result, GenericEventType.PotatoServiceMergePackage));
                }
                else {
                    result = new CommandResult() {
                        Message = String.Format(@"Invalid or missing parameter ""uri"" or ""packageId""."),
                        CommandResultType = CommandResultType.InvalidParameter,
                        Success = false
                    };
                }
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }

        /// <summary>
        /// Posts a uninstall signal for the service controller to poll.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public ICommandResult PotatoServiceUninstallPackage(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            ICommandResult result = null;

            String packageId = parameters["packageId"].First<String>();

            // As long as the current account is allowed to execute this command...
            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {
                if (String.IsNullOrEmpty(packageId) == false) {
                    this.ServiceMessage = new ServiceMessage() {
                        Name = "uninstall",
                        Arguments = new Dictionary<String, String>() {
                            { "packageid", packageId }
                        }
                    };

                    result = new CommandResult() {
                        Message = String.Format("Successfully posted uninstall signal."),
                        CommandResultType = CommandResultType.Success,
                        Success = true
                    };

                    this.Shared.Events.Log(GenericEvent.ConvertToGenericEvent(result, GenericEventType.PotatoServiceUninstallPackage));
                }
                else {
                    result = new CommandResult() {
                        Message = String.Format(@"Invalid or missing parameter ""packageId""."),
                        CommandResultType = CommandResultType.InvalidParameter,
                        Success = false
                    };
                }
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }

        /// <summary>
        /// Add a connection to this instance.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        public ICommandResult PotatoAddConnection(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            ICommandResult result = null;

            String protocolTypeProvider = parameters["gameTypeProvider"].First<String>() ?? "";
            String protocolTypeType = parameters["gameTypeType"].First<String>() ?? "";
            String hostName = parameters["hostName"].First<String>() ?? "";
            UInt16 port = parameters["port"].First<UInt16>();
            String password = parameters["password"].First<String>() ?? "";
            String additional = parameters["additional"].First<String>() ?? "";

            // As long as the current account is allowed to execute this command...
            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {
                // As long as we have less than the maximum amount of connections...
                if (this.Connections.Count < this.Shared.Variables.Get(CommonVariableNames.MaximumProtocolConnections, 9000)) {
                    // As long as the connection for that specific game, hostname, and port does not exist...
                    if (this.Connections.FirstOrDefault(c => c.ConnectionModel.ProtocolType.Type == protocolTypeType && c.ConnectionModel.Hostname == hostName && c.ConnectionModel.Port == port) == null) {
                        // As long as the game type is defined...

                        var supportCheckResult = this.Protocols.Tunnel(CommandBuilder.ProtocolsCheckSupportedProtocol(protocolTypeProvider, protocolTypeType).SetOrigin(CommandOrigin.Local));

                        if (supportCheckResult.Success == true) {
                            IProtocolAssemblyMetadata meta = supportCheckResult.Now.ProtocolAssemblyMetadatas.First();

                            ConnectionController connection = new ConnectionController() {
                                Potato = this
                            };

                            connection.SetupProtocol(supportCheckResult.Now.ProtocolAssemblyMetadatas.First(), supportCheckResult.Now.ProtocolTypes.First(), new ProtocolSetup() {
                                Hostname = hostName,
                                Port = port,
                                Password = password,
                                Arguments = ArgumentHelper.ToArguments(additional.Wordify()),
                                ConfigDirectory = meta.Directory.GetDirectories(Defines.ProtocolsDirectoryName, SearchOption.AllDirectories).Select(directory => directory.FullName).FirstOrDefault()
                            });

                            lock (this.Connections) {
                                this.Connections.Add(connection);
                            }

                            connection.Execute();
                            connection.AttemptConnection();

                            result = new CommandResult() {
                                Message = String.Format("Successfully added {0} connection.", protocolTypeType),
                                CommandResultType = CommandResultType.Success,
                                Success = true,
                                Now = {
                                    Connections = new List<ConnectionModel>() {
                                        connection.ConnectionModel
                                    }
                                }
                            };

                            this.Shared.Events.Log(GenericEvent.ConvertToGenericEvent(result, GenericEventType.PotatoConnectionAdded));
                        }
                        else {
                            result = new CommandResult() {
                                Message = String.Format(@"Protocol type ""{0}"" is not supported.", protocolTypeType),
                                CommandResultType = CommandResultType.DoesNotExists,
                                Success = false
                            };
                        }
                    }
                    else {
                        result = new CommandResult() {
                            Message = String.Format(@"Game type ""{0}"" with connection to {1}:{2} has already been added.", protocolTypeType, hostName, port),
                            CommandResultType = CommandResultType.AlreadyExists,
                            Success = false
                        };
                    }
                }
                else {
                    result = new CommandResult() {
                        Message = String.Format(@"Maximum number of game connections exceeded."),
                        CommandResultType = CommandResultType.LimitExceeded,
                        Success = false
                    };
                }
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }

        protected ICommandResult PotatoRemoveConnection(ICommand command, IConnectionController connection) {
            ICommandResult result = null;

            // As long as the current account is allowed to execute this command...
            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {

                // As long as the connection for that specific game, hostname, and port exists...
                if (connection != null) {
                    lock (this.Connections) {
                        this.Connections.Remove(connection);
                    }

                    result = new CommandResult() {
                        Message = String.Format(@"Successfully removed connection with connection to {0}:{1} and game type ""{2}"".", connection.ConnectionModel.Hostname, connection.ConnectionModel.Port, connection),
                        CommandResultType = CommandResultType.Success,
                        Success = true,
                        Now = {
                            Connections = new List<ConnectionModel>() {
                                connection.ConnectionModel
                            }
                        }
                    };

                    this.Shared.Events.Log(GenericEvent.ConvertToGenericEvent(result, GenericEventType.PotatoConnectionRemoved));

                    connection.Dispose();
                }
                else {
                    result = new CommandResult() {
                        Message = String.Format(@"Connection does not exist."),
                        CommandResultType = CommandResultType.DoesNotExists,
                        Success = false
                    };
                }
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }

        /// <summary>
        /// Proxy to the expanded remove connction method, but only accepts a connectionGuid.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public ICommandResult PotatoRemoveConnectionByGuid(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            String connectionGuid = parameters["connectionGuid"].First<String>();

            IConnectionController connection = this.Connections.FirstOrDefault(x => String.Compare(x.ConnectionModel.ConnectionGuid.ToString(), connectionGuid, StringComparison.OrdinalIgnoreCase) == 0);

            return this.PotatoRemoveConnection(command, connection);
        }

        /// <summary>
        /// Removes a connection from this instance.
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        public ICommandResult PotatoRemoveConnectionByDetails(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            String gameTypeProvider = parameters["gameTypeProvider"].First<String>();
            String gameTypeType = parameters["gameTypeType"].First<String>();
            String hostName = parameters["hostName"].First<String>();
            UInt16 port = parameters["port"].First<UInt16>();

            IConnectionController connection = this.Connections.FirstOrDefault(c =>
                c.ConnectionModel.ProtocolType.Provider == gameTypeProvider &&
                c.ConnectionModel.ProtocolType.Type == gameTypeType &&
                c.ConnectionModel.Hostname == hostName &&
                c.ConnectionModel.Port == port
            );

            return this.PotatoRemoveConnection(command, connection);
        }

        /// <summary>
        /// Queries this instance for a snapshot as it exists now
        /// </summary>
        /// <param name="command"></param>
        /// <param name="parameters"></param>
        /// <returns></returns>
        public ICommandResult PotatoQuery(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            ICommandResult result = null;

            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {
                ICommandResult packages = this.Packages.Tunnel(new Command(command) {
                    CommandType = CommandType.PackagesFetchPackages
                });

                ICommandResult protocols = this.Protocols.Tunnel(new Command(command) {
                    CommandType = CommandType.ProtocolsFetchSupportedProtocols
                });

                result = new CommandResult() {
                    Success = true,
                    CommandResultType = CommandResultType.Success,
                    Now = new CommandData() {
                        Connections = this.Connections.Select(connection => connection.ConnectionModel).ToList(),
                        ProtocolTypes = new List<ProtocolType>(protocols.Now.ProtocolTypes ?? new List<ProtocolType>()),
                        Repositories = new List<RepositoryModel>(packages.Now.Repositories ?? new List<RepositoryModel>()),
                        Groups = new List<Core.Shared.Models.GroupModel>(this.Shared.Security.Groups),
                        Languages = this.Shared.Languages.LoadedLanguageFiles.Select(language => language.LanguageModel).ToList(),
                        Variables = new List<VariableModel>(this.Shared.Variables.VolatileVariables.Values)
                    }
                };
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }

        /// <summary>
        /// Queries this instance for a response and uptime
        /// </summary>
        /// <returns></returns>
        public ICommandResult PotatoPing(ICommand command, Dictionary<String, ICommandParameter> parameters) {
            ICommandResult result = null;

            if (this.Shared.Security.DispatchPermissionsCheck(command, command.Name).Success == true) {
                result = new CommandResult() {
                    Success = true,
                    CommandResultType = CommandResultType.Success,
                    Now = {
                        Content = new List<String>() {
                            Convert.ToInt32((DateTime.Now - this.InstantiatedStamp).TotalMilliseconds).ToString(CultureInfo.InvariantCulture)
                        }
                    }
                };
            }
            else {
                result = CommandResult.InsufficientPermissions;
            }

            return result;
        }
    }
}

redpajama_set_name: RedPajamaGithub


Click the button below to add the ION138 Ionmax Serene Ultrasonic Aroma Diffuser to your wish list.
Enjoy the subtle, calming and relaxing scented mist from this aroma diffuser. Unwind with the ultimate aromatherapy experience combining advanced ultrasonic technology and premium features to create a soothing and therapeutic atmosphere at home. With multiple functions – LED clock, alarm; the unit can be set to an alarm, where it will sound an alert for 60 seconds before switching the aroma diffuser and LED lights on, you can set the timer to 30, 60, 120 or 180 minutes.
There is a night light and built-in ioniser - this aroma diffuser is the perfect little device for any space in your home. Great for the living room, bedroom, children's or baby's room, study room and office desk.
Just add 3-5 drops of your favourite essential oil to the water tank.
The Ionmax Serene ION138 ultrasonic aroma diffuser reintroduces moisture into the air to help you maintain a comfortable humidity level in your home. It can help to efficiently relieve respiratory ailments such as colds, flus, or hay fever caused by dry air. The Ionmax Serene generates a subtle, calming and relaxing scented mist to provide aromatherapy and add moisture to the air. Enjoy the ultimate aromatherapy experience from this sleek little device using your favourite fragrance without any heating elements, making this diffuser safe to use and perfect as a mini humidifier for babies. The advanced ultrasonic technology produces vibrations at high frequency to turn water into mist, creating a soothing and therapeutic atmosphere. The Ionmax Serene also produces negative ions like those found near beaches and waterfalls, or after a storm. Its soft colour-changing LED lighting creates a wonderful tranquilambience to enjoy. Plus its LED time display, alarm clock, and timer functions make the Ionmax Serene easy and convenient to use around your home.


Omega Resource Group is a specialist provider of project-based recruitment services.
Omega Resource Group is a specialist provider of project-based recruitment services in the automotive, aerospace, manufacturing, construction, FMCG, power, and logistics sectors. We work closely with our clients and candidates to ensure that we are able to meet their expectations and successfully place interim professionals into medium or long-term assignments, often on a project-based approach.
Employing an interim professional will immediately add value to your business and bring tried and tested experience to your team, providing support, influence and driving change. Thanks to our proven track record, we can ensure that our carefully selected interim professionals are the right candidates to drive significant and sustainable change.
We pride ourselves on offering a truly personalised service, consulting with all our interim professionals to understand the exact opportunity they are looking for, while at the same time recording past achievements and evaluating how they can add real value to your business.


b. 22 Nov. 1753, 1st. s. of Sir James Carnegie†, 3rd Bt., of Pittarrow, Kincardine by Christian, da. and coh. of David Doig of Cookston, Angus. educ. Eton 1765-9; St. Andrews 1770; Christ Church, Oxf. 1771, Grand Tour. m. 30 Apr. 1783, Agnes Murray, da. of Andrew Elliot of Greenwells, Roxburgh, lt. gov. of New York 1779-83, 2s. 10da. suc. fa. as 4th Bt. 30 Apr. 1765.
as I have no necessity to, I feel rather an aversion to dipping deep in politics: it hurts both one's health and fortune and is attended with much trouble, irritation and disappointment, as I have experienced; I am speaking of election politics.
During his second period in the House Carnegie seems to have adopted a self-consciously 'independent' stance. In practice, he appears to have given general support to the government of the day, at least until 1804, possibly with a view to reviving his claim to the Southesk peerage. When a controversy which divided the county on party lines occurred in Forfarshire in 1797, Scott thought Carnegie would be glad to seize any excuse to keep clear of it, as his coming down firmly on either side of the question would offend Maule and the committed Foxites on the one hand, or the 'independent' gentry on the other. In 1798, Carnegie complained bitterly to Dundas at the refusal of his request for the disposal of a kirk, claiming to have supported government since 1796 'from principle and conviction' and adding that he was 'perhaps the single instance in Scotland of an individual who has raised, armed and accoutred a troop of yeomanry cavalry, entirely at his own expense'.4 He was one of the commissioners appointed to manage the conference with the Lords on the Union, 19 Feb. 1799.
For all this, Carnegie was placed under 'Fox' in the government list of May 1804. He opposed the additional force bill in June, was initially listed under 'Fox and Grenville' in September 1804, but was subsequently transferred to 'persons in opposition not quite certain'. He is not known to have spoken in the House during this period.
1. NLS mss 11196, f. 42.
2. Minto, ii. 102; NLS mss 11140, f. 30.
4. Scott Corresp. (Cam. Soc. ser. 3, lxxv), i. 99-100; SRO GD51/6/1242.
5. NLS mss 12865, Carnegie to J. Elliot, 9, 25 Feb. 1802.
8. NLS mss 11108, f. 176.


Police are seeking the man in connection to a vehicle stop Friday.
Police want to speak again to a Penetanguishene man in connection to a drug seizure.
The 18 year old was pulled over early Friday morning on Sandy Bay Road. Officers found a quantity of drugs in his vehicle along with $300 and associated drug paraphernalia.
The accused made a court appearance in Midland Friday and was released.
A further investigation of the incident after the accused was released has lead investigators looking to speak with the accused in relation to this incident.


High-end cybercriminals have shifted from targeting credit cards and other personal data to the intellectual capital of large corporations, according to a new study from McAfee and Science Applications International Corporation (SAIC).
This includes trade secrets and product planning documents, according to the report, which was based on a survey more than 1,000 senior IT decision makers in the U.S., UK, Japan, China, India, Brazil and the Middle East.
To save money, companies are looking to store and process intellectual property abroad, the study found. Most perceived China, Russia, and Pakistan to be the least safe for data storage. The U.S., UK, and Germany were perceived as the safest.
If there is an incident, however, you might not known about it. Fifty percent of respondents have decided not to investigate an incident because of the cost of investigation, thereby ensuring that there will be no remediation of the problems that caused the breach. Only 30 percent of organizations reported all data breaches.
When it comes to deciding where to store data, meanwhile, companies looked to reporting laws.
Another point from the study is that the distinction between inside and outside attacks is blurring. Many attacks are, in fact, performed by outsiders using stolen credentials. All of this makes the security position of large companies and the data they hold quite murky, with criminals taking advantage of the shaky data security.
The full study is available on McAfee's Web site (PDF).


Merry Christmas, Dufus! I'd give you a hug, but I have to go to the bomb shelter now.
CL: Stop, drop and roll and Merry Christmas.
Have a great Christmas John. Bombs awayyyyyy...!!!
Ha! You and I both went "dark" with our Christmas posts.
I think yours is a little darker than mine.
Don: Merry Christmas Don. Hope your new year's explosive!
Quirks: Merry Christmas girl. You da bomb! All the best for the new year.
Phillipia: Hope your Christmas is a blast!
How nice of you to spread such joy to the world. Merry Christmas, Doof!
NGIP: And Merry Christmas to you too "Nanny".


text:
Drafting, Position Review and Other Custody Assistant Issues
Rosario "Tony" Coleman
PPOA Board Secretary Custody Assistant, LASD
tcoleman@ppoa.com
The first few months of 2020 have been more productive than the previous few. Meetings with the Department about matters of our concern have taken place and have been well received by both sides, leading to follow-ups that will either hopefully resolve or bring about more in-depth dialogue about how our classification has evolved, where the missteps are and what changes can be made.
A January meeting to discuss CCWs and the MPP was positive. Potential language concerns were addressed while also identifying and addressing storage concerns at custody facilities and County buildings. We have agreed to a follow-up that will hopefully finalize the policy aspect, and an agreement in general. This will allow us to go forward with any potential process.
These discussions have been laborious and your patience in this matter has been appreciated.
Overtime and drafting continue to be major issues at some units. That prompted me to ask the Department for an account of our numbers at each unit. Is this a case of being short unit personnel or short items countywide?
Surprisingly, the total custody assistant vacancies are not the issue. It seems to be the distribution of personnel that has impacted units, some more so than others.
Government mandates, programs and political agendas have led to the creation of specialized units catering to post–inmate release programs. But are there numbers to confirm that creating more programs is better than reducing or capping current programs? Is good money being thrown after bad at the expense of overworked personnel?
Instead of taking money and hiring overtime behind vacancies, open the C/A exam and fill the vacancies. With each program the Department accepts, it should ask for an increase in C/A items to accompany them. Our diehard "overtimers" may disagree, yet those continually drafted and being pre-drafted on RDOs would beg to differ. I was told as a young C/A that overtime was a luxury and not to settle into a lifestyle based on it.
Information was provided to Sheriff Villanueva in early January by the Board of Labor Relations and Compliance. The Sheriff requested more details comparing the jobs that C/As and deputies do in custody. Station jailers were also included in this review. The review was reportedly with the Undersheriff and a second presentation is pending.
A disturbing, systemic trend of how some station jail supervisors address their jailers has to stop. We cannot curse at inmates without a complaint or consequence, so it shouldn't happen to a jailer either.
Reports of station supervisors' language and tone toward jailers have increased. Statements of "I don't care about the jail" and more colorful adjectives should not be tolerated. As long as you make your checks, pass inspection and don't have a body during your shift, that's all that matters to some. I know that's a bit severe, but some jailers would agree with that assessment.
I continue to field questions and requests about what should be applied to our position in regard to service time, education, equipment and expanding the role. All of these matters have been forwarded to the Department in some form, and their importance has not been diminished in the pursuit of recognition, respect and solidarity among our members.
In the weeks to come, I will be visiting units during briefings. I look to focus on PM and EM shifts this round, but may also stay to speak with AMs as time and unit duties permit.
I appreciate your patience during this initiative to turn around the perception and deployment of this position, from an afterthought used to supplement sworn to a recognized partnership within custody, patrol and courts.
If you have any questions, please contact me directly. Rumors lead to misunderstandings, misinterpretations, confusion, frustration and dissection. With everything we do, those are things that we don't need.
I recently saw this saying, and I feel it applies: "You can't force someone to respect you. But you can refuse to be disrespected."
Issue Articles
View the Full Issue

redpajama_set_name: RedPajamaCommonCrawl


text:
Curious Canals and Rusting Wrecks of the Wairau
amanda October 2, 2019 October 3, 2019 Leave a comment
Approaching Blenheim on my doomed road trip, I had one further detour to make. The lure of a double shipwreck was certainly an attraction, but what really sealed the deal for me was the promise of something that fundamentally challenged the standard narrative of pre-European Māori – an engineering project on a grand scale.
So I found my way on to Wairau Bar Road, following the sinuous path of the Wairau River's final stretch before the sea. I parked in the lot at the end of the long road, near the outlet to the ocean. Across the wide river before me lay the flat expanse of Te Pokohiwi, or Boulder Bank, an 8km finger of rock and sand separating the delicate lagoons from the ocean. The bank is a very early Māori settlement site, dating all the way back to the era of the "moa hunters". Our familiar friend Atholl Anderson, whose work has enlightened us on many aspects of southern Māori history, has even argued that it could be the earliest, opposing other historians who feel the warmer Far North is a more logical starting point. Intriguingly, the recent analysis of several stones found in the South Island, suggesting they were brought from Tahiti, seems to add strength to his claim of South Island first contact.
This was a good option for early settlement, with access to the strategically important Cook Strait, and nearby populations of moa and seals. Archaeological findings suggest 9000 moa were butchered here! The people appear to have been fairly strong and healthy, although most lived no more than 40 years – succumbing to infections, lung issues, or loss of teeth – a big problem in a time before dentures, and probably exacerbated by the sandy environment of the river bar.
But that's for later. Right now I'm interested in the first of the shipwrecks here: the SS Kennedy. Built in 1864 for the Australian Steam Navigation Co. as a state of the art steamship to ply the Queensland rivers, the company had a change of heart when she ran on to a reef not long after being put into service. This worked out well for Nathaniel Edwards and Co. of Nelson, who were able to purchase her in 1865 as a second ship for their run from Nelson to Hokitika which was booming due to the gold rush. She served in this manner for 54 years.
SS Kennedy and shag
She was sold in 1918 and dismantled at Wellington in 1929. Her hulk was then towed here to form a "floating dam" for the improvement of the river bar, a newspaper report of the time calling her "one of the oldest steamers in Australasia".
This was actually the second attempt to create a breakwater here, but that too is for later.
I poked around briefly and was greeted by a lone whitebaiter and his dog.
Whitebaiting the Wairau
To get to my further points of interest, I had to retrace my steps back to State Highway One and then head slightly further south until I reached Hardings Road and the start point for the Wairau Lagoons Walkway. To reach the track one must first pass between Blenheim's sewage oxidation ponds, where waste liquid is "matured" before being discharged into the Ōpaoa River.
An inauspicious beginning
I made my way on to the mud flats, picking my way beneath a temperamental sun that every so often saturated the world with colour in contrast to the grim steel sky. The odd raindrop sprinkled down, but nevertheless I was soon shedding my jacket.
The flat marsh cloaked in salt-hardy plants seemed to go on forever, and although I reminded myself that this was an area of great cultural and ecological importance, I felt that without the promise of intriguing points of interest along the 3 hour loop, I'd quickly have become bored.
So important, yet so…flat
Eventually I came to the first of the landmarks I'd been searching for. Morgans Creek looks like your average wetlands channel, but you should not be fooled by its appearance, for it is in fact an artificial canal dating back to the 1700s, part of 20km of waterways painstakingly excavated by the Rangitane under chiefs Patiti and Te Whatakoiro.
Don't be fooled!
This wetland was once one of the richest food bowls in the area, and hotly contested territory. Ngati Mamoe seized it from the Waitaha, and were in turn ousted by the Rangitane. Fighting pa were constructed in order to protect the area.
It was during a break in these struggles that these waterway systems were built. The purpose was to serve as a harvesting ground for fish and bird life. Bird in moulting season and unable to fly could be herded down the canals for capture, and eel traps were set at locations where the channel narrowed. These valuable resources were then preserved for consumption during the scarcer seasons.
The excavation would all have been done with the ko or digging stick, supplemented occasionally by adze, which makes this painstaking removal of 45,000 cubic metres of soil even more remarkable. The work took more than one generation to complete, and was finished by Te Whatakoiro's son Nganga.
Sadly, the area is now much depleted of the life it once hosted. The canal-builders had an elaborate system of resource management but the arrival of the Pakeha resulted in uncontrolled hunting. Some day, if managed right, the lagoons may once again burst with abundance.
I continued, and eventually my next goal, the SS Waverley, came into sight. In the featureless landscape it appeared as though the rusting hulk were stranded in the middle of a wide open plain.
First sighting of the SS Waverley
The Waverley was built in Auckland in 1883 for the Patea Steam Shipping Company, and in 1886 was sold to the Anchor Steam Shipping Company of Nelson, for which she plied the routes between Nelson, Wellington and the West Coast for the next 30 years. From 1916 she carried frozen meat between Patea and Wellington for the Patea Farmers' Co-operative Freezing Company. Like the Kennedy she was dismantled at Wellington, and was the first candidate for her position at the river mouth, however flood waters carried her away before she could be scuttled, and she ended up here.
Unintended resting place
Later on, the New Zealand Army used her for target practise.
Having seen my second and final wreck, I followed the homeward arc of the loop walk. This brought me along the bank of the lagoon proper, with Budges Island across the water.
The only representative I witnessed of the 90 bird species who call this wetland their home was a single spoonbill, eyeing me suspiciously from beneath his feathered mullet. How different things must have been in the time of the canal builders.
Speaking of which, I once again crossed Morgans Creek, and was able to look across to where the canal continued, bisecting Budges Island. Here it was much more obvious that the excavation was the work of human hands and not natural forces.
Morgans Creek, looking suspiciously unnatural
The rest of my journey was near identical to the beginning, and after three hours wandering the vast flat wetland I finally reached the place that I had started.
Steeped in history, this place carries the marks of some of New Zealand's first people, has been shaped by their descendants, plundered by the Pākehā, used as a ship's graveyard and finally a sanctuary for the remnants of the land's feathered inhabitants.
Such a strange bleak place to carry all that meaning.
Wairau Lagoons, including royal spoonbills
Making Peoples by James Belich
Old stone blocks linked to Tahiti by John Gibb
T.S.S. KENNEDY 1864 – 1929
Te Tau Ihu o te Waka: Aa History of Maori of Nelson and Marlborough. Volume I: Te Tangata me Te Whenua – The People and the Land by Hilary and John Mitchell
SHIPPING Evening Star, Issue 20175, 15 May 1929
LOCAL AND GENERAL NEWS. New Zealand Herald, Volume LXVI, Issue 20263, 24 May 1929
T. S. S. Waverley The last surviving West Coast Gold Fields Steamer
Battle for the Wairau
An Authentic English Autumn on the Hythe Military Canal
Shafted at Shag Point
Posted in History, Marlborough Tagged 2018 Road Trip Catastrophe, Anchor Steam Shipping Company, Archaeological Sites, Atholl Anderson, Australian Steam Navigation Co., Birds, Boulder Bank, Budges Island, Canals, Ecology, Engineering, Estuaries, Gold Rush, History, Kati Mamoe, Kennedy (Steamship), Lagoons, Māori History, Māori Prehistory, Marlborough, Moa Hunters, Morgans Creek, Mud Flats, Nathaniel Edwards and Co., Nganga, Ngati Mamoe, Ōpaoa River, Opawa River, Oxidation Ponds, Patea Farmers' Co-operative Freezing Company, Patea Steam Shipping Company, Patiti, Rangitane, Rivers, Sewage, Sewage Treatment, Shipwrecks, South Island, Spoonbills, SS Kennedy, SS Waverley, Steamships, Te Pokohiwi, Te Whatakoiro, TSS Kennedy, TSS Waverley, Vernon Lagoons, Waikārapi, Wairau Bar, Wairau Lagoon, Wairau Lagoons, Wairau Lagoons Walkway, Wairau River, Waitaha, Wastewater, Waverley (Steamship), Wildlife
PrevWelcome to Niue!NextUnderwater Niue
Road to Pukerangi
A Tatare-ifying Tunnel Adventure
A Cruise Through the Catlins
Adrift on the Avon
Yang on A Night of Kentish Shore Fishing
Richie on Down Home at the Stewart Farm
Pam Stewart on Exploring Historic Caversham
3impeach on A Visit to Seacliff Lunatic Asylum


text:
Coming up this weekend:
Rima Staines & Tom Hirons are launching their summer show at Lowton Farm this weekend: The Singing Bone, a lovely piece of storytelling woven with music and puppetry. Soon after, Hedgespoken hits the road, carrying stories, art, and magic to festivals, communities, and off-grid performances spaces across the British Isles. We won't see much of them again until autumn, which is when they return to Lowton Farm to work on their first full-lenth theatre piece, The Hedgehog's Bride: devised by the Hedgespoken puppetry team, and directed by my husband Howard.
This weekend's event is also a celebration of the Hedgespoken dream, and of all who have supported it. Once upon a time this traveling folk theatre was just a gleam in Tom & Rima's eyes -- but after a successful crowd-funding campaign, followed by a lot of hard, hard work, this amazing couple have it all up and running as they'd planned, with several projects now coming to fruition.
One of these projects is Tatterdemalion, a beautiful and deeply folkloric new book by Rima and Sylvia Linsteadt that has just been published by Unbound. The text, by Sylvia, was written in response to Rima's paintings, and the result is pure enchantment. Here's Sylvia explaining the project:
Below: Tilly gives our brand new copy of Tatterdemalion her seal of approval.
If you're anywhere within striking distance of Devon, please come join us at the Hedgespoken show this weekend. (Tickets here.) I'll be there on Saturday, at the 3 pm show. Howard, as part of the Hedgespoken team, will be there on both Saturday and Sunday, debuting his new "Punch & Judy" puppet show as one of the side attractions.
Below: The wicked, incorrigible Mr. Punch making an impromptu appearance in the Hedgespoken doorway....
Also, for any of you who live Totnes-way, Howard will be at the Totnes Party in the Town on Friday night, directing the performers who are part of Alice Oswald's poetry procession at 8 pm. (Look for the crows!)
in Books, Events, Folk drama & theatre, Hedgespoken, Puppets | Permalink | Comments (6)
This morning we start by going out into "The Woods" with Polly Paulusma and Rima Staines. The song is from Polly's album Finger & Thumbs. The video features stop-motion/paper-cut animation by Rima. It was the first piece of animation she'd ever done.
Below: "Lake Tahoe" by Kate Bush, from her album 50 Words for Snow. This touching video, directed by Bush herself, tells the tale of a dog longing for his owner. "It has all been created in camera with shadow puppets, one of my favourite art forms because of its simplicity," she says.
Above: "When I Grow Up," performed by the Swedish folk duo First Aid Kid. The song was written by by Karin Dreijer Andersson (aka Fever Ray), and the stop motion/paper-cut animation is by Rachael Greenfield.
Below: "Furr," by the American alt folk band Blitzen Trapper, about a wolf-boy in the woods of Oregon, with animation directed by Jade Harris. The video quality isn't as sharp as it could be, alas, but the song is charming.
And one more:
"Within the Rose," by British alt folk band Matthew and the Atlas (from their album True North), with shadow puppet animation by Neil Coxhill. Simply gorgeous, song and video alike.
I'm on a Writing Retreat at the moment -- but I set up this post for you in advance, and very much hope you enjoy these tunes. If you'd like a little more animation this morning, go here.
Have a good start to the week, everyone.
The art today is by Rima Staines. To see more of her magical work, please visit her website, blog, and the Hedgespoken page.
in Music | Permalink | Comments (3)
The Peace of Wild Things
During my coffee break beside the stream yesterday, I was struck by the following words in Priscilla Stuckey's Kissed by a Fox (and Other Stories of Friendship in Nature):
"If mind belongs to humans alone," she writes, "then stones, trees, and streams become mere objects of human tinkering. We can plunder the earth's resources with impunity, treating creeks and mountaintops in Kentucky or rivers in India or forests in northwest America as if they existed only for economic development. Systems of land and river become inert chunks of lifeless mud or mechanical runs of H2O rather than the living, breathing bodies upon which we and all other creatures depend for our very lives.
"Not to mention what 'nature as machine' has done to our emotional and spiritual well-being. When we regard nature as churning its way forward mindlessly through time, we turn our backs on mystery, shunning the complexity as well as the delights of relationship. We isolate ourselves from the rest of the creatures with whom we share this world. We imagine ourselves the apex of creation -- a lonely spot indeed. Human minds become the measure of creation and human thoughts become the only ones that count. The result is a concept of mind shorn of its wild connections, in which feelings become irrelevant, daydreams are mere distractions, and nighttime dreams -- if we attend to them at all -- are but the cast-offs of yesterday's overactive brain. Mind is cut off from matter, untouched by exingencies of mud or leaf, shaped by whispers or gales of wind, as if we were not, like rocks, made of soil.
"And then we wonder at our sadness and depression, not realizing that our own view of reality has sunk us into an unbearable solipsism, an agony of separateness -- from loved ones, from other creatures, from rich but unruly emotions, in short, from our ability to connect, through senses and feeling and imagination, with the world that is our home."
A little later in the same essay she writes:
"And here lies the crux of the matter: to say that nature is personal may mean not so much seeing the world differently as acting differently -- or, to state it another way, it may mean interacting with more-than-human others in nature as if those others had a life of their own and then coming to see, through experience, that these others are living, interactive beings.
"When nature is personal, the world is peopled by rocks, trees, rivers, and mountains, all of whom are actors and agents, protagonists of their own stories rather than just props in a human story. When Earth is truly alive, the world is full of persons, only some of whom are human."
In an essay on animal consciousness published in Lapham's Quaterly, John Jeremiah Sullivan notes:
"If we put aside the self-awareness standard -- and really, how arbitrary and arrogant is that, to take the attribute of consciousness we happen to possess over all creatures and set it atop the hierarchy, proclaiming it the very definition of consciousness (Georg Christoph Lichtenberg wrote something wise in his notebooks, to the effect of: only a man can draw a self-portrait, but only a man wants to) -- it becomes possible to say at least the following: the overwhelming tendency of all this scientific work, of its results, has been toward more consciousness. More species having it, and species having more of it than assumed. This was made boldly clear when the 'Cambridge Declaration on Consciousness' pointed out that those 'neurological substrates' necessary for consciousness (whatever 'consciousness' is) belong to 'all mammals and birds, and many other creatures, including octopuses.' The animal kingdom is symphonic with mental activity, and of its millions of wavelengths, we're born able to understand the minutest sliver. The least we can do is have a proper respect for our ignorance.
"The philosopher Thomas Nagel wrote an essay in 1974 titled, 'What Is It Like To Be a Bat?,' in which he put forward perhaps the least overweening, most useful definition of 'animal consciousness' ever written, one that channels Spinoza's phrase about 'that nature belonging to him wherein he has his being.' Animal consciousness occurs, Nagel wrote, when 'there is something that it is to be that organism -- something it is like for the organism.' The strangeness of his syntax carries the genuine texture of the problem. We'll probably never be able to step far enough outside of our species-reality to say much about what is going on with them, beyond saying how like or unlike us they are. Many things are conscious on the earth, and we are one, and our consciousness feels like this; one of the things it causes us to do is doubt the existence of the consciousness of the other millions of species. But it also allows us to imagine a time when we might stop doing that."
In addition to Stuckey's book and Sullivan's essay, I recommend Brandon Kein's "Being a Sandpiper" (Aeon); Stephen M. Wise's "Nonhuman Rights to Personhood" (pdf); and Karen Joy Fowler's brilliant and devastating new novel, We Are All Completely Beside Ourselves. (Avoid reviews of the latter if you possibly can. The less you know about the story before you read it, the more wonderful it is.)
The passage by Priscilla Stuckey above is from Kissed by a Fox & Other Stories of Friendship in Nature (Counterpoint, 2012). The poem in the picture captions is from The Selected Poems of Wendell Berry (Counterpoint, 1999). You can hear the author read it here. All rights to the text above reserved by the authors.
in Animals, From the archives, Recommended reading, Wild ethics | Permalink | Comments (14)
The practice of kindness
To continue our conversation on kindness:
One problem we have today is that many think of the word "kind" as a synonym for "nice," a quality with soft, even bland, connotations -- whereas true kindness is so much more than this. The practice of kindness requires empathy, compassion, and generosity aligned with keen perception, self knowledge, and clarity of purpose. It's not enough to be nice to live by a code of kindness, it requires fierce courage as well: The courage to be open-hearted. To be vulnerable. To rely on others, and be relied on in turn. To go against the grain of a culture devoted to self-aggrandizement and competitive individualism. To be misunderstood by that culture, or dismissed, and to remain kind nonetheless -- steadfast in purpose, focused on the practice of kindness, not its outcome. Kindess in this wider aspect is not limited to human relationships but extends to the way that we walk through life, and engage with the nonhuman world around us. The code of kindness includes our relationship with the planet, and all who share it.
Scientist Barbara McClintock, for example, clearly lived by a code of kindness (even if she never defined it that way) -- and her open-hearted approach to research led to a revolution in our understanding of genetics. As Pricilla Stuckey explains:
"Looking at nature with compassion was a method of Barbara McClintock, the 1983 winner of the Nobel Prize in Physiology or Medicine. McClintock was a geneticist working to decipher the maize genome at the same time in the 1950s that her peers Watson and Crick were discovering the double helix structure of DNA. Unlike most geneticists, however, who thought of genes as fixed units, like pearls on a string, McClintock watched, puzzled, as maize genes jumped from their supposedly fixed postitions to take up other spots on the strand. McClintock's discovery of 'transposable' genetic elements inaugurated what Stephen Jay Gould called a second revolution in genetics....
"McClintock often said that in order to understand any organism, you have to 'get a feel for it.' In her small maize field she walked meditatively every morning during the growing season, memorizing the smallest changes in each plant from the day before. 'I start with the seedling,' she said, 'and I don't want to leave it. I don't feel I really know the story if I don't watch the plant all the way along. So I know every plant in the field. I know them intimately, and I find it a great pleasure to know them.'
"She regarded her stalks of maize, she said, with 'real affection,' watching each as if from the inside -- as if, a colleague remarked, she could write its autobiography. Gould observes that hers was the method of naturalists, who typically spend time watching and listening to -- and developing appreciation for -- the plants or animals or landscape they study, rather than, as most molecular biologists do, trying to isolate chemical chains of cause and effect. McClintock's genius lay in applying the method of naturalism to her work in the lab.
"Both a naturalist and a contemplative -- don't the two often go together? -- McClintock in her deep gazing may seem very familiar to those who have practiced meditation or gone on a retreat in a monestary or ashram. I think of one of her breakthrough moments in the laboratory, when, after some days of feeling stymied, unable to make sense of the tangled chromosomes under her microscope, McClintock took a walk to sit under a eucalyptus tree. She returned to the lab feeling energized. When she looked again through the microscope at the chromesomes, she reported,
'I found that the more I worked with them, the bigger and bigger [they] got, and when I was really working with them I wasn't outside, I was down there. I was part of the system...and everything got big. I was even able to see the internal part of the chromosomes....It surprised me because I actually felt as if I were right down there and these were my friends.'
"The process of looking closely at the chromosomes led her into a feeling of unity with them," notes Stuckey, "which led in turn to a more accurate understanding of how they operated, seeing them as clearly as if she were moving among them.
"What is remarkable about her form of contemplation, and what makes it accessible to nonscientists, is that, as one biographer wrote, her 'most mystical sounding ideas stemmed from observation and scepticism, not occult visitations.' She merely looked in, and in looking, loved. ' "
She merely looked, and in looking loved. That's what I aim for every day.
The passage above by Priscilla Stuckey is from Kissed by a Fox & Other Stories of Friendship in Nature (Counterpoint, 2012), which I highly recommend. All rights reserved by the author.
in Hope & Resistance, Horses & ponies, Kindness, Wild ethics | Permalink | Comments (12)
Talking to the moon
After writing about kindness yesterday, I've been thinking about the ways in which the lack of kindness propels some of us into the arts: not only as way to retreat from pain, or to cope with it, or to attempt to understand it, but also as a means of creating (to quote Anais Nin) "a world in which one can live."
For example, here's a passage by British novelist Catherine Storr from her essay "Why Write? Why Write for Children?" (published in The Thorny Paradise). Storr describes her parents as loving ones who did not mean to be unkind, and yet her own open-hearted nature was viewed with deep suspicion:
"I am a compulsive writer," Storr begins. " I suppose that before I'd learn to write without too much difficulty, I was a compulsive talker. This is borne out by the memory of hearing my parents say, 'Catherine never stops talking.' I think I went on talking too much until the awkwardness of adolesence overcame the habit. But before that I'd discovered writing; and though it didn't immediately cure me of talking too much, it did provide an outlet for the need to communicate.
"What I needed to communicate was feelings. We were a very buttoned up family as far as the emotions were concerned. I don't remember ever doubting that my parents loved us, but they never said so in so many words. They also weren't at all physically demonstrative; you had to be in considerable distress before you got picked up and hugged. Kissing was something you did before going to bed or saying goodbye for a longer period. This restraint didn't come naturally to me at all, and besides being told I talked too much, I was also frequently told I shouldn't ask for displays of affection. It was recognized in the family that Catherine was sentimental, and that this should be discouraged.
"Until I was ten, these reprehensible feelings had to be repressed, or carefully monitored so that they didn't offend my parents' austere standards. I can still remember attributing one particular enthusiasm to my doll, so that I wouldn't be held responsible for it. It was a marvelous day in the country and I was aching to say so to someone, but I knew if I did I'd be laughed at, so I said, 'Ruthy is feeling sentimental. She says, "How blue the sky! How green the grass!" But even this ruse didn't work. I was laughed at again.
"What happened when I was ten was that the door suddenly opened. I was lying in bed with the curtains undrawn and I saw a huge white moon looking at me through the branches of the aspen poplar tree which stood about forty feet away in the garden opposite my window. It must have been spring, I think, because the branches were bare. I got out of bed and wrote a poem to the moon with a blunt pencil on a sheet of manuscript music paper, which was all I could find. It was blank verse and until that moment I'd had no idea that I could write anything more ambitious than rhyming couplets. It was a very exciting moment. Probably all the more exciting because it was forbidden to wander out of bed after eight o'clock. Then next morning I read the poem through and was rather impressed by it. It was a great deal better than I'd have expected."
That little girl grew up to become the author of over thirty books for children and adults (as well as a medical doctor and psychologist), writing right up to her death at age 87. Having raised three daughters, Storr was often asked if her childrens' books had been written for them. Well yes, to some degree, she said, but mostly she'd written them for herself:
"William Mayne, when asked for whom he wrote his books, said: For the child I once was. I'm sure this is true of many writers for children, but I think it is also true that that one writes for the child one still is."
The passage above is from "Why Write? Why Write for Children" by Catherine Storr, published in The Thorny Paradise: Writers on Writing for Children, edited by Edward Blishen (Kestral Books, 1975). The poem in the picture captions is from Poetry magazine (October 2012). All rights reserved by the authors or their estates.
in Children, Hope & Resistance, Kindness, On the creative process, On writing | Permalink | Comments (10)


This one is all on one topic, Donald Trump. Most of these are various takes and opinions on his statement yesterday suggesting that "second amendment people" could stop Hilary appointing judges they don't like.
There are some arguing that meant he wanted gun owners to vote. No, I'm sorry. I've been an English speaker my whole life and as an attorney can spot the implications of a remark. And if it was meant as a joke, it was in incredibly poor taste. When a politician gets shot, our choices become more limited and thousands who might run for office are deterred from doing so.
It's not funny and it's incredibly reckless.
So, today is all Donald.
What does Trump think about gun owners?
It's been suggested that what Trump actually said was "Although the Second Amendment, people, maybe there is, I don't know." From the tape, this is plausible. But it's not likely. For one thing, the Trump campaign itself used the phrase "2nd Amendment people" in its press release defending the comments, and for another, the rest of the quote makes clear that Trump's remark was less a stirring call to arms for gun lovers than a casual crack at their expense. Where the rest of us might feel like we have no options in a Hillary Clinton presidency, the subtext goes, they're so insane that they might shoot a judge. That's what his "I don't know" means. Who knows what those loons are capable of?
Barely 24 hours after Donald Trump delivered a speech intended to reset his staggering presidential campaign, his off-the-cuff suggestion that people resort to violence against his opponent has him right back in the ditch.
At a rally in North Carolina on Tuesday, Trump applied his signature sarcasm to a political third rail, stating that "the Second Amendment" may be the only way to stop Clinton from getting to appoint federal judges if she defeats him in November.
Can we get a real medical report on Trump?
In the latest twist on the weirdest campaign ever, Donald Trump seems to have encouraged supporters to kill Hillary Clinton. Trump said, "By the way, if she gets to pick her judges, nothing you can do folks. Although, the Second Amendment people maybe there is. I don't know." Of course in the immediate aftermath of the loony homicidal comment, the Trump campaign is now saying that the "dishonest media" is misreading his claim. That might hold water if it weren't actually the second time that his campaign has supported killing Trump's competition in the last month.
What did Trump mean? Was it a joke?
McClatchy Decides That it is all a matter of Perspective!!
The BBC Take on all this!
I recall the book 'How to be an alien' by George Mikes, wherein he says: "In continent you get good dishes, in England good table manners'. I also remember London Times report on Queen Mother's 90th birthday where the Lady gracefully handed over her fork to the Archbishop of Canterbury sitting next to her after he used up one of the dozens he was given that he ought not to have. America is trying to shackle the burden of free speech to a set pattern of behaviour, at least in the public arena, similar to the Victorian era.
Trump did say what he did but being what he is, the intent is to show the power [of votes] against Hillary. On the same day Hillary VIP enclosure had given a place to Orlando terrorist's father. When she was questioned about it today she just ignored it. With Trump you get good dishes, with Hillary good table manners.
It is an interesting study of what USA has to look for now. Not the same repetitive Russia is a monster, Saudis are crucial in our roadmap etc. If Hillary comes in as the next Prez, USA will meet the fate of the Ottoman Empire. If Trump becomes one there is a good chance of change in US direction. It is good he doesn't conform to the stiff-upper-lip category and do things nasty till wikileaks releases the info. Trump interests me a lot with great hopes for change not Hillary. She is an old bag that needs to be discarded for the sake of USA. He is battling alone the establishment.


Discussions for developers producing and distributing shrink wrap solutions.
import - Your access privileges do not allow you to perform this action.
General methodology for updating an solution?
adding an install serial number or some type of piracy protection?


We are a group of Nurse Practitioners in the State College, Pennsylvania area. Our group includes approximately 40 members from Centre, Clinton, Jefferson, Huntingdon, and Mifflin counties. We gather 4 times a year for dinner and a 1-2 hour continuing education program. We welcome and encourage new members anytime.
To improve communications among nurse practitioners, other healthcare professionals and the community.
To address political and legislative issues pertinent to nurse practitioners in the delivery of health care.
To promote the role of NPs to the public, legislators, policy makers, and other healthcare professionals.
To foster individual and group research projects.


Several of my friends and family have asked me how I make my smoothie. So I decided to put the recipe here for those interested. My typical routine is to have a morning cup of coffee, hit the gym, and then come back and have the smoothie. It give me energy, fills me up until the afternoon, and provides a serious daily dose of fruit. Drinking one of these is a wonderful way to start the day.
Add all ingredients into the blender, mix, and enjoy!
-I always use blueberries in my smoothie because they are so good for you and contain the most amount of antioxidants. But all the other fruits and berries vary depending on what I have in the fridge. If we have watermelon, grapes, apples, pears, or mangoes on hand I may throw those into the mix as well.
-Frozen fruit is just as good to use as fresh fruit. In the winter when the berries are out of season we go to Costco or Trader Joe's and stock up on frozen mango's, blueberries, and strawberries.
-I tried to make accurate measurements for this recipe but keep in mind you don't have to measure anything. Just add ingredients based on your personal preference.
-If you use vanilla yogurt it will make the smoothie taste a bit sweeter than using plain yogurt. I prefer this especially when I am using more an assortment of berries that are not sweet. Also, I always use Greek yogurt because it contains more protein than regular non fat yogurt.