This will be fun once the language's popularity wanes. Imagine an old guy on his walker with an "IDENTIFICATION DIVISION." tattoo…
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.
The durability of tattoo's subject does not matter in the slightest if a tattoo is done to record a moment in one's life rather than to impress other boys in geriatric care. And that's exactly what this guy did.
One thing I would agree with you on though - what an odd typography choice. Why not a monospaced typeface?! :)
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.
> 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. :)
Calling people monkeys is rather abusive, and this is specifically forbidden by the HN guidelines. Ask yourself: Is your comment just as relevant if you omit that one word? If so, consider editing it out.
Abusive and insulting speech is all about tone -- the intent of the speaker.
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.
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.
Nobody ever called me a monkey to my face, and I have several JS projects up on Github. I have trouble believing thismismamterm of endearment or respect, especially as it was used here.
The problem (and the feature) of tattoos is their permanence - what would you want to live with for the rest of your life? Not an easy question for an engineer who embraces change.
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.
One point i'd like to make. I think its great that people get tattoos that mean something to them, and i'd totally get a code tattoo too, but i dont believe tattoos HAVE to mean something to get them. All the tattoos i have dont have any meaning behind them other than "just because i like it" and while a deep emotional connection with a tattoo is great, dont talk yourself out of getting a tattoo if theres no meaning behind it, if the only reason is, "because you like it", thats a great reason too.
Same here! I uhm'd and ah'd for ages before I finally got mine. It's a pretty standard tribal design on my left upper arm, and I still really like the way it looks :) No special meaning, though people ask if it has a meaning whenever they first see it.
my tattoo means something to me (a stylized hydrogen atom; I'm a physicist) but it also has multiple meanings and is first and foremost an aesthetic decision.
(function(){var k=[];return function j(){k.push(i);j();}})()();
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.
It’s meaningful to him and that’s what matters. At no time did he say his goal was to impress us with his coding wizardry, so it’s irrelevant whether I think it’s clever, pedestrian, elegant, or tortured.
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.
It seems you did not realize that you are replying to the tattoo's owner.
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.
I didn’t, and quite possibly that’s for the best. I’d like to think that I’d have said exactly the same thing to Jim if I’d known he was the “canvas,” but as it turns out I know this is absolutely positively what I thought without attempting to apply tact :-)
Maybe there are people who are interested in positive observations and constructive feedback from others, but don't care if others don't like them and choose to ignore non-constructive criticism.
I'm a JS developer too, I decided to read the code before reading the explanation. I said to myself "where the feck does 'i' come from? I guess it must be coming from outside somewhere". Smiled when I read your description:
> The variable i represents input from other people
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.
I wanted to raise two points about your explanation: First, while the function j is a closure, the anonymous function is not; it is simply a higher-order function. Second, i is indeed undefined, but this will not cause a reference error, it will simply push undefined into the array. That's all :)
I think it's pretty great. As a tattooed hacker, I'm glad that someone else wanted a code related tattoo. I've had the idea for a while, but like yourself, when I googled for others and inspiration, came up with very little.
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!
I'm not a fan of words in tattoos, so I could never get behind a code tattoo—
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.
In order to make any great art, there's a risk of spectacular failure. There is no reliable way of achieving greatness. If it's reliable, the best it can be is merely good.
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.
Nice, and a very cool explanation. But I find it a bit ironic that a snipit of code meant to be a form of self-identification has the output: "i is not defined".
upvote x10. The y combinator is exactly the sort of thing I would have been happy to have written on my body, had it not turned into an investor buzzword
My plan is Lambda on the left shoulder, Pi on the right. Lambda for programming and right-brain, Pi for math and left-brain. I feel that they are simple, elegant, and have a lot of meaning. My only worry is that they won't age well, but I have no knowledge of tattoos.
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).
I've always liked the idea of either the "map" from the Pioneer plaque (depicting the location of our sun by use of pulsars identified by their frequencies):
And in 2060 developers will probably think something like what would think today, if shown a tattoo of "ALTER X TO PROCEED TO Y" in the flaccid forearm of a 70-year-old.
Speaking for myself, if I saw a COBOL tattoo, I'd most likely think "Duuuude, old school... respect!" ;) Not so sure about JS though - is it perhaps more likely to seem like Visual Basic in 40 years? As a JS monkey myself, though, I like it* :)
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 ;)
Well, I was thinking more about the contrast between the supposed permanence of tattoo and a programming language construct. Now that you have pointed it, however, it might give a certain feeling of "old school" ("self modifying code in COBOL!?") -- and I expect closures to be still "reverenced" in 2060.
Interestingly enough Hanzi Smatter focuses on mistakes with Kanji or Chinese, but I guarantee that those french translations of meals are equally hilarious.
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.