That Conference 2016 - Angular vs React

One of my favorite things each year is That Conference. I have been lucky enough to be chosen as a speaker each year (though I missed last year due to work commitments).

This year I talked on Angular vs React, and compared two of the most popular things going on in the world of JavaScript these days. Thanks to all of those who attended and provided engaging conversation.

For those interested, here is the presentation. I will also be uploading the code to my GitHub in a while after I button it up some more.

Thanks to all the organizer, sponsors and speakers for a great community event! I highly encourage folks to go next year, Aug 7-9.

ThatConference 2016


Apple WWDC 2016 Recap

In the Developer world, there are usually three big conferences each year; Microsoft’s Build, Google I/O and Apple’s World Wide Developer Conference (WWDC). Google’s I/O conference, its 10th, just wrapped up last week. Let us take a spin around some of the more interesting announcements from the conference. We have previously looked at Build and Google I/O, lets dive into WWDC which was held in June in San Francisco.

Apple WWDC 2016

Apple’s WWDC keynote this year, tended to be the more consumer facing, rather than developer facing of the other keynotes from 2016. A majority of the time was spent on items such as iOS 10 features, Apple music redesign, Apple photos, etc.

Siri – One of the big rumors heading into WWDC was that iMessage, Apple’s very popular messaging platform would be being made available to Android devices. That wasn’t announced. However, a slew of changes are coming to iMessage. The changes mostly are “fun”; items such as stickers, new emojis, videos, bubble effects etc. Given the popularity of iMessage though, we know these features will be popular. Unlike other messaging application, for example Facebook messenger, WhatsApp, etc, the usage may be limited, since as of now, you cannot take advantage of these new features for users on other platforms like Android. Given that for most iOS users iMessage means SMS, it could lead to frustration.

iMessage – here have been two OS releases of Apple Watch in its first year. However, it can still be frustratingly slow to use in day to day activities. Apple announced watchOS 3 which seems to greatly alleviate some of the performance issues. Applications were shown on the current version and the new version and were markedly faster. Apple Watch users will be excited for the new upgrade if those performance gains are realized as promised.

Apple Watch – Google announced their me too competitor to Amazon’s Alexa, a voice activated search appliance for the home. You will be able to ask Google Home things like what is the weather for the day, did the Chicago Fire win last night, etc. Pricing and availability dates were not announced. Google’s introduction video.

iOS – iOS has a new round of updates as it hits version 10. The notification screen has been greatly redesigned. Apple music has been streamlined and the maps application has been improved. 3D touch, which was introduced with last year’s new iPhones (6s, 6s Plus) is also more fully integrated into the system, especially on the notification screen.

Contextual Awareness – The interesting thing that is permeating a lot of the developer conversations as of late is contextual awareness. A platform, like Google Now, can read email, look at your calendar and contacts as well as location to provide a wealth of information. This can provide very useful and pertinent information to a user. However, the downside to this is you are giving up a some of your privacy, as the service collects your information and mines it. This has definitely been Google’s approach. Apple has a stated focus on privacy, so it is exceedingly more difficult for them to provide these kind of services, which often rely on cloud computing because the information would need to leave the phone. So contextual awareness happens within an application, like Siri, where it will be much more limited.

At WWDC, to make iOS more successful at providing contextual awareness, Apple introduced differential privacy. It is all a bit murky, and involves some crazy abstract mathematics, but it essentially takes information from your phone, randomizes it a bit to mask individual information, stores it and then can aggregate the information together.

How this actually works in the real world, remains to be seen. However, at first glance, I cannot imagine it being very successful, because the data that would be helpful to you, for example, discerning information about an upcoming flight, wouldn’t have enough other randomized data elements in the cloud for iOS to be able to find information about the flight.

Resultantly, Apple is using this new feature in four areas for iOS; emoji replacement in iMessage, predictive text in iMessage, search in Notes and search in Spotlight.

It is an interesting take at trying to be contextual and protect user privacy, I am just not sure how successful Apple will be trying to provide contextual awareness with it in their platform as they compete against happily data mining competitors such as Facebook and Google.

So that is a quick tour of 2016 WWDC. Not a lot of big announcements, but more of a refining. As phone platforms reach platform maturity, there will be less and less groundbreaking enhancements on the phone. A lot of the interesting things will be happening in the cloud services that drive these devices. Apple has a lot of catching up to do here.

This blog post originally appeared at Skyline Technologies.


What is Quantum Computing?

Quantum computers hold the promise of massive increases in computational speed for certain classes of problems. However, what quantum computers are and how they work can be a bit of a mystery, mostly because quantum physics is a mystery. We are going to dive in and find out how they work.

First, a little bit about quantum physics. At the turn of the century, physicists were a pretty confident lot. Maxwell had described electromagnetism with Maxwell’s equations and most problems appeared to be solve. However, a couple of items persisted that could not be described by “classical” physics, such as blackbody radiation or the photoelectric effect. It is safe to say, understanding these phenomena and the discovery of Quantum Mechanics was the accomplishment of the 20th century.

Quantum Mechanics describes the physical world at the size of the atom, at which point, the classical laws of Newton and Maxwell fall apart. One of the main takeaways, especially for Quantum Computing, is the idea that NOTHING is specific at the quantum level. Particles, such as electrons, at the quantum level exists in states; aka their position, speed and energy. They may be low energy, they may be high energy, but knowing these states is not always doable unless we measure them. You may know a probability for the energy of an electron, but not the exact value. Schrödinger’s Equation, which describes the probability of an electron being in any state, not exactness. So while the laws of Newton allowed us to put a person on the moon with great accuracy, the laws at the quantum level just tell us probabilities. It is more feelings than certainty!

Schrödinger’s Equations lead us to one of the key components of Quantum Computing, and that is superposition. One of the outcomes of Schrodinger’s Equation, is that any valid quantum states can be added together to create another valid quantum state. Another way of saying this, there are many valid solutions at any given time, and ALL solutions are valid. In the physical world, observing what the answer is, chooses one of those valid solutions. It is a lot to get one’s head around.

To illustrate the madness of what we are talking about, consider the famous example of Schrödinger’s Cat, a thought experiment in physics. The version I have heard, is you put a cat in a box with a radioactive isotope that has a 50% chance of decaying in a minute. If the particle decays within a minute, the cat dies, if it doesn’t the cat lives. With quantum physics, the craziness comes is that you have no way of knowing if the cat is alive or dead, it exists in both states. This is superposition. There are two valid solutions to the equation, the possible states for the cat are alive or dead. However, superposition states that any solution can be added together and that is also a valid solution, so the cat is also alive and dead. It isn’t until we observe, that one of the states is chosen. If you really want to have your mind blown, check out this YouTube video describing Schrödinger’s Cat.

So if we think of our current computers and transistors, they are based on the idea of a bit; either on or off or 0 and 1. In quantum computing, bits are replaced by quantum bits, or qubits. A qubit can be a 0 or a 1, it can be both a 0 and 1, or any value in between. In the current world with bits, only two options exist at any single time, and steps are performed linearly, in the quantum world, with the concept of qubits you can store multiple values at all at once and all the solutions are processes in parallel. Once you determine the state by measuring or observing, you get a single answer.

Qubit source: Wikipedia

In the real world, what does this mean. So far, not a whole lot. You aren’t going to get a tremendous increase in performance playing Minecraft. Quantum Computing has so far been proven to be much faster than traditional computing for a small subset of problems. One of these is Shor’s Algorithm, which is very helpful in figuring out prime numbers, which has very important implications for cryptography.

As more and more research happens, more types of problems are discovered that can be solved with quantum computing. This should continue to grow over time.

So your next PC will not be a quantum computer, but the types and classes of problems that can be solved by Quantum Computing will continue to grow and provide real world benefits in the years ahead!


John Ptacek I'm John Ptacek, a software developer for Skyline Technologies. This blog is my contains my content and opinionss, which are not those of my employer.

Currently, I am reading Norse Mythology by Neil Gaiman

@jptacekGitHubLinkedInStack OverflowGoogle+