8 ms·
Great developer tattoo, even better explanation.
- JimSangwine 15y agoI'll be interested to hear comments from fellow hackers. Reactions from colleagues have been... varied. Jim Sangwine
- robfitz 15y agoWell. I love it, at least.
- JimSangwine 15y agoI do too.
- calibraxis 15y agoAnd you still have space for the y combinator tattoo! - http://blogs.discovermagazine.com/loom/2008/02/17/y-combinator/ http://blogs.discovermagazine.com/loom/2008/02/17/y-combinat... - http://news.ycombinator.com/item?id=58027 http://news.ycombinator.com/item?id=58027
- JimSangwine 15y agoHa, cool! I'd not seen that one
- arethuza 15y agoWhat about an RSA tattoo? http://www.geekytattoos.com/illegal-tattoos-rsa-tattoos/ http://www.geekytattoos.com/illegal-tattoos-rsa-tattoos/
- raganwald 15y agoIt’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.
- delinka 15y agoIt 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.
- raganwald 15y agoI 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 :-)
- bh42222 15y agoTattoos, 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.
- nitrogen 15y agoMaybe 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.
- 15y ago
- pchristensen 15y agoYou completely won me over with the philosophy behind it. This should be personally meaningful to you for a long time. I recommend practicing a concise 10 sec explanation because people WILL ask what it means.
- JimSangwine 15y agoI think one of the benefits is that I can change the meaning depending on who I am talking to. "Why honey, it means I love you of course!" ;P
- user24 15y agoI'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 Very cool :) But, um, no syntax highlighting?
- JimSangwine 15y agoI considered it, but I was afraid people might think I was geeky.
- user24 15y agonice ;) 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.
- pointyhat 15y agoPretty cool. I was going to get a GUID tattooed to my arm :)
- JimSangwine 15y agoThat's an awesome idea. You should.
- icebraining 15y agoAn URL could be nice too. Or a QRCode ;)
- pointyhat 15y agoI thought about that but they might expire :( A GUID is guaranteed unique forever pretty much :)
- tel 15y agoI'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.
- pivotal 15y agoI 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.
- CGamesPlay 15y agoI 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 :)
- nailer 15y ago> The k array represents knowledge or experience. 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!
- MartinCron 15y agoIn 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. Your tattoo? Pretty damn great.
- hackinthebochs 15y agoI like the explanation. However, I gotta wonder whether the javascript syntax noise is a bug or a feature :)
- wslh 15y agoDo you remember the hacker emblem? http://catb.org/hacker-emblem/ http://catb.org/hacker-emblem/
- raganwald 15y agoHow about: http://en.wikipedia.org/wiki/Garden_of_Eden_(cellular_automaton) http://en.wikipedia.org/wiki/Garden_of_Eden_(cellular_automa...
- 7rurl 15y agoI'd go with this one: http://www.conwaylife.com/wiki/index.php?title=Garden_of_Eden_5 http://www.conwaylife.com/wiki/index.php?title=Garden_of_Ede... It is the smallest Garden of Eden, is rotationally symmetric, evolves to nothing, and looks cool.
- JimSangwine 15y agoNice! Maybe for the next one.
- mhd 15y agoGet a lambda. Geeks will nod approvingly and you can tell the jocks that it's from 300.
- superrad 15y agohttp:://www.lambda.org ?
- Periodic 15y agoMy 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).
- 15y ago
- almostalbert 15y agoShould've just gotten "RangeError" tattooed instead.
- SkyMarshal 15y ago(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.
- yread 15y agoStack overflow because we are all mortal. Filling of the stack can be fun though
- gojomo 15y agoPerhaps he's hoping Skynet will mistakenly eval() its inputs when scanning him into the human work camps.
- Periodic 15y agoOur best defense: code injection attacks.
- sesqu 15y agoThis bit really bothered me. I would have suggested some ooda-loop construct, instead. That said, it's not my tattoo.
- inoop 15y agoI think this is the JS monkey equivalent of having the Chinese characters for 'strength' and 'wisdom' tattooed on your forearm.
- raganwald 15y agoCalling 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.
- jackpirate 15y agoCalling people monkeys is rather abusive 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.
- scotth 15y agoNot where I'm from it's not. A code monkey is mindless and interchangeable.
- raganwald 15y agoNobody 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.
- jackpirate 15y agoMaybe it's like nigger. It's okay when I am one and call myself one, but not when someone else who is not one calls you one?
- khafra 15y agoInteresting. I always hit the space bar with my right thumb, too.
- asclepiades 15y agoAnd 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. Still, much, much better than those at Hanzi Smatter [ http://hanzismatter.blogspot.com/ http://hanzismatter.blogspot.com/ ].
- camtarn 15y agoSpeaking 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 ;)
- inoop 15y agomov ax,13h int 10h
- yaongi 15y agoyeah, nice one.
- asclepiades 15y agoWell, 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. And of course a Lisp tattoo would be better! ;)
- lloeki 15y agoInterestingly enough Hanzi Smatter focuses on mistakes with Kanji or Chinese, but I guarantee that those french translations of meals are equally hilarious.
- TamDenholm 15y agoOne 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.
- _corbett 15y agomy 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.
- davedx 15y agoSame 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.
- erikpukinskis 15y agoIt's kind of sad, I thought the y combinator was beautiful until it became a brand name.
- danielhfrank 15y agoupvote 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
- mhd 15y agoThis 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.
- ataggart 15y agoThus if one is to tattoo code, it should be in lisp.
- eps 15y agoThe 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?! :)
- JimSangwine 15y ago"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 : )
- NationalHQ 15y ago
- deleted 15y ago[deleted]
- galactus 15y agoI don't know... I like the message, but a programming language seems to be the wrong medium to convey it. I would at least have used a procedure call to represent input from people, instead of an unbound variable :P
- grandalf 15y agoWhy js vs λ notation?
- grandalf 15y agoIn retrospect I realized this question is deeper than I thought. Maybe js is the new lambda notation.
- dmcg 15y agoThe 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.
- stuffihavemade 15y agoBut what happens when QR codes aren't around in 20 years? You need another level of indirection!
- dmcg 15y agoYeah, the real solution is OLED tats.
- donw 15y agoJust don't host it on EC2: "Our love is like this webserver... vanished from time and space thanks to a disk failure."
- commanda 15y agoWhen I was a younger game programmer, I considered for a while getting a tattoo of: 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.
- jbm 15y ago> 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. :)
- meson2k 15y ago"i" undeclared
- davesims 15y agoNice, 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". http://jsconsole.com/?%28function%28%29{var%20k%3D[]%3Breturn%20function%20j%28%29{k.push%28i%29%3Bj%28%29%3B}}%29%28%29%28%29%3B http://jsconsole.com/?%28function%28%29{var%20k%3D[]%3Bretur...
- jpr 15y ago> ();}})()(); And people complain that Lisp is hard to read )))
- Create 15y agohttp://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind.html http://www.charlespetzold.com/etc/DoesVisualStudioRotTheMind... http://upload.wikimedia.org/wikipedia/en/9/93/Charles_petzold.png http://upload.wikimedia.org/wikipedia/en/9/93/Charles_petzol...
- janto 15y agoI'd consider the typical poetic fork bomb :(){ :|:& };: or maybe $0 & $0 &
- dave1010uk 15y agoKnowledge (k) may increase but there appears to be no way to access or share it.
- techiferous 15y ago> The obvious choice of language was JavaScript. 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. :)
- prawn 15y agoI'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): http://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Pioneer10-plaque.jpg/757px-Pioneer10-plaque.jpg http://upload.wikimedia.org/wikipedia/commons/thumb/c/c6/Pio... Or components of the Arecibo message: http://en.wikipedia.org/wiki/Arecibo_message http://en.wikipedia.org/wiki/Arecibo_message
- caller9 15y agoI thought about getting this as a tattoo: ++++++++++[>+++++++>++++++++++<<-]>+.>+..++++++. Then I thought better of it.
- moomin 15y agoIt should, of course, have read do do -> k=[];j = -> k.push i; do j