What on Earth Was the JetBrains Quest?

We have a lot of developers at JetBrains, and many of us like games – challenging games. We came up with the idea of creating a treasure hunt in which the solution to each puzzle was the hint for the next one. We’d hide all the puzzles as easter eggs inside JetBrains sources. After a long period of brainstorming, JetBrains Quest was born.

JetBrains Quest was a series of puzzles spread throughout different JetBrains pages and products. The game consisted of 3 Quests, with 4-6 puzzles to solve per quest. The first quest was relatively easy to give people a chance to figure out what to expect with the difficulty increasing as you moved along. The Quest began on March 9 with a post on our social media networks (
Twitter, Facebook and Linkedin) and it ended on March 15 at 12:00 CET. At this point all of the puzzles were removed.

The response from the community was amazing!

Group_noblocks-2-2-2

Some of them struggled.Group_3_noblock-2-2-2

People were asking for more.Group_2_block-2

Based on the comments, it looks like the most difficult puzzle to solve was the Fibonacci exercise. This puzzle was hidden inside a Tip of the Day in a specific version of IntelliJ IDEA Community Edition.
final quest tip of the day

You have discovered our JetBrains Quest! If you don’t know what this is, you should start from the beginning.
This is it. The last puzzle. You are just one step away from glory!
Now you just need the Key to unlock the Quest page.
The Key is the first and last 4 digits of the 50 * 10^6 position of the Fibonacci sequence (F(50 Million)).
As you may know by now, not all that glitters is gold, and to solve this puzzle you should not go straight for the obvious answer. May you make a glorious choice.
Remember that you have until the 15th of March 12:00 CEST.

This was the last puzzle of the entire Quest. If you attempt to solve it using a linear approach, it will take hours or even days to get the answer. There were two main approaches to tackling this puzzle. The easy one was to use Wolfram|Alpha to get the first and last four digits.

The second way is more difficult, but it comes with a bonus: a bigger feeling of accomplishment! There are algorithms that make the computation for the Fibonacci sequence faster. We were expecting you to implement one of these options. Here’s an example:

First 4 digits: 4602
Last 4 digits: 3125

For those of you who didn’t manage to finish the Quest, you can see all the puzzles and their solutions here.

We would like to thank everyone who took part in our JetBrains Quest and joined in the fun. Leave a comment below and let us know which puzzle was your favorite.

Thanks for joining in! May you always have an adventure in your life!
– The JetBrains Quest Team

Posted in Contests, Uncategorized | Tagged | 3 Comments

Celebrate Python with us and win!

Happy Wednesday!

As you may know, we recently released a Python track at JetBrains Academy. We hope it becomes a useful learning resource for everyone who’s venturing into Python.

We’re now running a two-week Twitter campaign where we’re posting a series of cool Python facts and giving away 1000 hypercoins to each of 10 lucky commenters on our tweets!

PythonFacts

Would you like to share in the fun? Add your own #PythonFacts in the comments to the facts shared by our Twitter account for a chance to win hypercoins, which you can use to get your project reviewed by expert dev mentors!

In any case, follow JetBrains_Edu on Twitter for even more interesting facts about programming and updates about our Educational Products!

Your Educational Products team

Posted in Education | Leave a comment

Big Data Tools EAP 6: Google Cloud Storage, Proxy, Kerberos, and Parquet Improvements

It’s been a while since our last update, but today we’re excited to give you a new EAP build. Originally we planned to exclusively work on bug fixes and stability improvements in this build. However, we couldn’t resist and added a completely new feature that has been on our roadmap for some time – integration with Google Cloud Storage.

Using the Google Cloud Storage integration is similar to working with AWS S3. Once you’ve configured a Google Cloud Storage bucket configuration in Big Data Tools Connections, you’ll see it and its contents in the Big Data Tools tool window.

Here’s what the configuration page looks like:

bdt_eap_6_gcs

You have to specify the path to your credentials JSON file, choose a bucket, and optionally a prefix if you’d like to work with a specific subfolder.

Once the bucket is configured, you’ll see the files and folders hierarchically in the Big Data Tools tool window:

bdt_eap_6_gcs_2

The context menu provides the same actions that work for AWS S3. You can copy, move, and rename your files and folders, download them to your local disk, and open them for a preview. In the case of a preview, the IDE downloads only a chunk of the file. This is very handy if you’d like to preview a large file, e.g. a Parquet or CSV.

Speaking of Parquet support, we’ve made certain improvements. First, we’ve fixed some edge cases in which it didn’t work. Second, we’ve reworked the appearance of the header to properly display the headers of the column and allow the user to sort the rows by any of the columns:

bdt_eap_6_parquet

Last but not least, we’ve added actions that let you copy the selected values, columns, or rows, or dump the whole document to the clipboard or a .CSV file.

The connection configuration for Spark and Zeppelin now supports HTTP proxies. Now you can configure a proxy for any of the connections in the Big Data Tools Connections settings:

bdt_eap_6_http

We hope this will make it easier for you to connect to Spark and Zeppelin in your secure environments.

Speaking of security, now the plugin also allows you to use and configure Kerberos authentication for connecting to your Spark server:

bdt_eap_6_kerberos

For more details on how to use the HTTP proxy and Kerberos, please see the updated documentation.

Those are all the major improvements in this update. The full list of changes (bug fixes and minor improvements) can be found in the release notes.

Having said that all, we’d like to ask you to try the new version of the plugin and share your feedback and bug reports with us.

If you have an idea for a cool feature that the Big Data Tools plugin could add in the future, please share it here in the comments or in the bug tracker, use this feedback form, or sound off in our Slack workspace. Thanks a lot!

The Big Data Tools team
The Drive to Develop

Posted in Big Data Tools | 1 Comment

EduTools plugin v3.5 released!

Please welcome EduTools v3.5! In this post, you’ll learn about several new features that are available in the latest plugin version:

For the full list of issues addressed in EduTools 3.5, please see the release notes.

EduTools_plugin_35

INSTALL EDUTOOLS PLUGIN

Continue reading

Posted in Education, Learning Courses | 1 Comment

The JetBrains Website is Now Available in Brazilian Portuguese

Read this post in Brazilian Portuguese

A couple of months ago we launched the JetBrains site in 7 new languages. Today we’re happy to announce that we’re adding Brazilian Portuguese to the list of supported languages.

You can change the language of the site anytime: just use the switch at the bottom of the page.

We would love to get your feedback on our Brazilian Portuguese website: there’s a button on the right-hand side of every page that you can use to highlight an area on the page and provide a comment.

Check out our website in Brazilian PortugueseChinese (Simplified), French, German, Japanese, Klingon, Korean, Russian, Spanish, or English!

The JetBrains Team

Posted in News | Leave a comment

Software Development the JetBrains Way: Dogfooding and Other Key Principles

JetBrains has turned 20, and over the years, we’ve honed methods for development that match the style, values, and needs of our company. These processes work so well for us that we want to share them with others. Dogfooding, for example, has always played a central role in the development of our products, and with this video we want to share its role in our creative process with you.

In the software development industry, dogfooding is the practice of testing your products within your company, using them as the end users would. Effectively, you have to eat your own dog food to ensure that your product is of the highest quality.

We at JetBrains have always been in a good position to do this. Indeed, since 2000, when we started to create the first JetBrains product, the ideas for our tools have often developed in response to an internal need. The products we build, from IntelliJ IDEA to Kotlin and Space, are all designed first for ourselves, and we use them in our daily work.

Of course dogfooding is not a panacea, and in addition to its benefits, it also has a number of pitfalls that we discuss in this video.

On the one hand, the practice of dogfooding gives us the advantage of being able to solve product-related problems, such as UI/UX issues, early, before users have had a bad experience. It also helps us discover the functionality that real customers will expect from the product. Basically, dogfooding allows us to step into our users’ shoes. On its own, writing good code doesn’t necessarily result in developing the right product, and dogfooding helps us address this issue.

On the other hand, dogfooding is not a silver bullet for developing software. It can sometimes cause bias, and it must be combined with other practices or used carefully to ensure that the final product is appropriate for the target user. And in this video we examine our best practices for handling these situations.

Watch the video

Learn more about the way we create products at JetBrains and about how the products are made to meet not only our users’ high standards but also our own.

JetBrains
The Drive to Develop

Posted in Behind-the-scenes, New Products | Tagged | 2 Comments

Learn Python with JetBrains Academy!

Starting today, Python joins the good company of Java and Kotlin as a programming language that you can learn with JetBrains Academy. We’re glad to announce the Python Track is ready and is waiting for learners!

Banner

Start the Python Track or read the Start Guide for more details.

Continue reading

Posted in Education, Learning Courses | Tagged | 4 Comments

EduTools Plugin v3.4 Released!

EduTools 3.4 is here! In this update, we’re introducing support for programming challenges from Codeforces, the programming contest platform, and support for version 2020.1 of all IntelliJ-based IDEs.

Edu_Tools

Codeforces support
IntelliJ Platform 2020.1 support
IntelliJ IDEA Edu and PyCharm Edu

Continue reading

Posted in Education | 3 Comments

Update on Big Data Tools Plugin: Spark, HDFS, Parquet and More

It’s been a while since our last update. If you remember, last year, we announced IntelliJ IDEA’s integration with Apache Zeppelin, S3, and its experimental integration with Apache Spark. The latter integration was released as an experimental feature and was only available in the unstable update channel. But we have great news. Today we’re releasing a new version of the plugin that finally makes Spark support publicly available. It also adds support for HDFS and Parquet.

Spark Monitoring

Now that the Spark integration is available in the public update, let us quickly catch you up on what it can do for you. Continue reading

Posted in Big Data Tools | Leave a comment

JetBrains 20th Birthday Round-up

On February 5th we celebrated JetBrains 20th birthday with our beloved community online and in the special section of JetBrains 2019 Annual Highlights. Thank you for the heartfelt and warm birthday greetings that we received. We appreciate the love and would like to share a few of the many birthday wishes that hit home!

@RobEden on Twitter
Congratulations on 20 years, JetBrains! Your tools have made me a better developer. I love how, even as the company has grown, it’s always been clear that my feedback matters. #JB20Bday

@CalvinNrnha on Twitter
Started using @androidstudio and appreciated it for it’s amazing feature set. Found out that it’s based on IntelliJ IDEA. Started using @pycharm @WebStormIDE @intellijidea and @kotlin First thing I search when learning a language – does JetBrains make an IDE for it? #JB20Bday

Davyd McColl on Facebook
Favorite JB products? All of them! I use Rider, Webstorm, Datagrip, dotPeek daily. But any time I try another, it feels like home.

Mikael Rozee on LinkedIn
I’ve been using JetBrains products for nearly 8 years now. They make the transition between technologies or languages much smoother as I know I always have a robust IDE to depend on.

Bernard Deffarges on LinkedIn
Happy birthday! I have been using IntelliJ for 20 Years and I’m still developing with pleasure. IntelliJ has been a companion that became more helpful with every release. Whenever I move to a new company, my first question is always “can I work with JetBrains tools?”. It’s an amazing work you have done!

@Ned.yotov on Instagram
Wow 20 years 0.0 I was just starting with JS 6 or 7 years ago, and trying different IDEs and editors and friend recommended me WebStorm with university licence that we had. I used Uni edition as long as I could and than started to pay for my own licence – since it is the best IDE that I customised so much with shortcuts and plugins, so I can’t think of changing it :) #JB20Bday

JetBrains’ 20th birthday celebration continued into Friday with beautifully organized site parties that included cake, games, music, dancing, and hours of fun. Here’s a small taste of the action from our offices.

This slideshow requires JavaScript.

It’s been a great 20 years and we’re already looking forward to the next milestone, whatever that may be!

Posted in Behind-the-scenes, Events, News | Tagged , | Leave a comment