Tuesday, March 17, 2020

The Charlotte Riots and the Killing of Keith Scott

The Charlotte Riots and the Killing of Keith Scott Deadly riots broke out in Charlotte, North Carolina, in September 2016. What had been peaceful protests over the police killing of an African American man named Keith Lamont Scott turned into a melee involving both demonstrators and the authorities. The spread of gunfire, vandalism, and smoke bombs during the riots led the North Carolina governor to declare a state of emergency. In the end, neither the city of Charlotte nor the people caught up in the protests were left unscathed. The 2016 Charlotte Riots The Charlotte riots took place in 2016 after a black man named Keith Lamont Scott was killed by police on Sept. 20. Officers said he had a gun, but Scott’s family denied he was armed and suggested he’d been framed. The riots ended by the morning of Sept. 23, but they had resulted in property damage, injuries, and more than a few dozen arrests. Tragically, one man, Justin Carr, died during the violence that broke out in Charlotte after Scott’s killing.The district attorney ultimately decided not to file charges against the officer who shot Scott because evidence suggested the slain man had been armed and did not follow commands. The Killing of Keith Lamont Scott The Charlotte riots took place just one day after a Charlotte-Mecklenburg police officer fatally shot married father of seven Keith Lamont Scott. The 43-year-old man had parked his car in the lot of the Village at College Downs apartment complex, where police had arrived to serve an arrest warrant to a different individual. The officers said they saw Scott with marijuana and that he’d gotten in and out of his car with a handgun. When they told him to drop his weapon, he ignored their commands, making him an â€Å"imminent threat,† according to the authorities. Charlotte-Mecklenburg police officer Brentley Vinson, who is African American, fired his weapon, wounding Scott. First aid was performed, but Scott did not survive. His wife, Rakeyia Scott, had witnessed his killing and maintained that he was holding a book in his hand, not a gun. Given the history of police shooting unarmed black men, supporters of Scott believed his wife’s account. However, the authorities attempted to verify their version of what happened by stating that they had recovered Scott’s loaded gun from the scene and that he had been wearing an ankle holster. They also said that no book was ever found. Protestors march up Trade St. September 21, 2016 in uptown Charlotte, North Carolina.   Sean Rayford / Getty Images The disparities between law enforcement’s account of events and Rakeyia Scott’s led protesters to take to the streets. The fact that his family suggested that the authorities had planted the gun at the scene only led to more skepticism about the officers involved in Scotts shooting. Several people were harmed during the demonstrations over his death. Riots Break Out in Charlotte Just hours after Scott’s killing, demonstrators poured into the streets. They held the trademark â€Å"Black Lives Matter† signs often spotted in the wake of deadly police shootings of African Americans. The grassroots Black Lives Matter (BLM) movement gained momentum after Mike Brown’s killing in Ferguson, Missouri, in 2014. The movement raises awareness about the fact that African Americans are disproportionately killed by the police. Protesters affiliated with BLM and other groups chanted â€Å"no justice, no peace!† as they marched through downtown Charlotte. Some members of the public reportedly began to pelt the police officers on the scene with water bottles and rocks. The officers responded by firing tear gas. During the unrest, police, news reporters, and civilians all sustained injuries. Arrests were made when some crowd members didn’t disperse, blocked the lanes of Interstate 85, vandalized vehicles and buildings, robbed an ATM and various shops, and set fires. A civilian named Justin Carr, 21,  lost his life in the violence, and a fellow civilian, Rayquan Borum, was arrested for shooting him and sentenced to 30 years in prison in 2019. Altogether, 44 people were arrested for various crimes in the days following the police killing of Keith Lamont Scott. Police officers face off with protesters on the I-85 (Interstate 85) during protests in the early hours of September 21, 2016 in Charlotte, North Carolina.   Sean Rayford / Getty Images When North Carolina Governor Pat McCrory declared a state of emergency in Charlotte after the first night of violence, the North Carolina National Guard and the North Carolina State Highway Patrol arrived in the city to quash the rebellion. In addition, Charlotte Mayor Jennifer Roberts instituted a curfew preventing civilians from being on the streets between the hours of midnight and 6 a.m.  With extra law enforcement patrolling the streets and a curfew, the protests had calmed down considerably on the night of September 22. The mayor extended the curfew one more night, but by September 23, Charlotte businesses were already up and running again. Reaction to the Violence The riots made international headlines and everyone from then-presidential candidate Donald Trump to black activists commented on them. â€Å"Our country looks bad to the world, especially when we are supposed to the world’s leader,† Trump said. â€Å"How can we lead when we can’t even control our own cities? We honor and recognize the right of all Americans to peacefully assemble, protest, and demonstrate, but there is no right to engage in violent disruption or to threaten the public safety and peace.† The North Carolina NAACP issued a similar message, decrying violence and calling on Scott supporters to use their First Amendment rights to call for redress of wrongs,† the group said. â€Å"We understand efforts that undermine the legitimate calls for justice with unjust, random or purposeless acts of violence.   Police stand outside of a vandalized storefront September 21, 2016 in uptown Charlotte, North Carolina.   Sean Rayford / Getty Images Nation of Islam leader B.J. Murphy had a different response to the riots. He called for an economic boycott of Charlotte, a city with a history of police shootings involving black men. In 2013, former college football player Jonathan Farrell, an African American, was fatally shot by Charlotte police after seeking help following a car crash. A jury deadlocked on whether to find the white policeman who killed Farrell guilty. Later, charges against the officer were dropped. In light of police violence against blacks, B.J. Murphy argued that black money shouldn’t matter in Charlotte if black lives don’t.   Restoring the Public’s Trust After the riots, the Charlotte-Mecklenburg Police Department attempted to rebuild the public’s trust in its officers. It produced DNA results tying Keith Lamont Scott’s prints to the gun at the scene and turned up evidence indicating that he’d purchased the weapon. The department did this, in part, to offset claims by Scott’s family that he’d been framed in death, but this evidence failed to put an end to the disputes between the family and the police department. Video of the encounter taken by police dashcams and Rakeyia Scott’s cell phone did not end the dispute either because it did not include the actual shooting. The footage also lacked a clear image of what Scott had in his hands when police fired their shots, so the debates about his conduct that fateful day continued. The authorities said he was a threat, while his widow said he walked toward police calmly with his hands at his sides. Residents gather for a vigil and march to protest the death of Keith Scott September 21, 2016 in Charlotte, North Carolina. Scott, who was black, was shot and killed at an apartment complex near UNC Charlotte by police officers, who say they warned Scott to drop a gun he was allegedly holding.   Brian Blanco / Getty Images Two months after Scott’s killing, Mecklenburg District Attorney Andrew Murray said that no charges would be filed against Brentley Vinson, the officer who fired the fatal shot. Murray reasoned that the evidence indicated that Scott had been armed at the time of his killing. His .380 semiautomatic handgun, according to police, had fallen to the ground after he was shot. The district attorney concluded that Scott didn’t aim his weapon at officers, but he didn’t obey their orders to drop it either. Scotts family expressed disappointment in the district attorney’s findings but asked the public to keep the peace. Sources Gordon, Michael. â€Å"Charlotte protests, riots are the backdrop in the murder trial of Rayquan Borum.† Charlotte Observer, 7 February 2019.Maxwell, Tanya and Melanie Eversley. â€Å"N.C. Gov. declares state of emergency following violent Charlotte protests.† USA Today, 21 September 2016.â€Å"Jury deadlocked in North Carolina officer shooting trial; mistrial declared.† CBS News, 21 August 2015.â€Å"State of emergency in Charlotte amid 2nd night of violent protests.† CBS News, 21 September 2016.

Sunday, March 1, 2020

Programming games in C# using SDL.NET

Programming games in C# using SDL.NET One of the problems with open source is that projects sometimes seem to fall by the wayside or take confusing turns. Take SDL.NET. Ignoring the website for sale, a search on the web reveals cs-sdl.sourceforge.net a project that seems to have stopped in November 2010. We dont think it has stopped but just looks like it has. If you dont know C#, you will first need to learn how to program in C#. Looking elsewhere, we came across the Tao framework linked on the Mono website which seems to cover the same area and adding support for sound etc. But looking on sourceforge (again!), it has been superseded by OpenTK but the focus there is OpenGL. However, it also includes OpenAL so installing the two (cs-sdl and OpenTK) seemed to be the way forward. Part of the OpenTk install failed; the NS (shader) because we dont have VS 2008 installed! However, the rest of it was ok. We created a C# Console project and started playing with SDL.NET. The online documentation can be found here. Looking back, we can see that the OpenTK framework wasnt needed as such, that SDL.NET installed everything but that wasnt clear at the time. It still uses the Tao Framework even though development of that has been superseded by OpenTK. Its a little confusing and we hope the SDL.NET team will bring out an OpenTk compatible version in the future. What Exactly is SDL.NET? Its not, as we thought, just a thin wrapper round SDL, but adds considerable extra functionality. There are a number of classes provided to provide the following: TimersProvides Sprites, including animation and TextProvides surfaces for 2D and OpenGlProvides support for Movie loading and playingProvides support for AudioProvides Bezier, polygon (and textures), square, circle, line, pie drawingProvides particle support with emitters and sprites and manipulators.Provides interfacing with Windows forms through a shared PictureBox with surface. Preparations There are several things you have to do to get it set up. Here they are: Locate the two SDL.NET dlls (SdlDotNet.dll and Tao.Sdl.dll) as well as the OpenTK dlls, and add them to the project references. After installation, the dlls are located in Program Files\SdlDotNet\bin (on a 32 bit Windows and Program Files (x86)\SdlDotNet\bin on 64 bit Windows. Right click on the References section in Solution Explorer then click Add Reference and select the Browse tab. That opens an Explorer dialog and after locating the dlls select then and click ok. SDL.NET uses the SDL set of dlls and installs them under the lib folder. Dont delete them! One last thing, click on the View\Properties so it opens up the Property pages and on the first tab (Application) Change Output type from Console Application to Windows Application. If you dont do this when the program first runs and opens up the SDL main Window it will open up a console Window as well. Were now ready to start and Ive created a short application below. This blits randomly sized and located rectangles and circles on the Window surface at 1,700 drawn per second at a frame rate of 50 frames per second. That 1,700 comes from setting the number drawn per frame to 17 and displaying the frames per second in the Window caption using Video.WindowCaption. Each frame it draws 17 filled circles and rectangles, 17 x 2 x 50 1,700. This figure depends on the video card, CPU etc. Its an impressive speed. // By David Bolton, http://cplus.about.comusing System;using System.Drawing;using SdlDotNet.Graphics;using SdlDotNet.Core;using SdlDotNet.Graphics.Primitives;public class ex1{private const int wwidth 1024;private const int wheight 768;private static Surface Screen;private static Random r new Random() ;public static void Main(string[] args){Screen Video.SetVideoMode( wwidth, wheight, 32, false, false, false, true) ;Events.TargetFps 50;Events.Quit (QuitEventHandler) ;Events.Tick (TickEventHandler) ;Events.Run() ;}private static void QuitEventHandler(object sender, QuitEventArgs args){Events.QuitApplication() ;}private static void TickEventHandler(object sender, TickEventArgs args){for (var i 0; i 17; i){var rect new Rectangle(new Point(r.Next(wwidth- 100),r.Next(wheight-100)),new Size(10 r.Next(wwidth - 90), 10 r.Next(wheight - 90))) ;var Col Color.FromArgb(r.Next(255),r.Next (255),r.Next(255)) ;var CircCol Color.FromArgb(r.Next(255), r.Next (255), r.Next(255)) ;short rad ius (short)(10 r.Next(wheight - 90)) ;var Circ new Circle(new Point(r.Next(wwidth- 100),r.Next(wheight-100)),radius) ;Screen.Fill(rect,Col) ;Circ.Draw(Screen, CircCol, false, true) ;Screen.Update() ;Video.WindowCaption Events.Fps.ToString() ;}}} Object Oriented Development SDL.NET is very Object Oriented and there are two predefined objects that are used in every SDL.NET application. Video provides methods to set the video mode, create video surfaces, hide and show the mouse cursor, and interact with OpenGL. Not that well be doing OpenGL for a while. The Events class contains events which can be attached to to read user input and other miscellaneous occurrences. Here the Video object is used to set the size and resolution of the game Window (full screen is an option). The parameters for SetVideoMode let you change these and 13 overloads provide plenty of variety. Theres a .chm file (Windows html help format) in the doc folder documenting all the classes and members. The Events object has a Quit events handler that lets you add close down logic and you should call Events.QuitApplication() to make it respond to the user closing the application. The Events.Tick is possibly the most important event handler. It calls the specified event handler each frame. This is the model for all SDL.NET development. You can set your desired frame rate and my reducing the loop to 5 and changing the Targetfps to 150 we got it running at 164 frames per second. TargetFps is a ballpark figure; it puts in delays to get you near that figure but the Events.Fps is what is delivered. Surfaces Like the original non Windowed version of SDL, the SDL.NET uses surfaces for rendering to the screen. A surface can be constructed from a graphics file. There are a large number of properties and methods that make it possible to read or write pixels as well as draw the graphics primitives, blit other surfaces, even dump a surface to a disk file for taking screenshots. SDLNET provides just about everything to let you create games. Well be looking at the various features over the next few tutorials then move onto creating games with it.