Welcome to CodingWithMitch.com

The best place to learn Android Development

Android Tutorials Courses

What's new?

My Thoughts on Net-Neutrality


For those of you who don't know what Net Neutrality is, in the context of this post I'm referring to the government regulation of internet content.

There's currently what I would call a "public-uproar" on this topic. Some of the largest internet service provider companies in North America want to end Net Neutrality. If they end Net Neutrality, they'll be able to increase or decrease speeds and performance in any city or region they want to.

Essentially it would allow them to become "free" to do what they want with the internet services they provide. They'll be free to increase fee's, decrease bandwidth, or throttle your service.

What is the government offering to do?

As expected, "good-guy" government has offered to step in and force Net Neutrality. Net Neutrality would force all ISP's to provide the same service to all areas and regions without discrimination. They are offering to put limits on fee's and make sure everything is regulated.

My opinions:

Obviously I understand that giving ISP's complete freedom can have some short-term negative effects. If companies have complete freedom to charge you more, or even cut off your service if it's not worth it for them to provide service in your area, that sucks. HOWEVER, there's nothing stopping you from switching providers or even moving to a different location if the service they provide is bad.

That last sentence was actually a very powerful statement if you break it down. Let's talk about it.

If companies have complete freedom to do what they want with their service, that's actually incredibly empowering for the public. If a company sucks, and treats their customers poorly, you can stop using them. Pretty soon that company isn't going to be much of a company anymore if they don't treat their customers well. So consequently if ISP's have complete freedom it actually increases competition among ISP's. If they have complete freedom, they'll always need to be watching out for other companies innovating or improving their service.

The Future:

I think it's ironic that people are in an uproar about Net Neutrality. By striving for Net Neutrality people think they're empowering the public by restricting a few large corporations. But by allowing the government to step in and regulate internet content you're actually empowering the biggest corporation of them all, the U.S. Government. If you don't have Net Neutrality, the public has the ability to pick and choose services. This drives competition and serves as a form of "Corporate Natural Selection".

An Example:

Take a look at the car company Tesla. What if back in 2003 the government decided to step in and force car companies to build a "basic" gasoline car that was the same for everyone? Therefore giving everyone the same opportunity to drive a car and receive the same treatment. In the short term it would have been great. Cars are expensive and it sucks when you buy one with problems. But it would have been impossible for a company like Tesla to innovate and increase the quality of life for literally everyone in the world. It took more time, but in 10 years we're all going to be driving electric cars that leave a neutral (maybe even positive) carbon footprint. Innovation and competition is a prerequisite for progress. If the government steps in, you're literally slowing down the progress of humanity. Trust in people and human nature. We will always strive for better quality of life and innovation.

Let me paint you a picture of what this will look like in 10-20 years if we have Net Neutrality:

There will only be a few ISP companies left (maybe even just a single large company). There won't be any incentive for people to use one company over another so it basically makes it impossible for a new company to get started. Without a product that's any different, there's no reason for people to use it. This scenario could go one of two ways:

  1. The few companies that remain could be providing incredible service as regulated by the government
    • I hope you understand that this is extremely unlikely as they'd have no reason to innovate or improve customer service. There would be no competition so there's no need.
  2. Or they could be providing "just barely acceptable service"
    • This is the likely outcome. The companies that are left have had almost no reason to create new products or improve their service because there's no competition.

Why I don't really care what happens:

I definitely favor the non-Net-Neutrality option, but at the end of the day I don't really care. I'm confident in my ability to adapt to whatever the outcome is. If I have to move somewhere else in the world to get better service, I will.

Additionally, I live in Canada and the CRTC (Canadian Radio-Television and Communications board) basically shares my opinion. They are mostly against Net Neutrality (with a few special cases) and said: "[it would] likely [have] negative impacts on competition, consumer choice, and innovation,"

Here's a video posted on SimpleProgrammer. I pretty much agree with everything he says.

Firebase on Android: Realtime Database and Cloud Storage


Start your free trial at Pluralsight.com to watch the course: Click Here!

Short Description:

Looking to dive into Firebase Database and explore cloud storage tools? In this course, you'll develop an understanding of how to save data to a real-time database and upload files to a personalized cloud storage directory.

Detailed Description:

At the core of modern mobile application databases and storage systems is a thorough understanding of Firebase. In this course, Firebase on Android: Real-time Database and Cloud Storage, you'll learn how to seamlessly integrate Firebase into your Android projects. First, you'll discover how to create, retrieve, update, and delete data from the database. Next, you'll explore how to upload files to cloud storage. Finally, you'll learn to retrieve files in cloud storage. When you’re finished with this course, you'll have a foundational knowledge of the Firebase Database and cloud storage tools that will help you as you move forward to develop mobile applications. Software required: Android Studio 2.3.

Sending Firebase Cloud Messages using a Cloud Function


Learn to send push notifications to specific app users with Firebase Cloud Messaging and Firebase Cloud Functions.

Usually I only produce video content but I decided to try something new. Check out my newest Android tutorial here: Sending Firebase Cloud Messages using a Cloud Function

The Ultimate List of Software Developer Blogs


Guess how many blog posts are made each day?

You probably weren't even close. The answer is over 2 million. After doing some quick math that means there's over 23 posts published per second!

So what does that mean for you as a software developer (or aspiring software developer)?

That means it's extremely difficult to find good information. With so much volume how do you filter through the stuff you're not interested in?

As far as I know, a “master list” of all the best software developer blogs does not exist. You can find small language specific lists, but nothing that contains a large quantity of different languages. I've taken the liberty of producing this "master-list" and published it here on simpleprogrammer.com. I know I know, you can hardly wait to thank me.

Before you do, take a look and tell me if I missed anything.

Android Classifieds App Course with Firebase and ElasticSearch


Short Description:

What you'll learn in this course:
  1. How to build an Android "Classifieds App" where user's can search for items to buy and post items to sell.
  2. Integrate Firebase Database
  3. Integrate Firebase Cloud-Storage
  4. Integrate Firebase Authentication (Email & Password)
  5. Building and Deploying Firebase Cloud-Functions
  6. Integrating ElasticSearch
  7. Copying data from your Firebase Database to your ElasticSearch Server using a Firebase Cloud-Function
  8. Querying your ElasticSearch Server

Detailed Description:

Firebase is an incredible technology but it has one short-coming that stands out.

There's no way to search for Strings unless you know the exact spelling. For example: if I'm searching for a car to buy and I don't know what color I want, I might just search the keyword "car". If you search the Firebase database the only things you'll see are titles or descriptions that match "car" exactly.

But there's a pretty straight-forward solution to this problem. We can integerate a tool called "ElasticSearch" to greatly improve the search functionality. So if we use the car example from above, if you made that same search with ElasticSearch, you would get all kinds of results. You'd see things like:

  • blue car
  • red car
  • white car
  • black car
  • used car
  • new car
  • Literally anything with the word "car" in it.

I think it's pretty easy to see that this is far superior search functionality as compared to using a Firebase Query.

All source code will be provided on my Github and you can watch the course free on CodingWithMitch or on YouTube.

Try Pluralsight for 10 Days FREE

Check out the Courses:

Android Firestore Introduction


Google Maps & Google Places


Classifieds App


Instagram Clone


Build a Reddit App