1. Список говнокодов пользователя barop

    Всего: 100

  2. Куча / Говнокод #22419

    −3

    1. 1
    http://www.ozon.ru/context/detail/id/4644276/

    Новое поколение клавиатурных 8-ми битных приставок семейства "Магистр" от "NewGame"

    barop, 20 Февраля 2017

    Комментарии (12)
  3. PHP / Говнокод #22356

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    $alice_ecdh_secret = 
        "\x69\xf2\x08\x41\x2d\x8d\xd5\xdb\x9d\x0c\x6d\x18\x51\x2e\x86\xf0" . 
        "\xec\x75\x66\x5a\xb8\x41\x37\x2d\x57\xb0\x42\xb2\x7e\xf8\x9d\x8c";
    $bob_ecdh_public =
        "\xe8\x98\x0c\x86\xe0\x32\xf1\xeb\x29\x75\x05\x2e\x8d\x65\xbd\xdd" .
        "\x15\xc3\xb5\x96\x41\x17\x4e\xc9\x67\x8a\x53\x78\x9d\x92\xc7\x54";
    $message_keypair = sodium_crypto_box_keypair_from_secretkey_and_publickey(
        $alice_ecdh_secret,
        $bob_ecdh_public
    );
    $plaintext = "This is a secret message for your eyes only.";
    $nonce = random_bytes(24);
    
    // And now for the actual public-key encryption step:
    $ciphertext = sodium_crypto_box($plaintext, $nonce, $message_keypair);
    
    
    
    //To decrypt a message:
    
    $received = sodium_crypto_box_open(
        $received_ciphertext, 
        $received_nonce, 
        $message_keypair
    );

    https://dev.to/paragonie/php-72-the-first-programming-language-to-add-modern-cryptography-to-its-standard-library
    Пока сишка и прочие говноязыки доверяют взломанным и опровергнутым методам шифрования и текущим изо всех сердец библиотекам, PHP стал первым языком сделавшим современную криптографию частью стандартной библиотеки. Время переписывать ядро прыщей и оси на PHP.

    barop, 17 Февраля 2017

    Комментарии (98)
  4. Куча / Говнокод #22349

    0

    1. 1
    https://developer.microsoft.com/en-us/windows/platform/bugs

    Оче полезный ишью трекер

    barop, 17 Февраля 2017

    Комментарии (1)
  5. Куча / Говнокод #22348

    +3

    1. 1
    http://ic.pics.livejournal.com/sovietdetstvo/31076964/752721/752721_original.jpg

    В жопу файловую систему

    barop, 17 Февраля 2017

    Комментарии (17)
  6. Си / Говнокод #22335

    0

    1. 1
    2. 2
    if (width&3)
    		MS_Quit ("VL_MungePic: Not divisable by 4!");

    хехехе

    barop, 16 Февраля 2017

    Комментарии (27)
  7. C# / Говнокод #22304

    +2

    1. 1
    http://cs9.pikabu.ru/post_img/big/2017/02/09/6/1486630644124669505.png

    роском запретил аскиарт

    barop, 09 Февраля 2017

    Комментарии (16)
  8. Java / Говнокод #22167

    −1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    synchronized Map<String, Map<String, String>> getStaticMethodTypesMap(final Project project) {
        CachedValue<Map<String, Map<String, String>>> myStaticMethodTypesMap = project.getUserData(STATIC_FACTORY_TYPE_MAP);
        if (myStaticMethodTypesMap == null) {
          myStaticMethodTypesMap = CachedValuesManager.getManager(project).createCachedValue(
            new CachedValueProvider<Map<String, Map<String, String>>>() {
              @Nullable
              @Override
              public Result<Map<String, Map<String, String>>> compute() {
                Map<String, Map<String, String>> map = new THashMap<String, Map<String, String>>();
                Collection<Variable> variables = getVariables(project, "STATIC_METHOD_TYPES");
                for (Variable variable : variables) {
                  if (!"\\PHPSTORM_META\\".equals(variable.getNamespaceName())) continue;
                  PsiElement parent = variable.getParent();
                  if (parent instanceof AssignmentExpression) {
                    PhpPsiElement value = ((AssignmentExpression)parent).getValue();
                    if (value instanceof ArrayCreationExpression) {
                      for (ArrayHashElement element : ((ArrayCreationExpression)value).getHashElements()) {
                        PhpPsiElement match = element.getKey();
                        if (match instanceof MethodReference) {
                          String matchSignature = ((MethodReference)match).getSignature();
                          Map<String, String> types = map.get(matchSignature);
                          if (types == null) {
                            types = new THashMap<String, String>();
                            map.put(matchSignature, types);
                          }
                          PhpPsiElement val = element.getValue();
                          if (val instanceof ArrayCreationExpression) {
                            PhpPsiElement child = val.getFirstPsiChild();
                            while (child != null) {
                              if (child.getFirstPsiChild() instanceof BinaryExpression) {
                                BinaryExpression binary = ((BinaryExpression)child.getFirstPsiChild());
                                if (binary.getOperation().getNode().getElementType() == PhpTokenTypes.kwINSTANCEOF) {
                                  PsiElement leftOperand = binary.getLeftOperand();
                                  PsiElement rightOperand = binary.getRightOperand();
                                  if (leftOperand instanceof StringLiteralExpression && rightOperand != null) {
                                    types.put(((StringLiteralExpression)leftOperand).getContents(), rightOperand.getText());
                                  }
                                }
                              }
                              child = child.getNextPsiSibling();
                            }
                          }
                        }
                      }
                    }
                  }
                }
                return CachedValueProvider.Result.create(map, getMetaFile(project));
              }
            }, false);
          project.putUserData(STATIC_FACTORY_TYPE_MAP, myStaticMethodTypesMap);
        }
        return myStaticMethodTypesMap.getValue();
      }

    http://www.jetbrains.org/intellij/sdk/docs/phpstorm/php_open_api.html

    barop, 05 Февраля 2017

    Комментарии (1)
  9. Куча / Говнокод #22049

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    // Дамы и господа, на арене котлин.
    
    data class MyData(@MyAnnotation  var someProperty: String)
    
    // Пометил аннотацией публичную пропертю,  в публичном классе. Проверяем
    
    MyData::someProperty.annotations // Отлично, получили нашу аннотацию
    
    // Теперь запустили обфускатор и поломали все приватные символы. Больше аннотация НЕ ВОЗВРАЩАЕТСЯ?
    //  В чем секрет? Открываем .class файл
    
    private String someProperty;
    
    @NotNull
    public final String getSomeProperty()  //итд
    
    @MyAnnotation
    private static final void someProperty$annotations() {} //Чуваки хранят аннотацию в синтетическом методе <имя_проперти>$annotations
    // видимо чтобы не дублировать его в филде, геттере и сеттере
    
    //угадайте что случается приватным методом в момент обфускации?

    вообще как вам идея хранить в приватном символе часть публичного API?

    barop, 26 Января 2017

    Комментарии (16)
  10. Куча / Говнокод #22041

    +2

    1. 1
    https://webref.ru/css/viewport

    Зик
    3 месяца назад
    Я всё прочитал и запомнил и только потом увидел, что это не поддерживается ни одним браузером

    barop, 26 Января 2017

    Комментарии (6)
  11. Куча / Говнокод #22040

    −1

    1. 1
    2. 2
    3. 3
    As already mentioned, it uses a MMU, for both paging (not to disk yet) 
    and segmentation. It's the segmentation that makes it REALLY 386 dependent (
    every task has a 64Mb segment for code & data - max 64 tasks in 4Gb

    Сегментация в протектед моде? Я думал ею нткто не пользовался, пока ее в long не гроханули

    barop, 26 Января 2017

    Комментарии (4)