Is story important?

I am currently watching a series of YouTube videos (overview page on this blog) of a group currently playing Dungeons & Dragons 5th edition, the official Storm King’s Thunder adventure. I watched some of their video on previous adventures, and must say that they are both better than average players and their videos have better than average production values. What I found particularly interesting in this series was that I have read Storm King’s Thunder and dismissed it as basically unplayable. But they are doing just fine playing it. Why?

The keyword here is suspension of disbelief. Storm King’s Thunder starts out in a very linear fashion with a series of events befalling a fortified village. Within one week the village gets bombarded from the air by giants in a floating castle, then the residents move out and find shelter in a bat cave where they get captured by goblins, the goblins start looting the village, the adventurers arrive and start killing the goblins, then the Zhentarim (a semi-evil political faction) try to take over the empty village, and then a horde of orcs attacks. (In the videos the DM replaced the orcs by more Zhentarim, but added an deus-ex-machina dragon saving the village). So the adventure for the group consists of searching through the abandoned village and killing the goblins, then beating back the Zhentarim, then beating back the orcs, and then finally going to the bat cave and freeing the kidnapped villagers. Then the villagers send them to another town very far away for rather flimsy reasons, and there the adventure loops backs to the giants. As far as stories in D&D adventures go, this is one of the less believable ones. But of course if you don’t care and just enjoy the ride, a lot of fun can be had.

It reminds me a bit of MMORPGs, where the story can also be rather weak, but is basically just an excuse to lead people to gameplay. In the D&D videos the story leads not just to gameplay in the form of combat, but also to fun situations where the DM describes a situation in more detail and the players come up with all sorts of plans and ideas instead of just rolling for initiative. A good group and a good DM are the ones where the players constantly fire off ideas, and the DM rolls with them. Then the actual story of the adventure becomes a less important backdrop, because the important story is the one that evolves from the players being in unusual situations. The art as a DM is to get people to play that way. I’m working on that.

MSNBC Shows Scary Clip of Trump and Putin Using Exact Same Talking Points

The two appear to be synching their propaganda.

Using footage from President Donald Trump’s recent rally in Florida and Russian President Vladimir Putin’s annual media conference, MSNBC demonstrated how the two world leaders are sharing talking points.

Both leaders insulted Trump’s opposition, made grandiose claims about the stock market and claimed Trump is the victim of fake news.

Putin has spoken on the phone at least twice with the president in the last week as he blatantly vies for power over Trump by boosting his fragile ego.

Watch the clip below.

 

Related Stories

  • There’s an Insidious Strategy Behind Donald Trump’s Retweets
  • Treasury Secretary Steve Mnuchin Seriously Claims Ignorance of CDC Banned Words Report
  • Sarah Palin’s Son Track Palin Was Arrested in Alaska on Domestic Violence Charges

YoU are GeTTing HaCKed! -‘Cloak and Dagger Attack’


Android users may want to keep a close eye on the apps they download onto their devices as researchers have discovered a series of vulnerabilities in the operating system that relies on two particular Android permissions to work.

Dubbed Cloak & Dagger by the research team that discovered the vulnerability, the attack relies on abusing the SYSTEM_ALERT_WINDOW and BIND_ACCESSIBILITY_SERVICE permissions in order to compromise the system.
System vulnerabilities
The way the exploit works is pretty straightforward: a malicious app gets downloaded and installed to the Android device, with the necessary permissions being granted without requiring the user’s input.

From there, hackers are able to perform Clickjacking, record keystrokes, phishing, and even installing a God-mode app, all without the user being aware of it.
God-mode-app
Illustrate the danger that the vulnerability poses, the researchers have prepared three videos that demonstrates the potential attacks that could be carried out.

The first one is called the Invisible Grid Attack, and it works by placing an invisible overlay over the device’s keyboard. With it, the hacker could identify the information that is being typed out.
The second video depicts a clickjacking attempt that eventually culminates in a God-mode application being silently installed in the background without the user even noticing it.

Finally, the third video showcasing how a hacker could steal a password by manipulating the overlays.


Even newest Android version Android Nougat 7.1.2 might get affected due to this attack. So be aware of it.
As google is working on this problem, they will be coming with a solution pretty quickly. Stay safe!

Want  to learn Android Programming?

Pharmaceutical Company Billionaire and Wife Found Dead in ‘Suspicious’ Circumstances

Bodies of Barry Sherman, the founder of Canadian firm Apotex, and his wife Honey were found in their Toronto mansion.

The founder and chairman of Apotex, Bernard Sherman, and his wife Honey were found dead inside their North York mansion, in Toronto, Canada, on Friday. The couple recently put up their home up …

 

Related Stories

  • How Healthy Is Your State? The Disparities Are Stark
  • Nothing Protects Black Women From Dying in Pregnancy and Childbirth
  • Brain-Wave Treatment for Alzheimer’s Is Promising, but the First Human Subject Is Left Behind

Trump Reportedly Considered Rescinding Neil Gorsuch Nomination Because He Wasn’t ‘Loyal’

The president was allegedly placated by a complimentary note from the judge.

President Donald Trump privately discussed his frustrations with Neil Gorsuch, his Supreme Court nominee, earlier this year amid worries that he wasn’t “loyal” enough to the president.

As The Washington Post reported Monday night, Trump “was upset that [then-nominee] Gorsuch had pointedly distanced himself from the president in a private February meeting with Sen. Richard Blumenthal (D-CT),” claiming he was “worried that Gorsuch would not be ‘loyal.’”

In the private meeting with the Connecticut Democrat, Gorsuch called Trump’s first travel ban “demoralizing” and “disheartening.”

According to several Post sources familiar with the conversations, Trump floated the idea of rescinding Gorsuch’s nomination over the slight, though it’s unclear his “explosion” was mere venting or was discussed as a genuine prospect.

Nevertheless, “at the time, some in the White House and on Capitol Hill feared that Gorsuch’s confirmation — which had been shaping up to be one of the clearest triumph’s of Trump’s tumultuous young presidency — was on the verge of going awry,” the report continued.

Gorsuch’s confirmation and short tenure in the Supreme Court has been touted by the president as one of his greatest achievements since taking office in January.

According to 11 sources within the White House or familiar with the discussion, “Trump was especially upset by what he viewed as Gorsuch’s insufficient gratitude for a lifetime appointment to the nation’s highest court.” Shortly after his interview with Blumenthal, Gorsuch sent the president a handwritten note thanking him.

“Your address to Congress was magnificent,” Gorsuch wrote to the president in a note obtained by the Post. “And you were so kind to recognize Mrs. [Maureen] Scalia [widow of the late Justice Antonin Scalia], remember the justice, and mention me. My teenage daughters were cheering the TV!”

Upon receiving the note, the president was placated, the report continued.

“As head of legislative affairs, our team was in charge of his nomination, and never did I view his nomination in jeopardy, nor did the president ever suggest to me that he wanted to pull him,” Marc Short, the White House’s director of legislative affairs and assistant to the president, told the Post. “The process obviously caused frustration, but that frustration was compounded by the fact that Gorsuch had sent him a personal letter that he never received.”

As Bloomberg’s Steven Dennis noted on Twitter after the Post published their story, Trump’s concerns that Gorsuch would not be “loyal” to him are misplaced given that judges and other federal law enforcement officials take oaths to uphold the constitution rather than the presidency. The story, Dennis continued, is reminiscent of Trump’s request that former FBI Director James Comey swear loyalty to him — the denial of which led to his firing.

 

Related Stories

  • Former CIA Official Suggests Trump Campaign Team May Have ‘Welcomed’ Russian Election Interference
  • Trump Judicial Nominee Withdraws After GOP Senator Publicly Embarrasses Him
  • If Trump Fires Mueller, Is a Watergate Rerun Coming?

Magic the Gathering Arena

I’ve been in the Magic the Gathering Arena beta for quite a while, but only this week the NDA dropped. So now I can finally express how incredibly disappointed I am with this game. In Magic Duels they had a great game which was mobile and playable for all different sorts of players, including casual and new players. And they stopped supporting that to make Magic Arena, which is solely tailored for the needs of a very small hardcore crowd.

Magic the Gathering is 25 years old this year. So over the years there have been quite a lot of digital editions of the game. And every time, after a few years Wizards of the Coast stopped support of the current platform and launched a new platform. Which means that every time any cards you had bought became useless, and you needed to start your collection all over again. One needs to be very hardcore under those conditions to invest heavily into Magic Arena. But with Magic being the original pay to win game, the people who do invest heavily have a huge advantage over those who don’t.

Because Magic Arena only features a single player vs. player mode, constructed, this mode is dominated by those hardcore players. You simply can’t start up Magic Arena and play a fun, casual game. There are neither casual PvP modes like two-headed giant, nor are there any modes to play against an AI of various difficulty levels for practice or just plain fun. There aren’t even less cutthroat competitive events, like limited mode leagues. There is only hardcore constructed, where anybody who isn’t hardcore and who hasn’t spent much on cards is just simply crushed. There doesn’t even appear to be some sort of matchmaking algorithm to even try to get people a more equal opponent.

That means that the flow of play of Magic Arena for a new player looks like this: He starts his first game, gets crushed, then gets crushed again and again, until he either uninstalls the game, or pulls out his wallet to be able to play with the big boys. My guess is that very few people will opt for the latter. It is as if the developers had carefully studied exactly what made Hearthstone such a big success and then decided to do exactly the opposite. Magic the Gathering simply isn’t such a mass market game any more that you can run a digital platform only for the hardcore.

I really don’t understand why Wizards of the Coast had to stop supporting Magic Duels, they could have kept that one going for the casual and mobile players. There is no overlap in the target audience of Magic Duels and Magic Arena. And now I am really sad that there isn’t any digital Magic game for me any more.

Reflection API : in Java

Reflection API : in Java


What is an API?

Application program interface (API) is a set of routines, protocols, and tools for building software applications. An API specifies how software components should interact. Additionally, APIs are used when programming graphical user interface (GUI) components. A good API makes it easier to develop a program by providing all the building blocks. A programmer then puts the blocks together,and build his own application.

An example, You are buying an item in online through your credit card. You will provide credit card details and press continue button. It will tell you whether your information is correct or not. To provide these results, there are lot of things in the background.
The application will send your credit card details to a remote application which will validate your information and send the result back your application. API is used in this scenario.
Java application programming interface (API) is a list of all classes that are part of the Java development kit (JDK). It includes all Java packages, classes, and interfaces, along with their methods, fields, and constructors. These pre-written classes provide a tremendous amount of functionality to a programmer.

Reflection API:

As we now know what is API in java,So in simple terms we can say Reflection API is a collection of classes which are meant for Reflection operations in java.

What is Reflection?


In Java, the process of analyzing and modifying all the capabilities of a class at runtime is called Reflection.Reflection is a language’s ability to inspect and dynamically call classes, methods, attributes, etc. at runtime.

Reflection is important since it lets you write programs that do not have to know everything at compile time, making them more dynamic, since they can be tied together at runtime.

For example, using reflection at the runtime you can determine what method, field, constructor or modifiers a class supports.

Where it is used?

The Reflection API is mainly used in:
  • IDE (Integrated Development Environment) e.g. Eclipse, MyEclipse, NetBeans etc.
  • Debugger
  • Test Tools etc.
For example, say you have an object of an unknown type in Java, and you would like to call a ‘doSomething’ method on it if one exists. Java’s static typing system isn’t really designed to support this unless the object conforms to a known interface, but using reflection, your code can look at the object and find out if it has a method called ‘doSomething’ and then call it if you want to.
Using Java Reflection Classes you can obtain  information about:
  • Class Name
  • Class Modifies (public, private, synchronized etc.)
  • Package Info
  • Superclass
  • Implemented Interfaces
  • Constructors
  • Methods
  • Fields
  • Annotations
and much more information about java classes.

Java.lang.reflect:

java.lang.reflect package encapsulates several important interfaces and classes. These classes and interface define methods which are used for reflection.

java.lang.Class class:

The java.lang.Class class performs mainly two tasks:
  • provides methods to get the metadata of a class at run time.
  • provides methods to examine and change the run time behavior of a class.

Commonly used methods of Class class:

Method Description
1) public String getName() returns the class name
2)public static Class forName(String className)throws ClassNotFoundException  loads the class and returns the reference of Class class.
3)public Object newInstance()throws InstantiationException,IllegalAccessException creates new instance.
4) public boolean isInterface() checks if it is interface.
5) public boolean isArray() checks if it is array.
6) public boolean isPrimitive() checks if it is primitive.
7) public Class getSuperclass() returns the superclass class reference.
The following example shows the usage of java.lang.Class.getName() method.


import java.lang.*;

public class SCPTL {

public static void main(String[] args) {

// returns the Class object associated with this class
SCPTL cl = new SCPTL();
Class c1Class = cl.getClass();

// returns the name of the class
String name = c1Class.getName();
System.out.println("Class Name = " + name);
}
}
getClass() method returns the instance of Class class and  getName() method returns the name of the entity (class, interface, array class, primitive type, or void) represented by this Class object, as a String(in this case name of class).
Above code will produce following output:

Uses of Reflection

Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. This is a relatively advanced feature and should be used only by developers who have a strong grasp of the fundamentals of the language. With that caveat in mind, reflection is a powerful technique and can enable applications to perform operations which would otherwise be impossible.
Extensibility Features
An application may make use of external, user-defined classes by creating instances of extensibility objects using their fully-qualified names.

Class Browsers and Visual Development Environments
A class browser needs to be able to enumerate the members of classes. Visual development environments can benefit from making use of type information available in reflection to aid the developer in writing correct code.

Debuggers and Test Tools
Debuggers need to be able to examine private members on classes. Test harnesses can make use of reflection to systematically call a discoverable set APIs defined on a class, to insure a high level of code coverage in a test suite.

Drawbacks of Reflection

Reflection is powerful, but should not be used indiscriminately. If it is possible to perform an operation without using reflection, then it is preferable to avoid using it. The following concerns should be kept in mind when accessing code via reflection.
Performance Overhead
Because reflection involves types that are dynamically resolved, certain Java virtual machine optimizations can not be performed. Consequently, reflective operations have slower performance than their non-reflective counterparts, and should be avoided in sections of code which are called frequently in performance-sensitive applications.
Security Restrictions
Reflection requires a runtime permission which may not be present when running under a security manager. This is in an important consideration for code which has to run in a restricted security context, such as in an Applet.

Want to learn more about java?

       

World of Warcraft today

I got a “gift” from Blizzard, 7 days of free subscription to WoW. Not that I would have needed it, I still have several tokens I could exchange for game time. But it did what it was supposed to do, prompt me to update the client and play World of Warcraft for an hour or so. Unfortunately for Blizzard that didn’t get me hooked again. Instead I got rather bored with running errands, aka quests, and logged out again.

One major difficulty I have with World of Warcraft is that the buttons I have for each character have changed so often over the life of this game. Which means that even on my main character which I have played literally for thousands of hours I can’t remember the optimum sequence of button presses after a year and a half of not playing the game. That doesn’t appear to matter for quests, I can do those with just randomly mashing buttons, but it is a serious barrier to re-entry if I wanted to play again.

The next thing that hit me was getting billions of artifact points thrown at me for doing not much. It basically made all the effort I had previously put into artifact weapons seem pointless. On the other hand, I had stopped playing with only part 1 of the achievement necessary for flying done, and it turns out that part 2 still needs weeks of grinding to get to. No thanks!

In summary, World of Warcraft has changed the details frequently (which makes it hard to remember how to play well), while not changing the basic structure of the game enough (which makes it hard to find a renewed interest in playing). I still don’t think I will buy the next expansion, Battle for Azeroth.

Squeeze play: compression in video interfaces

In 2014 the Video Electronics Standards Association (VESA) introduced the 1.0 version of its Display Stream Compression (DSC) specification, the first standard system for compressing video specifically intended for use with hardwired display interfaces. The DSC standard was also endorsed by the MIPI Alliance, paving the way for widespread use in mobile devices and other applications beyond VESA’s original PC-centric focus.

Last year, version 1.2 was published, extending the feature set to include the 4:2:0 and 4:2:2, YCbCr formats commonly seen in digital television, and the group continues to develop and extend DSC’s capabilities and features.

But why the need for compression in the first place? Is it a good thing overall? Simply put, DSC’s adoption  is driven by the seemingly-insatiable appetite for more pixels, greater bit depth, and ever-increasing refresh rates. While the real need for some of these is debatable, there’s no argument that, especially in mobile devices, there’s a need to deliver high-quality, high-definition images while consuming the bare minimum of power. That leads to the need for compression.

A 1920 x 1080 image – considered just a moderate “resolution” these days – at a 60 Hz refresh rate and using 24-bit per pixel RGB encoding requires transmitting almost 3 gigabits of information every second between source and display, and that’s not even counting the inevitable overhead. Move up to “8K” video, as is coming to the market now, and that rate goes up geometrically. 48 billion bits of information need to move every second. That’s fast enough to fill a 1 TB drive in well under three minutes.

Leawo The move from 1080p to 4K, HDR, and even 8K content requires more and more data, increasing the necessity for compression to shrink file sizes.

Digital interface standards like DisplayPort and HDMI have done an admirable job of keeping up with this growing appetite for data capacity. DisplayPort 1.4 is capable of over 32 Gbits/sec., and future versions are expected to push that to 40 Gbits and higher. But these increases come at a price; all else being equal, faster transmission rates always take more power, on top of the generally higher power requirements of higher-resolution displays. Something has to give.

Compression is actually a pretty old idea, and it’s based on the fact that data (and especially image data) generally contains a lot of unnecessary information; there’s a high degree of redundancy.

Let’s say I point an HDTV camera at a uniformly white wall. It’s still sending out that three gigabits of data every second, even though you might as well be sending a simple “this frame is the same as the last one” message after the first one has been sent. Even within that first frame, if the picture is truly just a uniform white, you should be able to get away with sending just a single white pixel and then indicating, somehow, “don’t worry about anything else – they all look like that!” The overwhelming majority of that 3 Gbits/sec data torrent is wasted.

In mobile devices, compression standards give us the means for connecting high-res external displays— like VR headsets— without chewing through the battery or needing a huge connector.

In a perfect situation we could eliminate everything but that single pixel of information and still wind up with a picture that would be identical to the original: a perfectly uniform white screen. This would be a case of completely lossless compression — if  we can assume that “perfect” situation. What eliminating redundancy does, though, in addition to reducing the amount of data you need to transmit, is to make it all that much more important that the data you are sending gets through unchanged. In other words, you’ve made your video stream much more sensitive to noise. Imagine what happens if, in sending that one pixel’s worth of “white” that’s going to set the color for the whole screen, a burst of noise knocks out all the blue information. You wind up with red and green, but no blue, which turns our white screen yellow. Since we’ve stopped sending all those redundant frames, it stays that way until a change in the source image causes something new to be sent.

The goal is to come up with a compression system that is visually lossless

So compression, even “mathematically lossless” compression, can still have an impact on the image quality at the receiving end. The goal is to come up with a compression system that is visually lossless, meaning it results in images indistinguishable from the uncompressed video signal by any human viewer. Careful design of the compression system can enable this while still allowing a significant reduction in the amount of data sent.

Imagine that instead of a plain white image, we’re sending typical video; coverage of a baseball game, for instance. But instead of sending each pixel of every frame, we send every other pixel. Odd pixels on one frame, and even pixels on the next. I’ve just cut the data rate in half, but thanks to the redundancy of information across frames, and the fact that I’m still maintaining a 60 Hz rate, the viewer never sees the difference. The “missing” data is made up, too rapidly to be noticed. That’s not something that’s actually used in any compression standard, as far as I know, but it shows how a simple “visually lossless” compression scheme might work.

If you’re familiar with the history of video, that example may have sounded awfully familiar. It’s very close to interlaced transmission, which used in the original analog TV systems. Interlacing can be understood as a crude form of data compression. It’s not really going to be completely visually lossless; some visible artifacts would still be expected (especially when objects moving within the image). But even such a simple system would still give surprisingly good results while saving a lot of interface bandwidth.

Synopsys An example of how DSC and DSI interoperate on host and device sides, and sample compression rates with and without DSC.

VESA’s DSC specification is a good deal more sophisticated, and produces truly visually lossless results in a large number of tests. The system can provide compression on the order of 3:1, easily permitting “8K” video streams to even be carried over earlier versions of DisplayPort or HDMI. It does this via a relatively simple yet elegant algorithm that can be implemented in a minimum of additional circuitry, keeping the power load down to something easily handled in a mobile product — possibly even providing a net savings over running the interface at the full, uncompressed rate.

If you’re worried about any sort of compression still having a visible effect on your screen, consider the following. Over-the-air HDTV broadcasts are possible only because of the very high degree of compression that was built into the digital TV standard. Squeezing a full-HD broadcast, even one in which the source is an interlaced format like “1080i,” requires compression ratios on the order of 50:1 or more. The 1.5 Gbits per second of a 1080i, 60 Hz video stream had to be shoehorned into a 6 MHz channel (providing at best a little more than a 19 megabit-per-second capacity). HTDV broadcasts very typically work with less than a single bit per pixel in the final compressed data stream as it’s sent over the air, resulting in a clear, sharp HD image on your screen. When unusually high noise levels come up, the now-familiar blocky “compression artifacts” of digital TV pop up, but this really doesn’t happen all that often. Proprietary systems such as broadcast satellite or cable TV can use even heavier compression, and as a result show these sorts of problems much more frequently.

In the better-controlled environment of a wired digital interface, and with the much milder compression ratios of DSC, images transmitted using this system will probably be visually perfect. In mobile devices, compression standards such as these will give us the means for connecting high-res external displays— like VR headsets— without chewing through the battery or needing a huge connector.

You’ll very likely never even know it’s there.

ZTE Axon M International Giveaway!

Welcome to the Sunday Giveaway, the place where we giveaway a new Android phone each and every Sunday!

A big congratulations to last week’s winners of the Best of Android Three Phone Giveaway: Stijn C. (Belgium), Alexander C. (USA), and Vlad I. (Canada).

This week we are giving away a brand new ZTE Axon M!

The phone of the future is here.

The ZTE Axon M has two 5.2-inch screens for double the productivity and double the fun. With those two screens, you’ll be able to run two apps side by side, or use both screens together as a whole canvas.

Under the hood, the Axon M comes with a Snapdragon 821 processor, 4 GB of RAM, 64 GB of storage, and up to 2 TB of microSD expansion. It also has a 20 MP sensor with an f/1.8 aperture that can be used as both the front and back cameras.

Want to learn more about the ZTE Axon M? Check out our related coverage below:

  • ZTE Axon M review: the foldable phone is here
  • ZTE Axon M specs: two displays, Snapdragon 821, and a single 20 MP camera
  • ZTE Axon M: ZTE’s crazy foldable smartphone

Enter the giveaway here

ZTE Axon M International Giveaway!

Don’t miss: Best Android Phone (December 2017) Giveaway

Winners gallery

Terms & Conditions

  • The giveaway is an international giveaway (Except when we can not ship to your country.)
  • If we can not ship to your country, you will be compensated with an online gift card of equal MSRP value to the prize.
  • We are not responsible for lost shipments.
  • We are not responsible if your giveaway prize malfunctions.
  • You must be age of majority in your Country of residence.
  • We are not responsible for any duties or import fees that you may incur.
  • Only one entry per person; please do not enter multiple email addresses. We will verify all winners and if we detect multiple email addresses by the same person you will not be eligible to win.
  • We reserve all rights to make any changes to this giveaway.
  • This giveaway is operated by AndroidAuthority.
  • The prize will ship when it is available to purchase.