My Top 10 Digital Things To Learn in 2019

Okay. I’m an academic, so I love learning new things, but it should be part of your world too. A healthy and active mind is one of the best ways to keep yourself healthy overall.

Our life should be built around us continually learning, and never sitting back on our knowledge. So let 2019 be the year that you pushed yourself forward and learnt something new within our digital world. If possible, try and avoid just surface learning, and properly understand the foundation principles of new ways of thinking. It is so easy to sit back and criticise new methods, without actually delving into them and seeing their potential for yourself.

Our world is changing, and there are some things that will transform our understanding of our digital world. So here are my Top 10 things to learn in 2019:

  1. Go code in Python. I developed through C, and onto C++, and then onto C#. When ASP.NET MVC came along, I could see no faults in it, especially in creating scalable Web sites. But I had been tricked into thinking that everything had to be run through Visual Studio and had to be properly integrated at compilation time. There was another way, and it was more interesting and fun, and involved scripting. And so Python crept up on me in trying to find the latest code in cryptography. Increasingly I was waiting for the latest port into C#, and the integration was often time consuming (involving the integration of DLLs). And so I started running Python code with a “pip install”, and all my difficulties disappeared. While I (still) hate the syntax of the language and refuse to commit some of the commands to memory, it is now my No 1 target for any new code. It basically feels like I have complete control again -rather than the IDE continually bossing me — and makes writing code so fast and efficient. And it’s on your R-PI, it’s in Bitcoin, and it’s everywhere. So why we don’t teach our kids Python at school is beyond me. Basically it is the language of the people — doctors, lawyers, teachers, and everyone — and with a few lines of code, you can build a digital world that is greater than any billion dollar company. I have basically learnt too, that our software world is increasingly a hybrid world, and where Python, Java, .NET, JavaScript, and all the other coding systems fuse together to build systems.
  2. Learn Crypto! No, I don’t mean cryptocurrency, I mean cryptography. Unfortunately, cryptography is one of the weakest areas within the cybersecurity profession, and generally across the industry. For me, it should be equivalent to every electrical engineer knowing Ohm’s Law, as you would never trust an electrician to rewire your house if they didn’t know the basics of current and voltage. It should thus be at the core of cybersecurity, as we increasingly need to build systems which integrate cryptography properly. Overall, there’s no need to learn the complete nature of the maths behind the methods, but there is a strong need to learn about hashing, public key encryption, symmetric key, signatures, Merkle Trees, and so on. And it’s about time your CEO knew the difference between as hashtag and a hash value [Learn].
  3. See a new world with Zero-knowledge Proofs (ZKPs). What a crazy digital world that we live in? We still ask for passwords to identify users. Why can we not have a secret, and then show someone that we still know the secret without giving away our secret? But still we blindly follow the password route, and in having knowledge-based questions. Our future world will never release personal information, and companies will not be allowed to reveal our passwords. So go and learn some ZKPs. [here]
  4. Enter a GDPR realm with homomorphic encryption. We should always continually ask ourselves questions in our existing thinking, so why do we still operate on data which reveals the original data? Whenever we expose memory and processors to real values, we leave ourselves open to data breaches. Our future world will thus look to process data using encrypted values, and where we can still perform our normal operations. Some people, though, are trying to build a new digital world, such as with ZCash and Monero, and with methods which allow things to be processed without revealing the original data. If we can build these types of systems we will have properly entered a GDPR world, rather than this fake GDPR compliant world that we have created. [here]
  5. Go write lots of JavaScript. Well, I predicted that JavaScript would become extinct as it was just so difficult to deal with. But I was completely wrong, and it was saved by some amazing work in the browser (especially with jquery). But then it shocked everyone by jumping from the front-end to the back-end, and along came Node.js. And now developers are jumping on-board and building new systems using JavaScript at the front-end and also at the back-end. So, it might be horrible to look at, and it isn’t actually Java, but it is building real systems which do real things. For me, I find a suitable Git repository, and it’s a “npm install” command and a few lines of code, and I’m off and running with my little debug console (and, yes, my standard debug method is “alert(msg)”). In a JavaScript world, we take things back to the basics, and sometimes that works best over the complexity of many other development environments. The days of DLLs are gone, so long live the browser integration.
  6. Learn Pandas and Charting. The world of data is now at your fingertips, and Python and R have opened them up to a massive potential for analysis. So my top tip is to learn Pandas, and along the way you might learn a bit of maths, too. But the analysis of data on its own is often only part of the solution, and where we must chart our results in order to convey information. So go learn how to present data in a meaningful form. It might be bubble charts, linear graphs, log graphs, bar charts, and so on, but learn how to illustrate things so that you present meaningful data. [Learn].
  7. Welcome yourself to the wonderful world of Elliptic Curve Cryptography (ECC). While some would take us back to a time before encryption (eg some governments of the world), ECC stands head over shoulders in protecting our transactions, our identity, and our network connections. It provides a solid foundation of maths within in an online world which is chaotic and full of protocols that never really had much thought about proper security. You can call it what you want — Blockchain, Distributed Ledgers, DAGs — but at its core is the building of a more trusted, robust and secure world.
  8. Say hello to Big Data and Cybersecurity. Cybersecurity is now all about data. With only 72 hours to report on a data breach, the requirement for gathering information and data mining has never been so important. My tip would be to open up Splunk, and get some sample datasets, and go and learn about how to find a needle in a haystack, and then find the haystack. The skills of the future will be focused on analytical skills, and in debugging, so go and exercise your brain [Learn].
  9. Get into AWS. Sorry for being so specific here, but Amazon Web Services (AWS) is playing a leading role in our digital world. If you have had a look recently, AWS provides a toolkit that builds a more scalable, robust and secure world. Unfortunately we are often not using it to its best potential, but we are learning fast, and those companies who move the fastest will be the ones will succeed in the future. My favourite is to use Python to script Alexa, Cloud servers and databases, but you can build your systems in whichever way you like. As we are using Cloud systems, then all the things I told you about learning crypto become ever more important.
  10. Go set up your own network and/or Learn Network protocols. A core skill in cybersecurity is the learning of network protocols and in the operation of networks. So go and set up some virtual machines — Kali, Ubuntu, Windows — and add a firewall, and build your own network. Then run your networks and grab Wireshark traces, and try and make sense of them. If you don’t have time to create your own network, just learn about network protocols … SMTP, FTP, Telnet, IP, TCP, ARP … [learn].

Conclusions

There you go! That was my Top 10 tips.

What will your Top 10 things to learn in 2019 be? Remember don’t just surface learn …