You can now watch the fall 2010 Stanford Web Applications course containing 104 recorded lectures. The course contents are:
- HTML and CSS
- URLs and Links
- The Ruby Language
- Rails Introduction
- Introduction to SQL
- Active Record
- HTTP and HTTPS
- Cookies and Sessions
- The Document Object Model (DOM)
- Security: Network Attacks
- Security: Session Attacks
- Security: Isolation
- Security: Code Injection
- Security: Phishing Attacks
- Large-Scale Applications
- Deploying Web Applications
- Course Wrap-Up
Here are some resources about Unicode, handling special characters and the importance to care for data encoding when writing code:
First there’s Joel Spolsky’s classical article about Unicode and Character sets: The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!). Read it to get a feeling for the importance of knowing how data is encoded.
Then there’s this great comment by Tom Christiansen to a Stack Overflow question about using UTF-8 in Perl.
A large part is Perl specific and if you want an in in-depth analysis about things you have to consider while writing Perl code go ahead an read it.
But it includes a part, called Assume Brokenness, that lists a large number of points of interest that apply to almost every programming language.
The writer of the comment also has a presentation about Unicode support and pitfalls in several programming languages: Unicode Support Shootout – The Good, the Bad, & the (mostly) Ugly (HTML presentation / PDF).
Via some route I got to this interesting article by Jesse Warden about technical debt, especially when using Scrum. Two great quotes:
If your team is working on fixing bugs, they aren’t working on user stories.
Bugs do not deliver business value, their cost of fixing is part of realizing the original story.
It’s generally assumed that 80% of your 2 week Sprint is spent refactoring. I’ll let that sink in.
Think about that! To realize user stories, 80% of the sprint the team is busy adapting existing software to make sure the new feature fits perfectly. Scrum doesn’t mean quick & dirty programming.
In Scrum preventing technical debt is a daytime job. If you don’t pay enough attention it will come back and you’ll have to pay with interest.
Presentation with demos showing current tools used in the devops space and pointing out similarities between the release process of code and servers:
- veewee : creating a Just Enough Operating system
- Vagrant: spinning up an Ubuntu box
- Chef: provisioning the box with an apache server
- Cucumber-Nagios: testing the provisioned box with Jenkins and Ccucumber-Nagios
- Mccloud: repeating the same process on ec2 instead of Virtualbox
This demonstrates the concept of infrastructure as code and virtualization to define and build infrastructure based on text files. Those files can be version-controlled and tested like regular code. The artefact ami, image, can then be deployed on an infrastructure.
Introductory workshop to programming with Greenfoot and Alice. Greenfoot and Alice are visual educational tools for learning the basics of Java programming and problem solving skills. In this workshop, students used only drag and drop functions to create their animations.