- 1
Криптотред. Отладка шифроскрипта и приватный чатик
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
Всего: 17
+120
Криптотред. Отладка шифроскрипта и приватный чатик
+58
unsigned long long int getSumUtil(unsigned long long int *st, unsigned long long int ss, unsigned long long int se, unsigned long long int qs, unsigned long long int qe, unsigned long long int index)
//cout<<"here";
//prunsigned long long intf("here");
//printf("%llu\n%llu\n%c",i,j,type);
По следам prunsigned intf из http://govnokod.ru/17791.
http://www.codechef.com/viewplaintext/3039072
Ctrl+H - наш ответ typedef!
+154
// Цитата №1: массив регулярных выражений из введённых пользователем строк
var strings = what.filter(function(e){ return e.replace(/s+/g,'').length; }).map(function(e){ var re = new RegExp(e, 'g' + (ignoreCase ? 'i' : '')); return re; });
// Цитата №2: проверяется наличие введённых строк в тексте и выводит результаты
function processText(pid, cid, text){
if(strings.every(function(re){
return re.test(text);
})){
// совпало
// тут выводится информация о совпадении для поста/комментария
// кроме вывода в консоль побочных эффектов нет
....
}
}
// Цитата №3: запуск поиска
posts.forEach(function(post){
processText(post.id, null, post.author.name + ' ' + post.text);
processText(post.id, null, post.author.name + ' ' + post.description);
post.comments.forEach(function(comment){
processText(post.id, comment.id, comment.author.name + ' ' + comment.text);
});
});
Цитаты из скрипта поиска по ГК.
Казалось бы, write-only питушня, работает - не трогать. Но, прочитав, http://govnokod.ru/16577#comment246821, решил поискать упоминания доктора по званию. Открываю найденный пост X, а там не все упоминания найдены. Меняю список постов, в которых искать - для X меняется список найденных комментариев.
Откуда такая питушня? processText почти чистая, strings, posts не меняется. Может, вывод на консоль как-то влияет?
Все волосы на жопе вырвал пока нашел в чем ошибка.
Внимание, вопрос. В чем гавно? (c) ursus
+155
const WCT_SYMBOLS = new Buffer('ABCDEFGO'); /*задаём строку для поиска
в ней символов*/
const WCT_LENGTH = 3;
const fs = require('fs');
/*функция для перевода целой части числа из 10-й в любую сс*/
function Cel(number, c, out, offset, length){
var pos = offset + length - 1;
number |= 0; /*берём целую часть от числа*/
do {
out[pos--] = WCT_SYMBOLS[number % c | 0]; /*повторяем пока число не будет равно нулю берём целую часть при
делении числа на основание и берём остаток + 1 от деления целой части на 16, записываем
результат посимвольно в строку out*/
number = number / c | 0;
} while (number != 0);
while(pos >= offset)
out[pos--] = WCT_SYMBOLS[0];
}
(function wctEditor() {
const argv = process.argv;
if(argv.length < 4) {
console.log('Not enough parameters!');
process.exit(1);
}
const input = argv[2], output = argv[3];
if(!fs.existsSync(input)) {
console.log('File not exist!');
process.exit(2);
}
const BUFFER_SIZE = 1024;
const f1 = fs.openSync(input, 'r');
const f2 = fs.openSync(output, 'w');
const I = new Buffer(BUFFER_SIZE);
const O = new Buffer(WCT_LENGTH * BUFFER_SIZE);
while(1) {
var readBytes = fs.readSync(f1, I, 0, I.length, null);
if(!readBytes) break;
for(var i=0; i<readBytes; ++i)
Cel(I[0], WCT_SYMBOLS.length, O, i * WCT_LENGTH, WCT_LENGTH);
fs.writeSync(f2, O, 0, readBytes * WCT_LENGTH, null);
}
fs.closeSync(f1);
fs.closeSync(f2);
})();
/* TODO -oUser -cConsole Main : Insert code here */
По следам http://programmersforum.ru/showthread.php?t=264223. Ну тормозит же!
Я долго боролся с собой, и всё же от авторского стиля остались только комментарии и имена f1, f2 и I...
WCT editor: теперь и под Node.
+36
#include <iostream>
class StaticClassData {
int *pointer, value;
public:
StaticClassData(): pointer(&value) {}
void add(int i) {
std::cout << "Hello, this is " << this << std::endl;
value = i;
std::cout << "I'm fine" << std::endl;
*pointer = i;
std::cout << "You never read this text" << std::endl;
}
};
class SomeClass {
struct StaticConstructor {
StaticConstructor(){ storage.add(1); }
};
static StaticConstructor constructor;
static StaticClassData storage;
};
SomeClass::StaticConstructor SomeClass::constructor;
StaticClassData SomeClass::storage;
int main(){}
Долго думал, с какого хрена программа падает на заполнении static поля в "статическом конструкторе". Поле вроде бы есть, но толку от этого мало.
http://ideone.com/Ux14ep - из раздела ub.govnokod.ru или как выстрелить себе в ногу до выполнения main.
+147
if(window.SomeModeMap) // OK
...
if(window.SomeModeMap && value instanceof window.SomeModeMap) // OK
...
if(window.SomeModeMap && value instanceof window.SomeNodeMap) // WTF, Error
...
Автодополнение - это уникальный инструмент для тиражирования опечаток.
+139
Всего обработано 12582 постов (не считая 1055 исключённых из-за 404 ошибки), 186254 комментариев, которые создали 4163 пользователей.
3390+ юзеров имеют 1+ постов
181+ юзеров имеют 10+ постов
6+ юзеров имеют 100+ постов
1+ юзеров имеют 1000+ постов
3159+ юзеров имеют 1+ комментариев
875+ юзеров имеют 10+ комментариев
178+ юзеров имеют 100+ комментариев
24+ юзеров имеют 1000+ комментариев
2+ юзеров имеют 10000+ комментариев
711+ юзеров создали 1+ комм./постов за последние 360 дней
299+ юзеров создали 5+ комм./постов за последние 360 дней
197+ юзеров создали 10+ комм./постов за последние 360 дней
77+ юзеров создали 50+ комм./постов за последние 360 дней
49+ юзеров создали 100+ комм./постов за последние 360 дней
17+ юзеров создали 500+ комм./постов за последние 360 дней
290+ юзеров создали 1+ комм./постов за последние 90 дней
118+ юзеров создали 5+ комм./постов за последние 90 дней
86+ юзеров создали 10+ комм./постов за последние 90 дней
37+ юзеров создали 50+ комм./постов за последние 90 дней
25+ юзеров создали 100+ комм./постов за последние 90 дней
144+ юзеров создали 1+ комм./постов за последние 30 дней
59+ юзеров создали 5+ комм./постов за последние 30 дней
40+ юзеров создали 10+ комм./постов за последние 30 дней
23+ юзеров создали 20+ комм./постов за последние 30 дней
14+ юзеров создали 50+ комм./постов за последние 30 дней
9+ юзеров создали 100+ комм./постов за последние 30 дней
Топ 20 пользователей, которые вызывают эмоции
(по количеству кликов по +/-):
1: guest (#1) - 224256 (1418 постов, 32235 комментариев)
2: Lure Of Chaos (#1538) - 28637 (133 постов, 14460 комментариев)
3: bormand (#5528) - 17334 (62 постов, 8303 комментариев)
4: TarasB (#721) - 15999 (60 постов, 5978 комментариев)
5: roman-kashitsyn (#3818) - 12252 (71 постов, 5767 комментариев)
6: 3.14159265 (#1438) - 11991 (85 постов, 4851 комментариев)
7: bugmenot (#1632) - 11748 (51 постов, 6120 комментариев)
8: anonimb84a2f6fd141 (#5798) - 10073 (52 постов, 1806 комментариев)
9: absolut (#1528) - 7881 (21 постов, 4142 комментариев)
10: defecate-plusplus (#4442) - 6788 (13 постов, 2748 комментариев)
11: LispGovno (#6011) - 5951 (88 постов, 2733 комментариев)
12: Анонимус (#1679) - 5783 (8 постов, 3021 комментариев)
13: eth0 (#2108) - 5401 (0 постов, 2608 комментариев)
14: inkanus-gray (#1659) - 5307 (16 постов, 2538 комментариев)
15: Stertor (#5934) - 4395 (98 постов, 864 комментариев)
16: Говногость (#320) - 3893 (184 постов, 937 комментариев)
17: istem (#1997) - 3851 (31 постов, 2130 комментариев)
18: wvxvw (#988) - 3446 (115 постов, 2446 комментариев)
19: xXx_totalwar (#963) - 3427 (24 постов, 1099 комментариев)
20: Vasiliy (#1478) - 3404 (56 постов, 1573 комментариев)
Статистика ГК. Данные были собраны за последние 3-4 дня.
Постараюсь добавить в комментарии несколько Топ50.