text:
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele on the design of Scheme
Sometimes it's called a closure, other times a saved lexical environment. Or, as some of us like to say, let over lambda. Whatever terminology you use, mastering this concept of a closure is the first step to becoming a professional lisp programmer. In fact, this skill is vital for the proper use of many modern programming languages, even ones that don't explicitly contain let or lambda, such as Perl or Javascript.
Closures are one of those few curious concepts that are paradoxically difficult because they are so simple. Once a programmer becomes used to a complex solution to a problem, simple solutions to the same problem feel incomplete and uncomfortable. But, as we will soon see, closures can be a simpler, more direct solution to the problem of how to organise data and code than objects. Even more important than their simplicity, closures represent a better abstraction to use when constructing macros—the topic of this book.
The fact that we can build objects and classes with our closure primitives doesn't mean that object systems are useless to lisp programmers. Far from it. In fact, COMMON LISP includes one of the most powerful object systems ever devised: CLOS, the COMMON LISP Object System. Although I am very impressed with the flexibility and features of CLOS, I seldom find a need to use its more advanced features1, thanks to assignable value cells and good old lambda expressions.
While much of this book assumes a reasonable level of lisp skill, this chapter attempts to teach the theory and use of closures from the very basics as well as to provide a common terminology for closures that will be used throughout the rest of this book. This chapter also examines the efficiency implications of closures and considers how well modern compilers optimise them.
What Steele means by assignable value cells is an environment for storing pointers to data where the environment is subject to something called indefinite extent. This is a fancy way of saying that we can continue to refer to such an environment at any time in the future. Once we allocate this environment, it and its references are there to stay as long as we need them. Consider this C function:
#include <stdlib.h> int *environment_with_indefinite_extent(int input) { int *a = malloc(sizeof(int)); *a = input; return a; }
After we call this function and receive the pointer it returns, we can continue to refer to the allocated memory indefinitely. In C, new environments are created when invoking a function, but C programmers know to malloc() the required memory when returning it for use outside the function.
By contrast, the example below is flawed. C programmers consider a to be automatically collected when the function returns because the environment is allocated on the stack. In other words, according to lisp programmers, a is allocated with temporary extent.
int *environment_with_temporary_extent(int input) { int a = input; return &a; }
The difference between C environments and lisp environments is that unless you explicitly tell lisp otherwise it always assumes you mean to use indefinite extent. In other words, lisp always assumes you mean to call malloc() as above. It can be argued that this is inherently less efficient than using temporary extent, but the benefits almost always exceed the marginal performance costs. What's more, lisp can often determine when data can safely be allocated on the stack and will do so automatically. You can even use declarations to tell lisp to do this explicitly. We will discuss declarations in more detail in chapter 7, Macro Efficiency Topics.
But because of lisp's dynamic nature, it doesn't have explicit pointer values or types like C. This can be confusing if you, as a C programmer, are used to casting pointers and values to indicate types. Lisp thinks about all this slightly differently. In lisp, a handy mantra is the following:
Variables don't have types. Only values have types.
Still, we have to return something to hold pointers. In lisp there are many data structures that can store pointers. One of the most favoured by lisp programmers is a simple structure: the cons cell. Each cons cell holds exactly two pointers, affectionately called car and cdr. When environment-with-indefinite-extent is invoked, a cons cell will be returned with the car pointing to whatever was passed as input and the cdr pointing to nil. And, most importantly, this cons cell (and with it the pointer to input) has indefinite extent so we can continue to refer to it as long as we need to:
(defun environment-with-indefinite-extent (input) (cons input nil))
The efficiency disadvantages of indefinite extent are approaching irrelevance as the state of the art in lisp compilation technology improves. Environments and extent are closely related to closures and more will be said about them throughout this chapter.
The technical term for where to consider a variable reference valid is scope. The most common type of scope in modern languages is called lexical scope. When a fragment of code is surrounded by the lexical binding of a variable, that variable is said to be in the lexical scope of the binding. The let form, which is one of the most common ways to create bindings, can introduce these lexically scoped variables:
* (let ((x 2)) x) 2
The x inside the body of the let form was accessed through lexical scope. Similarly, arguments to functions defined by lambda or defun are also lexically bound variables inside the text of the function definition. Lexical variables are variables that can only be accessed by code appearing inside the context of, for instance, the above let form. Because lexical scoping is such an intuitive way to limit the scope of access to a variable, it can appear to be the only way. Are there any other possibilities for scoping?
As useful as the combination of indefinite extent and lexical scoping turns out to be, it has until recently not been used to its fullest extent in mainstream programming languages. The first implementation was by Steve Russell for Lisp 1.5[HISTORY-OF-LISP] and was subsequently designed directly into languages like Algol-60, Scheme, and COMMON LISP. Despite this long and fruitful history, the numerous advantages of lexical scoping are only slowly being taken up by many Blubs.
Although the scoping methods provided by C-like languages are limited, C programmers need to program across different environments too. To do so, they often use an imprecisely defined scoping known as pointer scope. Pointer scope is famous for its difficulty to debug, numerous security risks, and, somewhat artificially, its efficiency. The idea behind pointer scoping is to define a domain specific language for controlling the registers and memory of a Von Neumman machine similar to most modern CPUs[PAIP-PIX], then to use this language to access and manipulate data-structures with fairly direct commands to the CPU running the program. Pointer scoping was necessary for performance reasons before decent lisp compilers were invented but is now regarded as a problem with, rather than a feature of, modern programming languages.
Even though lisp programmers seldom think in terms of pointers, the understanding of pointer scoping is very valuable in the construction of efficient lisp code. In section 7.4, Pointer Scope we will investigate implementing pointer scoping for the rare cases where we need to instruct the compiler on specific code creation. But for now we only need discuss its mechanics. In C, we sometimes would like to access a variable defined outside the function we are writing:
#include <stdio.h> void pointer_scope_test() { int a; scanf("%d", &a); }
In the above function we use the C & operator to give the actual address in memory of our local variable a to the scanf function so it knows where to write the data it scans. Lexical scoping in lisp forbids us from implementing this directly. In lisp, we would likely pass an anonymous function to a hypothetical lisp scanf function, allowing it to set our lexical variable a even though scanf is defined outside our lexical scope:
(let (a) (scanf "%d" (lambda (v) (setf a v))))
Lexical scope is the enabling feature for closures. In fact, closures are so related to this concept of lexical scope that they are often referred to more specifically as lexical closures to distinguish them from other types of closures. Unless otherwise noted, all closures in this book are lexical.
In addition to lexical scope, COMMON LISP provides dynamic scope. This is lisp slang for the combination of temporary extent and global scope. Dynamic scoping is a type of scoping that is unique to lisp in that it offers a very different behaviour but shares an identical syntax with lexical scope. In COMMON LISP we deliberately choose to call attention to variables accessed with dynamic scope by calling them special variables. These special variables can be defined with defvar. Some programmers follow a convention of prefixing and postfixing special variable names with asterisks, like *temp-special*. This is called the earmuff convention. For reasons explained in section 3.7, Duality of Syntax, this book does not use earmuffs so our special variable declarations look like this:
(defvar temp-special)
When defined like this, temp-special will be designated special2but will not be initialised with a value. In this state, a special variable is said to be unbound. Only special variables can be unbound—lexical variables are always bound and thus always have values. Another way of thinking of this is that by default all symbols represent lexically unbound variables. Just as with lexical variables, we can assign a value to special variables with setq or setf. Some lisps, like Scheme, do not have dynamic scope. Others, like EuLisp[SMALL-PIECES-P46], use different syntax for accessing lexical versus special variables. But in COMMON LISP the syntax is shared. Many lispers consider this a feature. Here we assign a value to our special variable temp-special:
(setq temp-special 1)
So far, this special variable doesn't seem that special. It seems to be just another variable, bound in some sort of global namespace. This is because we have only bound it once—its default special global binding. Special variables are most interesting when they are re-bound, or shadowed, by new environments. If we define a function that simply evaluates and returns temp-special:
(defun temp-special-returner () temp-special)
This function can be used to examine the value that lisp evaluates temp-special to be at the moment in time when it was called:
* (temp-special-returner) 1
This is sometimes referred to as evaluating the form in a null lexical environment. The null lexical environment obviously doesn't contain any lexical bindings. Here the value of temp-special returned is that of its global special value, 1. But if we evaluate it in a non-null lexical environment—one that contains a binding for our special variable—the specialness of temp-special reveals itself3:
* (let ((temp-special 2)) (temp-special-returner)) 2
Notice that the value 2 was returned, meaning that the temp-special value was taken from our let environment, not its global special value. If this still does not seem interesting, see how this cannot be done in most other conventional programming languages as exemplified by this piece of Blub pseudo-code:
int global_var = 0; function whatever() { int global_var = 1; do_stuff_that_uses_global_var(); } function do_stuff_that_uses_global_var() { // global_var is 0 }
While the memory locations or register assignments for lexical bindings are known at compile-time4, special variable bindings are determined at run-time—in a sense. Thanks to a clever trick, special variables aren't as inefficient as they seem. A special variable actually always does refer to the same location in memory. When you use let to bind a special variable, you are actually compiling in code that will store a copy of the variable, over-write the memory location with a new value, evaluate the forms in the let body, and, finally, restore the original value from the copy.
Special variables are perpetually associated with the symbol used to name them. The location in memory referred to by a special variable is called the symbol-value cell of a symbol. This is in direct contrast to lexical variables. Lexical variables are only indicated with symbols at compile-time. Because lexical variables can only be accessed from inside the lexical scope of their bindings, the compiler has no reason to even remember the symbols that were used to reference lexical variables so it will remove them from compiled code. We will stretch the truth of this statement in section 6.7, Pandoric Macros.
Although COMMON LISP does offer the invaluable feature of dynamic scope, lexical variables are the most common. Dynamic scoping used to be a defining feature of lisp but has, since COMMON LISP, been almost completely replaced by lexical scope. Since lexical scoping enables things like lexical closures (which we examine shortly), as well as more effective compiler optimisations, the superseding of dynamic scope is mostly seen as a good thing. However, the designers of COMMON LISP have left us a very transparent window into the world of dynamic scoping, now acknowledged for what it really is: special.
Let is a lisp special form for creating an environment with names (bindings) initialised to the results of evaluating corresponding forms. These names are available to the code inside the let body while its forms are evaluated consecutively, returning the result of the final form. Although what let does is unambiguous, how it does it is deliberately left unspecified. What let does is separated from how it does it. Somehow, let needs to provide a data structure for storing pointers to values.
Cons cells are undeniably useful for holding pointers, as we saw above, but there are numerous structures that can be used. One of the best ways to store pointers in lisp is to let lisp take care of it for you with the let form. With let you only have to name (bind) these pointers and lisp will figure out how best to store them for you. Sometimes we can help the compiler make this more efficient by giving it extra bits of information in the form of declarations:
(defun register-allocated-fixnum () (declare (optimize (speed 3) (safety 0))) (let ((acc 0)) (loop for i from 1 to 100 do (incf (the fixnum acc) (the fixnum i))) acc))
For example, in register-allocated-fixnum we provide some hints to the compiler that allow it to sum the integers from 1 to 100 very efficiently. When compiled, this function will allocate the data in registers, eliminating the need for pointers altogether. Even though it seems we've asked lisp to create an indefinite extent environment to hold acc and i, a lisp compiler will be able to optimise this function by storing the values solely in CPU registers. The result might be this machine code:
Notice that 4 represents 1 and 400 represents 100 because fixnums are shifted by two bits in compiled code. This has to do with tagging, a way to pretend that something is a pointer but actually store data inside it. Our lisp compiler's tagging scheme has the nice benefit that no shifting needs to occur to index word aligned memory[DESIGN-OF-CMUCL]. We'll get to know our lisp compiler better in chapter 7, Macro Efficiency Topics.
But if lisp determines that you might want to refer to this environment later on it will have to use something less transient than a register. A common structure for storing pointers in environments is an array. If each environment has an array and all the variable references enclosed in that environment are just references into this array, we have an efficient environment with potentially indefinite extent.
As mentioned above, let will return the evaluation of the last form in its body. This is common for many lisp special forms and macros, so common that this pattern is often referred to as an implicit progn due to the progn special form designed to do nothing but this5. Sometimes the most valuable thing to have a let form return is an anonymous function which takes advantage of the lexical environment supplied by the let form. To create these functions in lisp we use lambda.
Lambda is a simple concept that can be intimidating because of its flexibility and importance. The lambda from lisp and scheme owes its roots to Alonzo Church's logic system but has evolved and adapted into its altogether own lisp specification. Lambda is a concise way to repeatably assign temporary names (bindings) to values for a specific lexical context and underlies lisp's concept of a function. A lisp function is very different from the mathematical function description that Church had in mind. This is because lambda has evolved as a powerful, practical tool at the hands of generations of lispers, stretching and extending it much further than early logicians could have foreseen.
Despite the reverence lisp programmers have for lambda, there is nothing inherently special about the notation. As we will see, lambda is just one of many possible ways to express this sort of variable naming. In particular, we will see that macros allow us to customise the renaming of variables in ways that are effectively impossible in other programming languages. But after exploring this, we will return to lambda and discover that it is very close to the optimal notation for expressing such naming. This is no accident. Church, as dated and irrelevant as he might seem to our modern programming environment, really was on to something. His mathematical notation, along with its numerous enhancements in the hands of generations of lisp professionals, has evolved into a flexible, general tool6.
Lambda is so useful that, like many of lisp's features, most modern languages are beginning to import the idea from lisp into their own systems. Some language designers feel that lambda is too lengthy, instead using fn or some other abbreviation. On the other hand, some regard lambda as a concept so fundamental that obscuring it with a lesser name is next to heresy. In this book, although we will describe and explore many variations on lambda, we happily call it lambda, just as generations of lisp programmers before us.
But what is lisp's lambda? First off, as with all names in lisp, lambda is a symbol. We can quote it, compare it, and store it in lists. Lambda only has a special meaning when it appears as the first element of a list. When it appears there, the list is referred to as a lambda form or as a function designator. But this form is not a function. This form is a list data structure that can be converted into a function using the function special form:
* (function '(lambda (x) (+ 1 x))) #<Interpreted Function>
COMMON LISP provides us a convenience shortcut for this with the #' (sharp-quote) read macro. Instead of writing function as above, for the same effect we can take advantage of this shortcut:
* #'(lambda (x) (+ 1 x)) #<Interpreted Function>
As a further convenience feature, lambda is also defined as a macro that expands into a call to the function special form above. The COMMON LISP ANSI standard requires[ANSI-CL-ISO-COMPATIBILITY] a lambda macro defined like so:
(defmacro lambda (&whole form &rest body) (declare (ignore body)) `#',form)
Ignore the ignore declaration for now7. This macro is just a simple way to automatically apply the function special form to your function designators. This macro allows us to evaluate function designators to create functions because they are expanded into sharp-quoted forms:
* (lambda (x) (+ 1 x)) #<Interpreted Function>
There are few good reasons to prefix your lambda forms with #' thanks to the lambda macro. Because this book makes no effort to support pre-ANSI COMMON LISP environments, backwards compatibility reasons are easily rejected. But what about stylistic objections? Paul Graham, in ANSI COMMON LISP[GRAHAM-ANSI-CL], considers this macro, along with its brevity benefits, a "specious sort of elegance at best". Graham's objection seems to be that since you still need to sharp-quote functions referenced by symbols, the system seems asymmetric. However, I believe that not sharp-quoting lambda forms is actually a stylistic improvement because it highlights the asymmetry that exists in the second namespace specification. Using sharp-quote for symbols is for referring to the second namespace, whereas functions created by lambda forms are, of course, nameless.
Without even invoking the lambda macro, we can use lambda forms as the first argument in a function call. Just like when a symbol is found in this position and lisp assumes we are referencing the symbol-function cell of the symbol, if a lambda form is found, it is assumed to represent an anonymous function:
* ((lambda (x) (+ 1 x)) 2) 3
But note that just as you can't call a function to dynamically return the symbol to be used in a regular function call, you can't call a function to return a lambda form in the function position. For both of these tasks, use either funcall or apply.
A benefit of lambda expressions that is largely foreign to functions in C and other languages is that lisp compilers can often optimise them out of existence completely. For example, although compiler-test looks like it applies an increment function to the number 2 and returns the result, a decent compiler will be smart enough to know that this function always returns the value 3 and will simply return that number directly, invoking no functions in the process. This is called lambda folding:
(defun compiler-test () (funcall (lambda (x) (+ 1 x)) 2))
An important efficiency observation is that a compiled lambda form is a constant form. This means that after your program is compiled, all references to that function are simply pointers to a chunk of machine code. This pointer can be returned from functions and embedded in new environments, all with no function creation overhead. The overhead was absorbed when the program was compiled. In other words, a function that returns another function will simply be a constant time pointer return function:
(defun lambda-returner () (lambda (x) (+ 1 x)))
This is in direct contrast to the let form, which is designed to create a new environment at run-time and as such is usually not a constant operation because of the garbage collection overhead implied by lexical closures, which are of indefinite extent.
(defun let-over-lambda-returner () (let ((y 1)) (lambda (x) (incf y x))))
Every time let-over-lambda-returner is invoked, it must create a new environment, embed the constant pointer to the code represented by the lambda form into this new environment, then return the resulting closure. We can use time to see just how small this environment is:
* (progn (compile 'let-over-lambda-returner) (time (let-over-lambda-returner))) ; Evaluation took: ; ... ; 24 bytes consed. ; #<Closure Over Function>
If you try to call compile on a closure, you will get an error saying you can't compile functions defined in non-null lexical environments[CLTL2-P677]. You can't compile closures, only the functions that create closures. When you compile a function that creates closures, the closures it creates will also be compiled[ON-LISP-P25].
The use of a let enclosing a lambda above is so important that we will spend the remainder of this chapter discussing the pattern and variations on it.
Let over lambda is a nickname given to a lexical closure. Let over lambda more closely mirrors the lisp code used to create closures than does most terminology. In a let over lambda scenario, the last form returned by a let statement is a lambda expression. It literally looks like let is sitting on top of lambda:
* (let ((x 0)) (lambda () x)) #<Interpreted Function>
Recall that the let form returns the result of evaluating the last form inside its body, which is why evaluating this let over lambda form produced a function. However, there is something special about the last form in the let. It is a lambda form with x as a free variable. Lisp was smart enough to determine what x should refer to for this function: the x from the surrounding lexical environment created by the let form. And, because in lisp everything is of indefinite extent by default, the environment will be available for this function to use as long as it needs it.
So lexical scope is a tool for specifying exactly where references to a variable are valid, and exactly what the references refer to. A simple example of a closure is a counter, a closure that stores an integer in an environment and increments and returns this value upon every invocation. Here is how it is typically implemented, with a let over lambda:
(let ((counter 0)) (lambda () (incf counter)))
This closure will return 1 the first time it is called, 2 the subsequent time, and so on. One way of thinking about closures is that they are functions with state. These functions are not mathematical functions, but rather procedures, each with a little memory of its own. Sometimes data structures that bundle together code and data are called objects. An object is a collection of procedures and some associated state. Since objects are so closely related to closures, they can often be thought of as one and the same. A closure is like an object that has exactly one method: funcall. An object is like a closure that you can funcall in multiple ways.
Although closures are always a single function and its enclosing environment, the multiple methods, inner classes, and static variables of object systems all have their closure counterparts. One possible way to simulate multiple methods is to simply return multiple lambdas from inside the same lexical scope:
(let ((counter 0)) (values (lambda () (incf counter)) (lambda () (decf counter))))
This let over two lambdas pattern will return two functions, both of which access the same enclosing counter variable. The first increments it and the second decrements it. There are many other ways to accomplish this. One of which, dlambda, is discussed in section 5.7, Dlambda. For reasons that will be explained as we go along, the code in this book will structure all data using closures instead of objects. Hint: It has to do with macros.
In some object systems there is a sharp distinction between objects, collections of procedures with associated state, and classes, the data structures used to create objects. This distinction doesn't exist with closures. We saw examples of forms you can evaluate to create closures, most of them following the pattern let over lambda, but how can our program create these objects as needed?
The answer is profoundly simple. If we can evaluate them in the REPL, we can evaluate them inside a function too. What if we create a function whose sole purpose is to evaluate a let over lambda and return the result? Because we use lambda to represent functions, it would look something like this:
(lambda () (let ((counter 0)) (lambda () (incf counter))))
When the lambda over let over lambda is invoked, a new closure containing a counter binding will be created and returned. Remember that lambda expressions are constants: mere pointers to machine code. This expression is a simple bit of code that creates new environments to close over the inner lambda expression (which is itself a constant, compiled form), just as we were doing at the REPL.
With object systems, a piece of code that creates objects is called a class. But lambda over let over lambda is subtly different than the classes of many languages. While most languages require classes to be named, this pattern avoids naming altogether. Lambda over let over lambda forms can be called anonymous classes.
Although anonymous classes are often useful, we usually do name classes. The easiest way to give them names is to recognise that such classes are regular functions. How do we normally name functions? With the defun form, of course. After naming, the above anonymous class becomes:
(defun counter-class () (let ((counter 0)) (lambda () (incf counter))))
Where did the first lambda go? Defun supplies an implicit lambda around the forms in its body. When you write regular functions with defun they are still lambda forms underneath but this fact is hidden beneath the surface of the defun syntax.
Unfortunately, most lisp programming books don't provide realistic examples of closure usage, leaving readers with the inaccurate impression that closures are only good for toy examples like counters. Nothing could be further from the truth. Closures are the building blocks of lisp. Environments, the functions defined inside those environments, and macros like defun that make using them convenient, are all that are needed for modelling any problem. This book aims to stop beginning lisp programmers used to object-based languages from acting upon their gut instinct of reaching for systems like CLOS. While CLOS does have certain things to offer the professional lisp programmer, do not use it when a lambda will suffice.
In order to motivate the use of closures, a realistic example is presented: block-scanner. The problem block-scanner solves is that for some forms of data transfer the data is delivered in groups (blocks) of uncertain sizes. These sizes are generally convenient for the underlying system but not for the application programmer, often being determined by things like operating system buffers, hard drive blocks, or network packets. Scanning a stream of data for a specific sequence requires more than just scanning each block as it comes in with a regular, stateless procedure. We need to keep state between the scanning of each block because it is possible that the sequence we are scanning for will be split between two (or more) blocks.
The most straightforward, natural way to implement this stored state in modern languages is with a closure. An initial sketch of a closure-based block scanner is given as block-scanner. Like all lisp development, creating closures is an iterative process. We might start off with code given in block-scanner and decide to improve its efficiency by avoiding coercion of strings to lists, or possibly improve the information gathered by counting the number of occurrences of the sequence.
Although block-scanner is an initial implementation waiting to be improved, it is still a good demonstration of the use of lambda over let over lambda. Here is a demonstration of its use, pretending to be some sort of communications tap watching out for a specific black-listed word, jihad:
* (defvar scanner (block-scanner "jihad")) SCANNER * (funcall scanner "We will start ") NIL # (funcall scanner "the ji") NIL * (funcall scanner "had tomorrow.") T
Users of object systems store values they want shared between all objects of a certain class into so-called class variables or static variables8. In lisp, this concept of sharing state between closures is handled by environments in the same way that closures themselves store state. Since an environment is accessible indefinitely, as long as it is still possible to reference it, we are guaranteed that it will be available as long as is needed.
If we want to maintain a global direction for all counters, up to increment each closure's counter and down to decrement, then we might want to use a let over lambda over let over lambda pattern:
(let ((direction 'up)) (defun toggle-counter-direction () (setq direction (if (eq direction 'up) 'down 'up))) (defun counter-class () (let ((counter 0)) (lambda () (if (eq direction 'up) (incf counter) (decf counter))))))
In the above example, we have extended counter-class from the previous section. Now calling closures created with counter-class will either increment its counter binding or decrement it, depending on the value of the direction binding which is shared between all counters. Notice that we also take advantage of another lambda inside the direction environment by creating a function called toggle-counter-direction which changes the current direction for all counters.
While this combination of let and lambda is so useful that other languages have adopted it in the form of class or static variables, there exist other combinations of let and lambda that allow you to structure code and state in ways that don't have direct analogs in object systems9. Object systems are a formalisation of a subset of let and lambda combinations, sometimes with gimmicks like inheritance bolted on10 . Because of this, lisp programmers often don't think in terms of classes and objects. Let and lambda are fundamental; objects and classes are derivatives. As Steele says, the "object" need not be a primitive notion in programming languages. Once assignable value cells and good old lambda expressions are available, object systems are, at best, occasionally useful abstractions and, at worst, special-case and redundant.
All material is (C) Doug Hoyte unless otherwise noted or implied. All rights reserved.


text:
Cowboys linebacker Jerry Brown has died in an early morning car crash, and Cowboys nose tackle Josh Brent has been charged with intoxication manslaughter in Brown's death.
The police department in Irving, Texas, has confirmed that Brown died in a crash early this morning and Brent (whose legal name is Josh Price-Brent) was charged.
"Officers at the scene believed alcohol was a contributing factor in the crash; therefore, Price-Brent was asked to perform field sobriety tests," a statement from the Irving Police Department said. "Based on the results of the tests, along with the officer's observations and conversations with Price-Brent, he was arrested for driving while intoxicated. He was transported to an area hospital for a mandatory blood draw. Once it was learned that the passenger of his vehicle had died as a result of the crash, Price-Brent was booked into the Irving City Jail on one count of Intoxication Manslaughter."
Cowboys owner Jerry Jones released a statement expressing sadness at Brown's death.
"We are deeply saddened by the news of this accident and the passing of Jerry Brown," Jones said. "Our hearts and prayers and deepest sympathies are with the members of Jerry's family and all of those who knew him and loved him."
Brown and Brent were friends and teammates at Illinois before becoming teammates again with the Cowboys. Brown was 25.
Visit NBCNews.com for breaking news, world news, and news about the economy

subset: commoncrawl


text:
All entries for December 2011
December 07, 2011
Right to refuse consumers
In an Indian Restaurant in Leamington spa, one sentence at the botton of the menu drawed my attention : « this restaurant reserves the right to refuse to serve a customer WITHOUT providing any justification or reason ». We can understand the aim of such a mesure : preserve the restaurant from entree of alcoholics, unruly customers etc. These are reasons the law generally protects. But the law also protects the customer from discrimination. Are such clauses conform with our respective laws ?
Under french law, this statement will be considered as void. Indeed, the code de la consommation prohibits « to refuse to sell a product, or supply a service, to a consumer WITHOUT a legitimate reason » (1), which can be for instance the offensive behaviour or the of the consumer (2). So france, as often, protects the consumer against such discrimination, by establishing a presumption of discrimination when there's no legitimate reason to refuse to supply a service or sell a product to a consumer.
In England, there's some statutory provision which protects against discrimination such as for instance the equality act 2010, but there are no special provisions concerning the consumer. What is punished is to refuse to sale a product or supply a service WITH a discriminating reason. The fact of not providing any reason is not forbidden in itself, following the principle of freedom of contract. Only one of the discriminating reasons listed in the act can be questionned, i.e. Age, Disability, Gender reassignment, Marriage and civil partnership, Race, Religion or belief, Sex, Sexual orientation. So this is to the "consumer" or other victim of discrimination to proof the discrimination and its nature, which is not really easy to do in practice. Hopefully we can note that case law complete efficiently this protection concerning insurance contracts by admitting a general duty of fairness and rationality to the insurer (4) - which is not the case everywhere (cf. debates on the insurance system in the U.S.A).
Art L122-1 of the code de la consommation
« Constitue en revanche un motif légitime le comportement insultant et l'impolitesse d'un consommateur » ●Versailles, 7 mars 2003: Lettre distrib. mai 2003, p. 4.
equality act 2010 c.15
Wood v Wood (1874) L.R. 9 Ex. 190 and McInnes v. Onslow Fane [1978] 1 W.L.R. 1520 ; cited in « Common values in public and private law and the public/private divide », Dawn Oliver, P.L. 1997, Win, 630-646.


text:
Below, we've posted titles and a brief quotation from some of our favorite non-Situationist situationist blogging during December 2010 (they are listed in alphabetical order by source).
* * *
From BPS Research Digest: "Do political scandals really distract us from important issues?"
"Barely a day goes by without some political scandal or other splashed across the papers. Critics argue this obsession with tittle-tattle distracts the electorate from more important policy issues. '…a fiercely independent media is the guarantor of democracy,' Will Hutton wrote in 2000, before warning that the British media's obsession with scandal 'paradoxically, may be beginning to endanger it [democracy]'." Read more . . .
From Deliberations: "A Story of Social Media Enlightenment: It's not just for kids anymore"
"I have watched the trial consulting industry evolve slowly over the past 22 years. However, like a scene from a Sci-Fi movie, I feel like some aspects of our field have moved at an incredible pace. Generally, these have been associated with technology." Read more . . .
From Jury Room: "Simple Jury Persuasion: Christian religious concepts increase racial prejudice"
"We've written a lot about racial biases in the courtroom. As regular readers of this blog know, we look for ways to mitigate the impact of racial biases. We believe in social justice. We also know (although we don't like it much) that there are times when in the interests of advocacy, it is important to either fan the flame of racial prejudice or simply allow it to blossom and flower by not raising juror awareness of racism." Read more . . .
From Psyblog: "The Illusion of Truth"
"We see ads for the same products over and over again. Politicians repeat the same messages endlessly (even when it has nothing to do with the question they've been asked). Journalists repeat the same opinions day after day." Read more . . .
* * *


text:
Where did it go?
My last post a couple of days ago, What I Would Like To See, seemed to have hit the Ironman bitbucket 😦
There is no mention of Perl in the article (a first for me for probably over a year!). But it is tagged with "perl" and "ironman". Is there an issue with WordPress tags? Is ironman only seeing WordPress categories (which were "blogging" and "programming" for this post).
Thought I better check what my WordPress RSS feed is spewing out using XML::Feed:
use 5.012; use warnings; use XML::Feed; my $feed = XML::Feed->parse(URI->new('https://transfixedbutnotdead.com/feed')) or die XML::Feed->errstr; for my $entry ($feed->entries) { say $entry->title; for my $category ($entry->category) { say "\t", $category; } }
What came back was this:
What I Would Like To See Blogging Programming perl ironman Perl block with lexically-scoped method delegation Programming perl Devel::Declare dsl PDL advert get its 15 minutes of fame! Programming PDL perl stackoverflow Perlcast website is back Blogging Programming perl perlcast Podcasts & Perl Programming perl podcast Famous Perl programmers Programming perl python django Caralyst 5.8: The Perl MVC Framework Programming catalyst perl Perl ads on Stackoverflow Programming perl stackoverflow Two questions… similar answers… same module Programming moose perl The unlikely intersection of Boy George and Damian Conway Programming london.pm perl
Both the WordPress tags & categories were coming through has RSS categories. I believe this is correct so why hasn't Ironman picked up the "What I Would Like To See" post?
So is having Perl, CPAN or ironman in the content mandatory?
May 28, 2010 5:12 am
I have not looked at the source code of the IronMan but I think that's the key. The content of the post must have Perl in it or maybe some other keyword can do as well.
The tagline says:
Only showing posts tagged "perl", "cpan" or "ironman" (or containing those words).
It's a pity they don't have a link to their source code at the top of the Ironman page.


text:
BOSTON – Is six straight wins at welterweight good enough to get a title shot? Matt Brown now has posed the question, and he'll wait for the UFC's response.
Brown picked up the most dominant win of his nearly two-year run when he knocked out Mike Pyle – who had been on a run of his own – just 29 seconds into the first round. And afterward, he wondered if that might be good enough for a shot at the 170-pound title.
The welterweight bout took place today at UFC Fight Night 26 at Boston's TD Garden. It aired on FOX Sports 1 following prelims on FOX Sports 1 and Facebook.
Brown opened with a leg kick, then a pair of jabs and a left hook to the body. A right hand landed flush, and Brown backed it up with a knee to the head.
With Pyle on the ground, Brown wasted no time. He landed six right hands on the ground – the latter three the ones that really mattered, leaving Pyle out cold.
"Mike Pyle is good enough to be champion – a lot of people don't know that about him," Brown said. "He's better than (welterweight champion Georges St-Pierre), I can guarantee you that. Where you at, Georges?
"I knew Mike Pyle, how good he really is. So I was like, if I let him get comfortable in there, it's going to be a dogfight. So let's go balls to the wall, straight up. That's how I fight anyway, so right on."
St-Pierre defends his title in November against Johny Hendricks. Pyle currently is ranked No. 12 in the latest USA TODAY Sports/MMAjunkie.com MMA welterweight rankings, with Brown an Honorable Mention. But there surely will be some shuffling following Brown's dominant victory.
Brown (18-11 MMA, 11-5 UFC) won for the sixth straight time. Pyle (25-9-1 MMA, 8-4 UFC) had a four-fight win streak snapped and lost for the first time since a TKO from Rory MacDonald more than two years ago.
Up-to-the-minute UFC Fight Night 26 results include:
- Matt Brown def. Mike Pyle via KO (punches) – Round 1, 0:29
- John Howard def. Uriah Hall via split decision (30-27, 28-29, 29-28)
- Michael Johnson def. Joe Lauzon via unanimous decision (30-27, 30-27, 30-25)
- Michael McDonald def. Brad Pickett via submission (triangle choke) – Round 2, 3:43
- Conor McGregor def. Max Holloway via unanimous decision (30-27, 30-27, 30-26)
- Steven Siler def. Mike Brown via KO (punches) – Round 1, 0:50
- Diego Brandao def. Daniel Pineda via unanimous decision (29-28, 29-28, 29-28)
- Manny Gamburyan def. Cole Miller via unanimous decision (30-27, 29-28, 29-28)
- Ovince St. Preux def. Cody Donovan via KO (punches) – Round 1, 2:07
- James Vick def. Ramsey Nijem via submission (guillotine choke) – Round 1, 0:58
For complete coverage of UFC Fight Night 26, stay tuned to the UFC Events section of the site.
John Morgan and Steven Marrocco contributed to this report on-site in Boston.


text:
HIGHLIGHTS OF MAGMAsteel 5.5
The quality and profitability of steel castings are driven by the design of the pattern, the productivity of the process, reproducible manufacturing conditions and the properties of the cast material after casting and heat treatment.
MAGMASOFT® is capable of autonomously establishing robust process conditions and optimized solutions for the pouring, solidification and heat treatment of steel alloys. The integrated tools to statistically set up virtual Designs of Experiments and automatically assess results support foundrymen in determining optimal design and process conditions, for example regarding:�
MAGMASOFT®'s unique integrated methodology of virtual experimentation and autonomous optimization lets the software automatically run through various steel casting design and parameter combinations. MAGMASOFT® helps identify a set of process conditions best meeting the specified requirements. This is done quickly and comprehensively, matching different objectives considering all the driving forces decisive for steel casting quality.
This makes MAGMASOFT® key for cast steel part designers, pattern makers and foundrymen to lay out optimal cast part designs, implement reliable production processes, minimize quality risks, set up reliable process windows and realize the full potential of cast steel materials.�
Optimization of Steel Casting Design and Methoding
Going With the Flow and Fighting for Air


text:
Letter to Edward Partridge and Others, 30 March 1834
Source Note
JS, Letter with postscript by , , Geauga Co., OH, to , , and other members of the , [, MO], 30 Mar. 1834. Featured version copied [ca. 30 Mar. 1834] in Oliver Cowdery, Letterbook, 30–38; handwriting of ; Henry E. Huntington Library, San Marino, CA. Transcription from digital color image obtained from the Huntington Library in 2011. For more complete source information on Oliver Cowdery, Letterbook, see the source note for Letter to J. G. Fosdick, 3 Feb. 1834.
Historical Introduction
From the end of February to the end of March 1834, JS traveled to recruit individuals for the expedition to . On 28 March, he returned to , Ohio, and found that he had received several letters from Missouri church leaders, some of which were from members of the . Those letters, though no longer extant, seem to have discussed, among other things, the business of the firm, including its losses. The letters from Missouri must have also criticized JS and other Kirtland church leaders; according to JS, the letters contained "sharp, piercing, & cutting reproofs," partly because of misspellings and grammatical errors that appeared in a published broadside of a December 1833 revelation and partly because of the lack of financial support from Kirtland for Missouri church members. Earlier missives from Missouri were similarly critical of Kirtland church leaders, and Missouri members had been consequently rebuked for being contentious. A December 1833 revelation even declared that church members had been driven from , Missouri, in part because of the "jar[r]ings and contentions envyings and strifes and lustful and covetous desires among them." Although acknowledged that "it was right that we should be driven out of the land of ," the letters that JS received in March 1834 apparently exhibited at least a measure of the same critical spirit found in earlier correspondence.After spending the preceding day with his family and in the midst of attending to ecclesiastical affairs, JS penned a reply to the leaders on 30 March 1834. The letter, featured here, offers a glimpse into how the hardships of late 1833 and early 1834 affected JS and how he handled criticism. This letter exhibited JS's frustration over their complaints but also evinced his desire to forgive past transgressions for the sake of unity. In the letter, JS also offered more information on the matters with which and others had found fault, bemoaned the persecution the church was experiencing in both Missouri and , and reported on the expected expedition of "able brethren" to Missouri. Specifically, he noted church members' lack of support (in terms of both financial donations and individual volunteers) for the contemplated expedition to . JS also suggested that though he intended to be part of the expedition, he had other matters to resolve before departing. In fact, it was not until 9 April 1834, after the legal proceedings against (who had been charged with threatening to kill JS) had successfully concluded, that JS finally determined to "go to Zion."The letter further provided information on the advantage of employing attorney general Robert W. Wells in the Mormons' legal suits, on debts and finances in , on the recent purchase of a printing press by in , and on the selling of property. Though some church leaders in Missouri wrote letters to Kirtland in the months following this letter, they did not specifically address this letter or its contents. Therefore, it is not clear if the men of the in Missouri received this letter.
See Minutes, 24 Feb. 1834; Revelation, 24 Feb. 1834 [D&C 103]; and JS, Journal, 26 Feb.–28 Mar. 1834.
- 2
Revelation, 16–17 Dec. 1833 [D&C 101:6].
- 4
JS, Journal, 9–10 Apr. 1834. This 9 April notation in JS's journal is the first known documentary evidence that JS had decided to go with the Camp of Israel.
See, for example, "The Outrage in Jackson County, Missouri," The Evening and the Morning Star, May 1834, 160; and "The Outrage in Jackson County, Missouri," The Evening and the Morning Star, June 1834, 168.
The Evening and the Morning Star. Independence, MO, June 1832–July 1833; Kirtland, OH, Dec. 1833–Sept. 1834.
- 1


text:
TRAFFIC ADVISORY: Watch for road crews, closed lanes
Roadwork underway in Sarasota, Manatee and Charlotte counties
Drivers in Sarasota, Manatee and Charlotte counties are advised to use caution in the following areas where the Florida Department of Transportation says road construction or other projects affecting traffic are underway this week:
— Interstate 75 interchanges at Sumter Boulevard and Toledo Blade Boulevard in North Port. Repaving operations underway. Expect delays and daytime lane closures.
— Tamiami Trail at Gulf Gate Drive, Bay Acres Avenue and General Spaatz Boulevard; State Road 789 (John Ringling Causeway and North Gulfstream Avenue) at Sunset Drive-Golden Gate Drive; Clark Road at Beneva Road and Sawyer Road; and Bee Ridge Road at Murdock Avenue and Honore Avenue. Lane closures from 8 p.m. to 6 a.m. while crews replace mast arms and traffic control devices.
— U.S. 41 at Pine Terrace. Intermittent closure of inside northbound lane from 9 a.m. to 4 p.m. while crews remove a driveway and install curbs and gutters.
— U.S. 41 at River Road. Intermittent lane closures in both directions from 9 a.m. to 4:30 p.m. while crews construct turn lanes.
— U.S. 41 at Waldemere Street. Contractor working on pedestrian crosswalk improvements. Expect daytime lane closures.
— Gulf of Mexico Drive at Sarasota Harbor East. Lane and sidewalk closure from 9 a.m. to 4 p.m. while crews remove a tree.
— State Road 758 between Bond Place and Dunn Drive. Lane and sidewalk closure from 9 a.m. to 4 p.m. while crews remove a tree.
— S.R. 758 from Beach Road to Hidden Harbor. Intermittent lane closures from 9 a.m. to 4 p.m. while crews replace poles.
— Interstate 75 over the Manatee River. Maintenance work beneath the bridge. No lane closures.
— U.S. 41 from 73rd Street to the Interstate 275 ramp. Crews are replacing railroad tracks and working on drainage. The speed limit reduced to 50 mph. Lane closures in both directions from 7 a.m. to 6 p.m.
— U.S. 41 from the Sarasota County line to Braden Avenue. Intermittent northbound lane closures from 6 to 11 p.m. during sidewalk repairs.
— U.S. 41 from 85th Street in Palmetto to Midway Flea Market. Northbound left lane closed from 7 a.m. to 4 p.m. today and Tuesday while crews repair roadway surface.
— Cortez Road from 51st Street to 26th Street. Outside lane closures from 10 p.m. to 6 a.m. while crews inspect and repair drainage pipes.
— State Road 70 from Tara Creek Boulevard to U.S. 301. Expect intermittent lane closures from 8 p.m. to 6 a.m. while crews replace roadway markings.
— State Road 70 from 39th Street East to Lockwood Ridge Road. Intermittent closure of outside eastbound lane from 9 a.m. to 4 p.m. starting Tuesday while crews construct a curb and gutter.
— S.R. 64 from west of Carlton Arms Boulevard to I-75. Crews are widening the highway, installing bike lanes, sidewalks and drainage swales, constructing a sidewalk and replacing traffic signals.
— State Road 776 (McCall Road) from Gillott Boulevard to Biscayne Drive. Charlotte County utility crews will install water and sewer pipelines. No lane closures expected.
— S.R. 776 south of Beach Road. Southbound outside lane to be closed at night while crews widen a business entrance.
— U.S. 17 (Marion Avenue) from U.S. 41 to Marlympia Way. Drivers are urged to use caution while crews repair sidewalk. No lane closures expected.


text:
Story by
Josh Horwitz
Josh Horwitz is an intern for TNW based out of Taipei, Taiwan, where he enjoys studying Mandarin, translating forgotten Taiwan independent f Josh Horwitz is an intern for TNW based out of Taipei, Taiwan, where he enjoys studying Mandarin, translating forgotten Taiwan independent films, playing German board games, and rowing on his dragon boat crew team. You can find him on Twitter at @HorwitzJosh, and can email him at [email protected]
Alibaba, China's e-commerce giant, last week announced that it had purchased an 18 percent stake in Sina Weibo, arguably the nation's most important social networking platform. The move had been heavily speculated for some time, but the size and influence of both firms made the news was a hot topic among industry analysts and China watchers: in western terms, it is akin to eBay partnering with Twitter.
So, why does a huge e-commerce firm — Alibaba makes more money than eBay and Amazon combined — want in on a major social network? Before we dive in, let's just briefly touch on what makes these two companies so important in China.
Alibaba began life as a B2B e-commerce service intended to connect manufacturers with suppliers, but, after noticing a sweet spot, the company quickly opened up several subsidiary services, each operating under the Alibaba umbrella.
Among them are Tmall, a B2C platform featuring both international name-brands and local alternatives, Taobao, a C2C platform not unlike eBay, eTao, a service that compares prices of online retailers (including those unaffiliated with Alibaba) and Alipay, a PayPal-like third-party payment service. Keep in mind, Alibaba doesn't actually SELL anything – in all of these cases, the company acts as a conduit, not a vendor.
Sina Weibo
Sina Weibo, meanwhile, is often compared to Twitter, but that comparison doesn't capture the essence of the service. Like Twitter, information spreads at lightning speed, but users can track and contribute to nuanced discussions in a manner more reminiscent of Facebook.
As is the case with most major social networks, any number of different entities can have a page, including celebrities, brands, and media outlets. With its speed and tendency to generate debate, Weibo is the chaotic town square of China's Internet. It's home to over 400 million users and, at peak, it sees more than 700,000 posts per minute.
The influence of these two companies can't be understated. But despite their many strengths, as China's cyber landscape continues to evolve, their weaknesses grow more apparent.
Alibaba's push towards social
For Alibaba, that weakness is in social. While Taobao and Tmall are already firmly established in the nation, when it comes to bridging the gap between a tweet and a purchase, Alibaba and its subsidiaries have room to catch up. At the moment, there aren't many ways for buyers to interact with others, except for, well, buying stuff. Enhancing the 'social glue' is one way to increase the likelihood of a purchase and spark greater levels of engagement.
Alibaba's previous, homegrown forays into social — for example, the Pinterest clone taobao.wantu — haven't caught fire. But Alibaba has lately begun to collaborate with established players in the social space in order to enrich its shopping experience. Last month, for example, it officially incorporated functionality for Xiami , the personalized music-streaming service.
Obtaining a stake in Sina Weibo, therefore, is an efficient, logical way for Alibaba to piggyback a winner, improve its own social capabilities, and drive sales. The company also gains access to the wealth of data in Weibo to improve personalization of its e-commerce platforms. Only days after the deal was announced, Weibo users noticed Taobao ads appearing on their profiles.
As for the future, it's not unrealistic to expect personalized ads and Weibo integration on Alibaba services. And if last year's Xiaomi sale was any indication — flash sales for followers and other Weibo-based commerce initiatives will become more common.
Alibaba and Sina's push towards mobile
China's mobile space is open for early movers, but one particular competitor has already made significant leeway: Tencent, with its social messaging service WeChat.
WeChat already has over 300 million users and it is encroaching on Sina's domain as China's top social service. CEO Charles Chao himself has gone so far as to admit that competition from the chat app has lowered the average user session on Weibo.
WeChat's primary service is SMS like text chat messages and, though Tencent is yet to monetize it, other messaging services like KaoKao Talk in Korea and Line in Japan have shown that chat apps are capable of bringing in revenue in ways few could have expected.
While WeChat's growth hasn't yet transitioned into the sale of actual, tangible consumer goods, it is coming. Tencent has previously stated its intention to integrate TenPay, its mobile payment system that rivals Alibaba's Alipay. Once that happens, any purchases made through the Tencent service will mean fewer going through Alibaba.
Meanwhile, mobile e-commerce has exploded in China. Alibaba's own research revealed that purchases made on its main platforms through mobile devices saw an increase of 600 percent in 2012. And yet, mobile purchases still only account for slightly over 5 percent of total purchases. Astounding growth numbers this early in the game, coupled with a sizeable competitor, make now the ideal time to ramp up developments on mobile.
Lately, Alibaba and Sina have each made concerted efforts to improve their mobile capacity, and have achieved mix results. In 2012, Alibaba developed Aliyun, its own OS, which featured integration with Taobao.
That buzz around that software fizzled down somewhat after Google insisted that Aliyun's Android-forked OS fork violated legal agreements it made with Acer, the software's biggest buyer and a member of Open Handset Alliance for Android partners. Alibaba's rebound attempt at the OS — which is backed by $200 million — is still to attract the attention of high-profile device makers.
PC has traditionally been Sina Weibo's strength, but it has recognized that mobile is the way of the future. Last week it announced a major upgrade to its mobile app that would enhance its integration with other third-party apps, in an effort to keep the social network at the center of users' mobile activity.
With the two firms each finding their feet in the era of the smartphone, the deal marks an agreement to venture forth together into the mobile space.
Alibaba's IPO
The final element driving this deal is Alibaba's widely-speculated pending IPO. As 36kr notes (link in Chinese), the purchase kills two birds with one stone: It can jolt investors' confidence in Weibo — Sina's stock has lagged as it has struggled to monetize and come to terms with mobile — and it will also convince Alibaba investors that the firm is big and bad enough to go public itself.
Less than a week has passed since the deal was announced, and these assumptions already appear to have been valid. Sina Weibo's stock price jumped 11 percent, and yesterday Alibaba reportedly received the go ahead for $8 billion in loans from a total of nine banks, which would seem to confirm it's preparing for an IPO.
Of course, it will take some time for users to notice the full effect of the purchase, but considering how fast Taobao adds popped up on Weibo, expect to see changes on all related platforms sooner rather than later.
Image Credit: bfishadow/Flickr
Get the TNW newsletter
Get the most important tech news in your inbox each week.


text:
I'm fascinated by xoJane blogger Cat Marnell. She's ostensibly the Beauty and Health Director for Jane Pratt's site, but her posts — and I would know, because I read every single one — are usually long, rambling essays about her dysfunctional relationship with her father, past mental asylum stays, and on-again off-again prescription pill addiction sagas, with brief blurbs for coconut-scented lotion tacked on at the end. (Often gracefully, somehow.) Sometimes her posts are so meandering they're unreadable, and occasionally she makes glib comments that don't offend me as much as make me roll my eyes and wonder why I care about anything she has to say — like that time she said she preferred Plan B to condoms but had no idea how it worked and was too lazy to explain it to her readers, or when she threatened, via her assistant, to burn herself with cigarettes if the guy she was dating didn't call her within 15 minutes.)
Mostly, though, I find myself engrossed in posts like "ON THE DEATH OF WHITNEY HOUSTON: Why I Won't Ever Shut Up About My Drug Use" and "HOW TO: Defeat The Office Bitch (One Cat Marnell) And Make Her Smell Fantastic At The Same Time" because, whatever you think about Cat, she's always 100% genuine, whether it's in a cringe-inducing or commendable way. At least, it all seems very genuine — it's hard to know what the deal is when we only hear about Cat through her frenetic first-person narratives or through her adoring boss and commenter fan base. Both often seem, well, "enabling," which is the exact word Cat used, jokingly or otherwise, to describe Jane's background cackling in this D.I.Y bath salt snorting video. In the comments section of her Plan B post, Cat wrote: "i have really low self-esteem about my abilities as a health editor, but i promise i'm working on it and hang in there with me." She received responses like: "Cat, I love the way you write everything, totally makes me feel like you're a real live human person with flaws, unpopular opinions and an uncommon amount of honesty with yourself." I used to wonder whether Cat was truly a blogger or more of a social media-savvy performance artist.
I was really excited when I saw Kayleen Schaefer's New York profile on Cat this morning; so excited that I emailed my friend before 8 a.m. without even saying anything substantial, just "!!!" And...Cat comes off exactly as she does online, but less like a character I can pretend isn't real and more like an addict. She woke up an hour before her 7 p.m. interview, "looks like a ballerina who's seen better days," and is clearly high the entire time — she even tells Schaefer that her company is coaxing her into rehab. And it doesn't seem like she really wants to go, especially because then she'd have to stop writing about her drug use:
"I don't want the reader not to be in a shared experience, not connected with me," she says. "Why am I not talking about drugs if I'm taking them every day? People can say that's pathetic, but it's one of my main hobbies. That's when I go back to the idea of shame, especially for girls. Why do I have to clean up?" she asks. "It's time to question the idea that everybody has to live a certain kind of life."
There's no doubt that Cat has a strong fan base. But do they depend on her like she depends on them? It doesn't seem like it:
She looks around a little reflectively. "I hated myself for most of my life," she says. "I started liking myself when I started writing for xoJane. All of these people started telling me how much I made them feel better, and that made me better. And I'm getting better all of the time."
To be fair, she thanks her beauty products, too, although it's hard to tell if they got her through the hard times or just got her through the door:
She feels a debt not just to her readers but to her subject. She loves being a beauty editor. "I'm bad all of the time, and beauty products are fixing me," she says. "Without beauty products, I would have never gotten through my life. I owe everything to them. They've afforded me unlimited debauchery. It's been beyond." She takes another pill.
"The line between being honest about getting high and adored for being a train wreck is smudgy," Schaefer aptly notes. What are the rules for watching train wrecks as entertainment? Our culture tends to obsess over troubled celebrities but then blame each other for not doing more after it's too late. Cat isn't a "celebrity," really — and when we're talking about "real" celebrities, like Lindsay Lohan, we tend to feel like they deserve or asked for the attention in some way. Cat undoubtedly solicits our attention, too, and allows us to follow her as she journeys through life, tweeting and Instagraming the entire way.
According to Say Media, Marnell is the site's most read and most commented-on writer. Pratt calls her writing "raw, riveting, and not at all derivative." After reading this profile, I might try to stop being so riveted for a while.
Pill-popping with the enfant-terrible beauty blogger during a last night out before rehab [New York Magazine]


text:
Iraqis celebrate U.S. exit, worry for future
BAGHDAD - Even as Iraqis celebrated the departure of the last American troops Sunday, the dangers left behind after nearly nine years of war were on full display. Politicians feuded along the country's potentially explosive sectarian lines and the drumbeat of deadly violence went on.
The last U.S. convoy rumbled out of Iraq across the border into Kuwait around sunrise under a shroud of secrecy to prevent attacks on the departing troops. When news reached a waking Iraqi public, there was joy at the end of a presence that many Iraqis resented as a foreign occupation.
In the northern city of Mosul, pastry shop owner Muhannad Adnan said he had a swell of orders for cakes - up to 110 from the usual 70 or so a day - as families threw parties at home. Some asked him to ice the cakes with inscriptions of "congratulations for the end of occupation," he said.
But the happiness was shot through with worries over the future.
"Nobody here wants occupation. This withdrawal marks a new stage in Iraq's history," said Karim al-Rubaie, a Shiite shopowner in the southern city of Basra. But, he said, "the politicians who are running this country are just a group of thieves."
"These politicians will lead the country into sedition and civil war. Iraq now is like a weak prey among neighboring beasts."
In the morning, a bomb hidden under a pile of trash exploded on a street of spare car parts stores in a mainly Shiite district of eastern Baghdad, killing two people and wounding four others. It was the latest in the near daily shootings and bombings - low-level but still deadly - that continue to bleed the country and that many fear will increase with the Americans gone.
Violence is far lower than it was at the worst of the Iraq War, in 2006 and 2007, when Sunni insurgents and Shiite militias preyed on Iraqis around the country in a vicious sectarian conflict that nearly turned into complete civil war. But those armed groups still remain, and there are deep concerns whether Iraqi security forces are capable of keeping them in check without the help of U.S. troops.
Iraq's military chief of staff, Lt. Gen. Babaker Zebari said Sunday that his troops were up to the task of uprooting militant groups.
"There are only scattered terrorists hiding here and there and we are seeking intelligence information to eliminate them," Zebari said. "We are confident that there will be no danger."
Equally worrying, the resentments and bitterness between the Shiite majority and Sunni minority in this country of 31 million remain unhealed. The fear is that without the hand of American forces, the fragile attempts to get the two sides to work together could collapse and even turn to greater violence.
In an escalation of the rivalry, the main Sunni-backed political bloc on Sunday announced it was boycotting parliament to protest what they called Shiite Prime Minister Nouri al-Maliki's attempts to monopolize government positions - particularly those overseeing the powerful security forces. The bloc has complained of security forces' recent arrests of Sunnis that it says are "unjustified."
The Iraqiya bloc warned that it could take the further step of pulling its seven ministers out of al-Maliki's coalition government.
"We are against the concentration of security powers in the hands of one person, that is the prime minister," said Sunni lawmaker Hamid al-Mutlaq, a member of the bloc.
In particular, the bloc was angered by the arrest of several bodyguards of Sunni Vice President Tareq al-Hashimi several days ago on suspicion of involvement in terrorist acts. On Sunday, a senior security official said that judges investigating the bodyguards banned al-Hashimi from traveling outside of Iraq - a step that is likely to further anger the Iraqiya bloc, to which al-Hashimi belongs. The security official spoke on condition of anonymity because he was not authorized to talk to the press.
Sunnis have long feared domination by the country's Shiites, who vaulted to power after the 2003 fall of Saddam Hussein at the hands of the Americans. The rivalry was exacerbated by the years of sectarian killing.
The Iraqiya bloc narrowly won the most seats in last year's parliamentary election. But its leader Ayad Allawi was unable to become prime minister, outmaneuvered by al-Maliki, who kept the premier's post after cobbling together key support from Shiite parties.
That has left al-Maliki beholden to Shiite factions, including those led by radical cleric Muqtada al-Sadr, whose militiamen were blamed for sectarian killings during the worst of Iraq's violence. Since forming his new government, al-Maliki has effectively controlled the Interior and Defense Ministries, which oversee the police and military, while conflicts between Sunni and Shiite politicians have delayed the appointment of permanent ministers.
Many on both sides of the sectarian divide also worry that neighboring Shiite-led powerhouse Iran will now increase its influence in their country. Al-Maliki's party and other Shiite blocs have close ties to Tehran. But even some in the Shiite public resent the idea of Iranian domination.
"I am afraid that this occupation will be replaced by indirect occupation by some neighboring countries," said Ali Rahim, a 40-year-old Shiite who works for the Electricity Ministry.
Omar Waadalla Younis, a senior at Mosul University, said at first he was happy to hear the last Americans were gone and thought the city government should hold celebrations in the streets. Then he thought of the possible threat from Iran.
"Now that the Americans have left, Iraq is more vulnerable than before."


text:
I would like to save my e-mails to my computer is that possible. If so how? I currently save attachments but need to save the e-mails also..
You're off topic for this forum, which is dedicated to
Windows Live OneCare.
Most email client programs allow this. Saving from a web mail service like Hotmail won't be possible unless you use an installed mail client. Without knowing what
program you are referring to, nobody can answer your question.
Help and support for Windows Live Mail
(downloaded from http://download.live.com) can be found here -
Help and Support for Windows Live Hotmail can be found at


text:
The Estes Valley Recreation and Park District has two seats on its Board of Directors that will be decided on May 6.
The seats up for election are currently held by Benjamin W. Greer and Ken Czarnowski. Both are seeking re-election and are being challenged by candidates Charles C. Slicker and R.J. Akers. Both seats will be for 4-year terms.
The Trail-Gazette has sent questionnaires to all four candidates to try and get a close insight into these people.
The responses to those questions were published in the Wednesday printed edition of the Trail-Gazette.
We hope that will help you determine the best candidates.
Meanwhile, the Trail-Gazette has studied the four and has concluded that all four are outstanding candidates and would make strong, engaging board members.
It probably goes without saying that Greer and Czarnowski have a leg up since they are already serving on the board.
When reviewing the questionnaires, all four support the funding and construction of a community recreation center, building strong partnerships, and seeing the community rebound quickly from last September's floods.
This puts the public and the Trail-Gazette in a tough but enviable place – trying to select the best two candidates from an outstanding field of four.
Having said that, we believe it would be best to re-elect Greer and Czarnowski if for no other reason than they have current experience on the board and are up to speed with all the issues.
It seems to make sense – at such a critical time – to allow them to continue their work with which they are very familiar rather than make a switch.
Therefore, we endorse Benjamin Greer and Ken Czarnowski for seats on the Estes Valley Recreation and Park District's Board of Directors.


text:
Rights Group Says Prominent Activist Beaten By Govt. Forces In Bahrain
The struggle between government forces and protesters continues in the Gulf nation of Bahrain. Today, it came back into focus when Nabeel Rajab, a prominent human rights activist, was detained and beaten by government security forces.
The Bahrain Centre for Human Rights said Rajab was beaten "for participating in a peaceful protest" in the capital city of Manama, today. In a press release, the organization reports:
"He has told his lawyer on a phone call following the attack that the policemen gathered around him suddenly and started to beat him. He informed the lawyer that while lying on the ground he was beaten all over his body and specially on his back and face and that his face injuries are serious."
Rajab was released and shortly after he , "It was minimum cost for freedom and justice." NPR's Andy Carvin, who's been tracking the Arab Spring on Twitter, reported that Rajab was also defiant.
"Next week you're invited to march - same time, same place," "Assembly is not a grant, but a right that can't be waived."
Reuters reports that Bahraini officials said they had nothing to do with the beating:
"Bahrain's Interior Ministry immediately denied those accounts, saying on its Twitter feed that police found Rajab, head of the Bahrain Centre for Human Rights, "lying on the ground" and took him to hospital for treatment.
"It earlier warned the protest march, organised by the Sunni-led kingdom's largest opposition grouping, was illegal and said 'legal procedures will be taken against violators'."
In November, the country released a report commissioned by the monarchy that found government forces had used torture to deal with protesters. In a televised speech, King Hamad Al Khalifa said those who committed abuses would be held accountable.
But the crackdown on protesters has since continued.
Copyright 2020 NPR. To see more, visit https://www.npr.org.


text:
Toyota has released images of the Toyota CNG Camry Hybrid Concept, or the T. Boone Pickens cruiser as we like to call it. Already known for their gas-electric hybrids, this concept combines the Hybrid Synergy Drive system with a natural gas-fueled engine. Toyota claims the Hybrid should travel more than 250 miles per fill-up, which could theoretically occur at any of the approximately 1,000 CNG refueling stations in the US. As this is currently just a concept, they've added an aggressive body kit with a covered grille which certainly distinguishes it from the regular Camry Hybrid. Natural gas has been part of the alternative fuel discussion because of its domestic production capacity and relatively stable price. Details about the CNG Hybrid Camry from Toyota below.
A Camry Hybrid Fueled by CNG As you very likely know, we're big believers in the concept of hybrid vehicles. We build gas-electric hybrids in several styles; one of them, our Prius, is the most fuel-efficient vehicle in America. But we also believe that there's more than one way to solve a problem. One problem we'd like to solve involves the unpredictable nature of gas prices. Gas prices are relatively low now, but they were incredibly high last summer, and could well revert to those high levels. But the price of compressed natural gas (CNG) remains fairly stable, and there's a strong, reliable domestic supply of CNG. It just happens to be one of many alternative fuel applications being explored in Toyota's broad sustainable mobility research and development strategy. That's why we built a special concept CNG Camry Hybrid that we'll display at the Los Angeles Auto Show on Wednesday. To convert a stock Camry Hybrid to a CNG vehicle, the gasoline fuel system was replaced with a CNG system that includes a pair of CNG tanks installed in the spare-tire well of the vehicle's trunk. Because it now lacks a spare tire, the CNG Camry Hybrid rolls on runflat tires. And roll it does. With the proposed CNG equivalent of 8 gallons of gasoline in its tanks, the estimated range of the CNG Camry Hybrid is more than 250 miles. Link that efficiency to the price of CNG and you can see why we're interested in this – as this is written, CNG is about a dime cheaper, per gallon, than the national average price of regular-grade 87-octane gasoline. But price and efficiency are only the tip of the iceberg of CNG benefits. Natural gas also produces lower particulate emissions and lower levels of nitrous oxide (NOx), carbon monoxide (CO), carbon dioxide (CO2) and non-methane organic gasses (NMOG) when compared with gasoline. And because CNG is so clean, potential wear and tear on an engine fueled by it is greatly reduced. Those are the considerable upsides to CNG. There also are downsides. An important one is that there are fewer than 1,000 CNG refueling stations in the U.S., with fewer than half of them open to the public. Also, natural gas is less dense than gasoline. So a CNG engine will have approximately 10% less power than an equivalent gasoline engine. Also, a CNG vehicle's fuel tank must be cylindrical, so it is more difficult to package than a gasoline tank, which can be shaped to conform to any available space. We want to underscore the fact that the CNG Camry Hybrid is just a concept vehicle. This concept vehicle is a statement that we intend to include CNG in our diverse portfolio of future alternative-fuel R&D. Our purpose in building it as a concept is to demonstrate the efficiency and adaptability of Hybrid Synergy Drive, and to demonstrate that we continue to work with a variety of powertrain concepts to ensure that we have products that meet the current and future needs of our customers on a global basis. We think you'll find the CNG Camry Hybrid interesting. So if you're visiting the LA show, feel free to drop by and take a look.


text:
For the past year, it's been a swinging-from-the-chandeliers party in booze stocks. High-end alcohol distillers have kept investors buzzed in an otherwise sobering stretch.
Diageo (NYSE: $DEO), the biggest and best diversified of the lot, is up 37% over the past 52 weeks. But Pernod-Ricard (Pink:$PDRDY) and Beam, Inc. (NYSE:$BEAM) are both up more than 20%, and Brown-Forman Corp (NYSE:$BF-B), the maker of the iconic Jack Daniels Tennessee Whiskey, was up by nearly 35% through early December before backing off recently.
These are fantastic numbers for a mature business like spirits.
In early November, I wrote favorably about booze stocks, noting that "the premium spirits business has been a rare source of growth in recent years, much of which has been generated by rising sales to emerging market consumers and particularly Chinese consumers." (See "Whiskey Stocks to Burn the Throat").
All of this is still true, of course. In fact, with China recovering, it's truer than ever.
Furthermore, in their branding, high-end spirits companies have major intangible assets that take decades to build and are almost impossible to replicate. To give an example, in much of South America "whisky" does not refer to a type of distilled spirit. It specifically means Johnny Walker scotch, and usually Black Label. This kind of branding power creates incredible barriers to new entrants.
It would be virtually impossible to start a new scotch brand today (see "Diageo: the Ultimate 12- to 18-Year Play") and this is a fact that is not lost on investors in the sector.
An exception would be high-end vodka, which is subject to trendiness and tends to have trouble building a dedicated clientele. The "it" vodka at posh bars tends to change from year to year. There is a reason for this. Vodka doesn't have to be aged and has no "official" standards. Anyone with a deep-pocketed marketing team can create a new "premium" brand, mass produce it in a factory, and pimp it at bars a week later.
And let's not forget that all vodka tastes like water (it's the only spirit for which "quality" is defined by how watery it tastes), and for most people it's just something to mix in a cocktail. I consider it an ingredient for girly drinks that no self-respecting man should ever be seen drinking in public (with the possible exception of a vodka martini, and even then only if your name is Bond…James Bond). You would never see "Skinny Girl Bourbon," dammit. And if we do, I swear I'll quit drinking. Forever.
I digress, but my points stand. Liquor is a fantastic business to be in.
Unfortunately, I can't say the same for liquor stocks. At current prices, they are simply too expensive. Beam, Inc., which was a recommendation of the Sizemore Investment Letter until recently, trades for nearly 30 times earnings. Brown-Forman trades for nearly 25.
Part of this is due to hopes that Diageo or Pernod-Ricard will make a bid for one or the other (or both) as a way to strengthen their position in the lucrative American whiskey market. But as I wrote recently, such a deal would seem unlikely at the moment. Diageo is busy absorbing some of its other acquisitions of recent years, and Brown-Forman and Beam have market caps of 13 billion and 10 billion, respectively. That would be a big shot glass to swallow for either Diageo or Pernod-Ricard.
So, you have a buyout premium built into the prices of stocks that are not likely to get bought out anytime soon. That's a hard sell.
Diageo itself is modestly overpriced at 23 times earnings. If you already own Diageo and you have a long time horizon (and Sizemore Capital does own Diageo in some client accounts), I think it is reasonable to hold on and reinvest your dividends. But at current prices, I would not recommend making any large new investment.
In 2012, we enjoyed the party in booze stocks. But at this point, I recommend tossing your car keys to the barkeep and catching a cab. 2013 might bring a mean hangover.
SUBSCRIBE to Sizemore Insights via e-mail today.


text:
This is a half-a-loaf story, admittedly. But it is a story that shows how the Sierra Club is working to promote environmental and climate justice in a very practical way.
In 2010 I drafted a bill with two major goals: to end the use of coal in our commonwealth and to help the communities and workers affected by any coal-plant closures. The bill's name is the Act to Phase Out Coal Burning in Massachusetts and its number is H. 2612. As well as enjoying the active support of the Sierra Club of Massachusetts, it won the endorsement of the Massachusetts Democratic Party's state convention (thanks to PDA), and of two Green party chapters. Earlier this month, after making a significant amendment, the Joint Committee on Telecommunications, Utilities, and Energy (TUE) voted 15:1 in favor of the bill, which means it now goes to the House Committee on Ways and Means.
Let me explain the significance of the amendment. Originally, H. 2612 gave utilities a simple choice: By 2020 they must either repower their coal-fired power stations to cleaner energy or retire them. In other words, convert or close down. To alleviate any negative effects, such as job layoffs, the Sierra Club proposed a Community Repowering Fund to pay for retraining and other forms of practical support. But only half the bill emerged from TUE. Which part fell to the cutting-room floor? The coal phase-out part.
Losing half the bill is disappointing, so I am hardly doing cartwheels and scattering rose petals. But legislating an end to coal-burning in Massachusetts is now almost unnecessary. Economics is already taking care of it. Most of the electricity we use in this commonwealth comes from natural gas. Although it is a fossil fuel, natural gas is arguably somewhat less harmful than coal in terms of CO2 emissions (methane isanother story) and because fracking technology makes natural gas so much cheaper, coal's days are numbered. As a result, our state now hosts only three coal-fired power stations, namely Brayton Point in Somerset, Salem Harbor, and Mount Tom in Holyoke. Salem Harbor is scheduled to close in 2014, and Mount Tom also seems to be winding down. Holyoke's mayor, AlexMorse, has appointed a committee to look into alternative uses for the Mount Tom site.
Even though coal-burning is on the way out, it would have been much better to have a timetable with a date certain in the form of the 2020 phase-out deadline. Nevertheless, the survival of the Community Repowering Fund provision makes the bill — even minus the phase-out provision — worthy of support.
Underlying the idea of the fund is a simple principle, one that appears in the preamble to the Constitution of the Commonwealth of Massachusetts: "The body politic… is a social compact, by which the whole people covenants with each citizen, and each citizen with the whole people, that all shall be governed by certain laws for the common good." Rather than letting employees bear the whole cost of coal's decline, the Sierra Club bill would spread the cost through society as a whole in a practical application of this constitutional principle of governing for the common good. Pushing the whole cost of closure onto the communities that have already borne a disproportionate burden by hosting coal-fired power stations would not be fair. All of us reaped the benefits of cheap coal-powered electricity and we should all pay — through taxes — our fair share when coal plants close.
Coal-company propagandists like to draw false battle lines, pitching workers against environmentalists. This bill demonstrates their mendacity. By advocating for the Community Repowering Fund, the nation's leading environmental organization offers clear proof that it is looking out for workers' interests. If H. 2612 wins the approval of House Ways and Means it stands a very good chance of becoming law and, if it does, former coal-plant employees and their families, friends, and neighbors in Salem and Holyoke should remember that the organization that led the fight was the Sierra Club of Massachusetts.


text:
Women's Denim Jeans Sale
Kick back in a relaxed pair of distressed boyfriend jeans, or keep it sleek and modern with women's skinny jeans on sale. Browse a selection of denim jeans in a variety of fits, styles, and washes to flatter your figure with unique details to set your style apart.
Denim Shorts & Skirts Sale
Keep your look fresh and playful with timeless styles from our denim skirt sale. A distressed hem lends a classic feel to our premium denim skirts, while a crisp black A-line mini is perfectly sleek and modern. For additional casual options, slip on a pair of relaxed cut-offs from our women's denim shorts sale. Discover even more cuts, washes, and details with women's shorts and skirts for every style.
Women's Denim Jackets on Sale
A staple of every wardrobe, the perfect denim jacket offers the versatility to showcase your own personal style. Destroyed details create a classic vintage vibe, while embellishments add a luxe touch that's chic and feminine.
Find all your favorite washes, cuts, and details with premium designs from our women's denim jeans sale. Add the finishing touches to your look with even more tops, denim, and more from our women's clothing sale at 7 For All Mankind.


text:
Click here for a video slide show on metal heads in the Islamic world.
Pink Floyd's album The Wall takes on a whole new meaning when brought to life by an Arab metal band in Lebanon. Imagine 100,000 teens—Sunni, Shiite, Christian, Druze—headbanging in sync, pumping their fists in unison, screaming, "Hey, teacher, leave those kids alone!" even as another civil war, waged by their parents, threatens to tear their country apart yet again.
Welcome to the new Middle East, a region where, by some estimates, nearly half of the population is under the age of 25. This is a highly literate, politically sophisticated, technologically savvy, and globally plugged-in generation. It speaks English; it knows its way around the Internet; and, according to historian and part-time metal head Mark LeVine, it wants to rock.
LeVine, a professor at University of California, Irvine, has spent the last few years headbanging his way from Morocco to Pakistan and almost everywhere in between. The premise of his book about the Middle East's underground music scene, Heavy Metal Islam, is simple. "To understand the peoples, cultures, and politics of the Muslim world today, especially the young people who are the majority of the citizens," LeVine writes, "we need to follow the musicians and their fans as much as the mullahs and their followers."
Follow them he does, and with all the dogged determination of a seasoned Grateful Dead fan. In Cairo, he rocks with Hate Suffocation, "the best death-metal band in Egypt, if not the Middle East and North Africa," dancing along with a gaggle of screaming girls dressed in tight jeans, torn Iron Maiden T-shirts, and Islamic headscarves: Muhajababes, LeVine calls them. In Beirut, still "one of the world's cutting-edge locations for dance music, hip-hop, and alternative rock," he jams onstage with perhaps the biggest hard-rock band in the Middle East, The Kordz, as they rip through a set in front of thousands of Lebanese kids still reeling from the assassination of Prime Minister Rafik Hariri. In Iran, he watches a gang of teenagers gathered illegally at a park for an impromptu rap battle in Persian, the beats echoing through someone's mobile phone. When the dreaded basij, or morality police, show up, everyone scatters.
The danger of arrest, even execution, is real for these young metal heads, and not just in Iran. In Egypt, more than 100 people were arrested when pictures surfaced of a heavy metal concert where fans seemed to be carrying an upside-down cross. "Devil worship!" the Egyptian police cried, rounding up kids as young as 13 and throwing them in prison. In 2003, Moroccan authorities arrested 14 heavy metal musicians and fans and charged them with "shaking the foundations of Islam" and "attempting to convert a Muslim to another faith" with their music, as though heavy metal were a religion.
Yet these musicians and their fans continue to thrive in such authoritarian societies precisely because, as LeVine notes, this is the first generation to arise in the Middle East that has managed to tap into the promise of globalization. For example, when the pioneering Iranian heavy metal band O-Hum (Illusion), which blends hard rock and traditional Persian melodies with lyrics swiped from the famed 14th-century Sufi poet Hafez, released its first album, the album was, predictably, rejected by Iran's Ministry of Culture. Iran's draconian censorship laws allow the government to ban any music it deems offensive or un-Islamic. If a song has "too many riffs on electrical guitar" or if the musicians display "excessive stage movements," then the CD is confiscated and the band prohibited from any public performances. But rather than surrender their album to the Ministry of Culture, O-Hum uploaded their songs on to the Internet and allowed fans—not just in Iran but throughout the world—to listen to the album for free.
The mullahs rightly fear the heavy metal scene in Iran because it reflects the mood of a volcanic youth culture fed up with religion and desperate for alternative ways of expressing itself. A member of Iran's most popular metal band, Tarantist, tells LeVine, "Metal is in our blood. It's not entertainment, it's our pain, and also an antidote to the hypocrisy of religion that is injected into all of us from the moment we're born." One of the patriarchs of Morocco's heavy metal scene, Reda Zine, puts it this way: "We play heavy metal because our lives are heavy metal."
But can music contribute to cultural and political transformation in the region? It's hardly the first time the question has arisen. Where Tom Stoppard, looking back at Eastern Europe's revolt against Communism in Rock 'n' Roll, answered yes, LeVine is not so sure. The problem, as he sees it, is the failure of the politically active heavy metal scene and the more progressive yet entrenched Islamist opposition groups like the Muslim Brotherhood to make common cause. Indeed, the two are more often in competition with each other, with the Islamists, many of whom have struggled for decades against their authoritarian regimes, fiercely antagonistic toward the young, politically minded metal heads who seem to enjoy a level of freedom that the Islamists could only dream of. A band like Hoba Hoba Spirit, Morocco's insanely popular rock/reggae/African/post-punk rockers, can draw 100,000 kids to one of their concerts, whereas members of Morocco's chief Islamist opposition party, the Justice and Spirituality Association, are prohibited by law from congregating in groups of more than three people. While Egypt's most famous political prisoner, Ayman Nour, rots in a prison cell for his work promoting democracy, his teenage sons, Shady and Noor, are free to preach a watered-down version of their father's message to thousands of Egyptians through their popular metal band, Bliss.
The animosity between the Islamists and the metal heads is partly a result of a generational divide and partly a matter of their differing political and cultural agendas. (The metal heads are hardly interested in building an Islamic state.) But the truth is that these two dissident groups who seem to occupy opposite ends of the political spectrum have more in common than one would think: Both have similar aspirations to build a freer, more democratic society, and both have had their political views shaped by the same sense of despair and lack of opportunity that exists throughout the region.
And yet there seems little chance of a convergence between the two, though not because of an inherent conflict between religion and rock 'n' roll. As a Muslim sheikh in Lebanon proudly declares, "We're doing heavy metal, too." Rather, it is because the Islamists seem not yet ready to expand their political ideals to include activist kids who prefer Ozzy to Osama, while the metal heads are not yet willing to apply their music (and, more importantly, their credibility with the youth) to help the Islamists challenge their governments.
That is too bad. Because as we learned in Eastern Europe, music has the power to express ideas (especially subversive ideas) in a manner that mere words cannot; it can serve as a net to gather disparate elements together under a single identity and with a single purpose. LeVine imagines a day when the mutual mistrust between the metal heads and the Islamists will transform into cooperation, when they will fight the power together as one united oppositional force. But reading Heavy Metal Islam, one cannot help feeling that day is far away.


text:
Sorry, no results for "=yy������������������_������������:QY81.COM__3M3oG" on Food Ingredients First
Please try again or Contact us here
Latest Articles
31 Mar 2023 --- Paleo, a European food-tech company, claims it is considering legal action against Vow for passing the "mammoth meatball" as its own invention, insisting that the technology used to develop mammoth... Read More
31 Mar 2023 --- The UK Food Standard Agency (FSA) has launched a criminal investigation after an undisclosed meat producer provided products labeled as British that were sourced from other countries. Moreover, some of these... Read More
31 Mar 2023 --- Microalgae are making waves for their highly nutritious content and status as a natural, plant-based and sustainable "superfood biomass." But the industry still has a long way to go to bring these... Read More
31 Mar 2023 --- The Sustainable Herbs Program (SHP) and botanical producers are calling for more regenerative medicinal plant farming to build soil health and resilient farming communities. The organization's recently... Read More
Weekly Roundup: Nestlé and Cargill support sustainable grazing practices, EFSA revises animal welfare legislation
31 Mar 2023 --- This week in industry news, Nestlé and Cargill join forces on sustainable grazing practices across 1.7 million acres in the US over the next five years. This partnership will support ranchers in adopting... Read More
30 Mar 2023 --- A cultured meatball containing the extinct mammoth's myoglobin protein demonstrates the potential power of cell-based meat and was specially developed "to make consumers think about where their food... Read More
30 Mar 2023 --- Nissin Foods USA is stirring up morning appetites with the launch of its Cup Noodles Breakfast, the first ramen product designed for "the most important meal of the day." The new limited-edition flavor... Read More
30 Mar 2023 --- Five popular sliced bread products have more salt than two small portions of McDonald's French fries, according to Action on Salt. Furthermore, the organization found that three in four analyzed breads... Read More
Core flavors peak in uncertain times, but consumers open to "twists" on classics, says Synergy Flavours
30 Mar 2023 --- For many consumers, core flavors offer a sense of nostalgia. Many grew up with flavors such as chocolate, strawberry and vanilla, which can offer a sense of contentment and... Read More
Cheese packaging from cheese waste: Go Orleans Project research extends shelf life and reduces food waste
30 Mar 2023 --- A group of researchers from Spanish technology centers, universities, cheese manufacturers and plastic businesses have collaborated to create packaging made from whey – a natural by-product of cheese... Read More


text: A general marketplace is a market where merchandise can be bought in large quantities to a retailer who will then reselling them to consumers. There are various forms of wholesale markets, promoting a variety of goods, from food for example fresh fruits veggies various meats and seafood, to guides, fabric and blossoms. All over the… Continue reading Meat Wholesaler