-
Лучший говнокод
- В номинации:
-
- За время:
-
-
−1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
; минимальная .COM программа, которую я смог высрать в ascii
; генерит ret и передаёт на него управление
; пробел (and r/m8, reg) я тоже не использовал
; писалась в hex-кодах
push 314ah
pop ax
xor ax, 3070h
push ax
pop bx
pop ax
push ax
xor ah, [bx]
sub [bx], ah
pop ax
push ax
dec ax
xor ax, 3c3ch
xor bx, ah
jnz 013ah
hJ1X5p0P[XP2'('XPH5<<0'u!
Мой малинькый скукожоный моск очинь долго мучился, прежде чем родить это. Так что, не судити строго. :)
666_N33D135,
11 Июля 2018
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
#include <iostream>
#include <tuple>
using namespace std;
template<typename T, typename T0, typename T1, typename ...Args>
void PrintStruct(const tuple<T0 T::*, T1 T::*, Args T::*...>& members, const T& val)
{
cout << val.*std::get<0>(members) << endl;
PrintStruct(members._Get_rest(), val);
}
template<typename T, typename T0>
void PrintStruct(const tuple<T0 T::*>& members, const T& val)
{
cout << val.*std::get<0>(members) << endl;
}
struct MyStruct
{
int x;
float y;
static const tuple<decltype(&MyStruct::x), decltype(&MyStruct::y)> Members;
};
const tuple<int MyStruct::*, float MyStruct::*> MyStruct::Members = std::make_tuple(&MyStruct::x, &MyStruct::y);
int main()
{
MyStruct str = {123, 3.14159f};
PrintStruct(MyStruct::Members, str);
return 0;
}
Пытался понять, почему мой код не компилится в 2013 студии, и быстренько накатал этот минимальный пример. Но вышел облом - он почему-то компилится, в отличие от моей реальной либы со схожими шаблонными крестоконструкциями.
gammaker,
27 Июля 2016
-
+139
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
// ==UserScript==
// @name GK parent comment
// @namespace GK
// @description Adds links to parent commentary to GK comments, and sets parent commentary text as link tooltip.
// @include http://govnokod.ru/*
// @include http://www.govnokod.ru/*
// @version 1.0.0
// @updateURL http://userscripts.org/scripts/source/172756.meta.js
// @downloadURL http://userscripts.org/scripts/source/172756.user.js
// ==/UserScript==
(function(){
//hack for Chrome, as it doesn't support unsafeWindow.
if (typeof unsafeWindow == 'undefined')
{
unsafeWindow = (function()
{
var el = document.createElement('p');
el.setAttribute('onclick', 'return window;');
return el.onclick();
}())
};
$ = unsafeWindow.jQuery;
//dirty, DIRTY hack to wait for certain element to appear. -_-
//But I have no idea how to do it right.
function waitForSelector(selector, context, mustexist, callback) {
var l = $(selector, context).length;
if ((l>0) != mustexist)
{
setTimeout(function(){waitForSelector(selector, context, mustexist, callback)}, 50);
return false;
};
callback();
}
//short function for adding custom CSS rules. Why use Greasemonkey specific GM_setStyle() just for that?
function addCSS(rule) {
var styleElement = document.createElement("style");
styleElement.type = "text/css";
if (typeof styleElement.styleSheet !== 'undefined')
styleElement.styleSheet.cssText = rule;
else
styleElement.appendChild(document.createTextNode(rule));
document.getElementsByTagName("head")[0].appendChild(styleElement);
}
addCSS([
'.comment-parent-link {margin-left:10px;font-size:10pt}',
].join('/n'));
var PARENT = '<a class="comment-link comment-parent-link" href="">↑</a>';
var oldLoadComments = unsafeWindow.comments['load'];
function newLoadComments(aElemTrigger) {
var $parent = $(aElemTrigger).closest('.entry-comments');
oldLoadComments.call(this,aElemTrigger);
waitForSelector('.hcomment', $parent, true, function(){
setParentLinks($parent);
});
}
unsafeWindow.comments['load'] = newLoadComments;
function setParentLinks($context) {
$context.find('.hcomment').each(function(i,e){
var $this = $(this);
var $parent = $this.parents('.hcomment:eq(0)');
if ($parent.length) {
var $parentlink = $(PARENT);
$parentlink.attr('href', $parent.find('a.comment-link:eq(0)').attr('href'));
$parentlink.attr('title', $parent.find('.comment-text:eq(0)').text());
$this.find('a.comment-link:eq(0)').after($parentlink);
}
});
}
setParentLinks($('body'));
})();
http://userscripts.org/scripts/show/172756
По просьбам трудящихся, скрипт для поиска родительского комментария. Добавляет ссылку на родителя, и ставит его текст как тултип.
Учитывая подключение либы с самого сайта и метод поиска динамически подгруженных комментариев, вполне себе говнокод. А потому: тов. Страйкер, вынесите уже отдельно функцию comments.loadSuccessful()! А то адский гемморой любую постобработку комментариев делать.
Vindicar,
07 Июля 2013
-
+159
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
//Я думал тоже так сделать, но иногда для параметра нужны дополнительные аргументы. Например есть operator()(float, int preciseness). С запятыми такого не сделаешь. Я это применил в своих массивах. Можно написать так:
Array<int> arr;
arr.Init(), 5, 7, 65, 99, 267; //Инициализирует массива числами, перечисленными через запятую
//Кстати, сделал такое добавление в массив:
arr.Insert(0), 5, 7, 3; //Добавляет числа вначало массива
arr.Insert($), 888, 25, 76; //Добавляет в конец
arr.Insert($/2), 65, 23; //В середину
//Знак доллара сделал для схожести с языком D. Теперь не надо писать arr.length, можно писать $. Вообще, это должно быть медленнее, но компилятор оптимизирует и по тестам получается так же.
//P. S. В govnokod.ru не заносить.
http://www.gamedev.ru/code/forum/?id=148200&page=6#m76
CPPGovno,
29 Августа 2011
-
−86
- 1
- 2
- 3
- 4
- 5
- 6
for (i = 0; i < 3; i++) {
if (smth) {
blnCardValue = true;
i = 4;
}
}
клевый способ выйти из цикла
dimas_art,
29 Апреля 2010
-
+1
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
/* "[...] To fix this I added a delay at the end of the function and the events
now fire properly. Thank you for all of your help. Fixed Code:"
*/
data.indexedDB.addSource = function(sourceBlob) {
//adds source to data base
var version = 1;
var request = indexedDB.open("content", version);
request.onerror = errorHandler;
request.onsuccess = function(e) {
db = e.target.result;
var trans = db.transaction(["nContent"], "readwrite");
var store = trans.objectStore("nContent");
var request = store.put(sourceBlob);
trans.oncomplete = function(e) {
extron.indexedDB.getIndexedSource();
};
};
var token = 100000;
while(token != 0)
{
token = token-1;
}
};
https://stackoverflow.com/questions/27494247/why-is-my-indexeddb-open-onsuccess-event-not-called
ISO,
02 Сентября 2025
-
0
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
#!/usr/bin/env python3
import subprocess as sp
lines_pipe = sp.Popen(('xinput', 'list'), stdout=sp.PIPE)
id_line = str(sp.check_output(('grep', 'Touchpad'), stdin=lines_pipe.stdout))
a = id_line.index("id=") + 3
b = a
while id_line[b] in set(list("0123456789")):
b += 1
id = id_line[a:b]
status_pipe = sp.Popen(('xinput', 'list-props', id), stdout=sp.PIPE)
sp.run(('xinput', ['enable', 'disable'][int(str(sp.check_output(('grep', 'Device Enabled'), stdin=status_pipe.stdout))[-4]=='1')], id))
Предыдущий прыщескрипт на bash соснул, так как захардкоженный "id", оказалось, иногда может меняться, поэтому скрипт был благополучно перенесён на "Python".
JloJle4Ka,
27 Января 2022
-
+3
- 1
- 2
- 3
if err != nil {
return nil, err
}
Как же заебало
3_dar,
15 Декабря 2021
-
−2
- 1
https://habr.com/ru/post/576818/
Мне очень не по себе при мысли о том, что до сих пор находятся на первый взгляд вполне адекватные и вменяемые люди моей и смежных профессий - программисты, админы и пр., - сознательно продолжающие работать на реализацию безумных идей все заблокировать, трафик проконтролировать и сломать интернет в попытках его "суверенизации".
Я не могу представить себе человека, доказавшего себе путем логических размышлений необходимость контроля трафика, реализовавшего и протестировавшего такой контроль, и при этом, не осознающего неминуемой опасности его применения для него самого, его родственников, друзей, знакомых и просто окружающих его людей.
Здесь не работают отмазки - я не знал, я выполнял ТЗ, я профессионал и пр. См. Нюрнбергские протоколы.
Поэтому я во-первых, призываю их подумать о том, что они попросту сами себе роют яму, создавая повышенные риски собственной успешной профессиональной и личной жизни.
Во-вторых, я повторю свое давнее обещание - если я замечу, что подобный человек, не раскаявшийся деятельно в своей деятельности, хочет устроиться в ту же компанию, где уже работаю (или работал) я, то я применю свое влияние в том объеме, который имею в этот момент, чтобы данный человек в эту компанию не попал.
В третьих - что я понимаю под деятельным раскаянием. Мне (и я надеюсь, нам - профессиональному сообществу) не нужны покаянные речи на публику, этим пусть занимаются те, кому речи являются профессией - политики или журналисты.
Деятельное раскаяние человека, причастного к IT, - это программа, сервис или библиотека функций под LGPL, выложенные на GitHub или подобном сервисе, предназначенные для нейтрализации того (или эквивалентного) вреда для беспрепятственного и свободного распространения информации, который он нанес, работая на безумцев.
JloJle4Ka,
08 Сентября 2021
-
+5
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
function call_func_1(
f: () => void
) {
f();
}
function call_func(
f: (o: object) => void,
user: { firstName: string }
) {
f(user);
}
function main() {
const user = {
firstName: "World",
sayHi() {
print(`Hello ${this.firstName}`);
},
};
user.sayHi();
const hi = user.sayHi;
hi();
let hi2 = user.sayHi;
hi2();
call_func_1(() => {
hi2();
});
call_func(user.sayHi, user);
print("done.");
}
как тебе такой говно-пиздец Илон Маск?
ASD_77,
10 Августа 2021