1. Лучший говнокод

    В номинации:
    За время:
  2. Assembler / Говнокод #15415

    +145

    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
    global _start
    
    section .text
    
    _start:
    
    	mov	eax, 0b10010100101100110111110110111110
    	;  эти битики будут выведены на печать
    	
    	mov	ecx, 0b00011000000110000001100000011000
    	; Четыре недозаполненных ascii кодов символов '0' или '1', в который из флага переноса заталкивается битик 0 или 1
    
    	%rep 8
    	mov	ebx, ecx
    	%rep    3
    		shr	eax, 1 ; Захавываем битик в флаг переноса
    		rcl	ebx, 1 ; Запихиваем из флага переноса в недозаполненные ascii коды
    		rol	ebx, 7 ; Проматываем на следующий кусок
    	%endrep
    	shr	eax, 1
    	rcl	ebx, 1 ; На последней стадии все то же самое, только проматывать уже не надо
    
    	push ebx ; Теперь все битики всунуты, пихнем содержимое регистра в стек
    	%endrep
    
    
        
    	mov	eax, 04h ; write()
    	mov	ebx, 01h ; stdout
    	mov	ecx, esp ; распечатаем из стека
    	mov	edx, 32  ; 32 символа
    	int	80h
    	
    	mov	eax, 01h ; exit()
    	xor	ebx, ebx ; errno
    	int	80h

    NASM Linux x86
    Суть - вывести содержимое регистра в двоичной системе счисления
    Можно было вместо этой мути использовать CMOVC ( Move if carry (CF=1) ) или еще что-нибудь такое придумать, есть же еще BT, BTS, глаза разбегаются
    ...вообще хрен его знает, какой-то упоротый этот x86 ассемблер, надо бы AVR осваивать, там регистров побольше

    j123123, 10 Марта 2014

    Комментарии (6)
  3. 1C / Говнокод #15364

    −171

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
    	
    	если ПараметрыСеанса.ТекущийПользователь.Наименование<>"Администратор" тогда
    		
    		Сообщить("Данная обработка доступна только для Администратора",СтатусСообщения.Важное);
    		
    		Отказ=Истина;
    		
    	конецесли;
    	
    КонецПроцедуры

    NBQ, 06 Марта 2014

    Комментарии (6)
  4. C# / Говнокод #15280

    +130

    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
    static void npcMove(string npcid, string posX, string posZ, string posY, int localsid)
            {
                byte[] opcode = { 0x4d, 0x00, 0x16, 0x23, 0x00 };
                byte[] npcid_in_bytes = new byte[4];
                npcid_in_bytes = Enumerable.Range(0, npcid.Length).Where(x => x % 2 == 0).Select(x => Convert.ToByte(npcid.Substring(x, 2), 16)).ToArray();
                Array.Reverse(npcid_in_bytes);
                byte[] posX_in_bytes = PackFloatStringArrayOfBytes(posX);
                byte[] posZ_in_bytes = PackFloatStringArrayOfBytes(posZ);
                byte[] posY_in_bytes = PackFloatStringArrayOfBytes(posY);
                byte[] unknown = { 0x00, 0x0f, 0x5c, 0x01, 0x01 };
                byte[] roleid_in_bytes = packint(16);
                byte[] localdsid_in_bytes = packint(localsid);
                byte[] buffer = opcode.Concat<byte>(npcid_in_bytes)
                    .Concat<byte>(posX_in_bytes).Concat<byte>(posZ_in_bytes).Concat<byte>(posY_in_bytes)
                    .Concat<byte>(unknown).Concat<byte>(roleid_in_bytes).Concat<byte>(localdsid_in_bytes).ToArray<byte>();
                buffer[1] = Convert.ToByte(buffer.Length - 2);
                Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                socket.Connect(localhost, GProviderPort);
                socket.Send(buffer);
                socket.Close();
            }

    VityaPW, 01 Марта 2014

    Комментарии (6)
  5. PHP / Говнокод #15054

    +133

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Смешались в кучу кони, люди...
    //знаю, что не комильфо писать запрос в контролере, но уже поссрать... ("поССрать", © 2014, Gary)
    $tempo = $this->db->query("SELECT `price_lists`.`id`, `companies`.`company_id`, `companies`.`name`  FROM `price_lists` LEFT JOIN `companies` ON `companies`.`company_id` = `price_lists`.`postovchik_id`")->result();
    $data['pricelistzgrrrrrrrrrr'] = array();
    if (is_array($tempo) && count($tempo)) {
        foreach ($tempo as $postovchik) {
            $data['pricelistzgrrrrrrrrrr'][$postovchik->id] = $postovchik->name;
        }
    }

    Gary, 27 Февраля 2014

    Комментарии (6)
  6. Java / Говнокод #15009

    +69

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    final double base = 10.0;
    final int minCode = (int)Math.pow(base, CODE_LENGTH - 1) - 1;
    final int maxCode = (int)Math.pow(base, CODE_LENGTH) - 1;
    
    while (true)
    {
        final int code = codeGenerator.nextInt();
        if ((code > minCode) && (code <= maxCode))
        {
            return String.valueOf(code);
        }
    }

    Геренация случайного пина с определенным интервалом.

    rvller, 26 Февраля 2014

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

    +128

    1. 1
    #define STUPID_ACCELF_TEXT_SHIT

    laMer007, 26 Февраля 2014

    Комментарии (6)
  8. JavaScript / Говнокод #14801

    +152

    1. 1
    $('<div />').html($title.html()).text();

    Нашел у себя, пытался вспомнить к чему данный финт ушами

    DrFreez, 22 Февраля 2014

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

    +127

    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
    import std.stdio;
    
    struct Vector
    {
        private static bool checkOpDispatch(in string str)
        {
            if(str.length != 4) return false;
            foreach(c; str)
            {
                if(c != 'x' && c != 'y' && c != 'z' && c != 'w') return false;
            }
            return true;
        }
        float x,y,z,w;
    
        @property auto opDispatch(string s)() const if(checkOpDispatch(s))
        {
            return Vector(mixin(s[0..1]),
                          mixin(s[1..2]),
                          mixin(s[2..3]),
                          mixin(s[3..4]));
        }
        
        void print() const
        {
            writefln("Vector: %f, %f, %f, %f", x, y, z, w);
        }
    }
    
    void main() 
    {
    	//vector swizzling
        Vector v = {1,2,3,4};
        v.print();
        auto v1 = v.wzyx;
        v1.print();
        auto v2 = v.xyxy;
        v2.print();
    }

    http://ideone.com/bfA9gI

    LispGovno, 10 Февраля 2014

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

    +156

    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
    function scramble(){
    	var p1,p2,p3,p4,p5,p6
    	p1='<a title="Написать письмо" href="mai'
    	p2='komiaviatrans'
    	p3='">'
    	p1+='lto:'
    	p2+='@'
    	p5='</a>'
    	p6='<img src="img/ico/xfmail.png" height="38" style="border: 0px;" align="center" valign="center" ></img>'
    	p2+='komi.com'
    	p4=p6
    	document.write(p1+p2+p3+p4+p5)
    }
    scramble();

    wtf?
    http://komiaviatrans.ru/

    karandash, 07 Февраля 2014

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

    +67

    1. 1
    2. 2
    3. 3
    File unzippedDir = File.createTempFile("po.", null);
    unzippedDir.delete();
    unzippedDir = new File(unzippedDir.getAbsoluteFile() + ".dir");

    ну да, а посмотреть сигнатуру метода, который вызываем, не судьба, лучше изобрести велосипед
    public static File createTempFile(String prefix, String suffix) throws IOException
    СУФФИКС!!!

    evg_ever, 04 Февраля 2014

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