Free Code Camp

After a lot of searching, I think I found what I was looking for: an online coding camp that was both free and worthwhile.

It is called FreeCodeCamp.org. This website is created by a guy named Quincy Larson. The code camp (which takes about 9-12 months) is entirely free. It is community supported and run as a non-profit.

I actually tried to take FlatIron’s free trial but could not get their software to run properly on my computer. Their customer service was not great either and they ask a lot of strange permissions when linking your GitHub account. I do not really plan on making a huge career switch out of this, but apparently a lot of members have gotten jobs by completing about 1/3 of the course (about 475 hours of work). I have looked at their portfolios and and GitHub accounts to verify their work.

I completed the first few modules of FreeCodeCamp (FCC) and could not be happier with it. I am currently stuck on a problem so I figured I would take this break time to share this website with others.

In addition, I think a program like this is just the beginning of a lot of online academies that will be coming. With University prices escalating to ridiculous heights, free applied camps like this are bound to catch on fast.

FreeCodeCamp

 

Free online classes

I’ve shopped around for a while for free online courses. I’ve found Coursera to offer many high-quality courses for free. Specifically, they offer a course called “Learning How to Learn” that was really handy when I was in college. This course shows how to build study skills.

The other enticing part of Coursera is that most of their courses are taught by real professors or people of renown in their field of study.

Check it out: Coursera.org

Image result for coursera

I have also been looking for a free coding class online. I did not find FlatIron.com to be that good of a platform. Their editor, LearnIDE (based on Atom) did not work properly. Thankfully I was on a free trial so it did not really matter. I would not pay them though for a coding “bootcamp.” According to their website other people have had success with it but I have not.

Jwolfgang.info is now an affiliate of Jordan Peterson’s Self-Authoring Suite

I recently received permission from one of Dr. Jordan Peterson’s family members to be an affiliate of the Self-Authoring Suite. This is very exciting! The Self-Authoring Suite is an online guided autobiography suite. The user is challenged to write coherently about past, present, and future life events in order to extract value from previous experiences. Jwolfgang.info will receive 10% of the normal price to help offset website costs if you click the link below.

Click here to purchase the Self-Authoring Suite

Working with the IBM Q

Did you know that you have access to a bleeding-edge quantum computer? Bet you didn’t! The IBM Q is a community access quantum computer. Which is one way of saying IBM is letting you program one of their quantum computers in exchange for all the rights of the programs you come up with. Yeah, I read the privacy policy.

All jadedness aside, I decided to give it a try. I will not have access to one of these for a while, so I will roll with the flow a little bit.

Quantum computing has been around sometime. It is a strange, foreign land compared to traditional computing. Instead of bits and bytes it uses qubits. A qubit can be a one and/or zero. It can be a one and a zero at the same time.

Because of the data structure inherent to quantum computing, quantum computing has great potential for database storage and access. In my trial with the IBM Q, I used a known algorithm called the Grover algorithm. This algorithm is a simple data retrieval “magic trick” so to speak.

This algorithm is supposedly able to win the “four card Monty” on the first try. I.e. there are four unknown cards flipped over on a table, one is the Queen (desired card). The person playing tries to guess the Queen card. This program simulates the four card Monty, and the IBM Q is supposed to be able to guess the Queen on the first try. The composition looks like this (a composition is just what they call a program).

The IBM Q Experience page allows users to both run compositions in the actual Quantum computer and as a simulation. This is because as a new user you only get limited access to the computer. You get a few tokens and each real quantum computing run charges you a tokens. So it is best to do a few free simulations before doing an actual run.

The composition above describes a Queen burried in position four. The way we count in the results is 00000=1, 00010=2, 00100=3, and 00110=4.

So I put the card in position 4. The computer is set to only do one trial (called a “shot”) of the program. I.E. it accesses only one card. Let’s see what we get.

Here are the results:

The simulator worked! It guessed that the Queen was buried in the fourth position! Why is this cool? Well, this means that the quantum computer could accurately guess where the card is with just one trial. I.E. it could win four card Monty on the first try every time. How? I am not exactly sure. I read the manual describing this program and here is what I think is happening.

From what I read in the manual, it guesses one data point (one card). Based on the result of this card, it can calculate which card is the most likely to be the Queen. It can do this because of quantum phenomena. Because of entanglement with the other data points, the Q can “sense” where in the database the queen most likely is. It then returns the most likely card then. Additionally, classical computers would take N/2 guesses to find the correct card. Quantum computers can access information in as little as sqrt(N) tries.

So the simulator worked. Let’s see what happens when I ran the actual trial in the IBM Q.

An echoing “wtf” rings in my head. The actual computer got it wrong! It says the Queen is in the third position. Odd!

I tried the simulation again. This time I edited the program to put the card in the first position like this:

The result? It worked!

The result is 00000, or the first position as I mentioned earlier. Cool!

It is worth mentioning that the first real trial (run) took almost a day, and the second real trial took less than one minute. I’ve also looked at cached results of similar experiments. Other’s have gotten a few missed results as well. The error may be because of a few reasons. The Q needs to be calibrated periodically. Maybe the Q did not drink it’s coffee that day. Or, the amplitude amplification step (see the manual) simply failed to retrieve the best result. Here I thought it was perfect! Oh well, it is still cool to see the correct guess a couple of times.

Using the IBM Q is a free way to break into the world of quantum computing. I think that this technology may be a breakthrough in database search speed. Overall, was it worth giving IBM my email address? Yeah I suppose. Should have used a spammier email account though so I don’t get a newsletter. It is an interesting learning tool, that’s for sure.

To access the Q go to:

https://quantumexperience.ng.bluemix.net/qx/community

To access information about Grover’s Algorithm (used in this simulation and run), go to

https://quantumexperience.ng.bluemix.net/qx/tutorial?sectionId=8443c4f713521c10b1a56a533958286b&pageIndex=2

Hint: if you read the manual you get increased access.

Random.org

This website can generate truly random numbers using atmospheric noise as the source. So cool!

https://www.random.org/

How the Website Was Born

In order for the reader to understand the purpose of this website, a short story is in order.

After I graduated UW – Madison I was left with an intellectual hole in my head. I had a lot of excess creativity that needed to be gotten rid of.

While scouring YouTube for cryptocurrency information, I stumbled across an user who made his own cryptocurrency. It is called “learncoin,” meaning an educational coin. It’s purpose is to teach users how cryptocurrency programs work. Anyways, he hosted his currency, or some part of it on DigitalOcean. He shared a $10 coupon on the video description. I quickly pounced on the freebie opportunity.

I went to work on a website. Websites need servers.

In case you were wondering, a server is running this webpage. *gasp*

You may be asking, “How? And what kind? What details can you share with me?”

I’m glad you asked.

 

Image result for digital ocean sharkDigital Ocean’s mascot, Sammy the Shark^^

Shortly after failing to create my own cryptocurrency, I realized I still had a  free 2-month access to a 20 GB server. What would it be used for…file storage? A cloud backup drive? An expensive email alarm clock? The possibilities were endless.

I ended up taking a “path of least resistance” approach. I wanted a technical challenge, but something within my reach. I decided to make a WordPress page my goal. These pages take some work in the terminal and some configuring of Apache2 and MySQL. It also meant hiring a domain name host, configuring a ServerName Virtual Host file. However, it did not require me to make up any of my own codes.

WordPress logo

I chose WordPress because of it’s community support and literature, it’s adaptability, and well, because it’s free.

As the project moved forward, I formulated more exact specifications for the website.

My goal was to have:

  • A named domain (jwolfgang.info), not a server IP address to access the website.
  • The server hosted by Digital Ocean.
  • The server running Ubuntu 16.04.
  • A LAMP stack (Linux, Apache2, MySQL, and PHP) loaded onto the server.
  • The website secured with open-source software Let’sEncrypt.
  • Only allowing https access.
  • An SSH connection to the server from my laptop (no password access).
  • A mailbox such as example@jwolfgang.info
  • A budget of $5/mo for server costs, and the cheapest domain name I could find.

 

After five failed attempts, I achieved the goal. Sixth time’s the charm, as they say.

 

Map of Melbourne Australia

Building Footprints in Melbourne Australia (Test Map)

This was created on Carto.com, courtesy of a free student package through Github.com.

I set up the map to show a histogram of the build year of the buildings. The map was mainly a quick test run through Carto.com’s builder. It has a very intuitive GUI and easy database access. I like it.