• Хардкорные Java/JVM задачки

      Перформансные задачи от Контура уже были, настала и наша очередь: представляем хардкорные задачи с Java-конференции JBreak 2018, aka «ад от Excelsior».


      Задачи даны в оригинальных формулировках, в каждой задаче может быть несколько правильных ответов, и к каждой задаче дано решение под спойлером.


      Задача 1


      Ваш коллега начитался Java Language Specification и написал следующее:


      void playWithRef() {
          Object obj = new Object();
          WeakReference<Object> ref = new WeakReference<>(obj);
          System.out.println(ref.get() != null);
          System.gc();
          System.out.println(ref.get() != null);
      }

      А разгребать вам: какие результаты исполнения возможны?

      Правильный ответ и еще больше хардкора!
    • Играй и изучай VIM одновременно

        Наткнулся на интересную вещицу: VIM Adventures.



        Это онлайн игра основанная на хоткеях текстового редактора VIM. Полезна будет тем, кто всегда боялся открывать VIM, чтобы, наконец, пересилить страх; а также тем, кто уже давно знаком с VIM, чтобы просто получить немного удовольствия.
      • Отмечание просмотренных серий на MyShows.ru

        • Tutorial

        Постановка задачи


        Задача: автоматизировать рутинные действия по отмечанию просмотренных эпизодов на сайте myshows.ru. Поясню, после просмотра очередной серии Теории Большого Взрыва я открываю мои сериалы, нахожу сериал, нахожу просмотренный эпизод и отмечаю его как «просмотренный».

        После обнаружения api.myshows.ru сразу зародилась идея серьезно упростить этот процесс. Хотелось бы, чтобы это выглядело так: вызываем контекстное меню файла с только что просмотренной серией и выбираем «Отметить на myshows.ru».
        Читать дальше →
      • Использование IPv4 адресов с российским размахом

          По мотивам bash'а.

          Для тех, кто недостаточно хорошо помнит гимн РФ:
          for i in {200..225}; do nslookup 62.76.96.$i | grep "(?<=name = ).*$" -o -P ; done

          upd Варианты улучшенные:

          лаконичный
          dig -t ptr +short {200..225}.96.76.62.in-addr.arpa

          винда с PowerShell
          for ($i=200; $i -le 223; $i++){(nslookup 62.76.96.$i)[3].ToString().Replace('.', ' ').Substring(9)}

          винда без PowerShell
          for /l %i in (200,1,255) do nslookup 62.76.96.%i