Java Forum / General / November 2005
Lipograms in Java
Pawel Slusarz - 04 Nov 2005 08:26 GMT Hope you folks get a kick out of this:
http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram
Paul
Roedy Green - 04 Nov 2005 08:59 GMT On Fri, 4 Nov 2005 01:26:13 -0600, "Pawel Slusarz" <usenet@romaneseuntdomus.com> wrote, quoted or indirectly quoted someone who said :
>Hope you folks get a kick out of this: > >http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram > >Paul I presume you are doing some sort of unmaintainable code trick
int condition = 1; //... if (1==condition) {
} if !(1==condition) { }
but that is not compilable java.
 Signature Canadian Mind Products, Roedy Green. http://mindprod.com Java custom programming, consulting and coaching.
Wibble - 05 Nov 2005 15:10 GMT > On Fri, 4 Nov 2005 01:26:13 -0600, "Pawel Slusarz" > <usenet@romaneseuntdomus.com> wrote, quoted or indirectly quoted [quoted text clipped - 18 lines] > > but that is not compilable java. It appears to involve ignoring return values and ternary operations, kinda like anti-functional programming.
I think before it was called lipograms it was just called stupid.
Bent C Dalager - 05 Nov 2005 15:32 GMT >Hope you folks get a kick out of this: > >http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram It is not clear which "sounds" you are trying to avoid. Or is it meant as a general how-to for excluding any arbitrary sound?
If so, I would consider organizing the document into one chapter per keyword, as keywords is the main thing you need to worry about. I would guess that the most annoying words would be "public", "class", "static", "void", "main" and "String". Others, like "import" are trivially avoided.
Another topic of some interest might be how to handle the symbols of the standard API (just in case you want the program to also do something useful).
A more painless way to achieve this might be to start using a preprocessor and just #define away your unwanted sounds, but that's a bit like cheating :-)
Cheers Bent D
 Signature Bent Dalager - bcd@pvv.org - http://www.pvv.org/~bcd powered by emacs
Ross Bamford - 05 Nov 2005 16:10 GMT > Hope you folks get a kick out of this: > > http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram > > Paul
:D Like it. A few here appear to have missed the point - it's a game, or something to do to exercise your creativity a bit. See if you can write programs without using one or more standard constructs. In literature, it's often about writing text (sometimes whole books) without using the letter 'e', and just think what that precludes from your java code (else, new, return, etc).
(Aside: Try doing a 'find' for 'e' in the entire article text, source and all)
 Signature Ross Bamford - rosco@roscopeco.remove.co.uk
Lasse Reichstein Nielsen - 06 Nov 2005 12:04 GMT > Hope you folks get a kick out of this: > > http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram I assume the letter you try to avoid is "e", but you don't say so anywhere. That makes the choices look somewhat arbitrary.
/L
 Signature Lasse Reichstein Nielsen - lrn@hotpop.com DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html> 'Faith without judgement merely degrades the spirit divine.'
Tris Orendorff - 07 Nov 2005 17:36 GMT >> Hope you folks get a kick out of this: >> >> http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram > > I assume the letter you try to avoid is "e", but you don't say so > anywhere. That makes the choices look somewhat arbitrary. I don't think that is possible since the body of the article is a lipogram as well. It is written without the letter 'e'.
 Signature Sincerely,
Tris Orendorff [Two antennae meet on a roof, fall in love and get married. The ceremony wasn't much, but the reception was excellent.]
Chris Uppal - 07 Nov 2005 18:17 GMT According to Tris,
> > I assume the letter you try to avoid is "e", but you don't say so > > anywhere. That makes the choices look somewhat arbitrary. > > I don't think that is possible since the body of the article is a lipogram > as well. It is written without the letter 'e'. It could say:
A hint: writing and programming with only consonants, punctuation, and 'a' 'i' o' and 'u' [*], is not as straightforward as you might think.
([*] Got it ? No ?? Ok, try a /BIG/ hint: 'a' 'i' o' and 'u' -- spot anything missing ?)
Or it could cut out any crap and just say it straight:
This wbpag was writtn without using th lttr ''.
-- chris
Bent C Dalager - 07 Nov 2005 18:30 GMT >I don't think that is possible since the body of the article is a lipogram >as well. It is written without the letter 'e'. It is always possible to refer to it indirectly, as the "fifth glyph", perhaps.
In a sad twist, though, the URL offered isn't a lipogram.
Cheers Bent D
 Signature Bent Dalager - bcd@pvv.org - http://www.pvv.org/~bcd powered by emacs
Neil Padgen - 08 Nov 2005 10:50 GMT An individual with initials B C D said:
> In a sad twist, though, ... URL ... isn't a lipogram. So you can follow this link:
http://tinyurl.com/8sa4n
This forwards you to P. Slusarz's original URL.
(Hmm, this lipogram stuff is difficult!)
-- nrp
Bent C Dalager - 08 Nov 2005 11:33 GMT >(Hmm, this lipogram stuff is difficult!) Yeah, I noticed. I figured out pretty soon, though, that if I were to write an "e" lipogram, I couldn't even sign it with my own name and so I dropped it :-)
If you ignore the headers though, this post _is_ a lipogram for the last letter in the English alphabet :-)
Cheers Bent D
 Signature Bent Dalager - bcd@pvv.org - http://www.pvv.org/~bcd powered by emacs
Pawel Slusarz - 09 Nov 2005 05:37 GMT > In a sad twist, though, the URL offered isn't a lipogram. Sad, indeed, but it's legal by the form's rules. So is including the offending letter in the author's name, colophon, and anything else that goes with the publishing business. At least I didn't see any effort to censor these in the copy of 'A Void' that I saw.
Paul
Oliver Wong - 09 Nov 2005 23:38 GMT > Hope you folks get a kick out of this: > > http://romaneseuntdomus.com/JSPWiki/Wiki.jsp?page=JavaLipogram > > Paul Very amusing.
I tried figuring out how to do I/O, but came up with nothing. Dead ends included:
* use static imports to get the static operations of System without actually mentioning System. Unfortunately, the static import itself mentions System. * Throwing some sort of exception whose name doesn't contain 'e', while setting its message to the desired output. Unfortunately, you have to instantiate an exception before you can throw it. * Instantiating an Exception (or anything else) use Class.forName(). Unfortunately, this method throws an exception, which you must catch (and thus mention), and the exception, and all of its parents, has 'e' in its name. * Declaring and using annotations for something. I'm don't have much experience with annotations, so I have no idea what kind of tricks could be done with these.
Of course, you could "cheat" and use \u0065 whereever you wanted to use 'e' but that would probably defeat the spirit of the challenge.
- Oliver
Chris Uppal - 10 Nov 2005 12:17 GMT > I tried figuring out how to do I/O, but came up with nothing. Dead > ends included: I also pondered using classloader trickery and bytecode rewriting, but first you have to create your classloadEr :-(
OTOH, lipogram classfiles would have their own challenges. Obviously one would have to disallow any bytecode with an E in its hex code: arraylength astore_3 d2i dconst_0 dup2_x2 fdiv freturn iaload iand ifle istore_3 lload_0
-- chris
Free MagazinesGet these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...
|
|
|