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

    В номинации:
    За время:
  2. 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)
  3. 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)
  4. Куча / Говнокод #20257

    +3

    1. 1
    https://www.google.ru/search?q=-fpermissive

    Почему я не могу узнать, что делает флаг -fpermissive????7777

    Steve_Brown, 23 Июня 2016

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

    +3

    1. 1
    https://geektimes.ru/post/277444/

    LispGovno, 20 Июня 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if(substr($_POST['id'], -3) == '_id'){
    	echo mpql(mpqw("SELECT name FROM {$conf['db']['prefix']}{$arg['modpath']}_". substr($_POST['id'], 0, strlen($_POST['id'])-3). " WHERE id=". (int)$_POST['value']), 0, 'name');
    }else{
    	echo $_POST['value'];
    }

    https://github.com/mpak2/mpak.su/blob/master/modules/users/edit.свойства.php

    3_dar, 15 Июня 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    #define ROOSTER "?"
    #define CONDENSED_MILK "."
    
    string kokoko = string(ROOSTER, 1) + string(CONDENSED_MILK);

    ЧТО блять мешает написать
    string kudkudah(".?");

    ЧТО?

    codemonkey, 15 Июня 2016

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

    +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
    void CRenderer::renderToTexture(CTexture &dest, CTexture &src, TRANSFORM tr)
    {
    	int w = src.width();
    	Concurrency::parallel_for(0, w, [&] (int i) 
    	{
    		int h = src.height();
    		for(int j = 0; j < h; j++)
    		{
    			COLOR temp = src.pixel(i, j);
    			if(temp == TRANSPARENT_COLOR) continue;
    
    			//scale
    			float dx = (i-(w/2) + 0.5f)*tr.scale[0];
    			float dy = (j-(h/2) + 0.5f)*tr.scale[1];
    
    			//rotate
    			float dx2 = dx*tr.cosRot - dy*tr.sinRot;
    			float dy2 = dx*tr.sinRot + dy*tr.cosRot;
    
    			//translate
    			dx2 += tr.trans[0];
    			dy2 += tr.trans[1];
    
    			//update pixels
    			float xMin = dx2 - 0.5f*tr.scale[0] + w/2;   if(xMin < 0) xMin = 0;
    			float yMin = dy2 - 0.5f*tr.scale[1] + w/2;   if(yMin < 0) yMin = 0;
    			float xMax = xMin + tr.scale[0];  if(xMax-(int)xMax > 0) xMax++;   if(xMax >= dest.width()) xMax = dest.width()-1;
    			float yMax = yMin + tr.scale[1];  if(yMax-(int)yMax > 0) yMax++;   if(yMax >= dest.height()) yMax = dest.height()-1;
    			for(float ki = xMin; ki <= xMax; ki++) for(float kj = yMin; kj <= yMax; kj++) dest.pixel(ki, kj) = temp;	
    		}
    	});
    }

    Писал ручками трансформацию картинок в 2д, вышло без искажений пропорций, но с дырками, уродливо, и просадило фпс в самую жопень!

    puksus, 14 Июня 2016

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

    +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
    if('sqlite' == get($conf, 'db', 'type')){
    	if(($admin_usr = get($_POST, "admin_usr")) && ($admin_pass = get($_POST, "admin_pass"))){
    		if($users = fk("{$conf['db']['prefix']}users", $w = array("name"=>$admin_usr, "pass"=>mphash($admin_usr, $admin_pass)), $w += array("type_id"=>1), $w)){
    			if($grp = rb("users-grp", "name", "[". get($conf, 'settings', 'user_grp'). "]")){
    				if($mem = fk("{$conf['db']['prefix']}users_mem", $w = array("uid"=>$users['id'], "grp_id"=>$grp['id']), $w)){
    					if($grp = rb("users-grp", "name", "[". get($conf, 'settings', 'admin_grp'). "]")){
    						if($mem = fk("{$conf['db']['prefix']}users_mem", $w = array("uid"=>$users['id'], "grp_id"=>$grp['id']), $w)){
    							if($settings = fk("{$conf['db']['prefix']}settings", $w = array("name"=>"admin_usr"), $w += array("modpath"=>"users", "aid"=>5, "value"=>$users['name'], "description"=>"Корень"), $w)){
    								qw($sql = "UPDATE {$conf['db']['prefix']}sess SET uid=". $users['id']. " WHERE id=". get($conf, 'user', 'sess', 'id'));
    								exit(header("Location: /admin"));
    							}else{ pre("Ошибка установки администратора сайта"); }
    						}else{ pre("Ошибка добавления пользователя в группу администраторов"); }
    					}else{ pre("Ошибка добавления группы администраторов"); }
    				}else{ pre("Ошибка добавления пользователя в группу пользователи"); }
    			}else{ pre("Ошибка добавления группы пользователей"); }
    		}else{ pre("Ошибка добавления администратора"); }
    	}else if(get($conf, 'settings', 'admin_usr')){ pre("База данных 'sqlite' корень сутановлен"); }else{
    		$form = <<<EOF
    			<div>
    				<form method="post" style="padding:150px; text-align:center;">
    					<p><input type="text" name="admin_usr" placeholder="Имя администратора"></p>
    					<p><input type="password" name="admin_pass" placeholder="Пароль администратора"></p>
    					<p><button>Установить</button></p>
    				</form>
    			</div>
    EOF;
    		exit($form);
    	}
    }

    установка жираф cms. Ужасы внутри phar-архива
    https://github.com/mpak2/mpak.su

    loki90, 10 Июня 2016

    Комментарии (4)
  10. PHP / Говнокод #20167

    +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
    /**
    	* Gibt ein Array mit den Fehlermeldungen zurück
    	*
    	* @todo Test
    	* @param void
    	* @return bool|array True = Keine Fehler, Array = Fehler-Array
    	* @access public
    	* @since version 4.0
    	*/
    public function get_meldung()
    	{
    		if($fehler_meldung == null)
    		{
    			return true;
    		}
    		else
    		{
    			for($errori=0;$fehleri<count($this->fehler_meldung);$fehleri++)
    			{
    				echo $this->fehler_meldung[$fehleri]."<br>\n";
    			}	
    			return false;
    		}
    	}

    Ещё немного немецкого говнокода.
    По описанию ЭТО возвращает true когда ошибок нет или array с ошибками.

    kropotor, 09 Июня 2016

    Комментарии (15)
  11. PHP / Говнокод #20165

    +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
    function get_users(){
    	$limit = 5;
    	$offset = 0;// $limit * intval($_POST["offset"]);
    	$ids = mysql_escape_string($_POST['ids']);
    	$res = mysql_query("SELECT * from users where id not in ($ids) limit 6 offset $offset");
    	$i = 0;
    	if($res){
    		while ($user = mysql_fetch_object($res)) {
    			$i++;
    			if($i == 6){
    				$i = 5;
    				$more = 'yes';
    				continue;
    			}
    			$users['i' . $i] = $user;
    		}
    		$data = array("status" => "ok", "users" => $users, "count" => $i, 'more' => $more ? $more : "0");
    		echo json_encode($data, JSON_UNESCAPED_UNICODE);
    }

    Пагинация??? Давайте просто пришлём id тех, кого не нужно возвращать

    nikolawan, 09 Июня 2016

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