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

    Всего: 32

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

    −17

    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
    #!/bin/bash
    
    echo "Windows 10 installation script by cykablyad v0.1"
    
    if [ "$(id -u)" != "0" ]; then
       echo "run me as root plz"
       exit 1
    fi
    
    source=$1
    
    target="$2"
    bootp="${2}1"
    winp="${2}2"
    
    mountdir="${3:-/mnt}"
    isodir="${mountdir}/iso"
    bootdir="${mountdir}/boot"
    windir="${mountdir}/win"
    
    echo "erasing disk"
    parted -s $target mklabel gpt
    echo "creating boot partition"
    parted -s $target mkpart primary fat32 2048s 616447s # 300MB boot partition
    echo "creating Windows partition"
    parted -s -a optimal $target mkpart primary ntfs 616448s 100% # Windows partition
    echo "formatting boot partition"
    mkfs.fat $bootp
    echo "formatting Windows partition"
    mkfs.ntfs -fq $winp
    mkdir $isodir
    mkdir $bootdir
    mkdir $windir
    mount $source $isodir
    mount $bootp $bootdir
    mount $winp $windir
    echo "extracting Windows files"
    wimextract ${isodir}/sources/install.esd 1 --dest-dir $windir
    echo "copying bootloader"
    mkdir -p ${bootdir}/EFI/Boot
    mkdir -p ${bootdir}/EFI/Microsoft/Boot/Fonts
    mkdir -p ${bootdir}/EFI/Microsoft/Boot/Resources
    cp -r ${windir}/Windows/Boot/EFI/* ${bootdir}/EFI/Microsoft/Boot
    cp -r ${windir}/Windows/Boot/Resources/* ${bootdir}/EFI/Microsoft/Boot/Resources
    cp ${windir}/Windows/Boot/Fonts/* ${bootdir}/EFI/Microsoft/Boot/Fonts
    cp ${windir}/Windows/Boot/EFI/bootmgfw.efi ${bootdir}/EFI/Boot/bootx64.efi
    echo "generating bcd"
    cp ${windir}/Windows/System32/config/BCD-Template ${bootdir}/EFI/Microsoft/Boot/BCD
    cat <<< 'rdel Objects
    q
    y' | reged -e ${bootdir}/EFI/Microsoft/Boot/BCD
    diskuuid=$(blkid -o value -s PTUUID $target | sed -e 's/-//g' | sed -r 's/(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{8})/\4\3\2\1\6\5\8\7\9/' | sed -r 's/(.{2})/\1,/g')
    bootuuid=$(blkid -o value -s PARTUUID $bootp | sed -e 's/-//g' | sed -r 's/(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{8})/\4\3\2\1\6\5\8\7\9/' | sed -r 's/(.{2})/\1,/g')
    winuuid=$(blkid -o value -s PARTUUID $winp | sed -e 's/-//g' | sed -r 's/(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})(.{8})/\4\3\2\1\6\5\8\7\9/' | sed -r 's/(.{2})/\1,/g')
    
    cat <<< "Windows Registry Editor Version 5.00
    ... дохуя содержимого реестра ...
    " > ${bootdir}/EFI/Microsoft/Boot/BCD.reg
    echo y | reged -I ${bootdir}/EFI/Microsoft/Boot/BCD HKEY_CURRENT_USER\\lightbcd ${bootdir}/EFI/Microsoft/Boot/BCD.reg
    echo "done"

    Этот скрипт устанавливает винду, проверь

    Сильно не бить, я ниасилил баш

    cykablyad, 20 Января 2017

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

    −18

    1. 1
    https://habrahabr.ru/post/319846/

    Все равно лучше чем пхп

    cykablyad, 18 Января 2017

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

    −26

    1. 1
    https://habrahabr.ru/post/316112/

    cykablyad, 25 Ноября 2016

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

    −4

    1. 1
    2. 2
    3. 3
    4. 4
    Челлендж
    
    Написать на любом языке программирования код, который будет генерировать и выводить ASCII-гоатсе
    Использование константного гоатсе запрещено

    Тот, у кого получится самый короткий хуй код, получает очко 3_14darа в качестве приза

    cykablyad, 10 Июля 2016

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

    +5

    1. 1
    Ура, WCT

    https://habrahabr.ru/post/305190/

    cykablyad, 08 Июля 2016

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

    +5

    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
    // Для типа можно вызвать статические методы
    internal bool ЭтоТип;
    // Для перечислений нужно вызывать Enum.Parse(T, name);
    internal bool IsEnum;
    
    // ЭтоExpandoObject тоже отдельно обрабатывается.
    //В дальнейшем реализую поддерку DynamicObject или универсально DynamicMetaObject
    internal bool ЭтоExpandoObject;
    
    // Это анахронизмы от COM
    internal static bool ЭтоСемерка = false;
    internal static bool ВыводитьСообщениеОбОшибке = true;
    internal static Exception ПоследняяОшибка = null;
    
    // Делегат для выделения памяти на стороне неуправляемого кода
    internal static ВыделитьПамятьDelegate ВыделитьПямять;
    //Делегат для сообщения об ошибке в неуправляемый код
    internal static ИнформацияОбОшибкеDelegate ИнформацияОбОшибке;

    https://habrahabr.ru/post/304482
    Здрасте

    cykablyad, 01 Июля 2016

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

    +3

    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
    80. 80
    81. 81
    82. 82
    #include "stdafx.h"
    #include <Windows.h>
    #pragma comment(lib, "gdiplus.lib")
    #include <gdiplus.h>
    #include <vector>
    #include <chrono>
    
    wchar_t* path =
    L"здесь был путь*";
    
    using namespace Gdiplus;
    using namespace std::chrono;
    
    int main()
    {
    	GdiplusStartupInput gdipInput;
    	ULONG_PTR gdipToken;
    	GdiplusStartup(&gdipToken, &gdipInput, NULL);
    	HWND progman = FindWindowW(L"Progman", NULL);
    	HWND workerw = GetWindow(progman, GW_HWNDPREV);
    	HDC dc = GetDC(workerw);
    	
    	std::vector<Bitmap*> images;
    	WIN32_FIND_DATAW fdata = { 0 };
    	HANDLE hFind = FindFirstFileW(path, &fdata);
    	int
    		scrWidth = GetSystemMetrics(SM_CXSCREEN),
    		scrHeight = GetSystemMetrics(SM_CYSCREEN);
    	UINT width, height;
    	bool isInfoRetrieved = false;
    	std::wstring wmp(path);
    	wmp = wmp.substr(0, wmp.length() - 1);
    	do {
    		Bitmap* bmp = Bitmap::FromFile((wmp + fdata.cFileName).c_str());
    		if (bmp->GetLastStatus() != Gdiplus::Ok) continue;
    		int width = bmp->GetWidth();
    		int height = bmp->GetHeight();
    		double ratio = (double)width / height;
    		if (ratio > 1) {
    			width = scrWidth;
    			height = scrWidth / ratio;
    		}
    		else {
    			width = scrHeight * ratio;
    			height = scrHeight;
    		}
    		Bitmap* resized = new Bitmap(width, height, PixelFormat32bppRGB);
    		Graphics* resizedGr = Graphics::FromImage(resized);
    		resizedGr->DrawImage(bmp, 0, 0, width, height);
    		delete resizedGr;
    		delete bmp;
    		images.push_back(resized);
    	} while (FindNextFile(hFind, &fdata));
    	FindClose(hFind);
    	
    	Graphics* mainGr = Graphics::FromHDC(dc);
    	Bitmap* bufBmp = new Bitmap(scrWidth, scrHeight, PixelFormat32bppRGB);
    	Graphics* bufGr = Graphics::FromImage(bufBmp);
    	
    	int count = images.size();
    	int gap = 1000 / count;
    
    	while (true) {
    		for (auto it = images.begin(); it != images.end(); it++) {
    			milliseconds ms1 = duration_cast<milliseconds>(
    				system_clock::now().time_since_epoch());
    			Bitmap* bmp = *it;
    			int width = bmp->GetWidth();
    			int height = bmp->GetHeight();
    			int xOfs = (scrWidth - width) / 2, yOfs = (scrHeight - height) / 2;
    			bufGr->Clear(Color::Black);
    			bufGr->DrawImage(*it, xOfs, yOfs, width, height);
    			mainGr->DrawImage(bufBmp, 0, 0);
    			milliseconds ms2 = duration_cast<milliseconds>(
    				system_clock::now().time_since_epoch());
    			milliseconds delta = ms2 - ms1;
    			if (gap > delta.count())
    				Sleep(gap - delta.count());
    		}
    	}
    	return 0;
    }

    Код для рисования под иконками рабочего стола на винде
    Да, в винде можно так делать

    Нахуй никому не нужно, но выглядит заебись

    cykablyad, 26 Июня 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Оффтоп
    
    Пишу либу для гуя в консоли. Столкнулся с проблемой медленного вывода в консоль на линуксе.
    На винде есть няшный WriteConsoleOutput, который может вывести буфер разом на консоль, в линупсе ничего подобного не нашел.
    Если использовать Console.WriteLine или libc-шный puts, все лагает неимоверно
    
    Есть идеи?

    cykablyad, 24 Июня 2016

    Комментарии (168)
  10. C# / Говнокод #19551

    −3

    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
    _sock = new Socket(SocketType.Stream, ProtocolType.Tcp);
    var saea = new SocketAsyncEventArgs {RemoteEndPoint = new IPEndPoint(0x0100007f, 1338)};
    var mre = new ManualResetEventSlim(false);
    saea.Completed += (o, e2) => mre.Set();
    _sock.ConnectAsync(saea);
    mre.Wait();
    mre.Reset();
    var idBuf = new byte[8];
    var idSeg = new ArraySegment<byte>(idBuf);
    saea = new SocketAsyncEventArgs { BufferList = new[] { idSeg } };
    saea.Completed += (o, e2) => mre.Set();
    _sock.ReceiveAsync(saea);
    mre.Wait();
    Task.Run((Action) ReceivingLoop);
    mre.Dispose();

    Блядские сокеты в UWP. Майки лучше не смогли ничего придумать, как добавлять в язык с нормальной асинхронностью сокеты на КОЛЛБЕКАХ блять. В 2016. Коллбеки. Да они там ебанулись к хуям

    cykablyad, 01 Марта 2016

    Комментарии (8)
  11. C# / Говнокод #19521

    +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
    if (t.IsFaulted)
    {
        try
        {
            throw t.Exception.InnerException;
        }
        catch (ObjectDisposedException)
        {
            Dispose();
            return;
        }
        ...
    }

    cykablyad, 24 Февраля 2016

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