The Curse of the Excluded Middle

Erik Meijer, a prominent language designer, has a thought-provoking article in ACM Queue. His thesis is that a language cannot be partially functional: “The slightest implicit imperative effect erases all the benefits of purity.” He calls this the curse of the “excluded middle.” One must either (a) except that programming is about mutating state or (b) “abolish[…] all implicit imperative effects and mak[e] them fully explicit in the type system.” He makes a strong case but I need to noodle on it before I will claim it as mine.

The article is good for introducing the issues. Such as the inherent disconnect between the static program and the runtime environment that arises with lazy or deferred execution.

SSDs may not catch up with HDDs

We all know SSDs are more expensive than HDDs. Although, SSDs out perform HDDs  in IOPS/$, they are far behind in other dimensions, especially, GBs/$. However, it has been predicted that SSD cost-performance will pass that of HDD in all dimensions soon. According to a new report this may not be true.  “Most of these assumptions were made in early 2012. So far they have turned out to be partially true at best and wrong at worst.” Read the whole thing.

Pony ORM

I didn’t know how much I didn’t know about the internals of python until reading about
Pony ORM. This ORM allows one to query SQL databases using python-like syntax. For example:

select(p for p in Product)
select((p1, p2) for p1 in Product for p2 in Product if p1.name == p2.name and p1 != p2)
select((p.name, count(p.orders)) for p in Product)

There is a good explanation of how on StackOverFlow. Basically, PonyORM compiles the parameter to select (which is python code) using the python compiler and converts the python AST into SQL.

This blows my mind.

MIT Prototypes Zippy Flash-FPGA Hybrid Storage Array

From article:

Researchers at the Massachusetts Institute of Technology, working with funding from server maker Quanta and flash chip maker Samsung, are combining flash storage and field programmable gate arrays in a new way that is yielding a peppy and scalable storage cluster that rivals that bandwidth and low latency of very high-end storage area network or clustered file systems.