-
Лучший говнокод
- В номинации:
-
- За время:
-
-
+132
- 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
#define COMMAND_MARKER '\x1B'
#define COMMAND_SET '='
#define COMMAND_XOR '^'
#define COMMAND_OR '|'
#define COMMAND_AND '&'
void usbWriteOut(uchar *data, int len)
{
while(len--) {
uchar c = *data;
buf[0] = buf[1];
buf[1] = buf[2];
buf[2] = buf[3];
buf[3] = c;
if(buf[0] == COMMAND_MARKER) {
uint8_t val = (hex2u(buf[2]) << 4) | hex2u(buf[3]);
if(buf[1] == COMMAND_SET) {
colorData = val;
}
else if(buf[1] == COMMAND_XOR) {
colorData ^= val;
}
else if(buf[1] == COMMAND_OR) {
colorData |= val;
}
else if(buf[1] == COMMAND_AND) {
colorData &= ~val;
}
}
}
}
Простой баг оказался крайне подлым!
При тестировании девайса терминалкой и чепятании команды ручками, каждый символ уходил в отдельном пакете и создавалось впечатление, что всё работает.
После чего девайс был собран с применением большого количества термоклея, так что исправление бага оказалось совершенно непростым занятием >_<
odmin,
09 Февраля 2012
-
+132
- 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
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="1M"/>
<xs:enumeration value="2M"/>
<xs:enumeration value="3M"/>
<xs:enumeration value="4M"/>
<xs:enumeration value="5M"/>
<xs:enumeration value="6M"/>
<xs:enumeration value="7M"/>
<xs:enumeration value="8M"/>
<xs:enumeration value="9M"/>
<xs:enumeration value="10M"/>
<xs:enumeration value="11M"/>
<xs:enumeration value="12M"/>
<xs:enumeration value="13M"/>
<xs:enumeration value="14M"/>
<xs:enumeration value="15M"/>
<xs:enumeration value="16M"/>
<xs:enumeration value="17M"/>
<xs:enumeration value="18M"/>
<xs:enumeration value="19M"/>
<xs:enumeration value="20M"/>
<xs:enumeration value="21M"/>
<xs:enumeration value="22M"/>
<xs:enumeration value="23M"/>
<xs:enumeration value="24M"/>
<xs:enumeration value="25M"/>
<xs:enumeration value="26M"/>
<xs:enumeration value="27M"/>
<xs:enumeration value="28M"/>
<xs:enumeration value="29M"/>
<xs:enumeration value="30M"/>
<xs:enumeration value="31M"/>
<xs:enumeration value="32M"/>
</xs:restriction>
</xs:simpleType>
миллион, миллион алых роз
Lure Of Chaos,
23 Января 2012
-
+132
- 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
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <time.h>
char a[150],c[150];
int main(int argc, char **argv) {
FILE * tmp;
while(1) {
int b=0,b1=0;
bool A=0;
tmp=fopen(".tmp.txt","r");
fgets(c,150,tmp);
fclose(tmp);
system("rm .tmp.txt");
system("xwininfo -tree -root | grep -i '\\- deadbeef-0.5.1' > .tmp.txt");
tmp=fopen(".tmp.txt","r");
fgets(a,150,tmp);
fclose(tmp);
for(int i=16;i<149;i++) {
c[i-16]=c[i];
a[i-16]=a[i];
if(a[i-16]=='-')
b++;
if(c[i-16]=='-')
b1++;
if(b==2)
a[i-16]=0;
if(b1==2)
c[i-16]=0;
}
for(int j=0;j<(int)strlen(c);j++) {
if (a[j]!=c[j]) A=true;
}
if (A) {
char lamp[]="/usr/bin/purple-remote \"setstatus?status=available&message=";
strcat(lamp,a);
strcat(lamp,"\"");
system(lamp);
}
sleep(5);
}
return 0;
}
Реализация аналога pidgin-musictracker для deadbeef
Abbath,
13 Января 2012
-
+132
- 1
RewriteRule ^groups/([^/]+)/(201[1-9]-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1]))$ /index.php?g=$1&action=week&d=$2 [L]
Без коментариев
LiteError,
08 Декабря 2011
-
+132
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
local obj_on_cursor = objSetup:get("obj_on_cursor").value
if ( obj_on_cursor == "none" and
obj_on_cursor ~= "tool_pincers" and
obj_on_cursor ~= "tool_knife" ) then
objSetup:get("rope_clicked").value = 1
quest_callSFAction(objGame, "onRopeAttrition")
sf_worktable_rope_research_complete()
elseif ( obj_on_cursor ~= "none" and
obj_on_cursor == "tool_pincers" and
obj_on_cursor ~= "tool_knife" ) then
objSetup:get("rope_clicked").value = 1
quest_callSFAction(objGame, "onRopeAttritionPincers")
sf_worktable_rope_research_complete()
elseif ( obj_on_cursor ~= "none" and
obj_on_cursor ~= "tool_pincers" and
obj_on_cursor ~= "tool_knife" ) then
quest_callSFAction(objGame, "onWrongTool")
end
Прислали баг по миниигре. Человек, который делал минигру в отпуске, пришлось мне разбираться. Полез в код, а там такое... ХЗ, может и нормально, но у меня чуть глаза не выпали. Такой фигни там много, ~ 1.5К строк, хотя обычно минигра пишется максимум на 500 строк.
MAGnit,
08 Декабря 2011
-
+132
- 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
void * c_memmove(void *dest, void *src, size_t n)
{
void *ret = dest;
if (n)
{
*(__int8 **)&dest += n;
*(__int8 **)&src += n;
switch (int x = n % 4)
{
do
{
if (!!'true')
{
case 0:
*--*(__int32 **)&dest = *--*(__int32 **)&src;
n -= 4;
}
else
{
case 3:
*--*(__int8 **)&dest = *--*(__int8 **)&src;
case 2:
*--*(__int8 **)&dest = *--*(__int8 **)&src;
case 1:
*--*(__int8 **)&dest = *--*(__int8 **)&src;
n -= x;
}
} while (n);
}
}
return ret;
}
63F45EF45RB65R6VR,
11 Ноября 2011
-
+132
- 1
System.Console.WriteLine(System.String.Concat(System.Security.Cryptography.MD5.Create().ComputeHash(System.Text.Encoding.UTF8.GetBytes("hello world!")).ToList().ConvertAll(b => b.ToString("x2"))));
страшно?
daymansiege,
07 Ноября 2011
-
+132
- 1
(#~m=^(?:GET|POST|HEAD) /.*?\r\n[Hh][Oo][Ss][Tt]: ([\w-.:]{3,100})\r\n=s
Часть серверного приложения на Lisp. Я лично нихрена не понял, возможно не прав.
FanAs45809,
01 Ноября 2011
-
+132
- 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
int LoadFunctions() {
HINSTANCE kernel;
decrypt(krn);
if((kernel = LoadLibraryA(decb)) == NULL) {
return 1;
} else {
decrypt(crf);
if((CreateFile = (CreateFileP) GetProcAddress(kernel, decb)) == NULL) return 1;
decrypt(sfpe);
if((SetFilePointerEx = (SetFilePointerExP) GetProcAddress(kernel, decb)) == NULL) return 1;
decrypt(wf);
if((WriteFile = (WriteFileP) GetProcAddress(kernel, decb)) == NULL) return 1;
decrypt(ch);
if((CloseHandle = (CloseHandleP) GetProcAddress(kernel, decb)) == NULL) return 1;
decrypt(ffb);
if((FlushFileBuffers = (FlushFileBuffersP) GetProcAddress(kernel, decb)) == NULL) return 1;
}
HANDLE user;
decrypt(us);
if((user = LoadLibraryA(decb)) == NULL) {
return 1;
} else {
decrypt(mba);
if((MessageBoxA = (MessageBoxAP) GetProcAddress(user, decb)) == NULL) {
return 1; // ну зачем?
}
}
return 0;
}
Бида-бида, MessageBox не загрузилась - повод завершить выполнение. Хотя все важнейшие функции уже на месте.
danilissimus,
28 Октября 2011
-
+132
- 1
http://mfrost.typepad.com/cute_overload/images/2008/10/05/my_little_batman_by_spippo.jpg
ReallyBugMeNot,
13 Октября 2011