Some readers may be aware that R & I are opening an art gallery/retail-emporium (tongue in cheek) in Waterford City. We’re calling our little venture Manifesto which dictionary.com informs me means
“a public declaration of intentions, opinions, objectives, or motives, as one issued by a government, sovereign, or organization.”.
So that’s sorted then! It’s very exciting to meet new artists, peruse the generally amazing collection of work they’ve got stashed away and then talk them into letting us sell it in Manifesto. By and large the feedback has been very positive. Last night we attended an exhibition in Waterford by Mercedes Helnwein in Eric Theze’s absolutely stunning new restaraunt, La Boheme. La Boheme is based in the same 18th century listed building as Manifesto and I can strongly recommend both the ambience and the food. Stylish, scrumptious and reasonably priced. You really must visit.
Mercedes is the daughter of iconic 70s painter & all-round visual artist Gottried Helnwein. He of the boulevard and broken dreams fame 🙂 Meeting the child of a personal hero can often be an uncomfortable experience, doubly so when the progeny have embarked on a similiar career path. Mercedes has nothing to fear in any comparison. While her father’s work is often provocative, hers has a warm intimacy and youthful vibrancy that shows a stunning technique to good effect. R & I were suitably impressed as we read her long list of accomplishments so you can expect some Mercedes Helnwein originals to appear in Manifesto in the near future. It’s so exciting to be opening Manifesto. I’ll keep readers up to date with happenings but provisionally, we’re hoping to open at the start of November. I can’t wait!
Day: October 3, 2006
Who writes code like this?
The infamous International Obfuscated C Code winner from 1984. I have a sizeable bet that it’s Bjarne Stroustroup, the inventor of C++. However, Brian Kernighan is also a possibility. Send me your thoughts based on coding style etc.
int i;main(){for(;i["]
An explanation of the code goes something like this.
int i;main(){for(;i["]i;++i){--i;}"];read('-'-'-',i+++ "hell\
o, world!\n",'/'/'/'));}read(j,i,p){write(j/p+p,i---j ,i/i);}
==== add some whitespace ==========
int i;
main()
{
for (; i["]i;++i){--i;}"]; read('-' - '-', i++ + "hello, world!\n", '/' / '/'));
}
read(j, i, p)
{
write(j / p + p, i-- - j, i / i);
}
===== and char subtraced from itself is 0, and char or pointer divided by itself is 1 =====
int i;
main()
{
for (; i["]i;++i){--i;}"]; read(0, i++ + "hello, world!\n", 1));
}
read(j, i, p)
{
write(j / p + p, i-- - j, 1);
}
======= j is always 0, p is always 1, lets remove them ======
int i;
main()
{
for (; i["]i;++i){--i;}"]; read(i++ + "hello, world!\n"));
}
read(i)
{
write(0 / 1 + 1, i-- - 0, 1);
}
======= 0 / 1 + 1 is 1, subtracting 0 does nothing, decrementing a local variable this is never used afterward also does nothing =======
int i;
main()
{
for (; i["]i;++i){--i;}"]; read(i++ + "hello, world!\n"));
}
read(i)
{
write(1, i, 1);
}
======== replace read(i) with write(1, i, 1) =====
int i;
main()
{
for (; i["]i;++i){--i;}"]; write(1, i++ + "hello, world!\n", 1));
}
====== i[n] can be rewritten *(i + n) or *(n + i) ======
int i;
main()
{
for (; *("]i;++i){--i;}" + i); write(1, "hello, world!\n" + i++, 1));
}
=== as i gets incrimented, we dereference the next char of the string which is always non-zero till we hit the null terminator, all the matters is that the string is the same length as "hello, world!\n" =====
int i;
main()
{
for (; *("hello, world!\n" + i); write(1, "hello, world!\n" + i++, 1));
}
===== so now we can see we incriment i, printing out the next character of hello world till we hit the null terminator ====
With thanks to slashdot and Thomas Scovell (who has it tattooed on his arm)