Android WiFi: Android – LeaVe my baThRoom at-least !

android wifi


WiFi is a technology for wireless local area networking with devices based on the IEEE 802.11 standards. Devices that can use Wi-Fi technology include personal computers, video-game consoles, smartphones, digital cameras, tablet computers, digital audio players and modern printers. Wi-Fi compatible devices can connect to the Internet via a WLAN and a wireless access point. Such an access point (or hotspot) has a range of about 20 meters (66 feet) indoors and a greater range outdoors. Hotspot coverage can be as small as a single room with walls that block radio waves, or as large as many square kilometers achieved by using multiple overlapping access points.

Android allows applications to access to view the access the state of the wireless connections at very low level. Android provides WiFi API through which applications can communicate with the lower-level wireless stack that provides WiFi network access. Almost all information from the device supplicant is available, including the connected network’s link speed, IP address, negotiation state, and more, plus information about other networks that are available. Some other API features include the ability to scan, add, save, terminate and initiate WiFi connections.

WifiManager is the primary API for managing all aspects of WiFi connectivity. Get an instance of this class by calling Context.getSystemService(Context.WIFI_SERVICE). It’s Syntax is given below:-

WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);


WifiManager class provides different methods to control WiFi activities:-

  • int addNetwork(WifiConfiguration config): Add a new network description to the set of configured networks.
  • WifiManager.MulticastLock createMulticastLock(String tag): Create a new MulticastLock
  • WifiManager.WifiLock createWifiLock(String tag): This method creates a new WifiLock.
  • boolean disconnect(): This method disassociate from the currently active access point.
  • boolean enableNetwork(int netId, boolean disableOthers): This method allow a previously configured network to be associated with.
  • int getWifiState(): This method gets the Wi-Fi enabled state
  • boolean isWifiEnabled(): This method return whether Wi-Fi is enabled or disabled.
  • boolean setWifiEnabled(boolean enabled): This method enable or disable Wi-Fi.
  • int updateNetwork(WifiConfiguration config): This method update the network description of an existing configured network.
  • boolean disableNetwork (int netId): Disable a configured network.

In order to scan a list of wireless networks, you also need to register your BroadcastReceiver. It can be registered using registerReceiver method with argument of your receiver class object. Its syntax is given below −

class WifiScanReceiver extends BroadcastReceiver {

   public void onReceive(Context c, Intent intent) {
   }
}
WifiScanReceiver wifiReciever = new WifiScanReceiver();
registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

The wifi scan can be start by calling the startScan method of the WifiManager class. This method returns a list of ScanResult objects. You can access any object by calling the get method of list. Its syntax is given below :-


List wifiScanList = mainWifiObj.getScanResults();

String data = wifiScanList.get(0).toString();

Example

Let’s see the simple example of wifi to enable and disable the wifi service.
To run this example you need actual Android device.
  • You will use Android studio to create an Android application under a package net.suven.android.androidwifi.
  • Modify src/MainActivity.java file to add necessary code.
  • Modify the res/layout/activity_main to add respective XML components.
  • Modify the AndroidManifest.xml to add the necessary permissions
  • Run the application and choose a running android device and install the application on it and verify the results.
Following is the content of src/MainActivity.java

package net.suven.android.androidwifi;

import android.net.wifi.WifiManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;


public class MainActivity extends Activity {
Button enableButton,disableButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

enableButton=(Button)findViewById(R.id.button);
disableButton=(Button)findViewById(R.id.button1);

enableButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(true);
Toast.makeText(getBaseContext(), "WiFI Enabled",
Toast.LENGTH_LONG).show();

}
});

disableButton.setOnClickListener(new OnClickListener(){
public void onClick(View v){
WifiManager wifi = (WifiManager)getSystemService(Context.WIFI_SERVICE);
wifi.setWifiEnabled(false);
Toast.makeText(getBaseContext(), "WiFI Disabled",
Toast.LENGTH_LONG).show();
}
});
}
}
Following is the content of activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"

tools:context=".MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textView"
android:textSize="30dp"
android:text="ANDROID WIFI"
android:layout_above="@+id/textView2"
android:layout_centerHorizontal="true"
android:layout_marginBottom="11dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="SCTPL"
android:id="@+id/textView2"
android:textSize="35dp"
android:textColor="#ff16ff01"
android:layout_above="@+id/imageView"
android:layout_centerHorizontal="true" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/suvenlogo"
android:layout_centerVertical="true"
android:layout_alignEnd="@+id/textView" />

<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enable WiFi"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_toStartOf="@+id/textView2"
android:layout_marginEnd="14dp"
android:layout_marginBottom="56dp" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="76dp"
android:text="Disable WiFI"
android:layout_alignBaseline="@+id/button"
android:layout_alignBottom="@+id/button"
android:layout_alignParentEnd="true"
android:layout_marginEnd="20dp" />

</RelativeLayout>
Following is the content of AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="net.suven.android.androidwifi">
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>

</manifest>
Following is the output of Application

android wifi enabled

android wifi disabled
Click here to download Source Code and APK

 Learn Android Programming?


Robert Reich: A Guide to Why the Trump-Republican Tax Plan Is a Disgrace (for When you Confront Your Republican Uncle Bob During the Holidays)

Shame on Trump and the Republicans who have lied to the pubic about its consequences.

Here are the 3 main Republican arguments in favor of the Republican tax plan, followed by the truth.

1. It will make American corporations competitive with foreign corporations, which are taxed at a lower rate.

Rubbish.

(1) American corporations now pay an effective rate (after taking deductions and tax credits) that’s just about the same as most foreign based corporations pay.

(2) Most of these other countries also impose a “Value Added Tax” on top of the corporate tax.

(3) When we cut our corporate rate from 35% to 20%, other nations will cut their corporate rates in order to be competitive with us – so we gain nothing anyway.

(4) Most big American corporations who benefit most from the Republican tax plan aren’t even “American.” Over 35 percent of their shareholders are foreign (which means that by cutting corporate taxes we’re giving a big tax cut to those foreign shareholders). 20 percent of their employees are foreign, while many Americans work for foreign-based corporations.

(5) The “competitiveness” of America depends on American workers, not on “American” corporations. But this tax plan will make it harder to finance public investments in education, health, and infrastructure, on which the future competitiveness of American workers depends.

(6) American corporations already have more money than they know what to do with. Their profits are at record levels. They’re using them to buy back their shares of stock, and raise executive pay. That’s what they’ll do with the additional $1 trillion they’ll receive in this tax cut.

***

2. With the tax cut, big corporations and the rich will invest and create more jobs.

Baloney.

(1) Job creation doesn’t trickle down. After Ronald Reagan and George W. Bush cut taxes on the top, few jobs and little growth resulted. America cut taxes on corporations in 2004 in an attempt to get them to bring their profits home from abroad, and what happened? They didn’t invest. They just bought up more shares of their own stock, and increased executive pay.

(2) Companies expand and create jobs when there’s more demand for their goods and services. That demand comes from customers who have the money to buy what companies sell. Those customers are primarily the middle class and poor, who spend far more of their incomes than the rich. But this tax bill mostly benefits the rich.

(3) At a time when the richest 1 percent already have 40 percent of all the wealth in the country, it’s immoral to give them even more – especially when financed partly by 13 million low-income Americans who will lose their health coverage as a result of this tax plan (according to the Congressional Budget Office), and by subsequent cuts in safety-net programs necessitated by increasing the deficit by $1.5 trillion.

***

3. It will give small businesses an incentive to invest and create more jobs.

Untrue.

(1) At least 85 percent of small businesses earn so little they already pay the lowest corporate tax rate, which this plan doesn’t change.

(2) In fact, because the tax plan bestows much larger rewards on big businesses, they’ll have more ability to use predatory tactics to squeeze small firms and force them out of business.

***

Don’t let your Uncle Bob be fooled: Republicans are voting for this because their wealthy patrons demand it. Their tax plan will weaken our economy for years – reducing demand, widening inequality, and increasing the national debt by at least $1.5 trillion over the next decade.

Shame on the greedy Republican backers who have engineered this. Shame on Trump and the Republicans who have lied to the pubic about its consequences.

 

 

Related Stories

  • As L.A. Burns, Republicans Vote for a Tax Hike on the Victims
  • Unbelievable Censorship: Trump Bans CDC from Using These 7 Words
  • Franken and Moore Lesson: ‘When It Comes to Sex Scandals, the Politicians… Most Guilty and Least Repentant Are The Ones Who Survive’

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.

If Trump Fires Mueller, Is a Watergate Rerun Coming?

Firing special prosecutor Archibald Cox was a massive blunder for Richard Nixon. But yes, it could happen again.

For some reason I had a yearning to curl up on the couch and binge-watch Watergate documentaries this weekend. I can’t imagine why. Just because every TV talking head was breathlessly talking about the right-wing crusade against special counsel Robert Mueller’s office, and rumors were flying that Jared Kushner is shopping around for a crisis management firm, that’s no reason to think that the scandal may be headed for a new phase. But when news broke on Saturday that a Trump transition lawyer had sent a letter to Congress complaining that Mueller had allegedly obtained transition officials’ emails illegally, it sure felt as if something was going to break.

Trump returned from Camp David on Sunday night and told the press that he isn’t considering firing Mueller. Since he cannot tell a lie, that’s obviously the end of that. The Kushner business, on the other hand, may be true, in light of the news about the emails that the Trump team didn’t know were in the hands of prosecutors until after they had all testified, opening up the possibility that someone may have lied. As Michael Flynn and George Papadopoulos can attest, that’s a big no-no.

Trump’s transition lawyer, who doesn’t seem to have any experience in these matters, said that the way the prosecutors obtained the emails is illegal — but also said that Congress should make it illegal. So the nature of Team Trump’s specific complaints is a bit confusing. Evidently they had placed their own man in the General Services Administration, who assured them that emails they sent on government devices with the .gov address would be secured and wouldn’t be turned over without their knowledge.

Unfortunately, their man got sick and died, and the people beneath him were not told about this promise, and when the prosecutors came looking for the emails they were handed over, as would happen in any criminal investigation. Since all such emails are government property and everyone is informed before they are issued the email addresses that they have no expectation of privacy, there’s nothing unusual in any of it. But as we’ve seen before, the Trump team doesn’t really listen or pay attention to the normal rules and regulations. They apparently thought they had this all dialed in. As usual, they didn’t.

Mueller’s office made a rare public comment right after midnight on Sunday morning: “When we have obtained emails in the course of our ongoing criminal investigation, we have secured either the account owner’s consent or appropriate criminal process.” Apparently, they had reason to believe something criminal was going on in the Trump transition.

Lawyers from both parties weighed in on Sunday and explained that there’s nothing illegal about a government investigation obtaining emails from a government agency. The Trump attorney referred to “possible” executive privilege and attorney-client privilege, but didn’t really make the claim, mainly because executive privilege doesn’t exist for a president until he takes office, and if there were attorney communications that might be privileged, all it means is that prosecutors couldn’t use those to build their case. Needless to say, if the Trump team wants to argue this, the appropriate venue is a courtroom — which is exactly what the House Oversight Committee chair Trey Gowdy told them.

As I mentioned, Trump says he isn’t considering firing Mueller, but then, he isn’t literally the one who would fire him, is he? That job would fall to Rod Rosenstein, the deputy attorney general overseeing the special counsel investigation since Jeff Sessions recused himself from the case. Trump could direct Rosenstein to fire Mueller; if Rosenstein refuses, the president can fire him and demand that the next person in line do the deed. It’s not as if it hasn’t happened before.

Looking back at the Saturday Night Massacre in the fall of 1973, at the height of the Watergate scandal, Richard Nixon was furious that special prosecutor Archibald Cox had gone beyond what Nixon thought should be his mandate. When the president found out that Cox was looking into the financing of his West Coast White House in San Clemente, California, he went ballistic. Nixon probably had a lot less to hide in this regard than Donald Trump does.

But what finally precipitated Cox’s firing was the battle over the tapes of Nixon’s conversations in the White House, which had been described in detail by former White House counsel John Dean when testifying about the cover-up of the Watergate break-in. After the existence of the tapes had been exposed, Nixon refused to turn them over. Cox took him to court, and the court had ruled against the president. Nixon refused. His lawyers came up with a cockamamie plan to have one elderly conservative senator listen to the tapes and attest to the accuracy of White House-prepared transcripts of certain conversations under subpoena. Cox said no — that was in defiance of the court. He planned to take the case back before a judge and would abide by his ruling.

That’s when Nixon called up the Attorney General Elliot Richardson and told him to fire Cox. The president said to Richardson when he refused, “I’m sorry you choose to put your purely personal commitments ahead of the public interest.” To which Richardson replied, “Mr. President, it would appear that you and I have a different perception of the public interest.” Deputy Attorney General William Ruckelshaus also resigned, and then Solicitor General Robert Bork finally did the deed.

What happened next was interesting. Nixon wanted to shut down the office altogether and sent the FBI to lock the place down. But prosecutors wouldn’t leave and were giving press conferences. The public was all up in arms, and the media backlash was furious.

Nixon ended up having to appoint another special prosecutor and picked a conservative Republican, Leon Jaworski, who was predisposed to give the president the benefit of the doubt. But after refusing to appeal the case to the Supreme Court, Nixon finally gave up the tapes. When Jaworski heard him talking to John Dean, he said, “can you believe the president of the United States coaching a witness on how to evade the truth?”

That’s when the prosecutors got their indictments of the presidents’ men and delivered their case to the House committee considering impeachment.

Watching Trump and knowing how often he lies, it seems inevitable that there have been more than a few such moments for Mueller in reading some of those emails and listening to testimony from people around the president. The difference is that Nixon had an understanding of the necessity of maintaining stability in the system, even as he abused it terribly. Trump doesn’t even know what the system is and his lawyers don’t seem to have much of a grasp of it either. So far, Republicans in Congress are completely unwilling to do their duty.

Trump might follow the Nixon playbook and fire Mueller, but after that, the whole thing could go off the rails. As strange as this is to say, Nixon knew there were limits to his power. Trump doesn’t. Who knows what he might do?

 

 

 

Related Stories

  • Robert Mueller Has the Trump Team Panicked, No Matter What the President Says
  • The One Scenario in Which Trump Would Risk Impeachment and Fire Robert Mueller
  • Donald Trump Jr. and Ted Cruz Mock Barack Obama with Bizarre Cookie

What is Ethereum? — a short guide

What is Ethereum EthereumPrice

You may be asking yourself, “What is Ethereum?” Well, Vitalik Buterin, a Canadian programmer born in Russia, invented Ethereum in 2015 by. It’s a cryptocurrency much like Bitcoin that allows you to make payments online. It’s decentralized, offers low transaction fees, and runs on a publicly disclosed blockchain that records each transaction.

Read: What is a blockchain? – Gary Explains

Ethereum’s currency is called Ether and is currently the second largest in the world in market cap, behind Bitcoin. There are reportedly around two million wallets that hold it, up from 1.6 million in May — showing the growing popularity of Ether.

How is it different from Bitcoin? Bitcoin aims to become a globally adopted currency that could improve or even replace conventional money. Ethereum, on the other hand, is more than a cryptocurrency. It’s also a ledger technology used to build decentralized applications (dapps) with smart contracts.

What are smart contracts?

Wikimedia

Smart contracts are programs that automatically execute exactly as they are set up by their creators. Their purpose is to offer more security by removing the middlemen that we would otherwise have to use. Confused? Let’s take a look at a simple example.

Let’s say you want to ship a large gift to your friend and hire a trucker to do the job. For the trucker to know you’ll pay him, and for you to be sure the delivery will be made, you both sign an agreement for shared peace of mind. This takes time and can be expensive, as you need someone who will draw up the paperwork for you, and so forth.

This process can be simplified with a smart contract. You make the payment the day the package is picked up, and the smart contract will automatically transfer the money to the trucker as soon as your friend confirms the delivery has been made.

How is Ether created and where can I get it?

CoinSpectator

Like Bitcoins, Ethers are created through a process called mining. This requires expensive and specialized computers that have to perform complicated calculations. Mining is mainly done by large companies that are compensated for their work with newly minted Ethers.

Editor’s Pick

Unfortunately, you won’t make any money by mining with your personal PC, even if it’s a high-end model. So how can you get your hands on Ethers? You can earn them by providing goods and services to people who can pay you with the digital currency. The second option is to buy them from a marketplace like Coinbase with your credit card.

The Ethers you own are stored in a wallet secured with a private key. You can keep it in the cloud or offline, with the latter being a much safer option. The important thing is that you don’t lose the private key. If that happens, you won’t be able to access your money.

How much does it cost and what determines the price?

Crypto-News

Now that we have figured out the answer to the “What is Ethereum?” question, how much do Ethers really cost? Ethers were cheap when introduced back in 2015 — you could get one for less than a dollar. Their price has risen over the years and currently stands at around $430 each (exact value can be found in widget below). The sharp increase means Ethers can be a great investment, same as Bitcoins and many other cryptocurrencies. For example, if you bought $1,000 worth of Ethers in 2015 when they were worth $0.50 a piece, you would have $860,000 today.

Before you get too excited, keep in mind that investing in cryptocurrencies can be risky.

Before you get too excited, sell your house, and buy as many Ethers as you can get, let me remind you that investing in cryptocurrencies can be risky. Sure, a lot of them have increased in value in recent years, but that doesn’t mean this trend will continue. Cryptocurrencies are volatile, meaning their price can go up and down significantly in a single day. This makes them less stable than standard currencies like the dollar and euro.

How exactly do we determine their value? Like Bitcoins, gold, oranges, and every other item available on the market, supply and demand determine the price of Ethers.

The Merkle


Ethereum can be hard to understand at times. The same goes for Bitcoins and the rest of the cryptocurrencies available. But the fact is that they’re here to stay and might become a more important part of our daily lives in the future.

Many experts believe Ethereum has a lot of potential and could overtake Bitcoin as the largest cryptocurrency somewhere down the line. This is all speculation, though well within the realm of possibility. But like with stocks, gold, and other investments, no one can be 100 percent sure in which direction the price will move.

Hopefully we have given you an answer to the “What is Ethereum?” question. What are your thoughts on Ethereum and cryptocurrencies in general? Let us know in the comments.

Dungeons & Dragons today

Dungeons & Dragons is over 40 years old, and I have been playing it for over 35 years. So what is the most surprising aspect of D&D today for me is how popular the game has become suddenly. A streamlined 5th edition and good use of social media, including celebrity support, has moved D&D into the main stream. People now actually watch other people play D&D on Twitch, and not just when it is Vin Diesel or Wil Wheaton. “D&D player on Twitch / YouTube” is now actually a method to become “internet famous”.

I liked 4th edition Dungeons & Dragons. It is a great combination of role-playing game with a balanced tactical combat game for experienced players. But it is not a suitable game for a mass market, it is far too complicated for that. The much less balanced, much quicker, much easier 5th edition is far more suitable for mass popularity.

It also helped that the makers of Dungeons & Dragons stopped shooting themselves in the foot with their internet policy. In the early days of the internet, TSR was notorious for going after fans putting D&D-related materials on the internet. It took a change of owner in 1997 to Wizards of the Coast and then Hasbro in 1999 to get the company to realize that fans on the internet are free advertising. With a game that is hard to explain to somebody who has never played it, a Twitch / Youtube video of interesting people like Chris Perkins running a game with Acquisitions Incorporated at PAX might actually be superior advertising to anything else.

The only people somewhat unhappy by the current popularity of D&D are the makers and fans of Pathfinder. Pathfinder had shoved D&D off the throne of top pen & paper roleplaying game for several years during 4th edition, only to be left in the dust by 5th edition. Now they are planning a comeback with Pathfinder second edition, with a playtest starting in August.

I’m shocked, SHOCKED, that racism is going on here!

When viewed from over here in Europe, American politics sometimes appear a bit weird. Last week it was weirder than usual. President Trump flip-flopped on his condemnation of white supremacists and racists, and there was a huge outcry about how he finally failed to take a strong verbal stand against racism. That left me very much confused! I had been under the impression that as a candidate Trump had run on a platform of pretty open racism and hate of foreigners, especially Mexicans and Muslims. I had been under the impression that a large part of the American electorate, somewhere between 30% and 50%, believed that foreigners were to be blamed for many American problems, and that an anti-foreigner “America first” policy would improve things. In short, I thought that once you stripped off the veneer of political correctness, the policies of xenophobia and racism were pretty much American mainstream. So how come everybody is so outraged if a president says what we all know that he is thinking?

What is so weird about political correctness is that people are okay with *actions* that directly target a specific race or religion, like building a wall towards Mexico, or a Muslim travel ban. But *speech* which contains racial or religious or gender discrimination is unacceptable? I can’t help but wonder whether it wouldn’t be a lot saner to do it the other way around: Have an open discussion about the fears and prejudices people have towards other races, religions, genders, or sexual orientations, but refrain from actually persecuting people for having a different race, religion, or sexual orientation. There is strong scientific evidence that a certain degree of xenophobia is something hard-wired into the parts of our brains from an earlier evolutionary period, and overcoming xenophobia means teaching the newer parts of the brain to override those outdated instincts. Prohibiting people from talking about those instinctive feelings isn’t really helpful in that respect, because it doesn’t make those feelings go away.

Understanding Out of the Abyss

*Spoiler Warning*: This post contains spoilers about the Dungeons & Dragons adventure “Out of the Abyss” (OotA).

My first contact with Out of the Abyss wasn’t great. I was a player in a campaign based on that book, but the DM was a) inexperienced and b) had removed the starting chapter and removed it by a series of other adventures before leading us down into the Underdark. Now I can see the motivation for that: OotA starts the players as slaves of the Drow, in shackles, without gear; a start that is both somewhat cliche for the genre, and not the most pleasant one for the players. However after preparing the adventure now for another group I see how this start is absolutely essential to the adventure. Removing it leads to exactly the problem we had, that is wandering through the Underdark with no motivation, being unclear of the goal and purpose of the adventure.

The whole first half of Out of the Abyss is motivated by that start: The players escape and are pursued by the Drow. They are looking for a way back to the surface, while having to survive a harsh and strange environment, and having to find means to equip themselves. It is dark fantasy, it is a game of survival. And it doesn’t work without that start in slavery. If you ever want to play this, ask your players first if they are okay with a dark survival campaign instead of the more generic heroic fantasy.

To understand Out of the Abyss one needs to see how it inverses the sandbox approach of certain other D&D adventures, for example Princes of the Apocalypse. In Princes of the Apocalypse the dungeons and encounters are described in much detail, but it is left to the DM and players to figure out how to get from one dungeon to the next. That doesn’t work very well, because the dungeons have different levels, and playing them through in an order other than by level results in problems. Out of the Abyss takes a very different approach: The main story from the start to at least the mid-point, escaping from the Underdark, is linear. You best play chapter 1 first, then chapter 2, then chapter 3, etc., because it makes sense geographically and story-wise. But what exactly happens in each of the chapters is left open and is to be created by the interactive storytelling between DM and player. Chapter 1 is very clear about this being about a prisoner escape, but how exactly the players escape from prison is left to them. If they don’t do anything the DM has some events that will push them in the right direction, but ideally the DM first lets the players try their own ideas, and allows any half reasonable plan to succeed. The goal is for the DM and the players to both drive the story forward. D&D should never be adversarial, and for OotA it wouldn’t work at all if the DM didn’t “help” the players to escape.

One of the early highlights of that approach is chapter 4, Gracklstugh. There you get a complete description of a Duergar city in the Underdark, complete with who the different power factions are and what their interaction is. But you are left to play that city as a sandbox, the adventure doesn’t tell you where to start or which faction to support. Played right this might be a great short city adventure on its own. The obvious disadvantage of the approach, and thus of all of Out of the Abyss, is that it requires a great amount of preparation and/or improvisation from the Dungeon Master. This is very much a campaign for expert DMs. And I’ll find out in how far it works with newbie players, because that is who I am going to play it with.

Retraction

For weeks I have been having problems with my XYZ Da Vinci Jr. 1.0w 3D printer. Some prints work just fine, while other fail. Even worse, some prints which work fine if I try to print a single figurine then fail if I try to print multiple copies at the same time. It was driving me crazy, until with a lot of testing and observing I finally found out what the problem is: Retraction.

So what is retraction in 3D printing? Imagine printing a model of the Eiffel Tower. There is a lot of empty space in such a model. Because the print is done layer by layer, from the bottom up, the print head has to print a small thickness where a girder is, then move without printing to the next girder. In order to prevent PLA from coming out of the print head and causing strings to appear between the girders, the stepper motor is pulling the filament back a little bit before moving. That pulling back is called retraction.

Now what is happening with my printer, and I am not 100% sure how or why, is that the stepper motor is more efficient during retraction than during moving the filament forward. It basically retracts too much, and then after the movement pushes forward the filament by too little. So if I print a piece with lots of empty spaces and lots of retraction happening, while the solid sections are relatively thin, I end up retracting more and more, until the end of the filament has completely left the hot part of the extruder head. While the print head is still moving, there is no more plastic coming out of the nozzle at all, and the print fails.

Now there is a lot of 3D printing software with millions of settings where you can change the setting for retraction. Unfortunately the XYZ Printers don’t work with any of those 3D printing programs. They only work with their proprietary XYZWare. Which is deliberately simplified to make “plug and play” printing for the average customer possible. Somewhere in the depths of the code there must be a retraction setting (you can observe the filament moving backwards), but there is no way to access or change that setting. And I don’t want to “jailbreak” my 3D printer with some modified firmware, because that has the potential to completely break it.

Right now my solution is simply to avoid printing models with too much empty space in them. That means printing miniatures one by one instead of in batches, which would be more practical for prints during the night. But the long-term solution will be buying a better 3D printer which isn’t so limited with what software I can use, and what settings I can change. Right now I am thinking of still waiting a bit with that, as I haven’t found the printer of my dreams yet. One important feature for me is being able to print via WiFi, and surprisingly few printers have that. I want a pre-assembled 3D printer with a sturdy frame, not a wobbly self-assembly kit. But of course I don’t want to spend a fortune on it either. My $500 printer is maybe not high enough quality, but I wouldn’t want to spend more than $2,000 even on a good printer. As the market is developing, I might find the printer I want next year.

Want to switch your provider? Soon you’ll be able to do it with a single text in the UK

  • UK regulatory body Ofcom is introducing a new way to move mobile providers called “auto-switch”
  • Under the new rules, consumers will be able to switch networks with a single free text message
  • The rules will come into play in July 2019

Switching your network carrier can be an absolute nightmare what with all the different deals, new customer bonuses, and contractual small print to consider –  and that’s before all of the “please stay with us” phone calls you have to grit your teeth through when calling your current carrier.

Thankfully, the process has been getting easier in recent years, with improvements to number porting and simpler ways of unlocking phones. Now, in the UK at least, swapping providers is about to get even easier thanks to a new system set to be implemented by the regulatory body, Ofcom.

Dubbed “auto-switch”, Ofcom’s new rules distill most of the arduous process into a single code that does everything for you. Said code comes directly from your current operator via an online form, a phone call, or even a quick free text message.

Editor’s Pick

Once you have the code, all you need to do then is head over to whichever network you want to switch to, sign up, and provide them with the code. Think of it as a Porting Authorization Code (PAC code), but for your entire account.

Even better, once the code has been processed your old contract will terminate immediately, effectively ending any confusion or additional charges that might arise from the usual 30-day notice periods. The new system also lets you switch early by paying off your current contract when you originally request an auto-switch code.

If any of that has confused you (I was, if only because it sounds far too good to be true), Ofcom has provided a handy cartoon that shows the entire process in four simple steps which you can see below. As a result of the changes, Ofcom says it will be saving UK consumers around £10 million each year due to the ban on notice periods.

The sweeping changes will no doubt delight buyers, but Ofcom is fully aware that the new rules will put a lot of pressure on the current systems operators have in place. To help usher in the new age of easy-switching, Ofcom is setting a deadline of July 1st, 2019 so providers can make the necessary changes.

What do you think of the changes? Let us know in the comments.