1. Куча / Говнокод #25708

    0

    1. 1
    Зачем "\r", если достаточно "\n"?

    SteadfastTinCock, 09 Июля 2019

    Комментарии (51)
  2. PHP / Говнокод #25707

    −16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    https://habr.com/ru/company/alfa/blog/447416/
    
    Тестирование от профессионалов показало, что одинарные кавычки в "PHP" быстрее двойных; а, между тем,
    именно по одинарным кавычкам я всегда и тёк (двойные вечно казались мусором). Всегда, после того, как я
    машинально-нервически производил в чужом коде замену двойных кавычек на одинарные после мамкиных
    дипломатов влажных "Курсов PHP за две недели", замечал, что код начинает работать значительно быстрее.
    
    Поэтому я за "PHP" - в нём задачи оптимизации работы сайтов решаются проще пареного хуя.

    SteadfastTinCock, 09 Июля 2019

    Комментарии (67)
  3. Си / Говнокод #25706

    +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
    55. 55
    56. 56
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    #define SWITCHCALL                                                         \
      dtrick                                                                   \
      switch(cnt){                                                             \
      case 0:  r = fp(); break;                                                \
      case 1:  r = fp(d[0]); break;                                            \
      case 2:  r = fp(d[0], d[1]); break;                                      \
      case 3:  r = fp(d[0], d[1], d[2]); break;                                \
      case 4:  r = fp(d[0], d[1], d[2], d[3]); break;                          \
      case 5:  r = fp(d[0], d[1], d[2], d[3], d[4]); break;                    \
      case 6:  r = fp(d[0], d[1], d[2], d[3], d[4], d[5]); break;              \
      case 7:  r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6]); break;        \
      case 8:  r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7]); break;  \
      case 9:  r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8]); break;                                            \
      case 10: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9]); break;                                      \
      case 11: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10]); break;                               \
      case 12: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11]); break;                         \
      case 13: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12]); break;                   \
      case 14: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13]); break;             \
      case 15: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14]); break;       \
      case 16: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15]); break; \
      case 17: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16]); break;                                           \
      case 18: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17]); break;                                     \
      case 19: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18]); break;                               \
      case 20: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19]); break;                         \
      case 21: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20]); break;                   \
      case 22: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21]); break;             \
      case 23: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22]); break;       \
      case 24: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23]); break; \
      case 25: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23],         \
                      d[24]);break;                                            \
      case 26: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23],         \
                      d[24],d[25]);break;                                      \
      case 27: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23],         \
                      d[24],d[25],d[26]);break;                                \
      case 28: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23],         \
                      d[24],d[25],d[26],d[27]);break;                          \
      case 29: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23],         \
                      d[24],d[25],d[26],d[27],d[28]);break;                    \
      case 30: r = fp(d[0], d[1], d[2], d[3], d[4], d[5], d[6], d[7],          \
                      d[8], d[9], d[10],d[11],d[12],d[13],d[14],d[15],         \
                      d[16],d[17],d[18],d[19],d[20],d[21],d[22],d[23],         \
                      d[24],d[25],d[26],d[27],d[28],d[29]);break;              \
    
    
      /******* ну вы понели *******/

    Какой кавай )))
    https://github.com/jsoftware/jsource/blob/master/jsrc/x15.c

    KaBauHblu_nemyx, 08 Июля 2019

    Комментарии (37)
  4. Swift / Говнокод #25705

    +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
    /* Create a JSON object from JSON data stream. The stream should be opened and configured. All other behavior of this method is the same as the JSONObjectWithData:options:error: method.
         */
    open class func jsonObject(with stream: InputStream, options opt: ReadingOptions = []) throws -> Any {
        var data = Data()
        guard stream.streamStatus == .open || stream.streamStatus == .reading else {
             fatalError("Stream is not available for reading")
         }
         repeat {
             var buffer = [UInt8](repeating: 0, count: 1024)
             var bytesRead: Int = 0
             bytesRead = stream.read(&buffer, maxLength: buffer.count)
             if bytesRead < 0 {
                 throw stream.streamError!
             } else {
                 data.append(&buffer, count: bytesRead)
             }
         } while stream.hasBytesAvailable
         return try jsonObject(with: data, options: opt)
    }

    Потоковое чтение JSON от авторов "iСделаль"

    Desktop, 07 Июля 2019

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

    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
    Я кое-что забыл уточнить. За родителями тоже ведется слежка, их смартфоны взломаны (не верят мне).
    Я подключал их к ноуту, когда еще не догадывался.
    Следит за мной не спецслужба, а просто кучка людей, среди которых и мои знакомые есть. 
    Что-то наподобие китов, может скоро узнаете о таких случаях в новостях.
    
    Можно взломать даже пиринговую сеть, я где то читал, суть просто в том, что достаточно перехватить 80% нод подключенных к концу.
    Как долго вообще физически взламывать все ноды? 
    Наверное, достаточно найти один эксплоит, и всё. 
    Тор может и выход, но я боюсь использовать его, после прочитанного мной.
    
    Как насчет аналогового телефона?
    Радио? Я вообще в этом не разбираюсь.
    
    Главное для меня - чтобы не вычислили моё местонахождение.

    OlegUP, 06 Июля 2019

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

    −2

    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
    #include <stdio.h>
    int* laɡ(int memory) {
        int* hui = malloc(memory);
        if (hui == NULL) {
            fprintf(stderr, "malloc failed\n");
        }
        laɡ(memory);
        return hui;
    }
    int main() {
        laɡ(1048576); // any number
        return 0;
    }

    Просто оставлю это здесь

    shite, 06 Июля 2019

    Комментарии (30)
  7. JavaScript / Говнокод #25702

    +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
    var XMLHttpRequest = function(XHR, type, listener) {
    	return function() {
    		var xhr = new XHR;
    		xhr.addEventListener(type, listener);
    		return xhr;
    	};
    }(XMLHttpRequest, 'loadend', function(e) {
    	if (this.status == 0) {
    		console.log(e.type, 'network error');
    	} else {
    		console.log(e.type, this.status);
    	}
    });
    
    // js-library code...

    unicorn, 06 Июля 2019

    Комментарии (3)
  8. Куча / Говнокод #25701

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Есть какие советы, как уехать за границу так, чтобы поддерживать связь с родителями и не быть найденным?
    
    Я думаю, что даже через мобильник связываться опасно.
    Пеленг, все дела, хоть там и схемы на жесткой логике, чаще всего. Но боязно.
    В конце концов, доступ к таким операциям можно получить через взлом сервера\технического отдела.

    OlegUP, 06 Июля 2019

    Комментарии (202)
  9. JavaScript / Говнокод #25700

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    xhr.upload.addEventListener('progress', function (e) {
      if (e.lengthComputable) {
        let percents = Math.round(e.loaded / e.total * 100)
        $(`#preloader-${preloaderId}`).html(`${percents}%`)
        $(`#preloader-${preloaderId}`).append(`<style>#preloader-${preloaderId}:before{ width: ${percents * 0.94}px;}</style>`);
      }
    }, false);

    Прогрессбар на псевдоэлементах.

    mesumev, 05 Июля 2019

    Комментарии (33)
  10. JavaScript / Говнокод #25699

    +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
    function natRound() {
    
    	var out = []
    	    , fib = [0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233] // etc
    	    , _data = function() { // random values
    
    			var out = []
    				, count = Math.round( Math.random() * 100)
    			;
    
    			for(var i=0; i < count; i++ ) {
    				out.push( Math.random() * 100 ); // in km
    			}
    
    			return out.sort(function(a,b){ return a-b; });
    	    }()
    	    , roundTo = function (value) {
    			var i = fib.length;
    			while(i--) {
    				if ( value < fib[i] ) continue;
    				return i? i: value; // natural sorting
    			}
    	    }
    	;
    
    	for( var i=0; i<_data.length; i++ ) {
    		out.push( 'Value: [' + _data[i] + ']; Sort = [' + roundTo(_data[i]) + ']' );
    	}
    
    	return out;
    }

    Необходимо было учесть дискретность при сортировке расстояний в километрах.
    Например, в синтаксисе Elastic это выглядит так:

    "ranges" => [
    [ "to" => 1 ],
    [ "from" => 1, "to" => 3 ],
    [ "from" => 3, "to" => 5 ],
    [ "from" => 5],
    // etc
    ]

    Используя цепочку чисел Фибоначчи, как наиболее "человечески приятный" ряд, функция roundTo возвращает число для сортировки значений массива.

    bot, 04 Июля 2019

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