Dear Reader,
I am providing free lectures on intro-to-python. Salesforce supporting me through their voluntary time off program. Salesforce.com under it’s 1-1-1 program gives each employee 7 days to work on voluntary projects.
You can find the lectures here:
Application Class
The 4th class will be held at Cambridge Innovation Center, 1 Broadway, Cambridge Ma on Saturday November 18th 2017. They are held every 2nd Saturday afterwards. Possible projects:
- A mini Q/A program. It introduces the concept of regex using re.
- Opening a file in python, reading it’s lines and analyzing words.
- Utilizing SimpleHttp server host a basic webpage with <p>, <h1> and <div> tags. This is a simple introduction to a one-line web server.
The curriculum is free and I encourage people to submit practice problems to the GitHub repository.
Moodle Platform
Moodle is an open-source learning platform. Often, Moodle is used in universities. I plan on implementing a Moodle instance to host lectures online.
Spammy E-mails, Great!
Moodle implementation has stalled. I decided to host e-mail service myself. I did get smtp and e-mail server up. The obstacle now is getting Google and other e-mail providers to realize my E-mail isn’t spam.
Why is it considered SPAM?
Evidently, you can send an E-mail from chriskottmyer.com, but claim it originated from john smith.com. Web industry has developed two processes to prevent this: SPF and DKIM. SPF creates a guarantee that a message from johnsmith.com originates from johnsmith.com. DKIM encrypts SMTP header preventing snoopers from changing that in transit.
Apache and VPL!
After resolving the spam crisis, I will have to deal with an annoying URL issue. Moodle loves my IP address. It loves it so much, it’s bound it to all the URLs. I don’t like! I’ll have to make either application-level change or re-route in Apache to resolve.
Having Moodle is great. It doesn’t support programming assignments out of the box. Luckily, some wonderful academics invented a plugin called the VPL. It takes code presented to the web, submits it to a restrictive JVM-based sandbox and runs it. It should prevent any malicious hackers from hijacking the server (crossing fingers). It also supports automated grading of coding exercises (yay!).
Both issues aren’t blocking the lectures! Hopefully everyone can enjoy those!
Best,
Chris