Days like this remind us all that computers are not magic boxes that can do anything. Basically they are like puppies.
They can only do what you've instructed, and sometimes they can't even do that.
And just like puppies we forgive them when they do bad. But when they are doing bad its hard to keep a smile. Today's lecture covered a lot of ground. So much that we had to work after lunch and through our lab time. This was fine with me since I'm still getting over my stomach bug and didn't feel like eating anyway. But the gremlins decided to play havok with everything today. One of the lecture videos wouldn't record properly and might be lost for good. And one issue with rendering an authenticated page turned into a nightmare debugging session that remains to be solved. My instructor has a lot of patience, and dogged determination. So even though the day is done I am sure he didn't surrender that battle.
In conjunction with our project, which is to build a clone of Slack, we learned about authentication. Using JWT and Express-JWT to authenticate users and make sure their journeys around the app are all within the boundaries we set for them. We covered encryption protocols and sha512, cookies vs tokens and a few other related topics. Quite a bit for a Thursday lecture.
Class ended at 5pm but our campus was also hosting a meetup on Solidity and smart contracts. I've been getting interested in that area since my trip to Input Strategic Partners a few weeks back and hearing about their work in blockchain and cybersecurity. So I thought it would be a perfect opportunity to learn more and actually see Solidity in action. I was pleasantly surprised at how simple the language is, in programming terms. The syntax is basically a mix of Javascript and C. One presenter broke down the Solidity language by explaining how CryptoZombies works and how zombies are created via contracts and how the creation of zombies (or any blockchain event) requires a gas commitment and that developers should maintain good practices to keep these gas-hungry actions to a minimum. I found it a great introduction to Solidity as far as understanding the language. I've done research and investing in altcoins so I already know a few things that smart contracts are capable of doing. It was nice to see how the language framework supports that.
I suppose today was all about not putting too much faith in computers to work miracles. They are only as capable as we make them, and can be very stubborn and inflexible at the worst times. Systems are only as secure as they are designed to be. Pages only render properly when all the pieces are exactly where they need to be, including pieces on a distant server. Computers can't fill in the blanks or make judgement calls. You only think about these things when something goes wrong, so thank your local web developer for keeping things running smoothly with good design practices and security-first thinking.
Tomorrow is Friday and we have a guest speaker scheduled to come to our campus. I enjoyed the weekly field trips very much but I'm looking forward to a nice Friday on campus with my classmates. Its a nice time when we don't have to think about code and we can just hang out and have fun and let our brains cool off for a bit.