See this page in languages other than English: [magyar]

igazolványkép pts-ről

Pages of pts (pts oldalai)

See my computer how-to blog as well. See my GitHub repos as well. Most of the information on this page is available only in the Hungarian version of this page. Stay tuned for the full-featured English version. You can read some of my old writings (poems, notes, short novels) in Hungarian language on my personal home page. If your browser has problems displaying it, try this link. I've created my personal home page in September 1999, and I haven't touched it since. All new material (documents, links and downloadable software) are listed directly on this page. See the Hungarian version of this page to get even more new material.

Please enable JavaScript in your browser to see my e-mail address.

Flattr this

Documents, manuals, howtos, tutorials

Downloads (software and others)

You can download a few software which I have written or I am writing from here. Some of those are registered on Freshmeat. Have a look at my Freshmeat home page to get access to those software.

The software list has not been translated to English yet. See the Hungarian version of this page for the full list.


The link list has not been translated to English yet. See the Hungarian version of this page for the full list.

Obfuscated source code

On the first day of Christmas... (xmas2006.c)

The C program source code below prints a well-known Christmas poem. However, if you compile it in C++, it still works, but prints the poem with a slight modification. Even more, the program is also a valid Perl script, and prints the poem with a different small modification. If you want to print the poem, compile the source code with plain TeX! If you have problems copy-pasting it, you can download the [source code]. The original C source is part of the programming folklore ([source code]), the C++ port and the Perl and TeX versions are my own work. Here it is:

int qq=0;/*\def~#1~{}~{{=;{# Imagine your Christmas felicitations below. */
#include                                                          <stdio.h>
#define q(q) char w,v[]="@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#"q
q("q#n+,/#{l,+,/n{n+,/+#n+,/#;#q#n+,/+k#;*+,/'r :'d*'3,}{w+K w'K:'+}e#';dq"
"#'l q#'+d'K#!/+k#;q#'r}eKK#}w'r}eKK{nl]'/#;#q#n'>{>#}w'>{>{nl]'/+#n';d}rw"
"' i;# >{nl]!/n{n#'; r{#w'r nc{nl]'/#{l,+'K {rw' iK{;[{nl]'/w#q#n'wk nw' i"
"wk{KK{nl]!/w{%'l##w#' i; :{nl]'/*{q#'ld;r'}{nlwb!/*de}'c ;;{nl'-{}rw]'/+,"
"}##'*}#nc,',#nw]'/+kd'+e}+;#'rdq#w! nr'/ '> }+}{rl#'{n' '># }'+}##<!!/"),s
#define dducfirstde ;static int f(int t,int _,char*a){return!0<t?t<3?f(-79,
#define lt -13,a+f(-87,1-_,f(-86,0,a+1)+a)):1,t<_?f(t+1,_,a):3,f(-94,-27+t,
#define s a)&&t==2?_<13?f(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?f(_,t,v):t<-50
#define ici ?_==*a?putchar(31[a]):f(-65,_,a+1):f((*a=='/')+t,_,a+1):0<t?f(2
#define length ,2,"%s"):*a=='/'||f(0,f(-61,*a,"!ek;dc i@bK'<q>-[w]*%n+r3#l"
#define mysweetdiego ",{}:\nuwloca-O;m .vpbks,fxntdCeghiry"),a+1);}int main
#define cmp(s) (int t,char**_){struct w{int v;};if(sizeof(w)>1){v[111]='d';
#define cos(u) (2006)v[112]='n',v[113]=';',v[114]=':';}return!f(t,_?0:0,0);
dducfirstde lt s ici length mysweetdiego cmp(s ror study biconverge and s l
lleg and s fd fdo do reverse foo xor s go dog chr reverse ord srand hyperge
and s eselcfirstexesee)if cos(s e e q dISWcJyccBWXJKcjBTocVUFEYcCUJWcDooYLW
coojOIQcWohrdemix)}int qw;/*;;q/}}}}}}}}}}~\let\i\ifnum\newcount\C\newcount
\D\begingroup\let\l\lccode\C`A\loop \i\C<`N \D\C \advance\D13 \l\C\D \l\D\C
\advance\C1\repeat\C`a\loop\i\C<`n \D\C \advance\D13 \l\C\D \l\D\C \advance
\C1\repeat\lowercase{\endgroup\output{\def~{\hfil\break} \setbox0\hbox{\box
Gur Gjryir Fjrrg Qnlf bs Puevfgznf}\medskip\loop\i\C<12Ba gur \ifcase\C sv%
efg\or frpbaq\or guveq\or sbhegu\or svsgu\or fvkgu\or friragu\or rvtugu\or%
avagu\or gragu\or ryriragu\or gjrysgu\fi\ qnl bs Puevfgznf zl fjrrg ybir t%
nir gb zr~\i\C>10gjryir qehzzref qehzzvat,\fi\i\C>9ryrira cvcref cvcvat, %%
\fi\i\C>8gra ybeqf n-yrncvat,~\fi\i\C>7avar ynqvrf qnapvat, \fi \i\C>6rvtug
znvqf n-zvyxvat, \fi\i\C>5frira fjnaf n-fjvzzvat,~\fi\i\C>4fvk trrfr n-ynl%
vat, \fi\i\C>3svir tbyq evatf;~\fi\i\C>2sbhe pnyyvat oveqf, \fi \i\C>1guerr
serapu uraf, \fi \i\C>0gjb ghegyr qbirf~naq \fi n cnegevqtr va n crne gerr.
\endgraf\smallskip\advance\C1\repeat}\shipout\box0}\end}% */

The program that speaks ten languages (just_hacker.c)

The following program can be compiled in ten different programming languages -- and it prints something different in all of them). The languages: C, C++, Perl, TeX, LaTeX, PostScript, sh, bash, zsh and Prolog. See the original, six-language version of the program here: [link]

%:/*:if 0;"true" +s ||true<</;#|+q|*/include<stdio.h>/*\_/
{\if(%)}newpath/Times-Roman findfont 20 scalefont setfont(
%%)pop 72 72 moveto(Just another PostScript hacker,)show((
t)}. t:-write('Just another Prolog hacker,'),nl,halt. :-t.
:-initialization(t). end_of_file. %)pop pop showpage(-: */
int main(){return 0&printf("Just another C%s hacker,\n",1%
sizeof'2'*2+"++");}/*\fi}\csname @gobble\endcsname{\egroup
ument}\fi Just another \LaTeX\ hacker,\end{document}|if 0;
/(J.*)\$sh(.*)"/,print"$1Perl$2$/"if$_.=q # hack the lang!
sh=sh;test $BASH_VERSION &&sh=bash;test $POSIXLY_CORRECT&&
sh=sh;test  $ZSH_VERSION && sh=zsh;awk 'BEGIN{x="%c[A%c[K"
printf(x,27,27)}';echo "Just another $sh hacker," #)pop%*/

What is the language of the following program, and what does it print?


This document is valid HTML 4.01 hacker emblem

hu org