Archive for March, 2009
The Church is involved in Grand Theft Auto?
I found this funny line in the proxy statement of TTWO:
“The Sisters of St. Joseph of Nazareth, Michigan has submitted a stockholder proposal for consideration at the Annual Meeting…”
Basically, a convent is an investor in the producers of Grand Theft Auto and Bioshock
I like their proposal though – cut out some of the fat cat pay until we see some performance improvements in the bottom line.
Cloud Computing
I have alot to do right now – so what better time than now to write about stuff that has nothing to do with anything. Recently, Brad Feld and Albert Wenger have thrown themselves into the ring with comments about the future of ‘the cloud’ and whether it’s ready for real usage. It most definitely is ready.
First of all, let’s just give everybody a little primer on what cloud computing is. Cloud computing is very simple: it’s a network of computers (cloud) that can be used by people or organizations to run software at a metered price. In theory, the price could be free, but just like free electricity, it costs somebody something.
Why is this a big deal? We had that in the 70s. It’s true, the whole point of VAX and UNIX systems was to allow multiple programs to run on the same physical infrastructure without interfering with everybody else. The problem with those time sharing implementations is that they share many different high level resources. In the olden days (and still), you had one root user who had ultimate control, and was trusted. Now, everybody will say at this point, “Hmm, I understand, it’s a trust issue.” There is most definitely a trust problem but that’s not the root of it (no pun intended). The problem is sharing. Just like with little children, sharing precedes trust.
Do you know what’s great about your desktop? What’s great is that you get to decide whether you want to install Skitch or not. You get to decide if you like a solar system for your wallpaper. You know what’s not great about a shared system, you are constrained by having to share it with others who have different needs. If you want Python 2.5.2 instead of Python 2.5.1, open a ticket with the owner of the system and wait. In the meantime, make your program work on Python 2.5.1 because you have to – and add a little bit more clutter to a cluttered world.
Cloud computing doesn’t change the fundamentals of sharing a server, it just reduces the amount of stuff that is shared. In a large system, if you are a small user (i.e. not a top 1,000 site), you can basically pretend that the machine is infinite. What you are sharing is simply the CPU, the memory, the hard drives, etc… However, you get minimum amounts of those things that nobody else can infringe upon, and which are commodities at this point. Most importantly, you’re not sharing anything for which there are many different options. Somebody could in theory say, “I want to program for an ARM processor, but the cloud doesn’t support that”. However, very few are doing large scale Internet deployments on something other than x86/SPARC using standard device architectures. With the cloud, I simply don’t have to share as much.
All the arguments against the cloud miss the point. One has to view it in a real world context. There are only a few alternatives to cloud computing. One is to share it with other people the old fashioned way (see above). Except for cost considerations, this is not a better option because other people are stepping on your turf. The other option is to get a dedicated server. The problem with the dedicated server is that you only have one of them. There’s no redundancy at the machine level. If the network device goes, you’re out of luck. You’re getting the gain of having your own system while giving up the economies of scale that go with sharing.
Cloud computing is about sharing what everybody agrees are standard (CPUs, Memory IO, etc..) while not having to share things like high level language libraries – for which many options may be necessary.
OpenGov at SXSW
It might be a little late to blog about it – but this looks like a great event. When I was still contemplating going to Austin, I had this in my list of things to check out – but then I decided not to go (save $$$/get things done) and didn’t think about this until cleaning up my email. Anyway, it starts in 2 hours for anybody out there:
—–
We (LoTV) are going to do Ignite style talks at lunch during SXSW
interactive. I think this really is relevant to the Open Data group
because in MY opinion Open data is the key to open Govt. Anyone wanna
talk about potential applications they are working on that are going
to SXSW?
We are an Official SXSW Event
We are an Official Ignite.oreilly.com event
and we are an Official Sunshineweek.org event
They will be professionally videotaped and posted to multiple sites
afterwards in 5 min increments.
I would love it if you could blog about it?
1) to recruit people that are already attending SXSW
2) to highlight the projects coming
3) post the video links of “hot” projects afterwards?
It is 12:30 -2:00 Mar 16th
Fiddler’s hearth
301 Barton Springs Rd
Austin, TX 78704
If you are coming to SXSW and have a project you would like to talk
about IGNITE style – 20 slides 15 seconds per slide (auto
forwarding) Please let me know so we can put you on the schedule!
Thanks!
–
Silona Bonewald
Gtalk: Silona@gmail.com is the BEST WAY to contact me
http://leagueoftechvoters.org – 501c3 to involve geeks in the
political process
http://whitehouse.wikia.com – versioning and documenting
whitehouse.gov
http://transparentfederalbudget.com – anyone documenting the budget on
a paragraph by paragraph basis
http://wiki.budgetwiki.com the wiki where we are designing it all
Cell: 512-750-9220 (I check voice messages only once a day!)
Hello world!
Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
Reverse Generic Relations
First off, apologies for not posting in some time. I’ve been spending the past week exploring a couple of different technologies – here’s a short summary:
- Amazon ec2 – I know I’ve talked about this before but these guys are way ahead of the game. I’m not deep enough in the field to confirm where the other players are (Google App Engine, etc…), but I’m continually impressed by ec2. Cloud computing really is the future. I can only think of a handful of projects for which I would not deploy a cloud computing infrastructure (internal file server I suppose). All new Internet applications should be placed on a cloud system.
- PHP – I’m sorry to say this, but I’m short on PHP. I really don’t know if there’s a future for it. Maybe some of the frameworks (Zend, Cake) can save it – I’m not sure. One thing I know is that I’m leaving PHP behind.
- On the vein of PHP, which BTW is a solid OO language now, I want to be clear about the power of OO web frameworks …. like Django, that they are critical to future development.
- Rails documentation is really bad. Try to figure out what I’m about to tell you with Django in a Rails way – I dare you [Comments section open]
Django has something called ContentTypes which allow for the creation of models that can generically relate to many other objects. A straightforward example would be a tagging system. Tags can be placed on blog post, a page, a person, a group, etc… When creating the Tag model, you could think ahead about all the possible applications of a given tag, but that would be crazy. Why not just use a standard ContentType relation to handle it – in other words a relation to any other model that works as you create it. That’s the power of this object. In the database table, it uses two columns: one is the id of the Content Type itself (User, Bookmark, Tag, etc..), the other is the id of the object (The id of the user, the bookmark, the tag, etc…). Because the system is smart though, it’s all available abstractly.
But wait, it doesn’t stop there. If you do want make life even easier for a model like a Bookmark, so that you can get the tags for it, you can use their Reverse Generic Relations to give you object oriented access to all the children of a given parent (all the tags of a given bookmark). And, for each of those children, you can find their children (i.e. all the votes for a given bookmark a la Digg). All this is object oriented and requires zero SQL.
Kudos to the Django team for creating such a great abstraction – but also for documenting it so well. I am now a Django evangelist.
You are currently browsing the Varud blog archives for March, 2009.