text:
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Newtonsoft.Json;
using Platibus.Filesystem;
using Platibus.Http;

namespace Platibus.Diagnostics
{
    /// <summary>
    /// A base class for <see cref="IDiagnosticService"/> implementations based on the Graylog
    /// Extended Log Format (GELF)
    /// </summary>
    public abstract class GelfLoggingSink : IDiagnosticEventSink
    {
        private readonly JsonSerializerSettings _jsonSerializerSettings = new JsonSerializerSettings
        {
            NullValueHandling = NullValueHandling.Ignore,
            DefaultValueHandling = DefaultValueHandling.Ignore
        };

        /// <inheritdoc />
        public void Consume(DiagnosticEvent @event)
        {
            var gelfMessage = new GelfMessage();
            PopulateGelfMessage(gelfMessage, @event);
            var json = JsonConvert.SerializeObject(gelfMessage, _jsonSerializerSettings);
            Process(json);

            // Allow exceptions to propagate to the IDiagnosticService where they will be caught
            // and handled by registered DiagnosticSinkExceptionHandlers
        }

        /// <inheritdoc />
        public async Task ConsumeAsync(DiagnosticEvent @event, CancellationToken cancellationToken = new CancellationToken())
        {
            var gelfMessage = new GelfMessage();
            PopulateGelfMessage(gelfMessage, @event);
            var json = JsonConvert.SerializeObject(gelfMessage, _jsonSerializerSettings);
            await ProcessAsync(json, cancellationToken);

            // Allow exceptions to propagate to the IDiagnosticService where they will be caught
            // and handled by registered DiagnosticSinkExceptionHandlers
        }

        /// <summary>
        /// Processes the specified GELF formatted string by writing it to a file or sending it to
        /// a network endpoint
        /// </summary>
        /// <param name="gelfMessage">The JSON serialized GELF message to process</param>
        /// <returns>Returns a task that will complete when the GELF message has been processed</returns>
        public abstract void Process(string gelfMessage);

        /// <summary>
        /// Processes the specified GELF formatted string by writing it to a file or sending it to
        /// a network endpoint
        /// </summary>
        /// <param name="gelfMessage">The JSON serialized GELF message to process</param>
        /// <param name="cancellationToken">(Optional) A cancellation token that can be provided
        /// by the caller to interrupt processing of the GELF message</param>
        /// <returns>Returns a task that will complete when the GELF message has been processed</returns>
        public abstract Task ProcessAsync(string gelfMessage, CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// Serializes the specified <paramref name="gelfMessage"/> to a JSON string
        /// </summary>
        /// <param name="gelfMessage">The GELF message to serialize</param>
        /// <returns>Returns the JSON serialized <paramref name="gelfMessage"/></returns>
        protected string Serialize(GelfMessage gelfMessage)
        {
            if (gelfMessage == null) throw new ArgumentNullException(nameof(gelfMessage));
            return JsonConvert.SerializeObject(gelfMessage, _jsonSerializerSettings);
        }

        /// <summary>
        /// Sets the standard and common additional GELF fields with values from the specified
        /// diagnostic <paramref name="event"/>.
        /// </summary>
        /// <param name="gelfMessage">The GELF message to populate</param>
        /// <param name="event">The diagnostic event</param>
        /// <returns>The GELF formatted string</returns>
        protected virtual void PopulateGelfMessage(GelfMessage gelfMessage, DiagnosticEvent @event)
        {
            var source = @event.Source;
            gelfMessage.Facility = source == null ? "Platibus" : source.GetType().FullName;
            gelfMessage.Level = GetSyslogLevel(@event.Type.Level);
            gelfMessage.Timestamp = @event.Timestamp;
            gelfMessage.EventType = @event.Type;
            gelfMessage.Queue = @event.Queue;
            gelfMessage.Topic = @event.Topic;

            if (MessageTooLong(@event.Detail, out string shortMessage))
            {
                gelfMessage.ShortMessage = shortMessage;
                gelfMessage.FullMessage = @event.Detail;
            }
            else
            {
                gelfMessage.ShortMessage = @event.Detail;
            }

            if (string.IsNullOrWhiteSpace(gelfMessage.ShortMessage))
            {
                // Short message is required.  Default to the event type.
                gelfMessage.ShortMessage = @event.Type;
            }

            if (@event.Exception != null)
            {
                gelfMessage.Exception = @event.Exception.ToString();
            }

            PopulateMessageFields(gelfMessage, @event);
            PopulateHttpFields(gelfMessage, @event as HttpEvent);
            PopulateFilesystemFields(gelfMessage, @event as FilesystemEvent);
        }

        /// <summary>
        /// Populates fields on the GELF message that correspond to the properties of the
        /// <see cref="DiagnosticEvent.Message"/>
        /// </summary>
        /// <param name="gelfMessage">The GELF message to populate</param>
        /// <param name="event">The diagnostic event</param>
        protected virtual void PopulateMessageFields(GelfMessage gelfMessage, DiagnosticEvent @event)
        {
            if (@event.Message == null) return;

            var headers = @event.Message.Headers;
            gelfMessage.MessageId = headers.MessageId;
            gelfMessage.MessageName = headers.MessageName;
            gelfMessage.RelatedTo = headers.RelatedTo == default(MessageId)
                ? null
                : headers.MessageId.ToString();

            if (headers.Origination != null)
            {
                gelfMessage.Origination = headers.Origination.ToString();
            }
            if (headers.Destination != null)
            {
                gelfMessage.Destination = headers.Destination.ToString();
            }
            if (headers.ReplyTo != null)
            {
                gelfMessage.Destination = headers.ReplyTo.ToString();
            }
        }

        /// <summary>
        /// Populates fields on the GELF message that correspond to properties on an
        /// <see cref="HttpEvent"/>
        /// </summary>
        /// <param name="gelfMessage">The GELF message to populate</param>
        /// <param name="httpEvent">The HTTP diagnostic event</param>
        protected virtual void PopulateHttpFields(GelfMessage gelfMessage, HttpEvent httpEvent)
        {
            if (httpEvent == null) return;

            gelfMessage.Remote = httpEvent.Remote;
            gelfMessage.HttpMethod = httpEvent.Method;
            gelfMessage.HttpStatus = httpEvent.Status;
            if (httpEvent.Uri != null)
            {
                gelfMessage.Uri = httpEvent.Uri.ToString();
            }
        }

        /// <summary>
        /// Populates fields on the GELF message that correspond to properties on an
        /// <see cref="FilesystemEvent"/>
        /// </summary>
        /// <param name="gelfMessage">The GELF message to populate</param>
        /// <param name="fsEvent">The filesystem diagnostic event</param>
        protected virtual void PopulateFilesystemFields(GelfMessage gelfMessage, FilesystemEvent fsEvent)
        {
            if (fsEvent == null) return;
            gelfMessage.Path = fsEvent.Path;
        }

        private static readonly IDictionary<DiagnosticEventLevel, int> SyslogLevels = new Dictionary<DiagnosticEventLevel, int>
        {
            { DiagnosticEventLevel.Trace, 7 },
            { DiagnosticEventLevel.Debug, 7 },
            { DiagnosticEventLevel.Info, 6 },
            { DiagnosticEventLevel.Warn, 4 },
            { DiagnosticEventLevel.Error, 3 }
        };

        /// <summary>
        /// Returns the syslog level corresponding to the specified diagnostic event
        /// <paramref name="level"/>
        /// </summary>
        /// <param name="level">The diagnostic event level</param>
        /// <returns>Returns the syslog level corresponding to the specified diagnostic event
        /// level</returns>
        protected int GetSyslogLevel(DiagnosticEventLevel level)
        {
            return SyslogLevels.TryGetValue(level, out int syslogLevel) ? syslogLevel : 7;
        }

        /// <summary>
        /// Determines whether the <paramref name="fullMessage"/> is too long to use for the GELF
        /// <c>short_message</c> field, parsing out an appropriate substring to use as the short
        /// message that is the case.
        /// </summary>
        /// <param name="fullMessage">The full message</param>
        /// <param name="shortMessage">A variable that will receive a substring of the
        /// <paramref name="fullMessage"/> that is appropriate to use for the <c>short_message</c>
        /// if the <paramref name="fullMessage"/> is too long</param>
        /// <returns>Returns <c>true</c> if the <paramref name="fullMessage"/> is too long and
        /// a separate <paramref name="shortMessage"/> is needed; <c>false</c> otherwise</returns>
        protected virtual bool MessageTooLong(string fullMessage, out string shortMessage)
        {
            if (string.IsNullOrWhiteSpace(fullMessage))
            {
                shortMessage = fullMessage;
                return false;
            }

            const int maxShortMessageLength = 100;
            const string trailingEllipses = "...";
            if (fullMessage.Length > maxShortMessageLength)
            {
                var cutoffPoint = maxShortMessageLength - trailingEllipses.Length;
                var lastWhitespace = fullMessage.LastIndexOf(" ", cutoffPoint, StringComparison.OrdinalIgnoreCase);
                if (lastWhitespace > 0)
                {
                    cutoffPoint = lastWhitespace;
                }
                shortMessage = fullMessage.Substring(0, cutoffPoint) + trailingEllipses;
                return true;
            }

            shortMessage = fullMessage;
            return false;
        }
    }
}


The distance between Tel Aviv and Tehran is 993 miles [1,598 kilometers), so the U.S. missile radar overshoots the mark by almost 2,000 miles. Enough to cover all of eastern and most of southern Russia where the bulk of that nation's strategic missile forces are stationed.
The United States and Israel have just completed the largest joint interceptor missile exercises ever conducted by the two nations and, in terms of scope and sophistication, possibly the most comprehensive joint live-fire anti-ballistic missile drills held by any combination of countries.
The high-altitude Arrow 2 theater anti-ballistic missile system jointly developed by the U.S. and Israel – Israel Aerospace Industries and Boeing – and supervised by the Israeli Ministry of Defence and the Pentagon's Missile Defense Agency.
Terminal High Altitude Area Defense (THAAD), designed for destroying on impact short- and medium-range ballistic missiles, developed by Lockheed Martin Space Systems.
Patriot Advanced Capability-3 (PAC-3) guided missiles with seven times the range of earlier Patriot models.
The ship-based Aegis Ballistic Missile Defense System equipped with the Standard Missile 3 (SM-3) and AN/SPY-1 radar with 360 degree coverage. The SM-3, which was used to shoot a U.S. satellite out of orbit in February 2008 to give an idea of its range, is to be modified for ground deployment as part of the new interceptor missile system announced by U.S. President Barack Obama and Defense Secretary Robert Gates on September 17.
The last day's drills were attended by Prime Minister Binyamin Netanyahu, Defense Minister Ehud Barak, Israel Defense Forces Chief of Staff Gabi Ashkenazi, the U.S. ambassador to Israel, James Cunningham, and another major American official, James Stavridis.
The drills received limited coverage in the world press and the fact that Admiral Stavridis, commander of U.S. European Command (USEUCOM) and NATO's Supreme Allied Commander Europe (SACEUR), arrived in Israel on November to inspect their final stages was only reported in the Israeli press.
"Israel bombs Iranian nuclear facilities – and Iran hits back.
"In that case, Israel would definitely need the missile shield – sophisticated long-range radars and Patriot anti-missile devices – being tested in joint war games this week.
Shortly before and during the course of the exercises – which were scheduled to begin on October 12 and postponed without explanation the day before, although U.S. warships were docked in the port city of Haifa – several other reports surfaced that lend credence to the above suspicion.
In late October it was announced that Raytheon Missile Systems "was awarded two contracts worth in excess of $100 million by [Israel's] Rafael Advanced Defense Systems Ltd. to design and develop the David's Sling Weapon System [DSWS].
"The DSWS is a joint program between the Missile Defense Agency and the Israel Missile Defense Organization. The system will defeat short-range ballistic missiles, large-caliber rockets and cruise missiles in their terminal phase of flight.
Five weeks earlier Germany delivered two U212 Dolphin-class submarines, which "can launch cruise missiles carrying nuclear warheads," to Israel ahead of schedule. They were initially to have arrived in 2010.
"Including the new subs, Israel has five German submarines – the most expensive weapon platforms in Israel's arsenal.
Iran and its neighbors are not the only nations in the gun sights of the layered, integrated missile killer system premiered in Israel over the past two weeks.
In addition to the "specific threats" motif that ran through reports of Juniper Cobra, another theme was repeatedly stressed: That what the exercises focused on was a trial run for a NATO missile system to encompass the entire European continent.
"Results of the Juniper Cobra missile defense exercise staged by Israeli and American forces…will be used by the US Defense Department to help formulate a new NATO missile shield for Europe, senior defense officials said….The drill was also relevant for a potential European missile shield, since the Americans would need to test their systems in different weather conditions.
"[A] new plan under consideration will include the deployment of US navy ships equipped with Aegis missile defense systems to form a front line in the Mediterranean Sea alongside a few land-based missile systems in Europe.
At the same time Israeli sources confirmed that the nation's navy will join NATO's Operation Active Endeavor, the eight-year-old naval surveillance and interdiction program which has comprehensively policed the entire Mediterranean Sea and all entrances into it (the Strait of Gibraltar, the Suez Canal, the Dardanelles) under the aegis of the Alliance's Article 5 collective military assistance provision.
Discussions have been common in leading Western circles on extending the Article 5 clause – "The Parties agree that an armed attack against one or more of them in Europe or North America shall be considered an attack against them all" – to NATO partners as well as to full member states. In all some 60 nations.
Israel is a case in point. And so are Iran's neighbors in the Persian Gulf.
The Istanbul Cooperation Initiative was launched at the NATO summit in Istanbul, Turkey in 2004 to upgrade the bloc's Mediterranean Dialogue partners (Algeria, Egypt, Israel, Jordan, Mauritania, Morocco and Tunisia) to a level comparable to members of the Partnership for Peace program, used to promote ten new nations into full membership over the past decade, and to forge a military alliance with the six members of the Gulf Cooperation Council (GCC): Bahrain, where the U.S. Navy's 5th Fleet is headquartered, Kuwait, Oman, Qatar, Saudi Arabia and the United Arab Emirates.
Along with escalation of troop deployments to Iran's eastern neighbor, Afghanistan, NATO's expansion into the Persian Gulf is an integral component of the encirclement of Iran preparatory to any future military attack on that country.
Another aspect of the campaign to neutralize Iranian military capabilities and thus prevent retaliation in the event of a first strike assault on it was started in September of 2008, a year before the announced changes in U.S. plans for the European flank of its global missile interception system.
This represents the first formal deployment of American troops, of any foreign soldiers, to Israel in the nation's 61-year history. Although not formally a permanent assignment, there is no reason to believe that the radar installation will ever be withdrawn. It is located at the Nevatim airbase in the Negev Desert where Israeli nuclear weapons are assumed to be stored.
The 2,900-3,200-mile range missile radar system was put to far more extensive use over the past two weeks in the Juniper Cobra exercises, and was integrated into not only a pilot project for layered, joint land and sea, missile interception, but also served as the prototype for the new American and NATO "stronger, smarter, and swifter" (Barack Obama on September 17) missile system that will take in the entire European continent and extend into the Black Sea, the Caucasus, the Eastern Mediterranean, the Persian Gulf and points further south and east.
A system that will render potential victims of a first strike military onslaught incapable of threatening retaliation – the deterrence capability – or of effectively responding after the fact.


To help listeners make informed decisions about their listening choices, Cast of Wonders includes content warnings on episodes which contain subjects or content which might disturb. And although our episodes are designed for the commute, we realize there may also be times when younger listeners are in the car.
Content warnings are listed both on the website, and read before a story containing potentially disturbing content.
This list was created with our younger listening audience in mind, and therefore includes many items (such as drug use, common phobias and the death of pets) which might not appear at other publications. Many of the entries you would expect to find in a traditional content warning list, such as graphic violence or explicit sexual content, are absent because we do not publish stories which contain those elements.


Hi physics lovers! I`ve not forgotten about my cracking standard grade class.
Folks here are the answers to your Easter Revision booklet. I hbope you have been working hard because it will pay off in a few weeks time.
Click here for your answers.
Comments Off on Standard Grade Answers.


text:
Home Letters of the Office of Indian Affairs, 1849-1880, California Superintendency Letter from O. M. Wozencraft to A. B. Greenwood, 1860
Letter from O. M. Wozencraft to A. B. Greenwood, 1860
California  W98
Wash. May 9, 60
Enc two drafts of Adam Johnston - one for $2670.36 favor of Moorhead Whitehead & Waddington, dated July 23, 1851 - The other for $1124.60, favor of the same parties, dated Aug 9, 1850 - also the a/c of Moorhead Whitehead & Waddington for flour he alleges was purchased for the Indian Service by himself and said Johnston
Rec'd May 9, '60
drafts & acct withdrawn by D. Wozencraft
Washington D.C.: May 9th 1860
Hon'l A. B. Greenwood
Commissioner of Indian Affairs
Enclosed please notice three several obligations for Flour purchased for the Indians: one by myself, the other two, at my instance by Adam Johnston, who at the time had charge of the Indians in my District.
In other instances, where the processed supplies for those Indians, subsequently settled with the Parties by giving Drafts on the Government, and feel partly bound to have the enclosed settled, and would wish to do so, out of the amount appropriated for that purpose.
Your obt Svt
Title Letter from O. M. Wozencraft to A. B. Greenwood, 1860
Date May 09 1860
Description Enclosed three drafts, one by Wozencraft and two by Adam Johnston, for flour purchased for the Indians in California.
Transcription [Cover] California W98 O. M. Wozencraft Wash. May 9, 60 Enc two drafts of Adam Johnston - one for $2670.36 favor of Moorhead Whitehead & Waddington, dated July 23, 1851 - The other for $1124.60, favor of the same parties, dated Aug 9, 1850 - also the a/c of Moorhead Whitehead & Waddington for flour he alleges was purchased for the Indian Service by himself and said Johnston Rec'd May 9, '60 drafts & acct withdrawn by D. Wozencraft 13th June 1860 Grayson [Letter] Washington D.C.: May 9th 1860 Hon'l A. B. Greenwood Commissioner of Indian Affairs Sir Enclosed please notice three several obligations for Flour purchased for the Indians: one by myself, the other two, at my instance by Adam Johnston, who at the time had charge of the Indians in my District. In other instances, where the processed supplies for those Indians, subsequently settled with the Parties by giving Drafts on the Government, and feel partly bound to have the enclosed settled, and would wish to do so, out of the amount appropriated for that purpose. Very Respectfully Your obt Svt O. M. Wozencraft

redpajama_set_name: RedPajamaCommonCrawl


text:
My Sega DREAMCAST Game Collection (111 games that Rock 🤘)
July 30, 2021 1 min
My NINTENDO HANDHELDS Collection! (Game Boy, GBA, DS, 3DS, Switch & More)
NEW EVERCADE cartridges REVIEWED: Indie games, Worms & More!
The Steam Deck is not a Switch killer, but it will be successful
Hotshots Golf Open Tee 2 (PSP) Review & Gameplay
Play Sega GAME GEAR & MASTER SYSTEMS Games in HD! RetroN 5 Adaptor Review
Mobile & Handhelds
February 17, 2017 0	14 min	5 yrs
Game collectors have by dying to play their original Sega Game Gear, Master System, and Master System Card games in HD. The Hyperkin 3-in-1 adapter easily inserts into the Genesis slot on the RetroN 5 and adds this functionality. Play your favorite games with enhanced resolution, improved interpolated sound, screenshot capture, and the ability to have on-the-fly save states.
Hyperkin: http://goo.gl/YDAu6k
Video Transcription in English:
Hey, guys. Metal Jesus, here. Now, since the RetroN 5 was released, game collectors everywhere have been asking for support for the Sega Game Gear and also the Master System. Well, now Hyperkin has released that adapter. In addition to reviewing this, I'm also going to show you a bunch of games that collectors that are new to those systems might want to check out. Let's take a look. ♪ [music] ♪ First off, let's have a little refresher of what the RetroN 5 actually is. This is a clone emulation system that plays your physical cartridges, and it supports a bunch of different systems, including the original Genesis, Mega Drive, also the Super Nintendo, Super Famicom, NES, Famicom, and also some really cool handhelds, like the original Game Boy, Game Boy Color, and Game Boy Advance. And here is the box for the 3-in-1 adapter. Inside, not a whole lot. Basically, just what you need, and that is the adapter itself. Now, you'll notice it's fairly large, and that's because it supports three different sizes of things you can plug into it. On the top is the Sega Master System, on the right-hand side is where you plug in the Game Gear cartridges, and then, on the left is where you plug in those Sega cards. Remember that I mentioned that the RetroN 5 is a clone emulation system, so on the box here, you're going to notice that you're going to need to upgrade your firmware. Not a big deal, not hard to do, but just be aware that your entire RetroN 5 is going to get an upgrade. And then to play some games, you simply plug the adapter into the Genesis slot, and let's start with some Master System games. Let's start with Phantasy Star. Phantasy Star is one of the benchmark RPGs released in the 1980s and is still considered a classic today. There are many things to like about this game. For me, I really dug the sci-fi fantasy story, also has great graphics for the time. It still looks pretty good, even today. I like how it has a top-down map, plus it has first-person interaction, both when you talk to NPCs and also the combat. And then, you can't forget about those amazing 3D dungeons to explore. It's a really awesome game. Check it out. Next, let's check out some Out Run. So, what can I say about Out Run that you haven't heard a million times before? This is obviously a racing game. It's based on an arcade game, and it's really just timeless. People still love playing this game, even today. And like all the other systems that the RetroN 5 supports, this also has support for filters. Now, right now, you're looking at Out Run running with no filters on, so in theory, you see all the pixels that you should, but not everybody is a fan of that. So, let's go ahead and turn on some of the filtering. You can compare the two. You'll notice now that the pixels are a bit softer, maybe a bit rounder, and for some people, this is absolute blasphemy. This is completely unacceptable, and I totally get it, but, you know, there are times whenever…maybe the game is a little more pixelated than you expect, and at least you have the option. Let's go ahead and turn that filtering off and see if you can see the difference. Out Run is a great arcade racing game on the Sega Master System. Definitely check it out. By the way, if you're curious, I'm actually playing all of these games in this video using a real Sega Genesis controller. I love how the RetroN 5 supports this. And now, an absolute classic on the Master System, Wonderboy III. Wonderboy III: Dragon's Trap is a fantastic platform action game on the Master System. Things that really stand out for me are the bright colors and graphics, the really nice controls. I also really dig that the game is mostly non-linear, which is kind of cool. It's also worth noting that this game is so well-loved, so fondly looked upon by fans that it's actually going to be getting an HD remake, coming soon. So, if you love 2D platforming games, and you're starting to collect for the Master System, this is a must-own. I love my shooters, and Fantasy Zone II is awesome. Fantasy Zone II is not your typical shooter, and I think it's pretty obvious why. I mean, look at these bright colors, and also, you have some just crazy enemies, and the overall design is just unlike anything I've ever seen. Now, some people would call this a cute-'em-up. I know not everyone's crazy about that term, but for me, I actually really like these kind of games. I think they're fun, something a little bit different. Also, this game really reminds me of Defender. ♪ [music] ♪ Some other games you might want to check out, if you're starting to collect for the Master System, of course, you got to talk about R-Type. This is a really great version of this game if you like shoot-'em-ups. Now, one of the things to note about this is that it supports the advanced FM sound chip, so this adapter will support that, which means that the audio will sound even better. Sounds really great. Also, there is a great version of Shinobi on it. Now, it may not be necessarily the best, most accurate version of Shinobi, but I think it plays really well. Super fun. ♪ [music] ♪ Now, let's switch over to another system. Let's play some Game Gear games, and we'll start with Shining Force. Oh man, this is such a great game for the Game Gear. This is a tactical roleplaying game that is considered one of the best on the system. So good. It was actually remade for the Sega CD, but we'll cover that at another time. Now, you may be noticing that the text is really big. Well, that's because, again, the Game Gear was a handheld, and at the time, the screen only had a resolution of 160 by 144 pixels. So, the RetroN 5 is actually stretching those out to fill your HD television, but I still think it looks really nice. Of course, you couldn't have a Sega console without a Sonic game on it, and Triple Trouble actually is a really good one. Now, this was released originally as Sonic & Tails 2, but it's basically a sequel to Sonic the Hedgehog Chaos. For me, the stand-out feature for this game is the graphics. I think they just look amazing. Really colorful, really fun. Now, some people complained this game might be a bit easy. I personally don't find it to be super easy, but then again, I'm not great at the Sonic games, but you should definitely check it out. This next game I want to show is called GP Rider. This is an arcade motorcycle racing game, but the reason why I want to show it is to compare the different filters, because while I showed the filters being applied to Sega Master System games, I think they actually have more of an impact on the Game Gear because of the lower resolution. So, here is the game with no filters applied, and it's pixelated, but I think it looks pretty good. And here is the game with some filters applied, rounding out the pixels and smoothing out the graphics. Again, completely optional. ♪ [music] ♪ Here's a vertical shooter that I enjoy quite a bit called Halley Wars. Now, I believe this is based on a stand-up arcade machine called Halley's Comet, and it makes sense because in this game, you're trying to shoot down the comets that might be hitting earth. What I like about this game is that the difficulty feels just right. It's not too easy, it's not too hard. Keep in mind that this game was originally designed for a very small screen, but when you blow it up to your large HD television, it almost makes it easier, and certainly it makes it a lot of fun. Another cartridge you're going to want to buy is Streets of Rage 2. Now, I'm including this in here not only because it's a really fun, side-scrolling beat-'em-up, but I also want to show you, again, the filters applied. I'm doing this because, for some people, I think when they see these old Game Gear games they might get a little but turned off, and turning on these filters really sometimes can help. See, check it out. So, this is no filter right here. Let's go ahead and turn it on. Again, it's total personal preference, but it's there if you want it. Some other games you might want to check out on the Game Gear, here is Shinobi II, and dare I say, I might actually like it more than the first game. Here is Aerial Assault, which is a decent horizontal shooting game. Now, it's not going to win any awards or anything. It's not going to blow your socks off, but it can be found cheap. Lion King is based on the Disney movie, of course, and is considered a classic on the Game Gear. And then the last format that this adapter supports is the Sega Card. Now, I don't have a lot of these. There weren't actually a lot of them released, but if you're going to support the Master System, you do have to support both formats. Here, I have Trans-Bot. Let's take a look. As you can see, this is a horizontal shooter, but what's cool about this one is that it's kind of inspired by The Transformers. Meaning that half the time you're playing as a starfighter, but then you can sometimes transform into a robot. What's interesting about this game is that your powerups don't last for very long. There's actually a limited amount of time that you have them. So, some of it's kind of luck, as far as this game goes, and some of it's kind of skill. I would say, overall, I don't know if I would highly recommend this game, but it is cool to have it in that little card format. So, you're probably curious how much it costs. Well, it currently sells for $60 through Hyperkin. I'll put a link to their website down in the video description below if you want to get some more information. As you can tell, I'm actually pretty excited about this, primarily because I've been casually collecting for the Game Gear and the Master System for a couple years now, but this is going to make it so much more convenient for me to play it on my big screen television here and also capture footage for videos, really looking forward to that and beefing up my collection a little bit. Love to know what you guys think, please post a comment below. Also, I'd love to know what adapter you would like to see Hyperkin make next. Me, personally, I'd love to see them make an Atari Jaguar adapter. That would be so cool. Love to see that in the future. All right, guys. Thanks very much for watching this video. Thank you for subscribing, and take care. If you guys liked this video, please give it a thumbs up. I would greatly appreciate it. Also, you're going to want to be subscribed to my channel because I release two…yes, two! I'm crazy like that! But two new videos every single week on Tuesday and Friday. Also, I have a website. Man, I'm just, like, pimping myself all over the place here. Check out metaljesusrocks.com. Thanks for watching, guys. ♪ [music] ♪
Sega (Hidden Gems)	Mobile & Handhelds


text:
/* ccapi/common/cci_identifier.c */
/*
 * Copyright 2006, 2007 Massachusetts Institute of Technology.
 * All Rights Reserved.
 *
 * Export of this software from the United States of America may
 * require a specific license from the United States Government.
 * It is the responsibility of any person or organization contemplating
 * export to obtain such a license before exporting.
 *
 * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
 * distribute this software and its documentation for any purpose and
 * without fee is hereby granted, provided that the above copyright
 * notice appear in all copies and that both that copyright notice and
 * this permission notice appear in supporting documentation, and that
 * the name of M.I.T. not be used in advertising or publicity pertaining
 * to distribution of the software without specific, written prior
 * permission.  Furthermore if you modify this software you must label
 * your software as modified software and not distribute it in such a
 * fashion that it might be confused with the original M.I.T. software.
 * M.I.T. makes no representations about the suitability of
 * this software for any purpose.  It is provided "as is" without express
 * or implied warranty.
 */

#include "cci_common.h"
#include "cci_os_identifier.h"

struct cci_identifier_d {
    cci_uuid_string_t server_id;
    cci_uuid_string_t object_id;
};

struct cci_identifier_d cci_identifier_initializer = { NULL, NULL };

#define cci_uninitialized_server_id "NEEDS_SYNC"
#define cci_uninitialized_object_id "NEEDS_SYNC"

struct cci_identifier_d cci_identifier_uninitialized_d = {
    cci_uninitialized_server_id,
    cci_uninitialized_object_id
};
const cci_identifier_t cci_identifier_uninitialized = &cci_identifier_uninitialized_d;

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_new_uuid (cci_uuid_string_t *out_uuid_string)
{
    return cci_os_identifier_new_uuid (out_uuid_string);
}

/* ------------------------------------------------------------------------ */

static cc_int32 cci_identifier_alloc (cci_identifier_t *out_identifier,
                                      cci_uuid_string_t in_server_id,
                                      cci_uuid_string_t in_object_id)
{
    cc_int32 err = ccNoError;
    cci_identifier_t identifier = NULL;

    if (!out_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!in_server_id  ) { err = cci_check_error (ccErrBadParam); }
    if (!in_object_id  ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        identifier = malloc (sizeof (*identifier));
        if (identifier) {
            *identifier = cci_identifier_initializer;
        } else {
            err = cci_check_error (ccErrNoMem);
        }
    }

    if (!err) {
        identifier->server_id = strdup (in_server_id);
        if (!identifier->server_id) { err = cci_check_error (ccErrNoMem); }
    }

    if (!err) {
        identifier->object_id = strdup (in_object_id);
        if (!identifier->object_id) { err = cci_check_error (ccErrNoMem); }
    }

    if (!err) {
        *out_identifier = identifier;
        identifier = NULL; /* take ownership */
    }

    cci_identifier_release (identifier);

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_new (cci_identifier_t *out_identifier,
                             cci_uuid_string_t in_server_id)
{
    cc_int32 err = ccNoError;
    cci_uuid_string_t object_id = NULL;

    if (!out_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!in_server_id  ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = cci_os_identifier_new_uuid (&object_id);
    }

    if (!err) {
        err = cci_identifier_alloc (out_identifier, in_server_id, object_id);
    }

    if (object_id) { free (object_id); }

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_copy (cci_identifier_t *out_identifier,
                              cci_identifier_t  in_identifier)
{
    cc_int32 err = ccNoError;

    if (!out_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!in_identifier ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = cci_identifier_alloc (out_identifier,
                                    in_identifier->server_id,
                                    in_identifier->object_id);
    }

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_release (cci_identifier_t in_identifier)
{
    cc_int32 err = ccNoError;

    /* Do not free the static "uninitialized" identifier */
    if (!err && in_identifier && in_identifier != cci_identifier_uninitialized) {
        free (in_identifier->server_id);
        free (in_identifier->object_id);
        free (in_identifier);
    }

    return cci_check_error (err);
}

#ifdef TARGET_OS_MAC
#pragma mark -
#endif

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_compare (cci_identifier_t  in_identifier,
                                 cci_identifier_t  in_compare_to_identifier,
                                 cc_uint32        *out_equal)
{
    cc_int32 err = ccNoError;

    if (!in_identifier           ) { err = cci_check_error (ccErrBadParam); }
    if (!in_compare_to_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!out_equal               ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        *out_equal = (!strcmp (in_identifier->object_id,
                               in_compare_to_identifier->object_id) &&
                      !strcmp (in_identifier->server_id,
                               in_compare_to_identifier->server_id));
    }

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_is_for_server (cci_identifier_t  in_identifier,
                                       cci_uuid_string_t in_server_id,
                                       cc_uint32        *out_is_for_server)
{
    cc_int32 err = ccNoError;

    if (!in_identifier    ) { err = cci_check_error (ccErrBadParam); }
    if (!in_server_id     ) { err = cci_check_error (ccErrBadParam); }
    if (!out_is_for_server) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        *out_is_for_server = (!strcmp (in_identifier->server_id, in_server_id) ||
                              !strcmp (in_identifier->server_id, cci_uninitialized_server_id));
    }

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_compare_server_id (cci_identifier_t  in_identifier,
                                           cci_identifier_t  in_compare_to_identifier,
                                           cc_uint32        *out_equal_server_id)
{
    cc_int32 err = ccNoError;

    if (!in_identifier           ) { err = cci_check_error (ccErrBadParam); }
    if (!in_compare_to_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!out_equal_server_id     ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        *out_equal_server_id = (!strcmp (in_identifier->server_id,
                                         in_compare_to_identifier->server_id));
    }

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_int32 cci_identifier_is_initialized (cci_identifier_t  in_identifier,
                                        cc_uint32        *out_is_initialized)
{
    cc_int32 err = ccNoError;

    if (!in_identifier     ) { err = cci_check_error (ccErrBadParam); }
    if (!out_is_initialized) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        *out_is_initialized = (strcmp (in_identifier->server_id,
                                       cci_uninitialized_server_id) != 0);
    }

    return cci_check_error (err);
}

#ifdef TARGET_OS_MAC
#pragma mark -
#endif

/* ------------------------------------------------------------------------ */

cc_uint32 cci_identifier_read (cci_identifier_t *out_identifier,
                               k5_ipc_stream      io_stream)
{
    cc_int32 err = ccNoError;
    cci_uuid_string_t server_id = NULL;
    cci_uuid_string_t object_id = NULL;

    if (!out_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!io_stream     ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = krb5int_ipc_stream_read_string (io_stream, &server_id);
    }

    if (!err) {
        err = krb5int_ipc_stream_read_string (io_stream, &object_id);
    }

    if (!err) {
        err = cci_identifier_alloc (out_identifier, server_id, object_id);
    }

    krb5int_ipc_stream_free_string (server_id);
    krb5int_ipc_stream_free_string (object_id);

    return cci_check_error (err);
}

/* ------------------------------------------------------------------------ */

cc_uint32 cci_identifier_write (cci_identifier_t in_identifier,
                                k5_ipc_stream     io_stream)
{
    cc_int32 err = ccNoError;

    if (!in_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!io_stream    ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = krb5int_ipc_stream_write_string (io_stream, in_identifier->server_id);
    }

    if (!err) {
        err = krb5int_ipc_stream_write_string (io_stream, in_identifier->object_id);
    }

    return cci_check_error (err);
}

redpajama_set_name: RedPajamaGithub


text:
Time to replace cruelty with care
Record View looks at the cruel case of David and Connolly as well as the a recent NHS audit dubbed 'damning'.
Record View
David Connolly is bed-bound and relies on his wife Carin for round-the-clock care (Image: Ross Johnston/Newsline Media)
David and Carin Connolly have been through some turbulent highs and lows since they met and married in Zimbabwe more than 30 years ago.
An accident left David paralysed and the economic vandalism of the country's despotic rulers stole their retirement funds.
A British citizen, David hoped to find some calm in Scotland with his wife, who has acted as his carer for decades.
Record View thinks officials are too occupied with Theresa May's 'hostile environment' (Image: PA)
The Home Office have a very different view and decided Carin should leave the UK and head back to Zimbabwe.
This devoted couple now face the dreadful prospect of moving to a country with no proper medical care.
Or David has to say goodbye to his wife and hope they'll be reunited one day.
It's this kind of deeply emotional experience the Home Office cannot cope with.
Officials are clearly too preoccupied with the legacy of Theresa May's "hostile environment" to see sense.
No right-thinking person would come to the conclusion the best result is to split a family and place them both in danger.
This is a British passport-holder and his wife, who wants to be treated with dignity.
Somewhere, poisoned minds are thinking it's all a scam on the hard-up British taxpayer crowded out of a country brimming with immigrants.
That's the myth pedalled by cruel bigots, and it couldn't be further from the truth.
The Connollys are now waiting to make their appeal at a tribunal.
It remains to be seen whether this ludicrous decision can be reversed and some degree of compassion restored to a badly tainted system.
According to Record View the NHS' audit results are damning (Image: PA)
Theresa May to 'look again' at case of Glasgow family facing deportation to Pakistan
Clinging to life
The Health Service has been a lifeline for Scots since it was brought into existence 70 years ago.
Of all the government-funded institutions, it is the NHS which has had most impact on people's lives.
That is why it should be the number one priority for every politician, regardless of their party allegiance.
So Nicola Sturgeon, our First Minister, needs to take a good, long look at Audit Scotland's report on the state of the NHS in this country, reported in detail by the Daily Record today.
The findings are damning.
Funding reduced, key targets missed by every health board, the future of the service described as "unsustainable".
If it is money that is needed to make the NHS improve, then this has to be our top priority.
If the service needs root and branch reform, then it has to come – no matter the objections from vested interests.
Health is the responsibility of our devolved Government in Edinburgh, so we can't blame others for the state of our NHS.
Unlike lots of the goings-on at Holyrood, this really is a matter of life and death.
Nicola Sturgeon


text:
We love ska-punk. Maybe that sounds like a silly way to say who we are, but, to be honest, it's probably the most important part of who we are. That's the fact that's behind the site, but, for most of us, that's what drives our identity/ies and our life/lives away from Bananatown as well. We're ska and ska-punk fans, and we're here to share and celebrate the music we love. When we say "music", by and large, we mean ska-punk music, ska music, and/or punk music.
It was never meant to be this long. We were working on a new site years ago, when our old one got hacked and we had to shut it down. Stuff happened with the site, and it took longer than we expected to sort it out – so we decided to stop everything and go again from the beginning. Our plan is that we won't need to build again for a long time.
In the middle of that, stuff happened to us and our lives as well. It's been a bit nuts. Thanks for sticking with us, and, if you're new, you're really welcome here. We're stoked to have this rad new site. It's taken its time, but we wanted this to be something we can all enjoy and be really proud of. We're really happy that it's been worth all the work that's gone in, and we hope you are as well.
We write about music. We share music, and our writing about music, on our social channels, and we chat about music. We write about the music we love because we love it, because we want to share it and we want you to love it too.
We write about music as music fans, and not as journalists, bloggers, vloggers or academics. It's meant to sound like it's written from the pit, and that's usually because it is. We review things that we like – we're not here to make ourselves look cool (we don't care), to spread our opinion (more our love).
This might mean that Bananatown sometimes reads a bit like an advert. It's probably meant to, sort of. If we didn't like something we just wouldn't write about it. When we do like something, we let ourselves get excited about it, because it's real. We don't pretend not to be excited about things we do like, or try to act cool around stuff we do like: we just lay it out how it is.
Testing out the video
Jamie Smith March 24, 2017 0
News Article Demo
Author Name June 22, 2016 0
Most ViewedWEEKMONTHALLNo Stats to show
Advertise With Bananatown
Bananatown 2016. Powered by NC Web UK


Collis joined the World Maths Day challenge at the beginning of the month and enjoyed a whole day of maths fun!!
We took part in the online competition and competed against children all around the world. As you can see from these pictures, we all became a little competitive as the day went on!
Congratulations to Isaac RoperLowe and Ben HarrisonHyde who correctly answered over 1,000 questions on the day! Our top 5 high scorers of the day were Georgia Dickinson, Marine Cornut, Jessica Kemp, Aarya Gopan and Bobby Godfrey. Congratulations to you all!
We also enjoyed maths in our other subjects throughout the day. Year 1 enjoyed building houses with 3D shapes and Year 2 took on the challenge of tangrams and made some beautiful animals out of their 7 shapes! Many other activities we enjoyed throughout the day!!


text:
/* you only have to complete the function given below.
Node is defined as

class Node {
    int data;
    Node left;
    Node right;
}

*/

void preOrder(Node root) {
    if(root==null) return;
    else{
        System.out.print(root.data+" ");
        preOrder(root.left);
        preOrder(root.right);
    }
}


text:
Interviews and in-depth reports on the people, enterprises, and markets that are shaping the future.
Positive signs of economic recovery in India, both in the wider economy and equity markets suggest this is a good time for long-term investment in India.
Softness in the Eurozone's PPI suggests ongoing struggles with deflationary pressures, while the ECB ponders scaling back its Pandemic Emergency Purchase Programme in favour of other options.
One Big Takeaway
While India remains one of the emerging markets worst affected by COVID-19, recording an extreme drop in the second quarter of the year and delivering the worst economic performance of the G20, a number of economic indicators now suggest signs of a recovery.
In August, the country's Purchasing Managers' Index registered its first expansion since March, a positive development for the manufacturing sector. Other encouraging signs include the improvement of mobility indicators, a rise in vehicle registrations and the growth of daily electricity usage. There is also no notable inflationary pressure as wholesale prices continue to contract despite rising retail prices and a drop in the speed of currency circulation. All of these developments paint a picture of an economic recovery, making the country attractive for long-term investment.
With the worst of global growth figures now likely behind us, international investor risk appetite has returned to Emerging Market Equities. Flows into Indian equities have already picked up, closing the gap to the major markets. This restoration of confidence has been fueled by the relaxation of ownership limits for foreign investors, which was put in place April 1st of this year, enabling the country to outperform all other emerging markets.
While the current price-earnings ratio sits at 27.9, driven by weak earnings over the past few quarters, analysts predict that in the next 12 months this will move to 23.1, an earnings growth of around 15%. This prediction is based on the expectation that the country's gross domestic product will recover by 7-10% by2021. Given the current signs of economic recovery this is a realistic assumption.
Though this market will remain volatile, it is expected to continue to perform well, particularly for investors buying into actively managed funds that pick and choose the right stocks.
Analyst ratings of the S&P500 companies for the final quarter of 2020 were broadly more optimistic than the start of the year.
Out of a total of 10,256 ratings on S&P stocks, 52.8% had Buy rating, 40.6%Hold, and 6.6% Sell. Healthcare, Communications Services and Energy are the sectors to receive the highest proportion of Buy ratings – despite the energy sector seeing the most significant decrease in Buy ratings. Utilities and healthcare are the sectors that have been most upgraded. Intriguingly, IT stocks are still concentrating a high proportion of buy recommendations even despite the appreciation of tech stocks this year.
Also of note is the elevated ratio of buy and sell ratings compared with the average of the past five years (51% Buys, 43.2% Holds, and 5.8% Sells), which reflects the continued volatility in the market.
east Spotlight
Bank of Japan monetary policy remains unchanged for now
TheBoJ have kept their monetary policy setting unchanged, maintaining its policy rate and 10-year yields target at -0.10% and "around zero", respectively. Their forward guidance is to "keep short and long-term interest rates… at their present or lower levels." This leaves ample room for asset purchases, despite keeping upper limit at JPY 12trn annually. If the situation were to deteriorate, with the job market still weak, we might yet see further interventions by the BoJ.
West SPotlight
Fed sets out stall on next rate hike
At last week's FOMC meeting, the US Federal Reserve indicated the next rate hike maybe years away, with maximum employment and an inflation rate at 2% first needed.Jay Powell remained tight-lipped on forward guidance, with few clues on the drivers for the pace of asset purchases. According to the Fed, quantitative easing has been successful in calming markets and supporting the flow of credit to households and businesses. But while purchases continue at their current pace, there is evidence – confirmed by Google searches for new homes – that mortgage applications have now peaked. With growth and jobs on the agenda, Powell will be hoping for a fiscal boost from politicians in Washington.
Data to Watch
30 Sept: The release of September's eurozone inflation figures will indicate whether last month's negative CPI were indeed, as Christine Lagarde claimed, ano utlier in part due to Germany's VAT cut.
1 Oct: After maintaining interest rates at 4% in August, India's RBI may introduce a small 25 basis point cut this time round to support the country's stuttering recovery.
Explore with us.
Connect with our team and begin the journey today.
I hereby confirm that I have read and understood the enclosed declaration of consent.
Thank you. Our team will reach out to you promptly.
Geneva / Zurich / Lugano / London / Dubai
© S.P. Hinduja Banque Privée SA


text:
Q: Select, Insert and Update MySQL table PHP script not working I wrote the following code:
<?php
    $servername = "domain";
    $insert = 12345678;
    $username = "user";
    $password = "password";
    $dbname = "database";

// Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT quantity FROM Eshop WHERE id = $insert";
    $result = $conn->query($sql);
    echo $result;
    if ($result > 0) {
        $result = $result + 1;
        $sql2 = "UPDATE Eshop SET quantity = $result WHERE id = $insert";
        if ($conn->query($sql2) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql2 . "
" . $conn->error;
        }
    } else {
        $sql3 = "INSERT INTO Eshop (id, quantity) VALUES ($insert, 1)";
        if ($conn->query($sql3) === TRUE) {
            echo "New record created successfully";
        } else {
            echo "Error: " . $sql3 . "
" . $conn->error;
        }
    }
?>

What I want this script to do is select the quantity where the id is $insert and then if quantity > 0, add 1 to the quantity and update the quantity, if not insert the id and quantity = 1 into the table. The table has only two fields id(VARCHAR(32)) and quantity(DECIMAL(8,1)). I tried to do it more general in order to help as many people as possible. Could you please help me? Thanks in advance. NOTE: When I run the script in the browser(after uploading it to the server with the correct username,domain etc.) nothing shows up and I dont even get an error in the console.

A: You need to extract the result of your query and loop through each row:
<?php
    $servername = "domain";
    $insert = 12345678;
    $username = "user";
    $password = "password";
    $dbname = "database";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT quantity FROM Eshop WHERE id = $insert";
    $result = $conn->query($sql);

    while($row = mysqli_fetch_array($result)) {
        if ($row['quantity'] > 0) {
            $new_quantity = $row['quantity'] + 1;
            $sql2 = "UPDATE Eshop SET quantity = '$new_quantity' WHERE id = '$insert'";
            if ($conn->query($sql2) == TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $sql2 . "
" . $conn->error;
            }
        } else {
            $sql3 = "INSERT INTO Eshop (id, quantity) VALUES ('$insert', 1)";
            if ($conn->query($sql3) == TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $sql3 . "
" . $conn->error;
            }
        }

    }
?>

A:     <?php
    $servername = "domain";
    $insert = 12345678;
    $username = "user";
    $password = "password";
    $dbname = "database";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT quantity FROM Eshop WHERE id = $insert";
    $result = $conn->query($sql);

    //check if particular record exists or not
    $count=mysql_num_rows($result);

   if($count>0) // if records exists for the particular id
   {
    while($row = mysqli_fetch_array($result)) {
        if ($row['quantity'] > 0) {
            $new_quantity = $row['quantity'] + 1;
            $update = "UPDATE Eshop SET quantity = '$new_quantity' WHERE id = '$insert'";
            if ($conn->query($update ) == TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $update . "
" . $conn->error;
            }
        } else {
            $insert = "INSERT INTO Eshop (id, quantity) VALUES ('$insert', 1)";
            if ($conn->query($insert ) === TRUE) {
                echo "New record created successfully";
            } else {
                echo "Error: " . $insert . "
" . $conn->error;
            }
        } // else qty is <=0

    } //end while
}
else {
   echo "Records do not exists for that particular id";
 }
?>

redpajama_set_name: RedPajamaStackExchange


text:
Чемпіонат України з гандболу серед чоловіків (чоловіча Суперліга) 2021/2022 — тридцятий чемпіонат України

Учасники та терміни проведення
У чемпіонаті брали участь 9 команд. Розпочався чемпіонат 8 вересня 2021 року.
«Академія гандболу» (м. Запоріжжя - Луганщина);
«Донбас» (Донеччина)
«Карпати-ШВСМ» (м. Ужгород);
«Мотор» (м. Запоріжжя)
«Мотор-Політехніка» (м. Запоріжжя);
«Одеса» (м. Одеса);
«Портовик» (м. Южне);
«СКА-Львів» (м. Львів).
«ЦСКА-ШВСМ» (м. Київ)

Згідно Регламенту та Календаря у першому етапі чемпіонату було проведено 18 турів, по одній грі у кожному турі.
На другому етапі чемпіонату команди розподілялись на дві групи за результатами ігор попереднього етапу. До групи «А» увійшли команди, що зайняли 1-5 місця після попереднього етапу. До групи «Б» увійшли команди, що зайняли 6-9 місця. Чемпіонат було зупинено достроково, тож матчі другого етапу, окрім мату «ЦСКА-ШВСМ» — «СКА-Львів» 22 лютого 2022 року та матчі плей-оф зіграно не було.

Матч за Суперкубок відбувся 1 вересня 2021 року в Запоріжжі. За Суперкубок змагались запорізький «Мотор» та «Донбас», який представляє Донеччину. Володарем Суперкубка став «Мотор».

Через нестабільне фінансування команда «Портовик»  з м. Южне припинила участь в чемпіонаті України.

У зв'язку з повномасштабною російсько-українською війною, введенням на всій території Україні воєнного стану проведення чемпіонату України було призупинено, а 26 квітня 2022 року на засіданні Комітету з організації та проведення змагань ФГУ вирішили завершити чемпіонат та визначити підсумкові місця команд згідно турнірної таблиці станом на 24 лютого 2022 року.

Призерами чемпіонату стали:
«Мотор» — 21 перемога та одна нічия у 22 матчах;
«Донбас»  — 16 перемог та одна нічия у 22 матчах;
«Одеса» — 12 перемог 22 матчах.

Підсумкова турнірна таблиця. Суперліга

Найкращі бомбардири

Топ-10 чемпіонату

Цікаві факти
 У цьогорічному голосуванні тренерів та капітанів команд чоловічої Суперліги титул Гандболіст року в Україні отримав лівий півсередній запорізького «Мотора» Дмитро Горіга.

Примітки

Джерела
 Сайт Федерації гандболу України. Статистика

2021—2022
2021 в українському спорті
2022 в українському спорті

redpajama_set_name: RedPajamaWikipedia


text:
ND Legacy Fund principal likely safe from spending in 2017, leaders say
BISMARCK - North Dakota lawmakers will likely keep their hands off the state's $3 billion-plus Legacy Fund when it becomes available for spending in 2017, GOP and Democratic legislative leaders agreed Thursday. But while the fund's principal is p...
By FNS
BISMARCK - North Dakota lawmakers will likely keep their hands off the state's $3 billion-plus Legacy Fund when it becomes available for spending in 2017, GOP and Democratic legislative leaders agreed Thursday.
But while the fund's principal is probably safe from spending, its interest earnings may not be.
"The earnings, we'll wait and see," Senate Majority Leader Rich Wardner, R-Dickinson, said Thursday at the Greater North Dakota Chamber's policy summit in Bismarck. "If we didn't have this downturn in oil prices, that wouldn't even be a question."
North Dakota voters approved a constitutional amendment in 2010 to set aside 30 percent of the state's taxes on oil and gas production and extraction starting in 2011.
There were no guidelines on how to spend the money, but it can't be tapped until after June 30, 2017.
With that seven-year hands-off period coming to an end, "there's people drooling all over that fund," said House Majority Leader Al Carlson, R-Fargo. But he says the state has other reserve funds to meet any short-term needs.
"Unless we absolutely need it, we shouldn't touch it," he said.
With earnings, the fund's total balance was $3.312 billion at the end of May, state Treasurer Kelly Schmidt said.
While its rate of growth has slowed, Carlson said the fund is expected to reach $4.3 billion by the time the Legislature meets again in January 2017.
After June 30, 2017, the treasurer must transfer Legacy Fund earnings to the state's general fund. The Legislature passed a bill in April requiring that those earnings be immediately invested back into the fund's principal, but Gov. Jack Dalrymple vetoed the bill, writing that it "would clearly contradict the intent of the voters."
During Thursday's debate, Democrats agreed that lawmakers should let the principal grow for as long as they can, but they stressed the need for more planning on how to use the fund's earnings. Last session, a bipartisan attempt to create a foundation to guide the future of the Legacy Fund failed to pass.
"I think that's certainly something we need to look at," said Assistant Senate Minority Leader Joan Heckaman, D-New Rockford.
Lawmakers did call for a study of how to reinvest and spend the fund's earnings. But without an independent group to help prioritize spending, House Minority Leader Kenton Onstad, D-Parshall, cautioned that spending proposals from the Legacy Fund could become provincial.
"I see it as becoming east against west, urban against rural, and we don't want that," he said.
He said the state needs innovative ideas for the fund to help diversify the state's economy.
Comments and questions submitted via text message by the audience of about 200 businesspeople and others ranged from questions about education spending to the suggestion, "Let's buy the Vikings," which was quickly followed by, "Not the Vikings. Let's buy the Broncos."
Wardner was the only panelist to opine on how big the Legacy Fund needs to grow, saying it should be at least $45 billion to $50 billion to meet future needs with only the earnings.
If there was an attempt to spend part of the principal, it would require two-thirds approval in both the House and Senate. Not more than 15 percent of the principal can be spent during a biennium.
Greater North Dakota Chamber President and CEO Andy Peterson said the organization hasn't taken a stance on how the fund should be spent, but it favors keeping taxes low and investing in initiatives such as a world-class education system.
The chamber opposes tapping the fund's principal, he said.
"We want to make sure that stays there for future generations, because you can always earn money," he said. "If we go there, it's all over."


Apple iPhone 5 or 5S Carriers a. Apple iPhone 5, 5S, 5C, 6 or 6 Plus. Select the model using the drop down menu.
Item Functionality 100% perfect working condition. It's been thoroughly tested and cleaned by our technicians. Clear IMEI/ESN - Ready for activation/use immediately. There's no iCloud lock attached.
The Factory Unlocked model is not compatible with Verizon, Sprint or Boost mobile. Verizon customers please make sure to select the Verizon model. If unsure of which model to order please message me your carrier before placing the order. What's included iPhone USB Lightning Cable Wall Cube Adapter.
Only US residential and business address. We strive for 100% satisfaction guarantee and for your 5 star feedback. Customer Service: We strive for 5 star customer service. Please let us know your questions or concerns and we will get back to you within 24 hours, excluding holidays and weekends.
All factory unlocked models will work with ALL GSM carriers worldwide. The item "Apple iPhone 5 5C 5S 6 6 Plus 16 32 64 128 AT&T TMobile Verizon (Unlocked GSM)" is in sale since Saturday, April 16, 2016. This item is in the category "Cell Phones & Accessories\Cell Phones & Smartphones". The seller is "ecospectra" and is located in New York City.


Legal graffiti? It must be Paris. Where are you now?Ant Pruitt's photo contest open to readers steals the show with reader Patricia Philbin's vibrant and stunning smartphone photo.
Where are you now? Paris, France–and it's time to share another great reader-submitted photo one of our readers snapped on a smartphone camera.
This week we travel to the Belleville area in Paris. aNewDomain.net reader Patricia Philbin used her iPhone 4 to take this vibrant photo in Rue Dénoyez, which is a popular haunt for legal graffiti artists.
This is a great shot, Patricia, and fitting for the season. Thanks for submitting such a stunning photograph. To our other readers on aNewDomain.net, keep the photos coming to ant@anewdomain.net.
Want your chance to become a published photographer? Grab your smartphone and drop me a line.
Now that is some cool graf. I need someone with skills like that to do some album art for me. Cool picture.


text:
Platform::Platform()
{
  Tizen::App::App * pApp = Tizen::App::App::GetInstance();
  // init directories
  string app_root = FromTizenString(pApp->GetAppRootPath());

  m_writableDir = FromTizenString(pApp->GetAppDataPath());
  m_resourcesDir = FromTizenString(pApp->GetAppResourcePath());
  m_settingsDir = m_writableDir + "settings/";
  Tizen::Io::Directory::Create(m_settingsDir.c_str(), true);

  m_tmpDir = m_writableDir + "tmp/";
  Tizen::Io::Directory::Create(m_tmpDir.c_str(), true);

  LOG(LDEBUG, ("App directory:", app_root));
  LOG(LDEBUG, ("Resources directory:", m_resourcesDir));
  LOG(LDEBUG, ("Writable directory:", m_writableDir));
  LOG(LDEBUG, ("Tmp directory:", m_tmpDir));
  LOG(LDEBUG, ("Settings directory:", m_settingsDir));
  LOG(LDEBUG, ("Client ID:", UniqueClientId()));

  m_flags[HAS_BOOKMARKS] = true;
  m_flags[HAS_ROTATION] = true;
  m_flags[HAS_ROUTING] = true;
}

// static
void Platform::MkDir(string const & dirName) const
{
  Tizen::Io::Directory::Create(dirName.c_str(), true);
}

string Platform::UniqueClientId() const
{
  Tizen::App::App * pApp = Tizen::App::App::GetInstance();
  return FromTizenString(pApp->GetAppId());
}

string Platform::AdvertisingId() const
{
  return {};
}

string Platform::DeviceName() const
{
  return OMIM_OS_NAME;
}

string Platform::DeviceModel() const
{
  return {};
}

void Platform::RunOnGuiThread(TFunctor const & fn)
{
  /// @todo
  fn();
}

ModelReader * Platform::GetReader(string const & file, string const & searchScope) const
{
  return new FileReader(ReadPathForFile(file, searchScope), READER_CHUNK_LOG_SIZE,
                        READER_CHUNK_LOG_COUNT);
}

void Platform::GetFilesByRegExp(string const & directory, string const & regexp, FilesList & res)
{
  pl::EnumerateFilesByRegExp(directory, regexp, res);
}

bool Platform::GetFileSizeByName(string const & fileName, uint64_t & size) const
{
  try
  {
    return GetFileSizeByFullPath(ReadPathForFile(fileName), size);
  }
  catch (RootException const &)
  {
    return false;
  }
}

int Platform::VideoMemoryLimit() const
{
  return 10 * 1024 * 1024;
}

int Platform::PreCachingDepth() const
{
  return 3;
}

Platform::EConnectionType Platform::ConnectionStatus()
{
  // @TODO Add implementation
  return EConnectionType::CONNECTION_NONE;
}

Platform::ChargingStatus Platform::GetChargingStatus()
{
  return Platform::ChargingStatus::Unknown;
}

void Platform::GetSystemFontNames(FilesList & res) const
{
}

extern Platform & GetPlatform()
{
  static Platform platform;
  return platform;
}

class HttpThread;

namespace downloader
{

class IHttpThreadCallback;

HttpThread * CreateNativeHttpThread(string const & url,
                                    downloader::IHttpThreadCallback & cb,
                                    int64_t beg,
                                    int64_t end,
                                    int64_t size,
                                    string const & pb)
{
  HttpThread * pRes = new HttpThread(url, cb, beg, end, size, pb);
  return pRes;
}

void DeleteNativeHttpThread(HttpThread * request)
{
  delete request;
}

}


Discovering The 'Secret Sauce' That Drives Greater Onsite Fan Engagement?
SLRG President Jon Last?s May column looks at sports venues? race to modernize their infrastructure and the role of marketing research in finding optimal solutions.
The sports marketing world is fraught with numerous examples of "fire, fire, fire" implementation strategies, in contrast to the more recommended "ready, aim, fire" approach. Nowhere do we see this more acutely than in the pervasive topic of retooling the fan environment at sporting venues. It seems that nearly everyone is making significant investments in upgrades, improving broadband infrastructure to enable more consistent wi-fi capability and in developing interactive, social spaces that seek to enhance the fan experience, drive greater customer value and ultimately create a more differentiated live environment that compels greater attendance.
Full disclosure, our firm has been part of this phenomenon. We've had the pleasure of working with some of the more progressive organizations to gauge fan and potential fan reaction to some of these environmental transformations. But I'm reluctant to conclude that these are the exceptions rather than the rule. There is a fine line between creating an enhanced experience and a distraction. The proper answers differ by fan segment, by market and by the specific objectives of the property considering the investment. The needs of core fans that are primarily motivated by the ability to get close to and easily access action on the field, court or course are not necessarily the same as those who are more driven by the prospect of being part of an event. Properties need to study the needs of these distinct segments and to understand the potential lifetime value of each in driving revenue.
Clearly, it behooves properties to conduct well-designed and thoughtful consumer research, with various segments, including those who have eschewed the ballpark or arena for a comfortable seat on the couch or at the sports bar. Our experience across sports has shown that while not enough properties are doing any of this research, there are even fewer who take the time and effort to speak to rejectors and prospects as opposed to just the loyal core within self-recruited fan communities. One of my favorite research adages is that no one likes to call the baby ugly. If my favorite team is directly reaching out to me for my opinion, I'm probably going to be a little guarded in providing often less-than-candid input, more objectively extracted by professional researchers.
Insights worth seeking include to what degree is in-game connectivity coveted as an enhancement to the event rather than an "as needed" gateway to the outside world? We've found enough fans that see their trip to the game as a needed escape, island or oasis from the day-to-day chaos, that we've paused at the need or desire for interactive over-kill that some properties appear to be ramming down the throats of a not-always-embracing public.
The same "facts first" approach is recommended for the reconfiguration of common areas into social spaces. This begets a better understanding of who the property is trying to attract and where they sit in terms of engagement with the property. We might assume that a younger audience will be attracted to open lounge spaces with new age seating and high tops with embedded tablets. It's not always that straightforward. The younger core fan might appreciate this, but not if it means that he or she can't see the game, or the food still stinks, the bathrooms are dirty and it takes 90 minutes to get out of the parking lot.
Not to be overlooked is the impact of these enhancements on corporate partner activations. Interestingly, this sometimes seems to take priority over what fans value. It's even more important to look before you leap, in this area. One can be underwhelmed and falsely conclude that a particular activation was a failure, when only 45 people tweet back, but only well-designed research will determine activation efficacy.


Irene Booth , 79, of Chicota, Texas, a homemaker, died at Presbyterian Hospital of Dallas on the evening of Sunday, June 17, 2001. The family will receive friends on Tuesday, June 19, 2001, 7-8 p.m., at Fry & Gibbs Funeral Home, 730 Clarksville Street, Paris, Texas. Funeral services are scheduled for Wednesday, June 20, 11 a.m., at Chicota Baptist Church, officiated by the Rev. Bill Sanders. Burial will be at Forest Chapel Cemetery. Arrangements entrusted to Fry & Gibbs Funeral Home , Paris, Texas.


text:
Home Our Team Margaret Marshall
Margaret Marshall
Margaret Marshall, Legacy Link Consultant
Margaret qualified as a solicitor in 1986 and moved to practice in High Wycombe where she became a partner in Reynolds Parry Jones. She specialised in private client and property work.
She joined Oxfam as a senior legacy officer in 1997 and after several years returned to private practice initially with an Oxfordshire firm but soon returning to RPJ and again entering into partnership.
After 16 years legacy officer work beckoned both at Christian Aid and as a consultant with Legacy Link which has enabled her to use not only her experience of private client work but also her property expertise to ensure legacy income is maximised.


Afflictions are a normal part of our walk with the Lord; it is necessary therefore, to have a firm foundation. So that we can stay secure in the storms.
Matthew 7: 24 – 27.
I feel in a good place to share about afflictions and God at work in us, due to recent circumstances, you see when we go through afflictions is when we learn, and I want to learn. It's good to thank the Lord for afflictions.
Of course it would be rather unusual if any of us found it easy to rejoice in every situation. It's not impossible though otherwise He would not have asked us to do that, He must have had a reason.
If we want to grow in the Lord then that's why it's good for us to rejoice in the afflictions, because they help us to grow. As it says in Romans 5: "Not only so, but we[c] also glory in our sufferings, because we know that suffering produces perseverance; 4 perseverance, character; and character, hope.5 And hope does not put us to shame, because God's love has been poured out into our hearts through the Holy Spirit, who has been given to us." Which leads onto being founded on the Rock.