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!
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)
StringTree JSON
Just been having a look at StringTree’s JSON light and nimble JSON parser. Sure, it’s not validating but it’s very light. and ideal for basing a J2ME implementation on. Sure, there’s tavon’s JSON-J2ME library but that has unfortunate dependencies on J2ME polish which should best be avoided. I’ve got nothing against polish but a dependency is a dependency and Chris would not be happy. So I’m in the process of adapting StringTree to be a fast’n’lite non-validating JSON parser for j2me mobiles. I’ll let you know how I get on.
Thought for the day
It’s been a long time since I posted anything more contemplative than “gee, I really must update this blog.” Well I’m feeling a little stressed at the moment for a whole range of reasons so the following quotes seem appropriate.
- “Will this matter a year from now?” – Richard Carlson
- “Stress is nothing more than a socially acceptable form of mental illness” – Richard Carlson
There are many days when I feel that all software projects and each and every line of code within them should be judged based on the first question. Code reviews just became obselete 🙂