If you’ve been following my
tweets, you know that after about
6 months of trying to figure out a new side project, I’ve decided to teach
myself
Erlang.
In short, it will have you digging deep into your CS education to remember
languages like Prolog and ML. And after using languages like Python, the syntax
is well, ugly. And it certainly doesn’t read like prose, which many developers
love about Rails.
But I think there is some genius in there, and the time is right for rethinking
concurrency. I spent a lot of time working on a non-blocking proxy server,
and IMHO that model of development isn’t going to scale to huge
projects, especially in languages like C which have embedded blocking I/O into
the brains of developers since day 1.
Prediction: In 10 years all languages will borrow concepts from Erlang.
But they may look more like Scala.
(via
christopher baus.net)
This is crazy.
This is my favorite part:
Because VS 2005 SP1 is so large, it takes a long time - typically around 10 minutes - to load the entire image into memory in order to generate a hash over the image.
Update: Now the patch is just sitting there saying “Time Remaining: 0 seconds.” I think Microsoft has lost their collective mind.
(via christopher baus.net)
I dug up couple interesting posts from ‘Al’ at Folknologist (sorry,
I can’t find Al’s full name on his blog).
First is a comment on the
circleshare blog regarding Twitter’s
database scaling issues:
The big problem is the inserts (if the backend is a db), every tweet has to be inserted. Thus even if you have a fast messaging (in memory) the write that accompanies it is relatively slow. In such cases you need some super fast hash append system rather than a database, something that literally just writes to a log like file. (Deletes can be handle by null writes on existing keys).
If somebody has a scalable appender like this in code let me know as I could do with one, especially if I can get it working with S3
Yes indeed, if someone can produce a reliable appender in a cost effective way using S3, I’d love to see it as well. After some
research into S3, I don’t think it is feasible. Unlike gfs which
supports record appends, S3 does not.
Second is the
call for a database service for AWS.
AWS is built around an expectation that storage takes place using the highly redundant/reliable S3 infrastructure. This of course makes sense except in the case where one is using a database for storage as opposed to files.
There’s the real kicker. I can’t think of many significant web applications which don’t need at least some database services. Even if an app can make
good use of EC2, such as mass video encoding, at some point the application must store something in a database, which
makes EC2 and S3 solutions to a subset of a web site’s problems.
(via christopher baus.net)