In computer science there's this concept of boolean logic. It occurred to me a while ago that many debates could be settled (or abandoned in favor of more friendly/cooperative activity) if the debating parties decided to consider switching the boolean operator they were using.
On the topic of nutrition and taking care of the physical vessel one can find all sorts of advice. Each person finds what resonates for them, and this post is aimed at those vegans/vegetarians (or those considering switching to such a diet) who are wondering what might be their best source of protein.
Hempseed is usually very safe for those unable to tolerate nuts, gluten, lactose, and sugar. In fact, there are no known allergies to hemp foods.[citation needed] Hempseed contains no gluten and therefore would not trigger symptoms of celiac disease.[25]
Seeds of the plant cannabis sativa, hemp seed, contain all the essential amino acids and essential fatty acids necessary to maintain healthy human life. No other single plant source has the essential amino acids in such an easily digestible form, nor has the essential fatty acids in as perfect a ratio to meet human nutritional needs.
Ideally, one third of the fat consumed should be EFAs. At least 10% of daily calories should be LA and at least 2% LNA. The optimal ratio of LA to LNA in the diet is between 2 to 1 and 5 to 1. The 2 to 1 ratio of LA to LNA is more advantageous in stemming fatty degeneration diseases. Flax seed oil is 58% LNA, possibly making it the best seed oil to combat degenerative disease, but it contains only 14% LA. Hemp seed oil is 55% LA and 25% LNA, or 2.2 times more LA than LNA, making it the best seed oil for optimal health and prevention of fatty degeneration.
Hemp is not unique in having all the essential amino acids in its embryonic seed. Flax seeds also contain all the essential amino acids as do many other seeds in the plant kingdom. What is unique about hemp seed protein is that 65% of it is globulin edistin. That is the highest in the plant kingdom.
Hemp seeds can contain up to 36% protein. In the 1950s, scientists worked to determine lab models for foods, the vegetable protein model was derived from hemp seed and was called edestin. The protein in hemp seed is comprised of approximately 65% of edestin and can be found only in hemp seed protein. Edestin aids digestion, is low in phosphorus and is considered the backbone of human cellular DNA. The other one third of hemp seed protein is Albumin, another high quality globulin protein similar to that found in egg whites.
If you are looking for a high protein food for a high protein diet but you would rather not eat meat, or are not interested in bulking up on whey or soy, hemp as a high protein food is perfect for you. With just a couple of handfuls equalling a full days worth of protein, it is the ultimate high protein food.
Hemp is not legal to grow in the U.S. under Federal law because of its relation to marijuana, and any imported hemp products must meet a zero tolerance level. It is considered a controlled substance under the Controlled Substances Act (P.L. 91-513; 21 U.S.C. 801 et seq.). Some states have defied Federal law and made the cultivation of industrial hemp legal. These states — North Dakota, Hawaii, Kentucky, Maine, Maryland, Oregon, California, Montana, West Virginia and Vermont — have not yet begun to grow hemp because of resistance from the federal Drug Enforcement Administration.[78]
During today's market trading Sprint (S) fell over 16% on the news of AT&T's intention to acquire T-Mobile. Just days before, rumors of merger talks between Sprint and T-Mobile had circulated the web, so the stock hit shouldn't be a surprise.
(If you can't tell, this was written, tongue-in-cheek, but only somewhat.)
What the fuck is up with Jobs?
A Samurai Warrior wins battles, he takes care of his troops, and at the end of the day, his work done, he reports to his Master with Good News.
But. Both, the Master and the Warrior, know, that before battle can be done on the Green Hillside, there had better be a damned hillside to do Battle On!!
The warrior fights, he takes care of his troops, his family. He reports to his master, but NO ONE forgets that EVERYONE is in the Service of the Great Provider, for whom they are THANKFUL. Thankful for providing the green pastures to do battle on, for providing the food to nourish their troops, for giving the clear air through which they charge, which fills their lungs with the life affirming energy that it needs.
Take Care of the House! Take care of the Home! Take care the Earth!
The Battle is Important, but do not get caught up in it, or you will forget that it can only take place in a BattleGround.
Pop Quiz!
Inside of what form (function/macro) is the println on the highlighted line located?
I don't know about you, but it takes me a while to figure that out.
Whereas in other languages I can usually rely on the indentation of code to understand its structure, with most Lisp formatting I often end up having to rely on the editor, like a crutch, to figure it out.
It's not just me. Lots of other people have the same issue. You may have heard people complain about Lisp's parenthesis. Some have called it a "parenthesis jungle" or a "parenthesis zoo." The historically poor readability of Lisp has nothing to do with parenthesis and everything to do with how they're used, or rather, abused. That is the underlying complaint.
Without the help of fancy editor tricks, the only hint at where the 'println' function is located are just a few spaces (often no more than two) that are separated by many lines of code. Lisp is the only language that I'm aware of where this happens.
To address this issue, people will often rely on their editors. Rainbow parenthesis, visible whitespace, and indentation guides are some of the editor features that attempt to address this issue. The problem though, is that these features aren't universally available across editors, nor are they available when the source code is viewed outside the editor, for example, on Github or some other code hosting site.
For every language I've used (other than Lisp), these editor tricks are completely unnecessary. The only time I've ever wanted rainbow-parenthesis support in my editor is while I'm looking at someone else's Lisp code.
In short:
The readability of your source code should not depend on the editor used to view it.
Lisp code can be just as readable as C, Ruby, and Python. The only thing stopping it is a community adopted convention, and I find that both sad and disappointing. Lisp is a beautiful language, so why make the structure of its code unreadable?Let's have a look at that same block of code, this time formatted differently:
Now try the question again, in what function or macro is the highlighted line located in? Was it easier to answer this time?
This style is called "trailing your parenthesis," and is almost a taboo in the Lisp community. When asked why it is a taboo, you'll often hear answers like, "So that your parens don't end up lonely," and "It wastes lines!" In other words, no real reason. Parenthesis cannot get lonely, and the "importance" of "line count" is second to that of readability, at least I hope you'll agree.
What I found most puzzling and ironic about all of this is the irreverence that some Lispers treat parenthesis with. I've actually heard it said that parenthesis aren't even meant to be looked at. Sometimes this attitude and disdain for parenthesis is laughably obvious:
Nothing says "Get out of my sight" like piling up, or "stacking" parenthesis. I think the root of these feelings stem from the fact that parenthesis aren't used to help structure code, and when that's true, I can see how it's possible to feel that they're just "in the way."They are treated as merely a necessary evil of the prefix syntax of function calling in Lisp.
This not only hurts readability but it hurts writability as well. Say I want to insert a new function call at the end of the body of a let call, only to discover that the closing parenthesis that I need to find is buried inside a paren stack. In this situation, you have to resort editor tricks, either the highlighting of matching parenthesis or a keystroke to jump to the matched paren. Those are some interesting hoops to jump through when in other languages it would be a simple point-and-click.
Detractors of "paren trailing" will say that you shouldn't use parenthesis to delimit scope because they are not scope delimiters (as braces are in C or Java). I think this is a very weak argument because they do delimit a scope. "Scope" does not only refer to variable scope, but it can also refer to the scope of a function call. Why treat parenthesis with such disrespect, and at the cost of the readability of your code, when by using them you are enhancing the readability of your code and giving them the respect they deserve?
No other language that I'm aware of stacks scope delimiters or has a community where the standard indentation width is two spaces wide, and where sometimes even a single space is considered acceptable.
Supposing this wasn't the case though.
What would it look like if C developers adopted this convention?
With apologies to the developers of Aquaria for this experiment, here's C++ code, showing Lisp-style stacking on the left, and what for C code is considered "normal" brace trailing on the right:
Conclusion
Code style is an almost religious affair, and debates over it can get heated.
I am not asking you to change your style if you're comfortable with paren stacking. I am merely explaining the reasons why some choose not to do so.
If you feel that parenthesis stacking actually improves the readability of your code, by all means, feel free to do so! However, "everyone else is doing it" is not a good reason to sacrifice the readability of your code.
(P.S. If you want trailing paren support in Emacs, I've written a simple 'lisp-indent-line' function you can use or build off of.)
Update: Another argument made is that "Lisp nests more than C" and therefore stacked parens are good. I think this is a poor excuse for a couple reasons: