First, this post is more for me as a reminder should I have this problem again. But, if it helps you resolve your problem, yea!
Problem (tl;dr version): Certbot didn’t update the ssl certificates on one of my servers, resulting in ugly messages about the websites not being safe.
Long Version: I’m hosting my own sites on Amazon EC2 servers running AMI flavor of Linux. About a year ago I upgraded from standard webpages to ssl to make Google and other search engines happy. Everything was going fine until recently when the site didn’t renew the certificates for SSL from Let’s Encrypt.
While I had followed the Amazon tutorial exactly (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/SSL-on-an-instance.html#letsencrypt) Certbot wasn’t running any longer. After troubleshooting, I found that it was a common problem with the latest versions of certbot. There were a lot of solutions provided by various people, none worked correctly. What did work is:
On the github website (https://github.com/certbot/certbot/issues/1680#issuecomment-358728515) I found a solution that worked:
sudo rm -rf /opt/eff.org/*
sudo pip install -U certbot
sudo certbot renew –-debug
I did have to make one change:
sudo ./certbot-auto renew –-debug
Now the solutions is saved should I (or anyone else) need it!
We have been working on serveral major projects at Burtons Media Group. We thought we would take a moment and provide an update on individual status of the projects:
Amazon Lumberyard Game Development Fundamentals: Space Explorer
The textbook is mostly complete with the exception of the final chapter where we cover visual scripting. We are semi-patiently awaiting the release of Lumberyard 1.10. This update promises to be a major one with the inclusion of Script Canvas, Amazon Lumberyard’s visual scripting tool set. Expect to see the release of this textbook and associated on-demand video course soon after the 1.10 release.
Corona Development On-Demand Course
The on-demand course is in active development with completely new and updated videos and content. While based upon our Learning Mobile Applicaition & Game Development and Beginning Mobile App Development textbooks, we are adding additional lessons to make this a great value above and beyond the textbooks. We will be providing a discount if you previously purchased on of the Corona Textbooks.
Work continues on the isometric game development book. We will be using the Million Tile Engine plugin to handle much of the heavy lifing and focus on the isometric game development process in this textbook.
Lua seems to be at the center of every project that we develop. While it was not intentional, it has definitly become the “need to know” scripting language at BMG. To that end we have started developing a textbook and on-demand course content on Lua that will cover everything from the basics through using Lua for Machine Learning (Torch) and implementing Lua as a part of an engine.
Burton Institute of Technology
We at Burtons Media Group were recently asked when we would begin to provide on-demand training for Lumberyard, Corona, and Lua. In the past we have focused on digital-print (i.e. pdf and ePub) plus making games.
As we surveyed the landscape (and with Dr. Burton’s extensive knowledge of online learning) we have decided to begin actively developing online certificate courses. Production has already begun and you can expect to see BIT courses via the BurtonsMediaGroup.com website in the very near future.
We made the decision to wait for #AmazonLumberyard 1.10 before we release “Game Development Fundamentals with Amazon Lumberyard”. The textbook is 90% complete. We want to make sure everything is accurate for the new features expected in the next release.
The great people at @AmznLumberyard have ave 6 to 8 weeks between releases, so 1.10 should be out soon! Expect the textbook (and an on-demand video series) soon after that!
Our goal is to provide everyone with an outstanding learning experience. We believe that will best be accomplished by waiting just a couple of more weeks to ensure that you have a great experience with Lumberyard.
Why Deep Learning?
Several months ago one of my former students, Dr. Julia S. Slige, began posting a series of tutorials on using R for data mining. Julia even has a book on the topic published by O’Reilly. Her posts and subsequent research got me to thinking about Deep Learning, a key part of my ongoing research into adaptive/immersive learning using game engines.
As a result of these musings, I have begun the process of learning to use the latest Deep Learning tools so as to enter this next phase of research. As I like to share what I am learning, writing/blogging, as Bruffee (1999) postulates, helps to maintain the conversation that is learning. I will be recording my musings and what I have learned along the way. Who knows, it might even result in another textbook (that is how all of my previous textbooks got their start).
One of my goals as I share what I have learned is to make it easier for those who follow the path that I am blazing. This is still early days of AI, Deep Learning, Machine Learning and lots of similar buzz words. It can be confusing and overwhelming to make sense of it all so that you can apply the concepts to what you are interested. Hopefully, after reading these blogs, it will be a little less confusing.
What is Deep Learning
There is a great deal of hype and excitement around Artificial Intelligence, Machine Learning, Neural Networks, and Deep Learning. Unfortunately, the terms are frequently being used interchangeable which only adds to the confusion. Please understand that each description below is a broad generalization. Each of these areas is immense with many methods and theories. So before we go any further, let’s agree on the general terminology:
Artificial Intelligence or AI as it is commonly referred to, is the catch-all term for anything related to AI. You’ve seen the movies; robots and computers that are able to interact and learn from their environments to accomplish their mission, some bad (Terminator, HAL), some helpful (R2D2), some annoying (C3PO).
The goal AI is to create software that learns as it interacts with the environment. At this time, implementations of AI are very narrow and specialized for specific fields. AI includes the subdomains of Machine Learning, Neural Networks, and Deep Learning. While AI has been around for years, only with the recent availability of cloud-based computing are the resources available to begin to simulate AI.
Machine Learning (ML) relies upon algorithms to parse data, learn from the data, then make a prediction based upon the data. ML systems are ‘trained’ using a lot of data (and I mean a LOT of data) to make accurate predictions. You are probably already using ML in your everyday life: Spam filtering! If you use a cloud-based email system such as Gmail, then you are using ML. Have you noticed that the first time you receive a message that is probably spam, it goes into your inbox, but after that, similar messages go straight to your spam folder. Gmail learns from you, based on your telling it what is spam and what isn’t.
Neural Networks (NN) builds on ML. The concept is that just as the human brain uses neurons to pass information, neural networks can create pathways that show lead to the correct answer more quickly. ML makes a lot of mistakes as it is learning. Neural Networks learn more quickly because a weight or value is given to paths that result in the correct answer. These paths are stored in hidden layers.
Neural Networks are very processor intensive, even more so than ML. Only with the advent of parallel processing and GPUs have Neural Networks begun to accomplish what they are capable of doing.
Deep Learning (DL) combines ML and NN to accomplish the next phase of AI. By using sets of algorithms that are then layered. Deep Learning is different from Neural Networks in that it uses more layers in the building of learning paths. Additionally, Neural Networks are usually supervised as they learn. Deep Learning can be supervised or unsupervised (or a combination) as it goes through it’s learning process. At this time Deep Learning is providing exciting advances in optical recognition i.e. read a stop sign, process natural language, speech systems, translations, even adding closed captioning to YouTube videos.
Why Focus on Deep Learning?
Why will I be skipping over implementations of Machine Learning and Neural Networks? It comes down to goals. While I will be sharing certain aspects of ML & Neural, the aspects of AI that I am interested in are concentrated in the Deep Learning domain.
My research is focused on creating immersive educational environments that individualizes instruction based on student performance. My wife, Rosemary, and I created one of the first fully online schools back in the 90’s. Our continued research and interest in game design, gamification, and now Deep Learning, are all focused on building a better, pedagogically superior, learning experience for all learners, regardless of location, background, disabilities, language, or previous experiences.
Programming Languages and Tools for Deep Learning
AWS/Google/Microsoft Azure/IBM Bluemix
All major cloud companies are trying to stake their claim in the AI field. Each has slightly different offerings and tools (and pricing for those tools).
I have received research funding in the form of free access to the cloud infrastructure (no real money actually received) for each of the four mentioned companies for cloud computing over the last 5 years.
I have settled on using Amazon AWS for my personal and research work. While the services, cost, and resources do not vary that much from company to company, Amazon’s customer-centric nature clicked with how I like to do things, thus that is where the majority of my time and energy has been spent. Also, AWS supports both Lua Torch and Python Theano, the two dominant tool sets that we will be (at least intially) exploring.
I have to admit, I was excited to see that there was a Lua tool set for Deep Learning. I have been developing with Lua for over 15 years and used it intensely for the last 7 years. If you haven’t seen my Lua tutorials on Youtube, they can be found here.
The dominant tool in Lua is Torch. It is considered a very flexible tool that keeps the easy of use of Lua.
Python seems to have broader support (and many tools) than Lua in deep learning.This might be caused by Python is in wider general use than Lua, which naturally makes it more attractive.
The dominate tool is Theano. While there are many others in development and gaining in popularity (most notably Cafe2), Theano remains the primary Python Deep Learning tool.
R and Julia are also being used for deep Learning but do not appear to have the depth of support Lua and Python enjoy at this time.
Deep Learning is still relatively young as far as tools. There are a lot of things in development, but from my research, The lead tools in Deep Learning are Lua Torch and Python Theano, so that is where I will be concentrating my efforts at this stage.
Now that we have an idea of what Deep Learning is and a few simple examples of what it is capable of doing, I will be exploring the tools. In my next blog post, we will take a closer look at Python Theano and Lua Torch.
While I lean toward Lua and Torch just because of long familiarity, I don’t want to make the mistake of passing on a better set of tools due to familiarity. Since this is a new skill set that I am learning, if I need to improve my Python skills to maximize success, I am very willing to do so.
Next: Lua Torch v. Python Theano
Bruffee, K. A. (1999) Collaborative learning. John Hopkins University Press
Slige, J. S. & Robinson, D. (2017) Text mining with R: A tidy approach. O’Reilly Media
Slige, J.s. (2016) Data science-ish (blog)
Game Development Fundamentals with Amazon Lumberyard will available soon!
Early this year we provided an early release copy of the textbook to a small group of students. We received some very valuable feedback on how to make the textbook even better, especially in how we approach teaching Blender.
As we were completing the changes, Dr. Burton had the opportunity to visit with several Lumberyard Engineers at GDC. After spending time with them, discussing the next version of Lumberyard, and getting to see the next beta release, we decided that the changes between 1.8 and 1.9 were significant enough that we should delay our release until 1.9 was available.
Amazon Lumberyard 1.9 is now available and we are working hard to update the entire book to be compatible with this important release.
While Lumberyard continues make significant improvements with every release (usually 6 to 8 weeks between each update), we believe that the core functionality of Lumberyard is now at a place where we can release our textbooks and it not be outdated in 6 weeks.
A few notes:
We WILL continue to update the Lumberyard textbooks FOR FREE to our customers. We generally release an update 2 to 4 times per year depending on how dramatic the changes. By purchasing the textbooks through our website, you will receive first notice to all updates. All textbooks will also be available through Amazon and Apple bookstores. We will release the updates to customers who purchase through those stores, but we have no control over how quickly the new material will be available to their customers.
Faculty who are interested in using our textbooks for a class or would like a review copy, please contact firstname.lastname@example.org and we will be happy to assist you!
We currently have at six textbooks planned in the Lumberyard series, each covering a different style of game with a different target age group or experience level.
Textbooks In Development:
Building a Casual Game: Plinko
Making a Maze Runner