- 1
- 2
Золотце
https://lj.rossia.org/users/sadkov/103320.html?nc=55
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−2
Золотце
https://lj.rossia.org/users/sadkov/103320.html?nc=55
OpenGL - говно опенсурсное
Попытался реализовать getPixel и putPixel на OpenGL, в результате получение одного пикселя занимает болшьшую часть времени выполнения программы. Другие люди тоже жалуются на тормознутость функций OpenGL, вроде glDrawPixels и glReadPixels
https://stackoverflow.com/questions/39821850/why-is-glreadpixels-so-slow-and-are-there-any-alternative
https://stackoverflow.com/questions/36534933/gldrawpixels-vs-textures-to-draw-a-2d-buffer-in-opengl
>glDrawPixels is known to be very slow
Зачем вообще нужно все это 3d ускорение? В DOS все было идеально:
((uint8_t*)(0xB8000))[y*320+x] = pixel
почему нельзя современным программам предоставить такой 0xB8000 адрес и пару регистров вывода? Зачем все эти ритуалы? И да, MMU и protected mode значительно замедляют доступ к памяти, посему современный DOS работал бы на порядок быстрей Windows/Linux. Протекция памяти оправдана только на этапе разработки программы, а для release билда ее лучше отключить, чтобы иметь прямой доступ к реальной памяти.
И я не одинок в негодовании:
https://stackoverflow.com/questions/39430404/drawing-pixels-in-opengl
>I'm using integrated GPU (Intel HD graphics 4000), as far as I know CPU and GPU share the same memory so why is it that I need to download? Why is it impossible to get a pointer?
Начинаю думать, что Unabomber был прав во всем - надо к чертям взорвать офисы мразотных бюрократов из Khronos Group.
−4
http://developer.android.com/
Заблокировано в РФ
http://isitblockedinrussia.ru/?host=http%3A%2F%2Fdeveloper.android.com%2F
http://addons.mozilla.org
Заблокировано в РФ
http://isitblockedinrussia.ru/?host=http%3A%2F%2Faddons.mozilla.org%20
ж)
+5
//Модуль 1
Функция хуй() экспорт
возврат хуйбазовый();
конецфункции
//Модуль 2
Функция хуйбазовый() экспорт
возврат хуйразширеный();
конецфункции
//Модуль 3
Функция хуйстандартный() экспорт
возврат хуйособый();
конецфункции
//Модуль 4
Функция хуйособый() экспорт
возврат хуйуправляемый();
конецфункции
//Модуль 5
Функция хуйуправляемый() экспорт
возврат получитьхуй();
конецфункции
//Модуль 6
Функция получитьхуй() экспорт
возврат хуйстандарт();
конецфункции
и т.д.
Нахуя?
+4
function isPalindrom1(str) {
if (str.toLowerCase().replace(/[^а-яА-ЯёЁ]/g, '') === str.toLowerCase().replace(/[^а-яА-ЯёЁ]/g,
'').split('').reverse().join('')) {
return true;
} else {
return false;
}
}
"Красиво, просто, изящно."
h: post/351874/
−6
Бомбёж по поводу Telegram
Вот что бы там не говорили про право на тайну переписку, а у него есть важное ограничение, о котором все забыли: если человек подозревается в преступлении, то государство имеет полное моральное и юридическое право читать его переписку. А вот Пашка Дуров об этом не знает, либо знает, но намеренно это игнорирует, а потом тысячи глупых хомячков бросают из окон самолётики и обвиняют РКН. Я вот полностью поддерживаю международное уголовное преследование Пашки за пособничество терроризму.
+3
http://www.ssw.uni-linz.ac.at/Research/Papers/Wuerthinger07/Wuerthinger07.pdf
Как известно, в языках C и C++ есть проблема с buffer overflow, в то время как в языке Java такой проблемы нет (баги в реализации самой JVM не рассматриваем). В языке Java, как и в многих других подобных языках для анскиллябр заедушных, не могущих в сырые указатели, сделали проверки границ массива. В говноязыке C++ впрочем тоже есть какая-то такая питушня, например std::vector::at выполняет роверку выхода индекса за границы диапазона вектора. Только вот в язык JVM давно уже внедряют такую хреноту, как array bounds check elimination, т.е. убирание проверок, когда на этапе компиляции можно доказать, что такие проверки не нужны.
В какой версии C++ сделают чтоб std::vector::at тоже вот так могло автозаменяться на небезопасный аналог если компилятор доказал что там эти проверки не нужны?
0
if (cond1)
{
do_shit1();
}
else if (cond2)
{
do_shit2();
}
else if (cond3)
{
do_shit3();
}
else if (cond4)
{
do_shit4();
}
Вот например есть такая вот типичная хуита, предположим что я знаю, что среди этих cond1 cond2 ... только один может быть true, остальные условия всегда будет ложными.
И в этой сраной цепочке из if - else if можно перемещать if блоки без изменения логики. НО в языке Си (да и в C++ я уверен тоже) нет способа сказать компилятору что-то вроде "только одно из условий true, так что ты, сраный компилятор, можешь переделывать эту хуиту, и даже убрать else, если процессор в таком случае (при if(cond1) {do_shit1();}; if(cond2) {do_shit2();}; ... ) будет эту ссанину быстрее обрабатывать".
Какие-нибудь языки программирования такую оптимизацию вообще умеют?
0
$(document).ready(function() {
console.log("Ready");
var
block_1 = document.getElementsByClassName('block_1')[0],
block_2 = document.getElementsByClassName('block_2')[0],
block_3 = document.getElementsByClassName('block_3')[0],
block_4 = document.getElementsByClassName('block_4')[0],
open_1 = document.getElementsByClassName('open-1')[0],
open_2 = document.getElementsByClassName('open-2')[0],
open_3 = document.getElementsByClassName('open-3')[0],
open_4 = document.getElementsByClassName('open-4')[0];
open_1.onclick = function(){
block_1.style.display = "block";
block_2.style.display = "none";
block_3.style.display = "none";
block_4.style.display = "none";
};
open_2.onclick = function() {
block_2.style.display = "block";
block_1.style.display = "none";
block_3.style.display = "none";
block_4.style.display = "none";
};
open_3.onclick = function() {
block_2.style.display = "none";
block_1.style.display = "none";
block_3.style.display = "block";
block_4.style.display = "none";
};
open_4.onclick = function() {
block_2.style.display = "none";
block_1.style.display = "none";
block_3.style.display = "none";
block_4.style.display = "block";
};
});
0
private static bool IsOnlyServiceWindowsFile(string directory)
{
string[] ignoredFiles = { "Thumbs.db", "Desktop.ini" };
var files = Directory.GetFiles(directory);
foreach (var file in files)
{
var filename = Path.GetFileName(file);
foreach (var ignored in ignoredFiles)
{
if (string.Equals(filename, ignored, StringComparison.OrdinalIgnoreCase))
{
goto NEXT;
}
}
return false;
NEXT: ;
}
return true;
}
Пришёл в C# из Java, где есть замечательная фича под названием Label.
В C# для вложенных циклов оказался лишь GOTO.
Метод проверяет наличие в каталоге только сервисных файлов винды.
+1
#include <stdio.h>
int main()
{
for (int x; scanf("%d", &x);) {
#define x x += x
x & (x-1);
printf("%d\n", x);
}
return 0;
}
https://ideone.com/SxgTL0
-3 -28
-2 -20
-1 -12
0 -4
1 4
2 12
3 20
Ничо нипанятна...