Esoteric Programming Languages
led_belly writes: "I came across this interesting page from the #alt.linux IRC chat room topic (irc.keystreams.com). It is an interesting read for all those who have ever been baffled by why/how some people do things. The Yahoo! Webring listing of similar topics is here."
"It is a greater offense to steal men's labor, than their clothes"
My other car is first.
I'd like to see how Intercal is actually used for anything or if it keeps up with other emerging languages. When new (and useful) languages hit the scene, it probably has to drop some features because they're used in that language. I guess maybe it's the first language with the ability to shrink from it's original set of features, unlike other languages out there today (like Java or even Perl)
Of course, it appears very inefficint - A search for prime numbers less than 65535 took 17 hours while C can handle that in a about half a second.
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
The page referred to by this article states "...Or when the source is not available. (Mumble, mumble.)"
Why is it such an offence when a programmer chooses to keep the source for his work private?
Do the same people complain when an author doesn't publish the rough drafts to his book? Or when the manufacturer of a chair doesn't give out the blue-prints for free?
I don't get it.
side
why don't we add stuff like asm to that list? it's just a bastardized version of english anyway...
Get a big Black Lab or a Golden Retriever. That big ol' tongue will lick the dung.
It needed to be said, so you said it.
I wonder if some of these languages don't fall under at least one of the 4 programming models. They should make up one more, the dumb languages.
So, you're saying that all comedians should stop writing jokes, and instead write serious political speeches?
You've got to take a break from life every now and then.
writing Haskell in the HUGS implementation for my programming language design class. Some of these obscure languages look, possibly, even worse!
If you celebrate Xmas, befriend me (538
Don't come wining to me when you get 20 to Life in ass-pounding federal prison for forgetting your National ID Card on your coffee table.
"You spoony bard!" -Tellah
It's because Michael is a crack addicted BUTT MONKEY.
I used to just think it was funny when they called you a communist bastard, Michael. How little did I know it was motherfucking true.
You fucked motherfucker fuck fuck. You'll surely die a virgin.
As an intellectual challenge, rewrite DeCSS in any of these languages. Feel free to share your results with us.
To get something done, a committee should consist of no more than three persons, two of them absent.
I wonder... if someone were to write an OSS product using one of these more obfuscated languages, I think we should ban from bearing the title OSS. People wouldnt be able to understand the code at all for their own uses or improvements. Hence it'll be Open source, but instead only the original developer would know anything about how it works, make changes, etc.
:)
Unless of course someone is REALLY skilled at hacking these languages
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
Post Comment
Lameness filter encountered. Post aborted!
Reason: Please use fewer 'junk' characters.
Goddamnit, I just want to post brainfuck source.
and what exactly could this guy do?
I'm a big retard who forgot to log out of Slashdot on Mike's computer! LOOK AT ME.
It has to be a toss up between:
(from INTERCAL)The Sieve of Erosthenes test for prime numbers up to 65535 took over seventeen hours on a SPARC--it requires only a half second using C.
and
(from SMETANA) The language has two instructions: "Swap step n with step m", and "Go to step p".
For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
It's not baffling why people create pointless computer languages. Freud would have instantly recognized it as sublimation. Celibate males have a lot of pent up energy, which in this case they channel into their computer work.
How is this offtopic ? Seems pretty ontopic to me ...
bud... look at the ppl who play everquest and diablo 8-16 hours a day... many of them in their 20's and 30's... they make these people look deserving of nobels...
I find it funny that somehow, this fucking post gets an intresting mod up.
I have said it before, and I will say it again. Slashdots mod system fucking sucks.
A clueless moderator marked it down as flamebait. A language has to be pretty awful for that to happen.
Anyway, here's Brainfuck Also here
It's Turing complete, 8 instructions, and programs look something like this
If tits were wings it'd be flying around.
That's right a Klingon programming language. Waaaaaaa! As far from Perl as one can get....
Comparing it to Windows will be a moot point, since El Dorado is going to have a 40% larger code base than XP.
Again, a fucked up mod system
Reminds me of all those fun hours wasted drawing cool pictures with LOGO.
Question: Who is fighting this war? Us "weirdo coders"? No. The military is.
Does it make a difference whether we're watching the CNN coverage 24/7 or not? No.
Will it matter if the government takes advantage of the situation and creates a virtual police state? Yes, and that is the one thing that we might be able to make a difference about.
I say we let them do what they do best (blow things up), and let us do what we do best (bitch about our diminishing rights).
No list of esoteric programming languages would be complete without a link to the Beer Page:
http://core.federated.com/~jim/99/ (mirror)
This is a collection of programs written in over 200 languages designed to print the canonical "99 bottles of beer on the wall" song.
The mod system works fine. It's just the users that are so fucked up. I'm sure if people actually modded reasonably and not to be anonymous dicks then the system would work.
The military needs coders. If you'd really like to help, call your local recruiter. That is if you don't consider yourself too good to serve your country, unlike most "weirdo coders."
Will it matter if the government takes advantage of the situation and creates a virtual police state?
Yes, it will preserve lives. The nation has been overrun by terrorist agents. I can't believe that habeas corpus hasn't been suspended yet. It's ridiculous and suicidal. In the past, our leaders have understood that the curtailing of individual liberties during war time is a necessary evil. I hope we come to our senses before it is too late.
let us do what we do best (bitch about our diminishing rights)
There's no point in trying to preserve your rights if you can't preserve the nation.
And there's one other thing you civil libertarians will need to be good at: washing the blood off your hands. The next time terrorism strikes America, remember that you helped it happen.
Everyone needs a break once in a while. Some people code for fun. Sure, they could be doing something better with their time and skills, but couldn't you too? Reading Slashdot isn't benefitting mankind too much, is it?
All work and no play makes humans go crazy.
I had forgotten how many failed experimental languages there were, and was amused to see these odd academic and intellectual experiments still sprouting up.
One can only hope that one of these odd languages might spark the imagination, and actually provide a paradigm shift. Especially note worthy were "Befunge" and "Orthogonal" which are two-dimensional languages. More experimentation along these lines could only be good. Could a multi-dimensional language more efficiently encode parallel-processing software for instance?
Letter To Iran
Article's topic: strange programming languages
That post's topic: getting first post
No, it's actually not very on-topic. And besides, nobody else really cares that you got the first post.
A mere 371 bits suffice to encode a universal combinator equivalent to ...(a) universal Turing machine:
11100110010100110010110011000010001110010101110010 110 0 100 1 100 1 100 0 010 0 110 0 001
0110010100110010110010100110010110010101110011001
0110111001100110011000101101011010010101110010101
1011001100101001100001000111001100101001001010010
0111000101110011000010001101110011001010011001011
1001100101100101011100110010100011011100110001011
0011011100110010100110011001010011000010001100011
Dan Brumleve has a written a combinator interpreter in Perl that may be capable of evaluating Tromp's strange machine.
Seastead this.
The oddest language from my point of view was Refine. It was a lisp based object oriented language with relatively few parentheses. Yes, you heard right, lisp and "few parentheses" mentioned in the same breath. We used it to create a prototype and it was interesting. I believe it grew out of Teitelbaum's group at Cornell (creators of the Synthesizer, which 1st year CS majors at Cornell were forced to code on way back when). Anyone else ever use it? I found it to have many of lisp's disadvantages (garbage collection, anyone?) without all the advantages. It did have a good plugin for emacs though (and forced this vi veteran to learn emacs).
No menton on any of the major news services.
But then again, an anonymous caller to a radio talk show would know.
Letter To Iran
Since "helping create a better world" would probably involve coming up with technologies to exterminate small-minded people like yourself, you should be thankful they're spending their time on harmless intellectual pursuits instead...
Users of unlambda should note that the "i" combinator is strictly speaking unnecessary. For further obfuscation, replace "i" with "skk".
sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Check this out:
class HelloWorld
{
public static void main(String args[])
{
System.out.println("Hello World");
}
}
Have you ever seen anything so #$%$#% up before??
There is also an IOCCC-like contest for esoteric languages. It's homepage is here. :)
Take a look especially at Sorted!, which is a real cute language...
Another list of esoteric languages is also available.
Make even shorter URLs - 8LN.org
Oh my god. These guys need to get a life.
Care to elaborate on what you think is wrong with it?
Easy, automatic testing for Perl.
That said, I will reply as though it were.
Inventing odd computer languages is a much better use of time than doing crossword puzzles for instance. If people get enjoyment from writing new, odd, programming languages, good for them. The proliferation of failed languages can help by exploring new ideas, and even provide a sort of Darwinian backdrop for evolving languages in general by show not only what works well, but what works poorly.
Letter To Iran
And how many computer languages have you written that are better than any of these? The point isn't that these languages are useful in a commercial sense or even an academic one, only that someone was challenged enough in an intellectual way to try something different. As I posted in another thread here, "Befunge" and "Orthogonal" have some interesting properties that are worthy of consideration in and of them selves. God forbid our next round of languages should only evolve out of C, C++, and Java!
Letter To Iran
The page says that Unlambda's interpreter is written in Scheme, which isn't strictly true. The CUAN contains interpreters written in Java and Scheme, and more than one in C. I think there's a buggy Perl interpreter, as well.
k s``s`kk
``s`kk``s`kk`ki``s``s`ks`ks``s`kk``s`kk`kk``s`k@`k i``s``s`k|`kii`kei
I've written an Unlambda interpreter/stepper in Python, available here. It's correct, as far as I know, but extremely slow for lengthy programs.
Incidentally, here's "cat" in Unlambda:
```sii ``s``s``s``s``s``s`ks``s`kk`kc``s``s`ks``s`kk``s`
Loads of fun!
If you want a strange programming language that garnered virtually no support and was a real pain in the ass, look up APL (primarily used at Pomona College in Claremont, CA, because the guy who invented it was a professor there).
APL was defined by coding which wasn't particularly inventive but which required a complete keyboard overlay - it didn't use ASCII characters (except in text, as I recall), but rather a mixture of greek symbols and shit the author just plain made up. So in effect you had to match 'objects' to keys on the keyboard, a completely non-intuitive way of typing. Talk about watching your hands while you work....
Unfortunately the college was incredibly gung-ho on APL and thought it would revolutionize coding, so if we wanted to do any serious work we had to do it in APL. This meant that about a dozen of us sat around learning APL so that we could program what might have been (don't really know, but I don't know of any other examples in 1983) the most massively multiplayer Star Trek ship battle game to date (up to 127 players, although the mainframe usually came to a grinding halt when we passed the 70 or 80 player mark). We then passed this program off as a science project, which it was accepted as since no one else could read the damned thing.
Well, I guess it had a use after all....
Max
My god carries a hammer. Your god died nailed to a tree. Any questions?
STFU and get back to coding,linus
Aha! The first mention of our glorious and unheralded IRC network. Anyone looking to hook up to a newer, reliable network... You may want to try connecting to irc.geeksanon.ca, the round robin DNS name. Of course, you can also use irc.keystreams.com, irc.gravitysucks.org (hosted by www.gravitysucks.org) and irc.duped.net. I am done.
"It's amazing what velocity can do when human beings are in season" -Matthew Good
it does seem to have an "arbitrarily" ruled feel, just relax and take heart in the fact that some people seem to still want to create and think on their own. I don't get >1/2 of what they are talking about, but it's easy to see how cool it is (if not a little obfuscated by definition alone :)
Rush Limbaugh is a Great American...
no wait, I mean a grating American.
Letter To Iran
What's all this about erotic programming languages? Oh...nevermind.
To-do List: Receive telemarketing call during a tornado warning. Check.
#!/usr/bin/perl
($_=HWX)and s|[IQ-Z!*B]X|EMLP VPS|and(tr@L-U@K-Z@),
s&(V|K)&++($A=$1)&ge&&print"${_}LD\n";
Loneliness is a power that we possess to give or take away forever
He went on for years, pouring poison and hate into people's ears.
Now he's going deaf.
God acts in mysterious ways.
"Flyin' in just a sweet place,
Never been known to fail..."
Seems that 'round here EVERYTHING should be opensource...but in the case of Brainfuck OS...all I can say is OUCH, we should be careful what we wish for ;)
Learn them all !!!
Of course, you could also approach the task a little more systematically. A possible approach, and this is based purely on learning a language in order to improve one's thinking processes, rather than learning a language based on the marketability improvements possession of such knowledge brings, is to broadly catergorise them along the lines of 'problem solving styles', or 'programming mindsets' that they directly support or encourage.
Assuming no prior knowledge, you could start by learning procedural programming; a very good starting point is C. It is a small, compact language that will help you learn the basics of procedural programming; it's not a difficult language if you stay away, initially, from its more esoteric features like pointers and bitwise operators. Having learnt C, you will have a very solid grounding for learning languages such as JavaScript, C++, and Java because the 'syntactic core' of these languages is very similar.
Another procedural language is COBOL. It is quite a big language in terms of the number of reserved words ('verbs' in COBOL-speak) it offers. However, it is really quite a simple language and provides, as core facilities, tremendous file processing capabilities. In addition, it forces the programmer to be systematic, that is, you need to spell out exactly, and in painstaking detail, what it is you wish to do. In a way, its wordiness is its strength, and it is difficult to produce 'sloppy' code the way it is possible to do in, for example, C.
Next, you could tackle object oriented programming. You could start with either one of the very popular object-oriented languages, C++ and Java. Personally I would start with C++ as it is, I believe, more complex, and thus, more difficult to learn; if you master it, Java will come easy, and the hardest part will be simply to learn its rich set of packages (collections of objects).
Smalltalk is probably one of the purer object-oriented languages, is widely respected in the programming community, and, I should admit that the main reason I included it here is that its the next language on *my* list to learn. I've looked at a couple of Smalltalk code listings and have found it difficult, at first glance, to understand it; that being the case, I look forward to the challenge of learning it !
Now, for a couple of oldies, but goodies: LISP and Prolog. Neither of these has, as far as I'm aware, very significant commercial application, but if you are looking to try some truly 'different' programming approaches, in a bid to extend your thinking processes, then these are it !
LISP, for me, is a truly enjoyable programming experience. I won't pretend to be an expert in it, but by simply spending time with this language I have learnt so much about data structures, programming techniques, and, generally, problem solving techniques. It's a really good tool for 'doodling', that is, quickly whipping up little algorithms and immediately testing them. A definite 'must-learn' language !
Prolog is one I find fascinating. I'm still struggling with it, and although I've developed nothing more than simple database query applications with it, every time I work with it I find myself approaching a 'simple' problem in non-conventional ways, always forced to rethink how something should be done. I would recommend you look at this language to learn how to program in a truly non-procedural way, that is, to work 'with' the help of the language itself, rather than simply writing down commands for the compiler / interpreter to follow.
Finally, on top of these you could add interpretive 'scripting' languages, tools which are aimed more at 'gluing' applications together than being fully-fledged development languages in their own right (I know perl purists will probably scream, claiming this is heresy, but basically it is not so much a development language as a 'super-shell', an all-encompassing environment, almost an 'operating system within an operating system').
Finally, I should stress that, as a programmer, it is not just languages that you should be striving to learn, but to expand your knowledge in general. For example, acquiring general business, management, communication and 'people' skills will make you more aware of the 'real world' in which you must apply your skills.
While the idea of learning other programming languages is to extend your ability to identify and abstract problems, as well as adding to your 'armory' of programming tools, there is no substitute for a good grasp of your problem environment, that is, understanding the nature and type of 'problems' you will be asked to solve. Not every problem necessarily translates into a computer-based solution, hence the importance of also acquiring non-programming skills.
Moderators, please explain why you modded the parent down. I'm seriously interested.
my brain hurts because you allowed me to follow the Unlambda link. can i sue?
>>There's no point in trying to preserve your >>rights if you can't preserve the nation
I would say:
There's no point in trying to preserve the nation if you can't preserve your rights.
------- I saw a VW Beatle the other day. The vanity Plates said "FEATURE"
More here on CNN (Scroll down to "Reno case has Malaysia link"), BBC (Scroll down to Cheney's photo), and Msnbc.
Experts are poring over posters shown at pro-Bin-Laden protests, but so far no hidden tux has been spotted in any of them...
Speaking of which, does anyone know what happened to the "99 bottles of beer on the wall" page that shows source code written in umpteen different computer languages to print out the lyrics to that song?
--- even the safest course is fraught with peril
That must be the triple-improved version of some language called BrainF, you know like C++ is to C.
Or maybe those stars are there to mask some letters? I wonder what they could be?
them: (looking at me with long hair but previous experience, then eyeballing the LINE OUT THE FUCKING DOOR of 18 year olds who want to be Special Forces
They don't want coders or anyone like that now unless you have a degree and want to be an officer..sorry, but offices are now swamped with people of ALL kinds wanting to help or take advantage of the situation or kill or whatever...just wait until the dust settles. Course..I wasn't taking you seriously..but the advice is for others.
Comment removed based on user account deletion
Where have the dd/sh pages gone?
Is DD/SH now a lost language that only exists as a faint memory in the minds of the few surviving followers of yester-year and the dd/sh monks now awaiting their untimely death? Does anyone have a copy of the sacred parchament?
--- Delta0.. makes no difference.
small-minded? wow, that's brilliant. Thanks. You don't even know me and yet you have the gall to call me names, when all I'm saying is that there's a lot of shit to take care of in this world, and I figured there's a bunch of smart people here who have skills and talents that can help make this world better and I though that maybe it's more worth their time to put their talents to use in a productive manner, but instead, I get jumped on by a bunch of crackpots who think it's funny to trounce on another fellow human being to make themselves look better.
Well, listen here bitch, my city just got completely blasted a month ago. I walk around every day now wondering if I'm gonna blow up in a nuclear fireball by some crazy idiot human being who doesn't value the meaning of life and all I'm asking is for talented and smart people to help out a little bit. And I don't mean by building bombs to blast away each other. I mean by thinking and creating in a productive manner that's will help enlighten our race and make this a better world to live in.
So, if you want to call me small-minded, go right ahead, but I wonder if you wouldn't mind taking back that comment and showing a little decency to a fellow traveller in this crazy thing called life. You know, some things are just too important to take for granted, and one of those is respect for others. Thanks a lot for making my fucking day.
+1 Insightful, -1 Troll. What can I say, I'm an Insightful Troll.
...was called abuse. I don't know if my friend came up with the idea himself or got it somewhere else and implemented it himself. The interested thing about the language is that anything could be redefined including the keywords of the language. It allowed you to really obfuscate things. I wish I had that interpreter, it was quite fun.
"You can now flame me, I am full of love,"
It won't be complete if I don't include The Language List. Not only this page contains resources for those esoteric ones, but also other "saner" languages too.
For those of you who want to create programming languages, make sure you read the underlying principles. If you know all these stuffs, your programming language will not be just a toy!
--
Error 500: Internal sig error
It would be interesting to see how these
languages could be used as pieces to a puzzle.
flinging poop since 1969
The new site is: http://members.tripod.com/rkusnery/remorse.html
-- The Hoss Man
Another page on weird languages is here.
Qu'on me donne six lignes écrites de la main du plus honnête homme, j'y trouverai de quoi le faire pendre.
Esotheric programming forms and programming paradims: http://www.catseye.mb.ca/esoteric
This post was compiled with `% gec -O`. email me if you need the sources
Back when I took compiler construction at Drake University three of us got together and made our own programming language called Eubonicode to help those who like to engage in ghetto algorithmic expression. I threw it up on the website. Here is the fibbonacci code:
sup
{
gimme fibo bitch
a be 1 bitch
b be 1 bitch
putou a bitch
putou b bitch
fibo be fibo widout 2 bitch
slongas (fibo bepimpin 0)
c be a an b bitch
a be b bitch
b be c bitch
putou b bitch
dissin fibo bitch
nomo
}
bash-2.04$
bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
I think this is shorter in perl. Compare:
,olleH">:#,_@
55+".dlrow
print"Hello, world.\n"
Note that the space after print and final semicolon are optional in perl.
-Ted
But that really has nothing to do with the comment you made. The way your comment was written, frankly, annoyed me. You assume that because someone develops something like a toy language that they're not also doing something worthwhile. You also presumably don't see the benefit in doing things as an intellectual exercise. I imagine you're not familiar with the enjoyment that can come from creating an interesting piece of computer software. Perhaps you're not familiar with the joy of creation in general. If you are, and you've ever painted a painting or written a poem or essay, or composed a tune, try to imagine that other people may get similar pleasure from writing software, even if the software doesn't seem to do anything "useful".
Some people do crossword puzzles, or grow gardenias, but that doesn't mean they're not also doing something productive. I doubt there are many people out there designing useless computer languages for a living. In fact, I suspect the people who have invented useless computer languages are probably also doing something quite productive with their lives. As such, your comment was inappropriate. I responded in annoyance, and for that I am sorry - it would probably have been better to try and explain to you what you're missing.
Now, let me tell you something about the terrorist attack. You're not dead. If you "walk around every day now wondering if I'm gonna blow up in a nuclear fireball by some crazy idiot human being who doesn't value the meaning of life", it just means you weren't paying attention before. Nothing much has changed in the world in terms of what's possible - it's just that you've suddenly become aware of more possibilities. Some terrorists took advantage of overconfidence, and lax security and policies. The US thought it was immune to this stuff, and you probably were one of those who thought that. You're now having to deal with having your imagined security taken away.
I've got good news for you: unless you lost close friends or family members (in which case I'm very sorry), not much has really changed in the long run. In fact, the end result of all this may be that things get safer, not more dangerous. But even if it doesn't - the world is still full of risks, whether natural or human. You have more chance of being mowed down by a cab in the city than you do of being hurt by the next terrorist attack. More people than were killed in NYC get killed in earthquakes on a fairly regular basis. That particular attack was likely to be a freak event - terrorists aren't going to be as successful every time (think about the previous WTC attack, for example). The world is not coming to an end, although many people's illusions may be.
Try to put your situation in perspective and think about it more broadly. You're not the only person on the planet, the terrorists aren't after you personally, and nor are they likely to get you. Take your own advice and do something useful with your life. I'm sure you'll live a long time, and have a fruitful life. But your life is happening now, attack or no attack. Walking around worrying about it is not going to help. Criticizing other people who aren't obssessing over it isn't going to help.
In fact, doing something creative, that expresses the joy of living and your human capabilities, is probably one of the best things you can do for your own psychology, which needs a little help right now. Express your humanity in a positive way - it's the best answer to what the terrorists have done. "Living well is the best revenge", is the saying, and the current situation is a variation on that. The terrorist problem is not going to be solved overnight, and if you try to suspend all other activity until it is solved, you'll simply burn out and end up in the loony bin.
I never thought that I'd see it up on slashdot, but my webring's up on Slashdot! How cool is that!
In case you're wondering, I'm the bloke who administers ESOLANG.
I don't like trolls and mod against me if you like, but I'd prefer if you'd reply.
It is fitting that a Microsoft writeup extolling the virtues of Visual Basic on its 10th anniversary features an allusion to one "Donkey
http://msdn.microsoft.com/vbasic/bday/default.asp
Clearly, Visual Basic is the best choice for all of the world's jackasses.
oops...I thot erotic.
More here on CNN (Scroll down to "Reno case has Malaysia link"), BBC (Scroll down to Cheney's photo), and Msnbc.
Experts are poring over posters shown at pro-Bin-Laden protests, but so far no hidden tux has been spotted in any of them...
But none of these languages are failures. They're toys and thought experiments. At worst, designing programming languages like this could be described as a form of mental masturbastion. Is the IOCCC useless or anything like that?
I don't like trolls and mod against me if you like, but I'd prefer if you'd reply.
while taking a programming languages & compilers class, the prof, after talking about parse trees, mentioned that we could implement double backwords for loops. A buddy and I looked at each and said, "huh? double backwards for loops?" The prof went on to describe a loop where:
for (condition) {
statement1
statement2
statement3
}
the condition is checked, and statement1-3 get executed. Then statement3, 2, 1 get executed followed by the condition being examined. Essentially flow runs down and then *up* the block.
I always thought this was a kinda cool, half baked idea. Useful? No, not really, but cool nonetheless.
(==;:9876543s+OoLm
;-)
Can you tell what language that's in? It's something evil called Malboge (so named after a ring of Hell in Dante's Inferno...) Even the author was surprised that someone could actually *write* that program. It only took about a month...
http://www.andrewcooke.free-online.co.uk/
And some people complain about Perl? We have it too easy
PANDORA USER BASE
...
NIEUWSBRIEF 22
http://pub.telenet.be
11-10-2001
Aanwezig:
voor Telenet:
dhr. Paul Van Cotthem, dir. marketing
dhr. Piet Spiessens, dir. technische diensten (*)
dhr. Christophe Colle, verantwoordelijke serverbeheer (*)
dhr. Jos Van Haegenborgh, internet service centre manager
mevr. Kris Naessens, PR manager, communicatie
Voor PUB:
dhr. Philip Paeps, bestuurslid (*)
dhr. Marcel Vander Mierde, bestuurslid
dhr. Nic Mertens, bestuurslid
dhr. Leon Volders, bestuurslid (*)
dhr. Tom De Voeght, bestuurslid (*)
De vergadering begint te 11.00 u
(*) ook aanwezig op de technische vergadering
SAMENVATTING
De vergadering bestond uit twee gedeelten: een
technische voorvergadering en de uiteindelijke meeting.
In de voorvergadering werd het gebruik van de Hephaestos-server besproken.
Telenet geeft PUB de beschikking over SMTP, zodat zij hun onderlinge
correspondentie beter kunnen afstemmen. Verder wordt onderzocht of PUB toegang
kan krijgen tot het Telenet serverpark om een uitgebreide statuspagina te
ontwikkelen. Tenslotte werd nagegaan of de nieuwsgroep pandora.pub ook op de
website kan worden geplaatst (in read-only). Telenet houdt beide laatste vragen
in beraad.
Tijdens de eigenlijke meeting werd vooreerst het probleem van de trage snelheden
aangekaart. Hiervoor is moeilijk een objectivering te vinden. Wel wordt
onderzocht of er enkele technische problemen zouden zijn op het vlak van de
peering connections; en de nieuwe Juniper routers zijn nog niet geheel
aangepast. Daarnaast zijn er een reeks situationele problemen. Er wordt
benadrukt dat er géén bandbreedte problemen zijn: in feite is de verhouding
bandbreedte/klant nooit zo hoog geweest en werden de voorziene budgetten zelfs
overschreden.
De ontdubbeling van de newsservers is een feit. Volgende week (week 15/10)
zouden ze functioneel moeten zijn. De binary-server zal 'newsbin.telenet.be'
heten. De vroegere 'news.pandora.be' server zal alleen nog tekstgroepen voeren.
In plaats van de verwachte 4, zullen er nu 5 machines worden ingezet.
De nieuwe EuroDOCSIS modems komen op de plaatsen waar nieuwe capaciteit wordt
ingevoerd. Zij hebben een reeks voordelen, voornamelijk op het vlak van de
standaardisatie en de functionaliteit.
Telenet vraagt aan PUB om mee te denken over methodes om de belastingpieken (in
de avond; bij begin en einde van de maand) in het dataverkeer weg te werken.
Hiertoe
worden een reeks denksporen gevolgd. Enkele hiervan zullen hun weg vinden naar
het enquêteformulier op de website van PUB.
Het modulaire abonnement wordt verwacht in het eerste kwartaal van 2002. Er
wordt momenteel marktonderzoek gedaan naar de meest aangewezen implementatie
hiervan. Telenet vraagt aan PUB om hieraan mee te werken, via ledenbevraging.
De medewerkerdag zal nog dit jaar plaatsvinden, meest waarschijnlijk in het
auditorium van Technopolis. Telenet wil dit initiatief steunen met een mate van
sponsoring.
De data voor de bedrijfsrondleiding liggen intussen vast. Wie zich als
geïnteresseerde opgaf ontvangt nog een e-mail om de details te regelen.
Nagepraat werd ook rond het 0900-nummer, aan de hand van een casestudy. Het
blijkt dat deze zaak nog niet helemaal rond is, maar de formule is nog steeds in
evolutie en wordt telkens meer verfijnd.
Telenet zal een bijdrage leveren aan de ledenwervingscampagne van PUB, door een
melding van de gebruikersgroep te maken in zijn welkomstbrief in het nieuwe
pakket "Telenet in een doos", en ook op de vernieuwde portal zou een vermelding
komen.
AGENDA
1. Voorafgaande opmerking
Omwille van de techniciteit van de behandelde onderwerpen werd de vergadering in
twee delen opgesplitst. Het eerste deel gaat over de PUB-server, het tweede
gedeelte behelst de eigenlijke meeting tussen PUB en Telenet.
Technische vergadering: de Hephaestos-server
2. Het poortgebruik
De informatieuitwisseling tussen de PUB-bestuursleden onderling loopt via een
database-systeem. Om de goede coördinatie te verzekeren, zou het bestuur moeten
beschikken over SMTP-mogelijkheden, zodat zij naar behoefte scriptjes kunnen
maken om de administratie te vergemakkelijken.
PUB vroeg dus om inkomend en uitgaand poort 25 open te zetten, zodat het bestuur
dan kan beschikken over extra mogelijkheden om bijuvoorbeeld de binnenkomende
e-mails voor PUB te verdelen en af te handelen.
Telenet was eerst niet geneigd hierop in te gaan en stelde diverse andere
oplossingen voor, maar uiteindelijk werd toch toegezegd dat de PUB server eigen
mail kan ontvangen op het domein pub.telenet.be. Vanop het Internet echter zal
de server niet rechtstreeks bereikbaar zijn voor mail, maar dat is voor het
PUB-bestuur geen enkel probleem, daar binnenkomende mail altijd al via Telenet
moest rondgaan. De gekozen technische tussenweg (een MX-server van Telenet
levert af) was uiteindelijk voor beide partijen een aanvaardbaar compromis. Aan
het gebruik hiervan worden echter een reeks voorwaarden verbonden.
Daarnaast wil PUB via de server ook een eigen statuspagina draaien, maar omwille
van de nogal rigoureuze beperkingen die Telenet aan de server heeft opgelegd
betreffende ingaand en uitgaand verkeer is dit momenteel helaas niet mogelijk.
Telenet heeft begrip voor deze situatie, en beloofde intern te onderzoeken of
het mogelijk is dat de PUB-server dezelfde toegangen krijgt tot het
Telenet-serverpark zodat dit soort services mogelijk wordt. Indien Telenet niet
op deze vraag wil ingaan zal PUB slechts een beperkte statuspagina kunnen
opstarten. Wordt vervolgd dus.
Als laatste vroeg PUB ook toestemming om de eigen nieuwsgroep news:pandora.pub
via de website leesbaar te stellen voor haar leden en sympathisanten. Ook deze
vraag kon niet onmiddellijk positief beantwoord worden door Telenet, omdat zij
vrezen voor misbruik. PUB wil echter niet al zijn leden verplichten op met de
vaak nogal gebruiksonvriendelijk nieuwssoftware te werken, en het forum via de
site aanbieden. Bovendien volgt slechts een klein gedeelte van onze
mandaatgevers de nieuwsgroepen. Telenet beloofde uiteindelijk ook hierover de
discussie intern te openen.
3. Contractuele bepalingen
De overeenkomst betreffende de server wordt aangevuld met enkele bepalingen. Zo
zal de server uitsluitend mogen gebruikt worden door de PUB-bestuurders en
enkele medewerkers die er toegang moeten toe hebben (maximaal 10). Verder mogen
mass mailings alleen in de off-peak uren worden verzonden. Deze regels worden
ook bindend gemaakt voor toekomstige bestuursleden.
Dit deel van de vergadering wordt gesloten te 12 uur.
MEETING PUB-TELENET
1. De algemene lage doorvoersnelheden en latentietijden
De recente traagheidsproblemen kunnen door Telenet niet volledig worden
geobjectiveerd. Telenet stelt dat op de zeer snelle groei werd geanticipeerd, en
dat dus voldoende bandbreedte aanwezig is. In feite is de verhouding
bandbreedte/klant nooit zo hoog geweest als nu. Het budget dat hiervoor was
uitgetrokken is zelfs overschreden.
Ook zou de helpdesk zeer weinig klachten hieromtrent hebben ontvangen. Telenet
wijst erop dat de traagheid op het ogenblik een algemeen verschijnsel lijkt te
zijn: ook op be.providers lopen de discussies momenteel over de traagheid van
ADSL-verbindingen.
Dit neemt niet weg dat er wel degelijk ernstige problemen zijn en dat het
ongenoegen bij de gebruikers groot is - zoals bijvoorbeeld blijkt uit postings
op de pandora-nieuwsgroepen.
Er zijn enkele technische verklaringsgronden, naast enkele situationele.
Mogelijk staat de private peeringconnectie met UUNET onder druk; dit wordt
onderzocht. Ook de routes via KPN blijken niet altijd probleemloos te verlopen.
Verder zijn intern de CISCO-routers nu door Junipers vervangen en die zouden nog
niet optimaal werken. Dit probleem is binnenkort van de baan.
Situationele verklaringen vinden we in de eind/begin maandperiode (hier zullen
oplossingen voor komen), in de omstandigheden na 11 september (overbelasting van
het hele net), de massale invloed van Nimda en andere virussen die alle servers
aanvallen en tenslotte het slechte weer in september, dat het internetgebruik
doet toenemen.
Voor de proxies gelden de meeste bovenstaande argumenten. De load balancing van
de proxyservers gebeurt niet random maar volgens een round robinsysteem.
Hierdoor kunnen plaatselijke verschillen in belasting optreden. Het is echter
geen goede strategie om een specifieke server in te stellen, omdat daarmee het
probleem alleen maar wordt verschoven naar de andere.
Voor de gameservers wordt poort 80 in principe niet opengezet. Uitzonderlijk is
dit wel gebeurd voor het spel "Black and White", zelfs op cableniveau, maar in
principe moet de spelfabrikant zelf de nodige schikkingen treffen. Voor Black
and White is dit intussen met een patch gebeurd.
Het probleem van de DNS-servers die niet snel genoeg synchroniseren, zal
onderzocht worden. Ook zal bekeken worden waarom sommige traceroutes naar
proxies deze blijkbaar niet vinden.
2. De ontdubbeling van de newsservers
Door een reeks factoren (hard- en software gerelateerd) heeft dit project enige
achterstand opgelopen. De deadline was donderdag 4 oktober, en het personeel
heeft er de ganse nacht aan doorgewerkt om het toch nog tijdig voor elkaar te
krijgen.
Waar er oorspronkelijk 3 nieuwe machines waren voorzien, werd dit aantal eerst
gebracht op 4 en tenslotte zijn het er 5 geworden. De gebruiker krijgt er drie
te zien (spool/feed). De "volledige" newsserver krijgt de naam
newsbin.telenet.be en loopt op twee machines. Dit is de meest volledige server
waarop ook de binaries te vinden zijn. Ook de alt.* groepen zullen enkel op
deze server terug te vinden zijn.
De vroegere server news.pandora.be zal alleen nog de tekstgroepen aanbieden, en
dit tegen een ongetwijfeld veel hogere snelheid.
De officiele start van het nieuwe systeem is voorlopig voorzien op maandag 15
oktober. De beloofde extra feeds die voor nog meer volledigheid moeten zorgen,
zullen zoals eerder gezegd pas later worden geïmplementeerd, als het systeem
volledig op poten staat. Wel reeds nieuw op de nieuwe machines is zoals eerder
al vermeld het authenticatiesysteem. Wie wil posten zal vanaf nu zijn identiteit
moeten bekend maken via login en paswoord. Wil je echter alleen lezen, dan is er
aan je privacy gedacht, want op vraag van PUB kan je bij enkel lezen gerust een
fictieve gebruikersnaam en paswoord doorgeven.
Op de "gewone" newsserver zal het niet mogelijk zijn binaries te posten en
tekstbestanden van meer dan 16 kB worden automatisch door de feeds uitgefilterd.
Daarom zal het verzenden en lezen van nieuwsberichten zeer snel gaan.
3. Nieuwe aanpassingen en toepassingen
De EuroDOCSIS-modems.
De bestaande Motorola-systemen (modems en cablerouters) zullen langzaam aan
uitsterven. Daar waar er nog voldoende capaciteit is zullen ze voorlopig nog tot
uitputting voorraad gebruikt worden. In de andere gevallen worden sinds 1
oktober de nieuwe EuroDOCSIS modems in gebruik genomen.
De voordelen van deze nieuwe modems:
1. Vormen een nieuwe open standaard, dus uitwisselbaar met andere systemen.
2. Hierdoor hebben ze ook meer functionaliteit, bijvoorbeeld het retailmodel: de
modems zouden dan ook in de handel (niet eerder dan 2003) kunnen aangeschaft
worden. De gebruiker kan desgewenst dan zelf een modem aankopen.
3. Momenteel is de firmware versie 1.0 plus, binnenkort versie 1.1. Deze omvat
een reeks quality-of-service features waardoor bijvoorbeeld medio 2002 VOIP
(voice over IP) mogelijk zou worden.
4. Differentiatie op datagebied. Door de instelbare parameters kan men
implementeren naar behoefte. Dit houdt een reeks schaalbare capaciteit in,
bijvoorbeeld selectieve capping (op modemniveau), filteren van bepaalde
diensten,
5. Het spreekt vanzelf dat dit op langere termijn zijn diensten kan bewijzen bij
het modulaire abonnement, dat dan werkelijk "op maat" kan gemaakt worden.
4. Denkoefeningen
Momenteel bestaan er tussen PUB en Telenet een aantal "denkoefeningen", gericht
op het verbeteren van de service. PUB wenst dit aan zijn leden voor te leggen,
omdat sommige van de wijzigingen nogal fundamenteel zijn. Daarom zullen er een
aantal bevragingen geschieden, waarin de leden zich kunnen uitspreken over het
voor en tegen van een set denksporen die we momenteel volgen. De meeste van die
pistes gaan over het gladstrijken van de belastingspieken. Enkele creatieve
ideeën werden ontwikkeld en ze zullen in een reeks enquêtes aan bod komen.
Volgens onze mening komt elk van deze ontwikkelingen ten goede aan onze
mandaatgevers, maar we willen ons hierover niet uitspreken zonder hun
opvattingen terzake te kennen. De eerste enquête start bij het verschijnen van
deze nieuwsbrief (bvb. de hypothese: "toegelaten volume wordt verdubbeld op
daluren en gehalveerd op piekuren", wat vinden jullie daarvan?).
5. Het modulaire abonnement
Momenteel ziet Telenet 3 mogelijke pistes:
1. Een basisabonnement met opties tegen betaling (bvb. Extra volume, mailboxes,
webspace, etc)
2. Drie vaste niveaus: zilver, goud, platina, met andere functionaliteit aan een
andere prijs
3. Een combinatie van beide mogelijkheden
PUB heeft enkele basiscriteria ontwikkeld waaraan dit abonnement moet voldoen.
In het bijzonder stellen we:
1. De kostprijs voor de gebruiker moet realistisch zijn en mag geen verkapte
prijsverhoging inhouden. Hierbij moet het huidige basisabonnement behouden
blijven, met een lichte meerwaarde (meer mail- en webcapaciteit)
2. De formule moet flexibel zijn, gemakkelijk aanpasbaar en zonder veel overhead
3. Medegebruikers mogen niet de dupe zijn van grootverbruikers op dezelfde node.
De timing van het modulaire abonnement is nog niet bekend, maar Telenet zal dit
vermoedelijk lanceren in het eerste kwartaal van 2002.
6. Varia
De medewerkersdag
Nadat PUB vermeldde dat zij een medewerkerdag wilden organiserenwilde Telenet
onmiddellijk hieraan meewerken. Zo zou er o.m. onderhandeld kunnen worden over
het gebruik van het auditorium van Technopolis, wat voor onze leden en
medewerkers ongetwijfeld een prachtige gelegenheid zou zijn.
Het bestuur heeft ondertussen ook de grote lijnen van een dagvullend programma
bekendgemaakt. Op het einde hiervan worden ook de leden uitgenodigd op een
drink. Met Kris Naessens wordt ook nagegaan of er andere mogelijkheden zijn om
dit evenement meer kleur te verlenen via Telenet. (vb. gezamenlijke
persconferentie, receptie, openingstoespraak door Duco Sickinghe).
De datum ligt nog niet vast. Alleszins dit jaar, alleszins op een zaterdag.
Wordt vervolgd!
Bedrijfsrondleiding van PUB
Reeds eerder had Telenet toegezegd dat PUB aan haar leden een bezoek aan Telenet
kon aanbieden, met hieronder een kennismaking met de helpdesk, een rondleiding
in het NOC (het hart van Telenet), en nog heel wat meer. De concrete data werden
ondertussen ook vastgelegd: 15/11 en 20/11, telkens voor groepen van maximaal 25
leden. Het aanvangsuur is 18 uur en het bezoek duurt twee uur. Daarna volgt een
kleine receptie. Uiteraard is alles gratis en exclusief voor PUB-mandaatgevers.
We rekenen op een open doch kritische geest van onze bezoekers.
Wie zich al eerder voor deze rondleiding opgaf, zal een vraag tot bevestiging
van ons ontvangen, met daarbij een keuzedatum.
Wie dit ook graag zou meemaken, maar zich nog niet opgaf, kan dit alsnog doen,
maar komt op de wachtlijst.
Het 0900-nummer
Om duidelijk aan te tonen waar de nieuwe helpdeskaanpak misloopt bracht PUB een
case study naar voren waar nogal wat was misgegaan, vooral op het vlak van de
coördinatie tussen de helpdeskers.
Bij de analyse van dit geval bleek een opeenstapeling van misverstanden.
Enerzijds moest Telenet toegeven dat sommige zaken beter konden, anderzijds had
de gebruiker enkele voor de hand liggende mogelijkheden niet aangewend.
In het volgende Telenet Magazine ("TeleLetter") wordt hieraan meer aandacht
besteed. Er wordt op gewezen dat vele keuzen van de 0800-lijn binnen dit 0800
domein blijven. Het overstappen naar een 0900 nummer kan alleen op eigen
initiatief door dit nummer zelf te bellen. Je wordt dus nooit automatisch
doorgeschakeld. En mocht op de 0900 blijken dat dit onterecht was, wordt de
klant ogenblikkelijk zelf teruggebeld door Telenet.
De evaluatie van Telenet uit is dan ook zeer positief. Tot dusver zijn slechts
twee klachten in behandeling. Toch wordt nog steeds verder gewerkt aan de
verbetering van het systeem en het blijft in beweging. PUB zal klachten
hieromtrent blijven opvolgen.
Telenet merkt op dat bij een recente enquete door InSites bij 2500 respondenten
over de tevredenheid van kabelgebruikers versus ADSL gebruikers, Telenet
aanmerkelijk hoger scoorde (41% van de ondervraagden gaf een score van meer dan
8/10 voor Telenet, versus slechts 23% voor ADSL).
Ledenuitbreiding
Op 14 oktober a.s. vergadert de PR-medewerkersgroep rond een campagne om het
ledenaantal van PUB sterk te vergroten. Hiervoor wordt o.m. aan brochures
gedacht. Tegelijk stelde het bestuur ook de vraag aan Telenet of zij ergens in
hun communicatie met nieuwe klanten PUB wilden vermelden. Telenet antwoordde
positief op deze vraag, en belooft in het nieuwe product ("Telenet in a box") de
gebruikersvereniging te vermelden in de welkomstbrief, en ook bij de
website-vernieuwing van Telenet zal de PUB vermeld worden.
De vergadering eindigt te 16 uur.
Verslaggevers:
Leon Volders
Tom De Voeght
Tegenlezing voor PUB:
Marcel Vander Mierde
Nic Mertens
Philip Paeps
Tegenlezing voor Telenet:
Paul Van Cotthem
Kris Naessens
Jos Van Haegenborgh
1
Even if it is going to hurt my Karma...
What were you trying to say, young AC? "Hail to the goat!!!"? "My goat is doing fine!!!"?
Probably you are the follower of some strange Goat cult.
Alex
Absinthe makes the heart grow fonder
Come on, that movie's what, 60 years old! Oh, and Darth Vader is Luke's father.
Fools, can you not see that that first post is actually a program written in the obscure language George? search on google for it.
I'm quite disappointed that the article didn't mention the one and only language that actually forces you to write beautiful code (in a purely estetical manner, not in a functional manner). So check out the Shakespeare Programming Language where every program bears many similarities to Hamlet. And variable assignments are made using Shakespearian insults.
Here is a list I came across a while ago now. It lists close to all known computer languages. Go check it out now.
The Las Vegas Sun has another article about the incident. It is much more detailed, except for the fact that it doesn't name the company... We can only wonder why, after all, with the abundance of other sources, the cat's out of the bag!
hihihi
I don't know, and I don't think the link answered even this simple behavioral question, much less a question like "why is their so much hatred in the world?"
Religion, combined with irrational hatred and jealousy of America by third-world dirt farmers.
I'd add to that, bomb these petty, hateful third-worlders out of existence and you'll have done the world another huge favor.
_________
The above speaks for itself. HATE is what's wrong with this picture.
KaZaA/Morpheus contain spyware and adware IIRC.
KaZaA/Morpheus have family filters in place so that you cannot use it for porn any longer. Try searching for "wife" or "strap" vs the more obvious keywords "lesbian", or "anal", or etc.
I'm a side/behind kind of fellow myself. It just feels strange putting your hand in from the front, as you are always on edge that you might reach down just a bit too low. Though recently my arse has grown so big that I can't reach fully from the side anymore. So it looks like I'll be forced to reach from the front if I keep putting on weight.
HTH.
I think you are a little confused about the definition of a faggot. We are men that like men. Simple enough for your little tinsy insy bitty homophobic brain?
As in, there is no way in hell that we could ever be mother fuckers. Now father fuckers is a whole different kettle of fish.
doe sthis work
Is that you Al Gore? How is it going? Are you pissed about that Florida thing? Yeah, thought so.
"Haven't felt like that since I first invented the internet."
Arghh... I get it, you meant discovered or learnt of its existance.
Sorry, for a moment there I thought I was conversing with Al Gore. Sorry for the mix up.
That's because you're an rigid minded, unreasonable extremist. There's no point in having rights if you're dead. But if the nation endures through dangerous times, suspended rights can be restored (as they were after the US Civil War and World War II, for example).
"I did understand however, that my oath to preserve the constitution to the best of my ability, imposed upon me the duty of preserving, by every indispensabale means, that government -- that nation -- of which that constitution was the organic law. Was it possible to lose the nation, and yet preserve the constitution? By general law life and limb must be protected; yet often a limb must be amputated to save a life; but a life is never wisely given to save a limb. I felt that measures, otherwise unconstitutional, might become lawful, by becoming indispensable to the preservation of the constitution, through the preservation of the nation. Right or wrong, I assumed this ground, and now avow it. I could not feel that, to the best of my ability, I had even tried to preserve the constitution, if, to save slavery, or any minor matter, I should permit the wreck of government, country, and Constitution all together."
-- AbrahamLincoln, April 4, 1864.
but how does a first post relate to programming languages, which is the topic of the article and of all the ontopic posts?
It doesn't. That is why it is offtopic.
What's the point of being alive if you don't have any rights?
And when will the suspended rights be restored? When the threat of terrorism vanishes (which will never happen)? The Civil War and World Wars had clear, definite, defeatable enemies. Terrorists can be defeated, but you can never tell if you defeated all of them.
(quote) Especially note worthy were "Befunge" and "Orthogonal" which are two-dimensional languages. More experimentation along these lines could only be good. (end quote)
I remember in the late 80's and early 90's how many accounting types were programming with Lotus 123 macros. This could be a form of 2D programming, since you are dealing with a grid instead of text lines.
The mass era of Accountants-As-Programmers pretty much ended with the advent of MS-Excel stomping on Lotus. Even programmers didn't like Excel VBA.
Table-ized A.I.
That's not true...
THAT'S IMPOSSIBLE!!
F$ck you.
Sign-up and fight for President Bush and
President-Vice Cheney.
Thank you and have a nice Afghanistan opium enriched day, infidel!
knowing the guys there I can offer this:
Basically the contract says
If you post stuff, you promise that you have the right to post it.
You also promise that it is not somebody else's
If you want to use your stuff on your own site (like a weblog), or in another venue (like in print), go ahead. It's yours anyhow.
When you post stuff to the site, you give the site owners permission to use it.
If you are not the original author, and want to use stuff from the site, you got to ask nicely first.
There are big penalties so that big companies don't rip folks off or quote out of context.
Other small legal details include the idea that the admins can change stuff around, stuff to stop slap suits, stuff to stop litigation from other jurisdictions, etc. Some things like liability for viruses, etc are there because of legal requirements from advertisers that will be coming down the road.
Very detailed stuff, but that's the idea.
"It is a greater offense to steal men's labor, than their clothes"
APL was widely used by actuaries before PCs and spreadsheet software were available. The environment I coded APL in from 1979 to 1984 was IBM's VSPC (virtual storage personal computing). Math geeks found it very intuitive to think about manipulating matrices as objects. The basic matrix algorithmic techniques involved flipping matrices upside down or sideways, operating on them and flipping them back again, generating matrices of 0's and 1's representing a condition on the matrix and selecting out the winners, and transposing (reordering the dimensions) of a multidimensional matrix (I believe you could have up to 16 dimensions), and reshaping it into another matrix. These types of operations were primitives. It was also easy to write generalized code because there were primitives for the shape of an object, the last or first element, etc. Good code was quite readable. By the way, we had special APL keyboards.
Around 1983 (+-2 years), Hopper visited the University of Alberta which was, at the time, ripe with computer language types. FLACC (Full Level Algol/68 Checkout Compiler) and, (I think) MAPLE were (partly) developed there. C, APL, SNOBOL, FORTRAN, ALGOL/W, PASCAL, PL/1, PL/C, PL/360 and LISP were just some of the languages taught in undergraduate classes there.
In any case, A friend of mine was talking to Grace, and she commented that "Some of the people here were instrumental in the development of COBOL. I wonder why they don't mention it more?", to which Dan replied:
"Perhaps they're ashamed of it".
Another friend quickly pulled him aside and explained the history of Grace an COBOL. Apparently, you could see him blush through his (infamous) grizzly-adams style beard.
Sometimes boldness is in fashion. Sometimes only the brave will be bold.
Wow, it's amazing the amount of egotism that you find in the online messageboard world, as if everyone thinks that they know all the answers to life. And of course, it's amazing that assholes like me spend time trying to goad people into showing it with fabricated feelings and thoughts...
/. show-offs strut their "stuff" for the rest of the readers to see. Quite entertaining! The second best thing to shouting "Microsoft is Awesome!"
I will have to do this more often. I love seeing the
Thanks for the apology. You actually surprised me there, as your original comment didn't show that much humanity, but it appears you have a better sense of how to tell other people the best way to live their lives. I guess the weapon making to destroy my small mind was only a facade.
By the way, I don't walk around every day fearing for my life. Neither do I think the "kooky" programming languages are a complete waste of time. I understand creativity and personal solace more than you can even imagine, but thanks for your assumption-based advice anyway. The only fear I have in the world is that human beings have become increasingly more interested in their own personal accomplishments and ideas over the accomplishments of our race and society. Your post helped reinforce that fear. Thanks.
+1 Insightful, -1 Troll. What can I say, I'm an Insightful Troll.
And far easyer to spot too: you get a really bizarre pimple, whereas the respiratory variant masquerades as a common flu. With the respiratory variant, you won't know until it's too late. It's actually quite similar to closed source software, where you don't know that you have a security hole until people start exploiting it...
Incidentally, APL was invented by Kenneth Iverson, who never taught at Pomona. Perhaps you're thinking of somebody involved in APL's descendent, J. But neither language was the pet project of one prof.
The best language on the list is Intercal. Unfortunately, it's very hard to learn. It's not that the language is particularly complex. It's just that all the constructs are so absurd, you can't stop laughing long enough to focus on what you're doing!
> The "Life is Too Short For This Pointless Pain"
> List:
> 2. FORTRAN
I strongly recommend that you take a look at modern (1995 or later) Fortran code before rushing to such a judgment.
Not a facade at all - as I said, a reaction to your original comment, which I still think was small-minded. You talk about fears - I have a fear that's already been realized, which is that people who denigrate the accomplishments of others oppress the people around them, reduce diversity, and make life less enjoyable. That's what you were doing, and that's why I reacted badly. Oppress me, I'll do the same back - not very enlightened, perhaps, but as I said, I reacted out of annoyance.
As for my advice on how to live your life, you were the one who brought up the totally unrelated subject of the attacks in response to my comment. That made it seem as though you weren't handling things too well, and perhaps could use some perspective. Seems like you've recovered your spine a bit now - glad to be of service.
The only fear I have in the world is that human beings have become increasingly more interested in their own personal accomplishments and ideas over the accomplishments of our race and society.
That's not a very well-founded fear. Very few real accomplishments are strictly personal. People inspire each other, and even one of those crazy languages might spark an idea in someone else. The only thing to fear, as I've already said, are the knee-jerk reactions like "this is different and unfamiliar, and therefore I am against it". Your sig talks about "the fundamentalist mind" - but isn't that exactly the sort of reaction you were exhibiting?
Funny, thats what I thought when I first read your post! So, at the risk of sounding childish,
I KNOW YOU ARE, BUT WHAT AM I?
As our founding fathers said, "give me liberty or give me death"
------- I saw a VW Beatle the other day. The vanity Plates said "FEATURE"
print "sansChoice interpreter\n> ";chop($code = );print "\nHello world!\n";exit;
Maybe I'll start a SourceForge project; afterall, Hello World programs are the most popular by far, and this language finally makes it possible for anybody to write one.
I'm right in the middle of writing one. Hopefully I'll get free time to go back and work some more on it, after GCC 3.0.2 gets released (in a week).
Why? Because I can, and it's fun.
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
Admittedly, it takes a bit of a brain shift to get around it at first, but once you get past the initial culture shock, the power of the language is simply stunning in it's simplicity and intuitiveness. And as for the keyboard, you do end up memorising the locations of the more frequently used primitives, at least, over the years.
When I first started working the in the APL world, I decided I'd better learn the language to get me through those long, boring night shifts (I was just an ops tape jockey back then) and wrote an AP124 tank battle game for 327x terminals, double-blind, real-time...man that was fun for a time.
But the point is we still sell SHARP APL for OS/390, un*x and even do a Linux version (www.soliton.com/Linux/) with cool stuff like a Java interfaces and stuff.
And we're not alone. Vector, the quarterly journal of the British APL Association takes 14 pages to list all the vendors, UG's and associated APL-related organisations.
APL is very much alive and well!
It might be better to categorize languages by what approach it they use to solve problems. There are many poor Java programmers because they learned C first, when Smalltalk would have been a better initiation.
An example seperation might be:
Array: APL, J, K
Concatenative: Forth, Postscript, Joy
Declarative Constraint: Prolog, Oz
Declarative Functional: Erlang
Functional: Haskel, ML, Icon, Unlambda
Imperative: Algol, C, Assembly
Object: Java, Smalltalk, Self
Pattern: Z
I am not sure where you put Lisp and Scheme, as these two languages rely heavily on their syntax to blur the line between code and data. Because of this, they seem to really fall into every category. These languages really allow the programmer to define a mini-language that is very close to the problem field. Yes, I am a Scheme fanatic, so I am biased.
-j
It was created by Dr. Kenneth Iverson who thought that programming should just be a strict formalized mathematical notation. He then when on to create the successor, J (http://www.jsoftware.com).
r );
p ,wn); R z;}
) ;
) ;
) ):(A)a;}
a :c);e[n]=3D0;R e;}
Dr. Iversion originally wanted Arthur Whitney to write the J interpreter and over an afternoon, he created the first J interpreter. I've appended this amazing piece of code (proof you can write APL in any langauage). Arthur decided to attempt his next version of APL, called imaginitively, K (http://kx.com).
K is one of the fastest, most reflective, powerful languages that I have ever used and I almost do not use anything else anymore. More people should be touting the praises of K.
Here is the J interpreter (taken from http://www.kx.com/listbox/k/msg03690.html):
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=3D0,_n=3D(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]=3Ds[i]);}
tr(r,d)I *d;{I z=3D1;DO(r,z=3Dz*d[i]);R z;}
A ga(t,r,d)I *d;{A z=3D(A)ma(5+tr(r,d));z->t=3Dt,z->r=3Dr,mv(z->d,d,
R z;}
V1(iota){I n=3D*w->p;A z=3Dga(0,1,&n);DO(n,z->p[i]=3Di);R z;}
V2(plus){I r=3Dw->r,*d=3Dw->d,n=3Dtr(r,d);A z=3Dga(0,r,d);
DO(n,z->p[i]=3Da->p[i]+w->p[i]);R z;}
V2(from){I r=3Dw->r-1,*d=3Dw->d+1,n=3Dtr(r,d);
A z=3Dga(w->t,r,d);mv(z->p,w->p+(n**a->p),n);R z;}
V1(box){A z=3Dga(1,0,0);*z->p=3D(I)w;R z;}
V2(cat){I an=3Dtr(a->r,a->d),wn=3Dtr(w->r,w->d),n=3Dan+wn;
A z=3Dga(w->t,1,&n);mv(z->p,a->p,an);mv(z->p+an,w->
V2(find){}
V2(rsh){I r=3Da->r?*a->d:1,n=3Dtr(r,a->p),wn=3Dtr(w->r,w->d
A z=3Dga(w->t,r,a->p);mv(z->p,w->p,wn=3Dn>wn?wn:n);
if(n-=3Dwn)mv(z->p+wn,z->p,n);R z;}
V1(sha){A z=3Dga(0,1,&w->r);mv(z->p,w->d,w->r);R z;}
V1(id){R w;}V1(size){A z=3Dga(0,0,0);*z->p=3Dw->r?*w->d:1;R z;}
pi(i){P("%d ",i);}nl(){P("\n");}
pr(w)A w;{I r=3Dw->r,*d=3Dw->d,n=3Dtr(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[]=3D"+{~<#,";
A(*vd[])()=3D{0,plus,from,find,0,rsh,cat},
(*vm[])()=3D{0,id,size,iota,box,sha,0};
I st[26]; qp(a){R a>=3D'a'&&a<=3D'z';}qv(a){R a<'a';}
A ex(e)I *e;{I a=3D*e;
if(qp(a)){if(e[1]=3D=3D'=3D')R st[a-'a']=3Dex(e+2);a=3D st[ a-'a'];}
R qv(a)?(*vm[a])(ex(e+1)):e[1]?(*vd[e[1]])(a,ex(e+2
noun(c){A z;if(c<'0'||c>'9')R 0;z=3Dga(0,0,0);*z->p=3Dc-'0';R z;}
verb(c){I i=3D0;for(;vt[i];)if(vt[i++]=3D=3Dc)R i;R 0;}
I *wd(s)C *s;{I a,n=3Dstrlen(s),*e=3Dma(n+1);C c;
DO(n,e[i]=3D(a=3Dnoun(c=3Ds[i]))?a:(a=3Dverb(c))?
main(){C s[99];while(gets(s))pr(ex(wd(s)));}
I only meant failure, in the sense that they were never adopted as mainstream languages. Many contain worthy concepts, and of course many are just whimsical.
Letter To Iran