Great developer tattoo, even better explanation.
sangwine.net
sangwine.net
As for this particular item, I'm not a big tattoo fan in general and have a particular disdain for writing – it's usually pretty bad typography. While this isn't all-caps badly kerned blackletter, it kinda looks like someone invented an automated prison tattoo maker. Sorry.
PS: I know, being German I'm not allowed to mention "identification" and "tattoo" in the same sentence, but my knowledge of COBOL divisons is lacking.
One thing I would agree with you on though - what an odd typography choice. Why not a monospaced typeface?! :)
Because my arm was not long enough - Arial Narrow was the only clear one I could find that would fit : )
function intersectRect(r1, r2) {
return !(r2.left > r1.right ||
r2.right < r1.left ||
r2.top > r1.bottom ||
r2.bottom < r1.top);
}
After many other tattoos, some spur-of-the-moment and some thoroughly considered for years, I realized that I like my spur-of-the-moment ones a lot more. They never had any significance to lose, whereas the well-thought-out ones are more embarrassingly telling of what I once thought was so deep and passionate, which all turned out to look naive after a few years.This reminds me a lot of how I felt this past weekend while looking at old blog posts of mine. :)
I disagree. "Code monkeys" is a common term used for programmers, and it is not at all derogatory. (If anything, I think it implies a certain level of respect.) "JS monkeys" is simply a derivative form of code monkeys.
In this case, I don't see anything insulting about the phrase 'JS monkey'. It's similar to the idiom 'code monkey', and I'd certainly use the term to refer to myself in casual conversation. E.g., 'Today I'm a Javascript monkey.'
We'd be in total agreement if the term was obviously insulting, but I don't see any evidence of that. Moreover, the original comment would be less interesting without the, um, moniker.
The solution as usual is to add a level of indirection - a tattoo of a QR code pointing to a URL. That way when you change your girlfriend you can change the content.
Love it, but what that code says to me is Stack Overflow. But I'll reinterpret it to mean Mind = Blown by all the random cool things you learn in this field (infinite data structures in Haskell being the most recent one for me).
PS - I couldn't help running it in the Node REPL:
> i = 1;
1
> (function(){var k=[];return function j(){k.push(i);j();}})()();
RangeError: Maximum call stack size exceeded
Lol :) Seriously though, you may be on to something.I hate to be a party pooper, but the only reason JavaScript is so popular is because it has a monopoly on browser scripting. Because (1) the language has significant design flaws and (2) heavy client-side programming is becoming very popular, it's inevitable that it will be replaced by better languages (plural) and 5-10 years from now JavaScript will be seen as a cumbersome, clunky, unfashionable old language.
So you will regret having the tattoo.
But on a positive note, in 15-25 years, JavaScript may be seen as "hip" and "retro", kind of like 8-bit graphics now.
So you will regret having the tattoo removed. :)
- http://blogs.discovermagazine.com/loom/2008/02/17/y-combinat...
Its stated purpose is to motivate him and remind him of what is important to his own happiness. Given this clearly stated requirement, the code as presented, and his statement that it is motivating him, I give declare that this code works as designed.
However, your point stands if I mentally modify some pronouns and expresses my own sentiments as well. Tattoos, piercings, hair coloring, makeup, clothing are often for ourselves, not for being pretentious.
And yet he posts it on the web, and specifically asks for other people's opinions.
In my experience people who very much care what others think of them, often claim not care what others think of them.
I recommend practicing a concise 10 sec explanation because people WILL ask what it means.
> The variable i represents input from other people
Very cool :)
But, um, no syntax highlighting?
I was once going to get this tattooed:
<?=phpinfo(); ?>
I still think about getting a code tattoo from time to time. I'm not really a PHP developer any more though.
I like the meta meaning of yours, it's timeless. Even if the JS syntax changes or you move into Obj-C or whatever, it still has the deeper meaning you've attached to it. I think that will make it age well.
A GUID is guaranteed unique forever pretty much :)
But I really like how it uses the interpretation of code as a flow of information. It's how I think about programs, it's both fundamental and often misunderstood, and it makes for a great story.
My current plan is to get a portrait of Ada Lovelace. To me, she represents the general concept of "programmer" without being tied to a particular technology.
Perhaps you might wish to name your variables? The tattoo will be read more often than it is written.
Personally, I like to name anonymous functions (function foo () {}) so when a stack trace occurs, you know where. For example, if you get a second tattoo in future!
This is exactly why I'm not getting any permanent things done to my body. I wouldn't want something merely good, I would want greatness. In order to go for greatness, I would have to risk spending the rest of my life with some spectacular failure. That's a risk that I'm not willing to take, but I appreciate it when other people do.
Your tattoo? Pretty damn great.
http://jsconsole.com/?%28function%28%29{var%20k%3D[]%3Bretur...
It is the smallest Garden of Eden, is rotationally symmetric, evolves to nothing, and looks cool.
I made a deal with myself and my wife that I will get both tattoos once I have made a living working for myself (either a successful startup exit or my consulting taking off).
http://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Pio...
Or components of the Arecibo message:
Still, much, much better than those at Hanzi Smatter [ http://hanzismatter.blogspot.com/ ].
As for alternatives... would a Lisp tattoo be better?
* Apart from the i coming out of nowhere, which keeps setting off my this-is-a-bug alarm ;)
mov ax,13h
int 10hAnd of course a Lisp tattoo would be better! ;)
I would at least have used a procedure call to represent input from people, instead of an unbound variable :P
Then I thought better of it.
do do -> k=[];j = -> k.push i; do j