An ex-smalltalker* friend always tells me (forgive me if I get this wrong) that MVC is one of the most widely misunderstood programming concepts, and that it gets misapplied and the terms misused, nowhere more so than in web frameworks. Maybe that’s why you’ve got a number of people talking about MVC considered harmful, an anti-pattern. It turns out these authors are really discussing the usage described (I believe) as “Front controller” in Struts (and other web frameworks) not ‘Smalltalk MVC’.
*Hmm. “ex-smalltalker”? Once a smalltalker always a smalltalker.
Having got what little understanding of MVC through web frameworks, and about to embark with another Paul on a major piece of GUI (real desktop, crossplatform GUI stuff), I thought it was about time I (or in fact we) understood MVC properly.
So here’s our reading list to get us started:
We’re looking for other suggestions too…
Worth looking at: First Dark: Natures Little Helpers
Particularly if you’ve read Oryx and Crake
http://swimshop.co.uk sends me different size swimsuit to one I ordered. I ring up. They send me right size AND a prepaid envelope to return original… Now that’s great customer service - almost better than getting it right first time, and to be frank, makes me feel really good about ordering with them another time.
Real bread man talks sense. “Le pain se lève”. Vive la revolution!(painienne)!
Lovely making-of video for the wonderfully conceitful (in terms of process art) iQ font.
More background at http://vimeo.com/5233789 and http://www.openframeworks.cc/forum/viewtopic.php?f=12&t=2314&p=12582#p12582
Wouldn’t it be nice?
Just used Mike Hale’s drive-thru (http://github.com/mikehale/drive-thru/tree/master) to get a rails box up and running. The experience was worth persevering at - it will be much easier next time!
It required some non-documented things to get working out of the box:
some gems need to be installed
If you are not using slicehost (I was setting up a server on bytemark) then you need to disable the slicehost-specific setup_dns task (this seems to be the only one which is specific to slicehost)
'setup_dns', from the last line of the RakefileAlso, if you are using the sample in the README for installing passenger (perhaps like me, robotically following them without understanding them (<— bad!)), there are a few minor (but confusing) typos:
I also amended the dna.rb to include:
:rails => {:version=> '2.3.2'},
:recipes => [
"apache2", "apache2::mod_rails",
"passenger",
"rails",
"git::minimal",
"mysql::server",
"mysql::gem",
'zsh',
'screen',
"applications"
]
I made my own versions of git::minimal (didn’t want the gitk installed on the server) and mysql::gem (although that weirdly didn’t work, and I ended up installing it manually on the server). I also did some manual stuff on the server (making a /var/www/apps/…/shared/config and shared/system and created the cookie_secret and database.yml - I guess I should have done that in a chef recipe too…
Hmm. Despite what I said, I did end up learning a little bit of chef.
looks like I did some stuff wrong. This sets up ready to deploy as root. This seems like an error, anyway, but additionally you want to make the ownership based on some other file, because Passenger does some clever user switching based on who owns /config/environment.rb (and they ought to be able to write to /log).
Additions within the files:
:authorization => { :sudo=> {:users=>[USERNAME], :groups=>['admin']}, directory "/home/#{name}" do
owner name<
group name
mode 0755 #rwx-r-xr-x
end
file "/home/#{name}/.ssh/authorized_keys" do
owner name
group name
mode 0644 #rw-r--r--
end
directory "/home/#{name}/.ssh" do
owner name
group name
mode 0700 #rw-r--r--
end
sudo cp -pR /root/.ssh/authorized_keys ~USER/.ssh sudo chown -R USER:USER ~USER/.ssh