- 1
test "$(whoami)" != 'root' && (echo you are using a non-privileged account; exit 1)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−704
test "$(whoami)" != 'root' && (echo you are using a non-privileged account; exit 1)
Real Programmers
Most programmers will prefer to use the test built-in command, which is equivalent to using square brackets for comparison, like this
http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html#sect_07_01_02_03
Вот такие они, real programmers.
Подсказка: Круглые скобки в шелле запускают саб-шелл
+161
<?
if($res=='1') { include('str/1.txt') ; }
if($res=='2') { include('str/2.txt') ; }
if($res=='3') { include('str/3.txt') ; }
if($res=='4') { include('str/4.txt') ; }
if($res=='5') { include('str/5.txt') ; }
if($res=='6') { include('str/6.txt') ; }
if($res=='7') { include('str/7.txt') ; }
if($res=='8') { include('str/8.txt') ; }
if($res=='9') { include('str/9.txt') ; }
if($res=='10') { include('str/10.txt') ; }
if($res=='11') { include('str/11.txt') ; }
if($res=='12') { include('str/12.txt') ; }
if($res=='13') { include('str/13.txt') ; }
if($res=='14') { include('str/14.txt') ; }
if($res=='15') { include('str/15.txt') ; }
if($res=='16') { include('str/16.txt') ; }
if($res=='17') { include('str/17.txt') ; }
if($res=='18') { include('str/18.txt') ; }
if($res=='19') { include('str/19.txt') ; }
if($res=='20') { include('str/20.txt') ; }
if($res=='21') { include('str/21.txt') ; }
if($res=='22') { include('str/22.txt') ; }
if($res=='23') { include('str/23.txt') ; }
if($res=='24') { include('str/24.txt') ; }
if($res=='25') { include('str/25.txt') ; }
if($res=='26') { include('str/26.txt') ; }
if($res=='27') { include('str/27.txt') ; }
if($res=='28') { include('str/28.txt') ; }
if($res=='29') { include('str/29.txt') ; }
if($res=='30') { include('str/30.txt') ; }
if($res=='31') { include('str/31.txt') ; }
if($res=='32') { include('str/32.txt') ; }
if($res=='33') { include('str/33.txt') ; }
if($res=='34') { include('str/34.txt') ; }
if($res=='35') { include('str/35.txt') ; }
if($res=='36') { include('str/36.txt') ; }
if($res=='37') { include('str/37.txt') ; }
if($res=='38') { include('str/38.txt') ; }
if($res=='39') { include('str/39.txt') ; }
if($res=='42') { include('guest_moder.php');}
?>
Подключение файла ресурса.
http://phpforum.su/index.php?showtopic=0&view=findpost&p=29 91766
Товарисч продает сайт за 90 тыщ рубрей.
−114
#!/bin/bash
C=/${0}
C=${C%/*}
M=`/bin/uname -m`
if test -e /System/Library/Frameworks/GameController.framework; then
exec "${C:-.}"/iFile_
elif test -e /System/Library/Frameworks/CoreMedia.framework; then
case $M in
"iPhone1,2" | "iPod2,1") exec "${C:-.}"/iFile4;;
*) exec "${C:-.}"/iFile5;;
esac
elif test -e /System/Library/Frameworks/GameKit.framework; then
exec "${C:-.}"/iFile3
else
exec "${C:-.}"/iFile2
fi
Вот такой вот способ узнать версию iOS.
+125
http://news.rambler.ru/25458110/
Не говнокод, но хотелось бы обсудить новость. Для тех, кому лень перейти по ссылке, суть вкратце:
создана программа, которая впервые прошла тест Тьюринга - смогла убедить более 30% судей в том, что они ведут беседу с человеком.
+131
Шесть месяцев назад я нашёл в Интернете книжку "Dive into Python". Странная книжка, толстая,
да ещё на не русском языке.
Усердно прочитал её, методично и вдумываясь, но таки ничего и не понял.
Но что-то не отпускало меня - я пошёл на python.org и стал изучать стандартную библиотеку,
старательно, скурпулёзно, от корки до корки. Гугля примеры кода, я наткнулся на пост в блоге одного гуру,
где было написано про PEP8.
То, что рассказывал этот умудрённый опытом кодер, настолько впечатлило меня, что я словно в припадке
безумия бросился зубрить эту конвенцию по написанию питоньего кода.
У меня тряслись руки, по телу прокатывали волны возбуждения, я, можно сказать, бился в экстазе всё
это время - и теперь могу процитировать наизусть любой пункт, даже если меня разбудить посреди
глубокой ночи.
Новые знания окрыляли меня, я бросился писать (что бы вы подумали?) очередную имиджборду.
Я не писал раньше имиджборд, эта была моей первой. По пути пришлось освоить азы вёрстки на html и css,
но там всё оказалось совсем не сложно.
Я плавно двигался вперёд, наращивая функционал. И знаете что? Я упёрся в недостаток
производительности. Ну, так мне показалось. Я делал замеры, устранял места с тяжёлым кодом.
Тысячи раз запускал ab, но так и не сумел перейти порог в 300 запросов в секунду.
Я как-то ожидал большего и был немного разочарован.
Гугл, снова гугл. Десятки статей и тем на форуме… Довольно быстро я заметил, что люди часто пишут про
какие-то "асинхронные веб-сервера". Часто встречались названия Tornado и Gevent. Я прочитал про них
подробнее - и был просто ошеломлён. Как мне это раньше не приходило в голову?!
Это же, это просто гениально, чёрт меня побери!
Исходники в ведро, всё переписать! Меня переполняло новое знание, поток мыслей ровно ложился в
строчки кода. Я просто не мог остановиться. Чашка кофе… Ещё чашка…
Мой небольшой кусочек софта приобретал кристалльную чистоту,
я смертельно устал, но продолжал в умилении полировать его зудящими руками, нанося последние штрихи
Пять тысяч. Я получил производительность в пять тысяч запросов в секунду. В ту ночь я так и не смог заснуть.
Наиувлекательнейший мир хай-лоада открылся передо мной. Позже я изучил ещё много классных вещей
типа сверхбыстрых асинхронных key-value-хранилищ, или, например, такого необычного подхода к
обработке данных, как map-reduce.
Это уже был другой я, новый, обновлённый. С незашоренным взглядом, с жаждой новых знаний и
незнакомых концепций.
Я летел вперёд, оставляя за спиной ступень за ступенью.
За пол-года я сменил несколько мест работы, и моя зарплата взлетела до умопомрачительных сумм.
Сотни замечательных мест открыли передо мной свои двери. Любые, самые изысканные девушки
проявляли просто чудеса изобретательности, чтобы находиться рядом со мной.
А ещё, я никогда не забуду тот момент, когда на одной из конференций я впервые в жизни поймал на
себе завистливый взгляд.
Это был взгляд какого-то сливающегося с толпой неудачника, взгляд преисполненный ненависти,
презрения и желчного вожделения, направленного на мой Олимп. Наверное, он всю свою никчёмную
жизнь писал на каком-нибудь си-шарпе или там на джаве, проводя долгие дни в одиночестве.
И теперь начинал подсознательно догадываться, что долгие годы безуспешно пытался
построить замок из навоза.
+49
switch ( ! empty($rules['last_online']) )
{
case '3days':
$where .= " AND last_online > NOW() - INTERVAL '3 DAYS' ";
break;
case 'week':
$where .= " AND last_online > NOW() - INTERVAL '7 DAYS' ";
break;
case 'month':
$where .= " AND last_online > NOW() - INTERVAL '1 MONTH' ";
break;
}
Внезапно сломался фильтр .... И такое найти можно. Впервые подобное вижу
+127
#include <stdio.h>
int Sravn (int a, int b)
{
if (a=b)
{return 1;}
else
{return 0;}
}
int main()
{
int A[5]={1, 4, 7, 4, 4}, rez1, rez2, rez3, rez4, rez5;
int i=0;
rez1=Sravn(A[i], A[i+1])+Sravn(A[i], A[i+2])+Sravn(A[i], A[i+3])+Sravn(A[i], A[i+4]);
rez2=Sravn(A[i+1], A[i])+Sravn(A[i+1], A[i+2])+Sravn(A[i+1], A[i+3])+Sravn(A[i+1], A[i+4]);
rez3=Sravn(A[i+2], A[i])+Sravn(A[i+2], A[i+1])+Sravn(A[i+2], A[i+3])+Sravn(A[i+2], A[i+4]);
rez4=Sravn(A[i+3], A[i])+Sravn(A[i+3], A[i+1])+Sravn(A[i+3], A[i+2])+Sravn(A[i+3], A[i+4]);
rez5=Sravn(A[i+4], A[i])+Sravn(A[i+4], A[i+1])+Sravn(A[i+4], A[i+3])+Sravn(A[i+4], A[i+2]);
if (rez1>rez2 && rez1>rez3 && rez1>rez4 && rez1>rez5)
{printf ("/d", A[i]);}
else if (rez2>rez1 && rez2>rez3 && rez2>rez4 && rez2>rez5)
{printf ("/d", A[i+1]);}
else if (rez3>rez2 && rez3>rez1 && rez3>rez4 && rez3>rez5)
{printf ("/d", A[i+2]);}
else if (rez4>rez2 && rez4>rez3 && rez4>rez1 && rez4>rez5)
{printf ("/d", A[i+3]);}
else if (rez5>rez2 && rez5>rez3 && rez5>rez1 && rez5>rez4)
{printf ("/d", A[i+4]);}
return 0;
}
Ищет в массиве наиболее часто повторяющийся элемент. Написано мною. Нифига не работает, но ошибок не выдает.
+136
typedef char C;typedef long I;
typedef struct a{I t,r,d[3],p[2];}*A;
#define P printf
#define R return
#define V1(f) A f(w)A w;
#define V2(f) A f(a,w)A a,w;
#define DO(n,x) {I i=0,_n=(n);for(;i<_n;++i){x;}}
I *ma(n){R(I*)malloc(n*4);}mv(d,s,n)I *d,*s;{DO(n,d[i]=s[i]);}
tr(r,d)I *d;{I z=1;DO(r,z=z*d[i]);R z;}
A ga(t,r,d)I *d;{A z=(A)ma(5+tr(r,d));z->t=t,z->r=r,mv(z->d,d,r);R z;}
V1(iota){I n=*w->p;A z=ga(0,1,&n);DO(n,z->p[i]=i);R z;}
V2(plus){I r=w->r,*d=w->d,n=tr(r,d);A z=ga(0,r,d);
DO(n,z->p[i]=a->p[i]+w->p[i]);R z;}
V2(from){I r=w->r-1,*d=w->d+1,n=tr(r,d);
A z=ga(w->t,r,d);mv(z->p,w->p+(n**a->p),n);R z;}
V1(box){A z=ga(1,0,0);*z->p=(I)w;R z;}
V2(cat){I an=tr(a->r,a->d),wn=tr(w->r,w->d),n=an+wn;
A z=ga(w->t,1,&n);mv(z->p,a->p,an);mv(z->p+an,w->p,wn);R z;}
V2(find){}
V2(rsh){I r=a->r?*a->d:1,n=tr(r,a->p),wn=tr(w->r,w->d);
A z=ga(w->t,r,a->p);mv(z->p,w->p,wn=n>wn?wn:n);
if(n-=wn)mv(z->p+wn,z->p,n);R z;}
V1(sha){A z=ga(0,1,&w->r);mv(z->p,w->d,w->r);R z;}
V1(id){R w;}V1(size){A z=ga(0,0,0);*z->p=w->r?*w->d:1;R z;}
pi(i){P("%d ",i);}nl(){P("\n");}
pr(w)A w;{I r=w->r,*d=w->d,n=tr(r,d);DO(r,pi(d[i]));nl();
if(w->t)DO(n,P("< ");pr(w->p[i]))else DO(n,pi(w->p[i]));nl();}
C vt[]="+{~<#,";
A(*vd[])()={0,plus,from,find,0,rsh,cat},
(*vm[])()={0,id,size,iota,box,sha,0};
I st[26]; qp(a){R a>='a'&&a<='z';}qv(a){R a<'a';}
A ex(e)I *e;{I a=*e;
if(qp(a)){if(e[1]=='=')R st[a-'a']=ex(e+2);a= st[ a-'a'];}
R qv(a)?(*vm[a])(ex(e+1)):e[1]?(*vd[e[1]])(a,ex(e+2)):(A)a;}
noun(c){A z;if(c<'0'||c>'9')R 0;z=ga(0,0,0);*z->p=c-'0';R z;}
verb(c){I i=0;for(;vt[i];)if(vt[i++]==c)R i;R 0;}
I *wd(s)C *s;{I a,n=strlen(s),*e=ma(n+1);C c;
DO(n,e[i]=(a=noun(c=s[i]))?a:(a=verb(c))?a:c);e[n]=0;R e;}
main(){C s[99];while(gets(s))pr(ex(wd(s)));}
http://www.kuro5hin.org/story/2002/8/30/175531/763
Taken from Roger Hui's An Implementation of J.
One summer weekend in 1989, Arthur Whitney visited Ken Iverson at Kiln Farm and produced — on one page and in one afternoon — an interpreter fragment on the AT&T 3B1 computer. I studied this interpreter for about a week for its organization and programming style; and on Sunday, August 27, 1989, at about four o'clock in the afternoon, wrote the first line of code that became the implementation described in this document.
Arthur's one-page interpreter fragment is as follows:
Read inside for the most beautiful code you have ever seen.
+17
#include <iostream>
template< class Val >struct SwithClass
{
SwithClass( const Val & v ):val(v){}
void operator() (){}
template < class E, class F, class ... Args > void operator() ( E e, F f, Args ... args )
{
if( e==val ) f();
else (*this)( args... );
}
private:
Val val;
};
template< class Val > SwithClass<Val> Swith( const Val& v ){ return SwithClass<Val>(v);}
int main()
{
int x = 8;
Swith( x )
(
1, [](){ std::cout <<"x=1" << std::endl; },
8, [](){ std::cout <<"x=8" << std::endl; }
);
return 0;
}
http://ideone.com/Xbj46U
+993
void inline WriteXY(int X, int Y, byte szText, WORD fColor = 0x01F) {
DWORD cWritten;
COORD ptCoord = {X - 1, Y - 1};
gotoxy(X, Y);
cout << char(szText);
cout.flush();
FillConsoleOutputAttribute(hStdOut, fColor, 1, ptCoord, &cWritten);
return;
}
void inline WriteXY(int X, int Y, string szText, WORD fColor = 0x01F) {
DWORD cWritten;
COORD ptCoord = {X - 1, Y - 1};
gotoxy(X, Y);
cout << szText.c_str();
cout.flush();
FillConsoleOutputAttribute(hStdOut, fColor, strlen(szText.c_str()), ptCoord, &cWritten);
return;
}
Функция и её прототип