{"id":497169,"date":"2024-07-26T13:40:55","date_gmt":"2024-07-26T12:40:55","guid":{"rendered":"https:\/\/blog.jetbrains.com\/?post_type=blog&#038;p=497169"},"modified":"2024-07-26T15:05:53","modified_gmt":"2024-07-26T14:05:53","slug":"make-it-happen-with-easter-eggs","status":"publish","type":"blog","link":"https:\/\/blog.jetbrains.com\/en\/blog\/2024\/07\/26\/make-it-happen-with-easter-eggs","title":{"rendered":"Make it Happen \u2013 With Easter Eggs"},"content":{"rendered":"\n<p>Ever since the dawn of humanity, we\u2019ve had a fascination with discovery. For Neanderthals, it was fire, for people of the Renaissance it was electricity, and now it\u2019s funny cat gifs and Easter eggs hidden deep within videos.&nbsp;<\/p>\n\n\n\n<p>Despite clocking in at just 1 minute and 18 seconds, the \u201cMake it happen. With code. | JetBrains IDEs\u201d video contains ten developer-related Easter eggs. Did you find them all?<\/p>\n\n\n\n<p><iframe loading=\"lazy\" width=\"1022\" height=\"575\" src=\"https:\/\/www.youtube.com\/embed\/QGIBuhIRtQ0\" title=\"Make it happen. With code. | JetBrains IDEs\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen=\"\"><\/iframe><\/p>\n\n\n\n<p>We didn&#8217;t make it easy! We wanted to really maximize the payoff of finding all ten. And for some, there was literally a payoff: the first few people to find all Easter eggs were treated to a one-year subscription to a JetBrains All Products Pack.<\/p>\n\n\n\n<p>But now that all prizes have been claimed, we\u2019ll put you out of your misery and reveal all ten Easter eggs in the video.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #1: Brainfuck code<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Brain-fuck-code.png\" alt=\"\" class=\"wp-image-497182\"\/><\/figure>\n\n\n\n<p>At the 9-second mark, eagle-eyed viewers will have caught a glimpse of code, written in the mythical Brainfuck language. It\u2019s not often that this code makes an appearance in the wild, yet it can technically be used to write any program <a href=\"https:\/\/en.wikipedia.org\/wiki\/Brainfuck\" target=\"_blank\" rel=\"noopener\">with just eight simple commands<\/a>\u2026 It would probably be interesting to know what console output is written by the program in this scene. We\u2019ll leave that up to you \u2013 you can run the following code snippet using your Brainfuck interpreter of choice:<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\">+++++++++&#091;&gt;++++++++&gt;+++++++++++&gt;+++++++++++++&gt;++++&gt;+++++++++&lt;&lt;&lt;&lt;&lt;-]&gt;.&gt;++.&gt;++++.&gt;----.&gt;+.&lt;&lt;&lt;.-..+++++.&gt;-----.<\/pre>\n\n\n\n<p>Brainfuck code has been around since 1993 and is known for its extreme minimalism \u2013 but definitely not for its simplicity. Commands need to be broken down into tiny steps, and there is so little abstraction that things get very long and complicated very quickly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #2: hello world<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Hello-World.png\" alt=\"\" class=\"wp-image-497193\"\/><\/figure>\n\n\n\n<p>As a staple part of any developer\u2019s daily routine, coffee was bound to appear in this video. And if you thought this \u201ccup of Joe\u201d might be hiding an Easter egg, you were right!&#8230; sort of. The coffee itself isn\u2019t where you should be looking \u2013 the Easter egg is the \u201chello, world\u201d message displayed on the machine.<\/p>\n\n\n\n<p>Developers all over the world can attest to the significance of these two words, as they hold a very special place in our hearts. Why? \u201chello, world\u201d is usually the very first program anyone will develop with a language. They are a great first step in helping to understand the syntax of the language you are about to learn.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #3: Kodee<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Kodee.png\" alt=\"\" class=\"wp-image-497204\"\/><\/figure>\n\n\n\n<p>If you know, you know! But if you don\u2019t, let me explain! Kodee is the official mascot of the Kotlin language. Kotlin is a cross-platform, statically typed, general-purpose, high-level programming language with type inference. And to top it all off \u2013 Kotlin was designed and developed by JetBrains.<\/p>\n\n\n\n<p>Including a shot of this cheeky little rascal was our way of giving a shout-out to the millions of developers out there who use Kotlin. If you want to get up to speed on Kotlin and Kodee, the recent <a href=\"https:\/\/kotlinconf.com\/\" target=\"_blank\" rel=\"noopener\">KotlinConf<\/a> featured a boatload of announcements and insights.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #4: 418 I\u2019m a teapot cup<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/418.png\" alt=\"\" class=\"wp-image-497215\"\/><\/figure>\n\n\n\n<p>Not all developers drink coffee. In fact, some prefer a nice cup of tea. Some hardcore developers managed to catch this reference to an old April Fools\u2019 joke: the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Hyper_Text_Coffee_Pot_Control_Protocol\" target=\"_blank\" rel=\"noopener\">Hyper Text Coffee Pot Control Protocol<\/a>.&nbsp;<\/p>\n\n\n\n<p>The <code>HTTP 418 I'm a teapot<\/code> client error response code indicates that the server refuses to brew coffee because it is, permanently, a teapot. Some websites use this response for requests they do not wish to handle, such as automated queries.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #5: No tabs beyond this point<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/No-tab.png\" alt=\"\" class=\"wp-image-497226\"\/><\/figure>\n\n\n\n<p>The Easter eggs could be hidden in the subtlest of places, where, if you didn\u2019t know the reference, you could have easily missed them. However, the Tabs vs. Spaces debate is one many developers will be familiar with.<\/p>\n\n\n\n<p>Consistent <a href=\"https:\/\/blog.jetbrains.com\/en\/idea\/2020\/06\/code-formatting\">style and formatting in a codebase<\/a> is important to help improve readability and maintainability \u2013 indentation being one of them. There are pros and cons to each character for indentation. And although I personally like the idea of using tabs for indentation <a href=\"https:\/\/adamtuttle.codes\/blog\/2021\/tabs-vs-spaces-its-an-accessibility-issue\/\" target=\"_blank\" rel=\"noopener\">because they help with accessibility<\/a>, it\u2019s really up to each development team to pick their preferred style. Since the scene is set in Space, we thought to include a reference to Tabs as an Easter egg here.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #6: It works on my machine<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/works-on-my-machine.png\" alt=\"\" class=\"wp-image-497237\"\/><\/figure>\n\n\n\n<p>Being a developer can be hard, and making things work 100% of the time, can be harder.&nbsp;<\/p>\n\n\n\n<p>\u201cIt works on my machine \u00af\\_(\u30c4)_\/\u00af\u201d is a clich\u00e9 response when things go wrong\u2026 It\u2019s up there with \u201cTry turning it off and on again,\u201d \u201cIt\u2019s never done that before,\u201d and the classic \u201cIt worked yesterday.\u201d The environments where your application is used can greatly vary, so usually \u201cit works on my machine\u201d is the beginning of trying to figure out why things work on one machine, and not the other.&nbsp;<\/p>\n\n\n\n<p>This is a shout-out to all you developers (and testers, and QAs) out there who are putting in maximum effort to make sure that the software runs on all machines!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #7: Kotlin garland<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/garland-and-LEET.png\" alt=\"\" class=\"wp-image-497248\"\/><\/figure>\n\n\n\n<p>Whenever we have a chance to celebrate Kotlin, you know we\u2019re going to take it! This is another Easter egg that\u2019s an easy find if you know what to look for \u2013 but borderline impossible if you don\u2019t. What do you mean you don\u2019t have a garland of the language you are coding with hanging in your office?<\/p>\n\n\n\n<p>It\u2019s Kotlin again!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #8: LEET<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/LEET.png\" alt=\"\" class=\"wp-image-497259\"\/><\/figure>\n\n\n\n<p>You have to be pretty \u201cleet\u201d yourself to catch the double whammy in this scene. But there is definitely something off with that clock.<\/p>\n\n\n\n<p>Leet \u2013 or as we elite developers call it, \u201c1337\u201d \u2013 lets us circumvent filters and say what we really want to say. 7h15 15 35p3c14lly u53ful f0r d3v3l0p3r5 wh0 n33d 70 74lk 70 34ch 07h3r unf1l73r3d 4nd h0n357ly.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #9: Rubber Duck debugging<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Rubber-ducking.png\" alt=\"\" class=\"wp-image-497270\"\/><\/figure>\n\n\n\n<p>What the duck? Yes, the duck! This was another Easter egg reference to the bizarre (yet oddly brilliant) practice of asking an inanimate object for help. Because, you know, asking yourself questions would just be <em>weird<\/em>.&nbsp;<\/p>\n\n\n\n<p>Rubber duck debugging is the act of working through problems by asking different questions to come up with ideas about what has gone wrong. The rubber duck is symbolic of having an inanimate object on your desk as something to converse with\u2026 so it is no longer weird to talk to yourself as you are actually talking to a rubber duck.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Easter egg #10: JetBrains Amsterdam office coordinates<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/Coordinates.png\" alt=\"\" class=\"wp-image-497281\"\/><\/figure>\n\n\n\n<p>As we said, we didn\u2019t want to make it too easy for people! The very last scene shows one final piece of code that defines the <code>get_office_coords<\/code> function. The code snippet contains coordinates, and anyone curious enough to look them up would find that they point to the JetBrains office in Amsterdam.<\/p>\n\n\n\n<p>This time, the Easter egg is us. We have JetBrains offices all over the world \u2013 in Belgrade, Berlin, Boston, Foster City, Limassol, Marlton, Munich, Paphos, Prague, Shanghai, Warsaw, and Yerevan \u2013 for our 2.2k employees, who work together to develop the very best tools to develop with. This is our \u201cDrive to Develop\u201d, so you can <em>Make it happen. With code.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Bonus Easter egg: It\u2019s not a bug, it\u2019s a feature!<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" loading=\"lazy\" width=\"1600\" height=\"800\" src=\"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2024\/07\/not-a-bug-a-feature.png\" alt=\"\" class=\"wp-image-497302\"\/><\/figure>\n\n\n\n<p>You&#8217;ll notice an extra bonus Easter egg hidden on the mug near the end. When <a href=\"https:\/\/en.wikipedia.org\/wiki\/Grace_Hopper\" target=\"_blank\" rel=\"noopener\">Grace Hopper<\/a> first discovered an <em>actual<\/em> bug in the Mark II computer, leading to an operating issue, the word \u201cbug\u201d was introduced to mean an issue in a computer program. A bug implies there\u2019s undesirable behavior in software, but is every bug <em>really <\/em>a bug? Some functionality may be considered a bug by some, but not others. For cases where the interpretation is subjective, and a bug may be an accidental feature, the phrase &#8220;It&#8217;s not a bug, it&#8217;s a feature&#8221; was introduced.<\/p>\n\n\n\n<p>That is all for today! We hope you&#8217;ve enjoyed this blog post and it has helped you find all the subtle nods we\u2019ve given to developers. You really are the reason we do what we do and try hard to make our tools provide value and an enjoyable experience. Without you, there is no JetBrains.<br><br>Happy developing!<\/p>\n","protected":false},"author":118,"featured_media":497349,"comment_status":"closed","ping_status":"closed","template":"","categories":[89],"tags":[8437],"cross-post-tag":[],"acf":[],"_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/blog\/497169"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/users\/118"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/comments?post=497169"}],"version-history":[{"count":9,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/blog\/497169\/revisions"}],"predecessor-version":[{"id":497399,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/blog\/497169\/revisions\/497399"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media\/497349"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/media?parent=497169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/categories?post=497169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/tags?post=497169"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/en\/wp-json\/wp\/v2\/cross-post-tag?post=497169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}