For the typical "widget" I'm going to assume you mean "a little block of functionality that you could package up and drop on a web page", for example. People often speak of "calendar widgets" or "RSS widgets" or "Flickr widgets". For something like that, you probably want to go with Javascript, and look at one of the modern libraries like JQuery for getting the most "bang for your buck".
You'll easily find the source code for every sort of basic widget you can imagine, and you'll learn to extend them from there. "Services" tends to mean "the big backend hardware that your widgets will speak to". For instance maybe a calendar widget needs to store your appointments on a database somepalce.
Here your choices are much wider, including PHP, Java, . Net, Ruby on Rails, and a few others. This is a much bigger undertaking, and has more to do with professional software engineering.
If "bang for your buck" in this case means "get a service up and running the fastest", you'll probably end up with PHP. While I don't personally love it as a language, I can't deny that it is the most popular language out there and any web hosting provider will be ready for PHP right out of the box. Good luck!
I think the best way to go are the opensource languages, where PHP and Javascript will be the best choices you can make. There are whole comunities on the internet where you can find heaps of info and tutorials on these languages.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.