Will BEEP Simplify Network Programming?
hensley writes "There is a (not quite) new effort by the IETF to standardize
a framework for network applications, called BEEP, the Blocks Extensible Exchange Protocol. Standardized in RFC3080, it takes care of all lower level tasks an application level protocol has to like framing, authentication and capabilities negotiation in a modular and lightweight way. In the current issue of Internet Packet Journal (a quite nice and free-as-in-beer technical publication by Cisco) is a well written Introduction to this framework. Why isn't anyone adopting this protocol besides some Java libraries like beep4j and PermaBEEP and a C library called RoadRunner. I couldn't find any applications based on this protocol, regardless of it's promised capabilities. Is everybody still inventing his own application layer protocol?"
Possibly not first post, but possibly so. Now at 0!
testing the posting system
NO!!! beep will not simplify network programming!!!
Am I the only one who thinks that acronyms that are normal words just confuse non-technical people?
I mean honestly, I've seen people get over RAM and SDRAM but when I tell them that there's a problem with the BEEP they are going to just flip out.
And I appreciate the kind folks at slashdot for posting it!
-- Mao Zedong, Esq.
Is a simple question mark too much to ask for?
It's hard to be religious when certain people are never incinerated by bolts of lightning.
It strikes me that this protocol doesn't handle multiple connections to different servers/peers aka Kazaa/winMX, no authentication that the data being transferred is accurate aka Freenet, so why adopt such a protocol? If all you're going to do is re-implement these ideas on top of this B.E.E.P. stuff, really, what's the point?
AWARD FOR THE WICKED
At first he tried not to scream; he looked at me with the eyes almost black with dilated pupils - and tried to give his stare an expression of defiance. He prepared himself for pain, stuck his teeth in the bottom lip of his bruised mouth. He knew what was going to happen; his gaze followed my hands that floated unhurriedly over the board. But when I turned the lever, he couldn't keep silent.
His eyes became desperate, blood came out from under his teeth - and he cried out and couldn't stop crying as the jolts of current went through his body. I watched him convulse, his body spread and cuffed on wrists and ankles. I could see bluish veins stand out on the smooth skin of his legs and arms as a long spasm arched him. His head tossed back, he seemed to try to escape pain and the bonds that held him; both things were equally impossible.
"It's just the beginning," I said knowing that he didn't hear me. I didn't hear my own voice behind his screams. I threw the lever down and his body went limp. "I want you to tell us the names of the other conspirators," I said quietly.
Weak, wet and shaking, he didn't look so antagonistic any more, so sure in his ability to resist. The waves of pain washed off his superficial self-confidence and made him what he really was: a little more than a child - a hurt child - a pretty green-eyed child with a tangle of shoulder-length yellow smooth hair. A naked boy strapped to the interrogation machine in front of me.
"I won't tell you fuckin' nothing."
It apparently would take more that what I'd done to eliminate his stubbornness. Well, I expected it. And I knew how to deal with it.
"Then you'll hurt again."
"Whatever." He could've pretended he didn't care or was ready to take it but I knew he was not. No wonder; everyone who tried the sting of Ash Amir'ah would feel the same. Ash Amir'ah - the award for the wicked... Hagenti could be such poets sometimes.
I switched on the current again - and listened to the boy scream - and this time I let it go on for a while longer. There was some blood coming from his nose and ears when I stopped. He sobbed and tried to stifle this sound.
"You know we'll go on until you talk," I informed him. "Nothing can save you from it. You'll bleed more but you won't die. Eventually you'll break - so, what's the point? Spare yourself - and spare me from the efforts. It is all the same for your comrades, anyway - they are all dead."
A ripple of pain distorted his bloodied, tear-streaked face.
"Yes, they are dead," he whispered. "Why do you want to know about them?"
"It's my work," I explained. "I need to file the facts. For the trial - and for the archive."
I saw another grimace on his face as he listened to the strange, vibrant sound of my voice. I didn't know if he knew where it came from, knew about the implant in my throat - or it just irritated him, in a hurt, exhausted state as he was. He sighed before talking again:
"You have no shame. It ain't a work you do, it is a betrayal."
I shrugged.
"I serve the Hagenti. I just do what I have to - and I am here not to discuss it with you."
"Because you don't want to be reminded that you betrayed your own kind?"
"My kind. Why ever would 'my kind' deserve my loyalty?"
I reached for the lever again. The narrow metal hoop around the boy's head scintillated slightly as the current ran through it. The boy screamed - long enough for his voice to go raw and his breath shallow. When too gone with pain, he sounded not like a human, more like a growling animal, wailing incoherently. I wondered if he had any strength left for more insults when I switched off the machine.
"How..." His voice was broken - and yet he found it necessary to ask me that. "How can you serve these... monsters?"
"They are not monsters," I answered flatly. "They are the new rulers of the world - and you are a fool if you try to turn back time. Nothing will be as it was before the Hagenti. Accept it."
"Nothing will be as before if people like you serve them. If people don't fight them."
Fight. Stupid. No one could fight Hagenti. It was just senseless. As successful as trying to sink a battleship with a harpoon. I just wished they understood it.
They must've conspired for months, another group of spoilt, stupid kids with too much time on their hands - and then, yesterday, they struck - trying to assassinate two of the Hagenti leaders. Six more lives sacrificed in a mindless attempt to do what was impossible to do. When would they learn that the aliens were indestructible? At least for the weapons that could be gathered after our planet was cleansed.
Five boys and one girl turned into barely identifiable corpses that night, with Hagenti coldly unimpressed with the attack. The boy was taken alive, tried to kill himself and failed. I wondered if it was his broken wrist or a tiny moment of faintheartedness that stopped him from pulling a trigger. He paid dearly for it now, anyway.
"I won't betray them..."
"You already betrayed them - by staying alive."
"No! It's you who is a traitor!" The boy's voice rose in pain that I caused him by saying that, became high-pitched, childish. His eyes, dark, hateful, caught mine and, before I could step away, he spat in my face, wet and warm. The back of my palm smeared red as I wiped my face.
"I don't know what you wanted to achieve by that." I reached for the levers on the board again.
"Don't make it personal, Kaiti."
The voice was so soft, the shunt of breath, no more - and yet it seemed to reverberate through the air and through my ears for seconds and seconds. I turned to the stairs.
He was there. So tall, an undeniable presence once you saw him - and yet never for all those years I learned to overhear his approach. It was incredible how a body so hard and huge could make so little noise.
And how someone without a smooth curve in his appearance could have a voice of such softness.
Rameesh; the Hagenti; one of those two they'd tried to assassinate yesterday. My master. His face, thick epidermis and bone plates that formed blunt, sparse features, was placid - the long eyes with transparent eyelids cold and tranquil. As usual. Serenity was the first expression Hagenti gave - and the last one. Serenity that I could never feel next to Rameesh.
He made a few steps down the stairs - and for some tiny moment his appearance transformed - a vision - but the one I knew was as real as anything else could be. Another face, another body in place of the bulk of the alien. A man of breathtaking beauty, all slender limbs and floating hair and smooth golden skin and translucent, calm eyes.
The other "face" of Hagenti.
It was gone in a moment and, as always when it happened, I felt empty and dazzled, feeling like rubbing my eyes and trying to make sure I was not sleeping or mad.
But of course, I was not. I knew the boy had seen it, too - as he turned away, spitting some more blood.
"Lying bastards. They don't deceive anyone any more with their angelic faces."
Ridiculous; the Hagenti didn't try to deceive anyone. It was just the way they were, the way they liked to be.
"Shut up!" I reached my hand to the lever again.
"His words don't have to touch you, Kaiti, any more than they touch me. He is just another spiteful human. Another one to be wasted. We had been prepared to waste as much of your population as it would be necessary for the rest to accept us - and we did it. Now just some polishing is left to do. A person here and there - until every chance of resistance will be eliminated."
"You'll never... never..."
I hit the button to stop the boy from talking. He must've bitten his tongue when the current hit because more blood spurted out of his mouth. I stopped looking at him and looked at Rameesh instead, at the perfect impassiveness of his inhuman face. There was no joy in him as he stared at the suffering of the enemy who'd tried to kill him; no compassion either.
"Fuck... fuck you!" The boy's words were slurry when I stopped the current, blood overfilling his mouth and leaking out. His eyes dashed from me to Rameesh and back, like he didn't know whom he hated more, whom he wanted to accuse.
"Worthless," Rameesh sighed out. "Worthless, and wretched one. Why don't you use mind control on him, Kaiti?"
I managed not to shudder, just my hand trembled slightly, as I put it on the lever.
"The mind control will render him incapable for the trial, sir."
The smooth eyelids covered the clear eyes slowly and then rose again.
"Who said anything about the trial?" A moment later he continued, his tone of a patient teacher explaining things that his silly student should've already known. "Our policy changed. We don't have interest in another trial. We don't want to intimidate anyone any more. What we are going to do is to crush the resistance completely. And then no one will prevent the loyal citizens from enjoying the order we created for them."
The loyal citizens, I thought. Where did he think these rebel kids came from? I looked at the boy - he must've been born already after the invasion. He hadn't known another life apart from under Hagenti - and he still hated them.
Perhaps Hagenti, even Rameesh, couldn't quite comprehend it. With their life span so overwhelmingly long, they couldn't imagine the lack of experience that the humans had, the lack of respect to their own life. People like me - people who were so far from our race that it was almost difficult to say who we were - we were fathomable for Hagenti. And easy to rule.
"Control him, Kaiti. Take whatever information you need right from his mind and let's be over with it. I have different work for you to do."
"Yes, sir."
I pushed the levers again - and this time there was no scream; there was nothing, just the boy's eyes going wide and confused - and then acquiring dreamy, almost blissful expression.
"So, tell us about the assault, human," Rameesh sing-sang.
It was so easy; and this easiness rendered the agony of Ash Amir'ah pointless, rendered everything the boy was through pointless, too. He started talking; he didn't fight it any more, didn't even know he had to fight. It was not important what he said, just the places where they met, the plans they made. Perhaps the information was going to be analyzed by Hagenti computer to prevent analogous attempts; or, most likely, it would just go to the files - to the huge archive of Hagenti's history gathered on planets all over the galaxy.
Hagenti had a history that we couldn't even imagine. They were experienced; they knew how to bend the new planets to their will and destroy those who didn't submit. They knew what was good for these planets and gave it to them, whether they were ready to accept it or not. No wonder we didn't stand a chance when they had come to us.
The boy's quiet voice trailed away and he just stared in front of himself, the long dark eyelashes barely fluttering over his eyes. Blood still trickled from his nose but very sluggishly, and he licked it away from his lips without noticing it.
"He looks so peaceful this way, doesn't he?" Rameesh said, walking along the desk. "Look at him, Kaiti. No hatred, no spite - just the pure surrender. Just what we want every one of you humans to be."
His hand slid over the boy's thigh, the tips of long fingers brushing against his skin. The boy didn't flinch, nothing even changed in his eyes at this touch. The control device held him well.
"It was easy for him to surrender, wasn't it? It's such a pity he hasn't done it before committing his crime. If he did, we wouldn't have to waste him eventually."
Rameesh's ridged palm moved along the boy's body, from his groin over his abdomen and to his chest, the touch casual, almost affectionate, and yet leaving a trace of red abrasions on the skin. The boy's pupils were small, unexpanded, his gaze calm.
"You humans are such awkward beings," Rameesh continued and I felt something knot inside me with recognition of the words he'd said to me years ago, when I met him for the first time. I was not mind controlled then, just had nowhere to go. All open for him to touch, to do whatever he wanted. "You behave as if you are invulnerable, as we are - but you aren't. And yet I have to admit there is some appeal in the way you are constructed."
His hand kept travelling, unhurriedly, not lingering at any place of the boy's body, threading through the blonde strands of his hair, then returning to his chest. The boy's nipples were hard, with cold and with rough stimulation as Rameesh traced his fingers over them.
"You have such available bodies, as if designed specifically for sex. What other race has both male and female specimens equally possible to be taken? What race has only flimsy clothes to cover their reproductive organs?"
He didn't add that it was the only thing he really enjoyed during his stay on our planet; he'd told me that, though.
"Maybe, your fixation on sex is going to be the undoing of you, humans."
His hand thrust between the boy's legs, under his balls, as if checking the entrance. The motion was brutal enough to hurt if the boy could feel it. As it was, even his eyelashes didn't fall.
"Release him, Kaiti."
"What?"
"You heard."
For a split second the alien face of my master became human, the one of blinding beauty and deadly threat. I couldn't afford hesitation; I couldn't afford anything but obedience. The cuffs clicked softly, unlocking on the boy's wrists and ankles.
"Get up, little worthless one. I want to look at you."
The boy obeyed, like a sleepwalker, no surprise, no struggle in his face. His motion as he rose on his feet was smooth, gracious. I hadn't seen him a lot before he was cuffed - and at that time he was like a struggling animal - but probably this smoothness of movements was the normal way his body acted.
He stood in front of Rameesh, the glimmering hoop of the control device on his head his only clothes. His stance was calm, relaxed, his bleeding hands loose against his sides.
I looked at Rameesh as Rameesh watched him, the bare hint of interest in his eyes, as he took in the boy's narrow, tallish frame, the smooth lines of his body and the smooth silk of his flaxen hair. His mouth, even bloodied and with his lips split, still looked full and generous - and the unfaltering serenity of his stare was strangely appealing.
The boy's eyes were green; a joyous, fair green color that reminded me something. Then I understood - it was apple green. Like those small, unripe apples that my friends and I picked up from the trees when walking to the river. How many years passed since then? Twenty? Suddenly I could feel that juicy, sweet and acerbic taste in my mouth.
I knew those apple-trees existed no more; neither did the river or my friends. And the apples - should anyone be able to get any fruit now, it would cost half a fortune.
The Hagenti gave us so many things. Food for everyone; peace; certainty that someone else would take care of our future. They took just a number of things; my hometown among them - it happened to be located in the part of the world that was to be eliminated. A small price to pay for security and stableness.
"He is good-looking," Rameesh said.
"Yes, he is," I agreed.
Years ago, invading the planet, the Hagenti had taken an image of beauty from our minds and created their other face in correspondence with it - just as they did on all other planets apparently. I wondered if it helped them to succeed or if they just enjoyed it. The boy had the same kind of beauty - willowy, long-limbed, smooth-skinned, with long bright eyes and a wide, lively mouth.
"And he is young," Rameesh added.
"Eighteen, I think," I confirmed.
Eighteen... Have I ever been this young? It seemed to be ages ago - but was probably just ten years ago. At eighteen I met Rameesh. It was twelve years after the invasion and the things were a mess. Such a mess that I sometimes wished I had never escaped death in my native town, had never moved to the outskirts of the port to survive by stealing and selling whatever I had, including myself.
I had been arrested for a minor offense and Rameesh was the one who judged me. He didn't promise me anything - but he'd given me everything; he'd given me a second chance.
"Kneel down, little human," Rameesh ordered.
The boy obeyed immediately; his body slid down graciously, his eyes never leaving the point somewhere out there.
"Look at me."
As Rameesh reached to his face, the impression of the angular limb blurred slightly, giving out a picture of a male slim smooth arm, long, thin fingers caressing the boy's face slightly before Rameesh made him raise his face a little.
"Kaiti, you see this perfect obedience? There is nothing he won't do that I'll tell him."
"Nothing," I echoed.
A little puppet on his knees - and Rameesh was the one who pulled the strings.
"I want him to do things for me." There was no special expression in Rameesh's voice, nothing more pronounced then ever - but the meaning of the words slammed into my mind, the implication of them absolutely clear. "He is too handsome to waste him without taking everything he can give to us."
The Hagenti; both poetic and pragmatic. Every thing must be taken to every possible use.
"I want to do things to him, too," Rameesh added after a small pause. "And I want you to take care of it, Kaiti. I want him to feel it."
"Restrained but responsive?" I asked.
"No, I want him willing."
I could do it; as successfully as I'd made him a dummy who followed Rameesh's orders without a trace of emotion. Just some different levers flickered. There was no place for hesitation in what I did, no argument I could or wanted to put up.
I ran the fingers over the levers, attuning the boy's mind to the state Rameesh wanted from him. And yet the change, fast and undeniable, almost shocked me.
The boy made a little sigh, as if he just woke up, a little shake of his head almost disbelieving. His eyes stopped on Rameesh slowly, without any animosity, rather with recognition. I knew it would happen - I had caused it myself, with a motion of my hand - and yet it mesmerized me to watch how the boy's face acquired a resigned, completely absorbed expression.
He looked at Rameesh as if there was nothing else he would ever like to look at.
Wasn't it what Hagenti always wanted from us?
"Amazing..." There was something barely perceptible in the level, soft sound of Rameesh's voice - something almost breathless?
The boy put his hands on Rameesh's hips and closed his face to the alien's belly. The blink of Rameesh's eyes, just a tiny moment longer than usual, was the only sign that gave him away.
"So, little human. What do you want to do? Show me."
It was a silky whisper, an apotheosis of intimacy - that meant nothing except for a peculiarity of Hagenti's larynx. A shiver ran through the boy's body - and his cock, limp before, started hardening steadily, until it stood upright against his belly.
"Yes, that's right," Rameesh whispered. "That's how you want me. So, touch me if you want. Do what you want."
With a strange, silent concentration the boy reached to Rameesh's bottom belly, pressing his mouth to the bone planes of the alien's groin, cutting his lips against the sharp ridges but not feeling it. There was no pain for him - nothing he could do to himself or Rameesh would do to him could hurt him.
The warmth of the boy's breath matted the shiny surface of the armor of Rameesh's body - and the boy's tongue, licking and lapping, made it clean again. He licked the hard planes as if they were warm, responsive flesh of a loved one; his hands curled convulsively, clutched on Rameesh's hips - the fingers digging gently into the scales that no bullet or knife could harm.
With all my experience of Ash Amir'ah, I still didn't quite know how the device worked, whether now the boy could see the other, beautiful cast of Rameesh. I supposed, however, that it was not that way. Most likely he saw what there was in reality - everything he'd hated so much - the bulky silhouette, armored limbs and bristled scales - and it seemed unbearably, irresistibly beautiful to him.
The straightness of Rameesh's back didn't falter for a moment as the boy kept kissing him. There was nothing as plain and rude as triumph in the alien's eyes, no a joy of seeing his bitter enemy crushed and on his knees, plastering himself over his body. But there was something - something I could barely believe in.
"I see how much you want it, little human," Rameesh said quietly, almost thoughtfully. "Should I give it to you?"
A breath was caught in my artificial throat at these words. I regained control almost immediately and still it was enough to attract Rameesh's attention.
"Do you want to say something, Kaiti?"
"No, sir." My eyes were cast down, my voice having the hollow, jolting sound in it.
"You'd better not, Kaiti. Do not question my actions - ever."
"It never occurred to me."
"Oh yes, it did." The quietness of his voice made his words sound kind. I knew they were not. I looked at the floor pointedly and still felt his eyes on me. I hoped he would look away soon.
"Look at me, Kaiti," he said instead. I obeyed. "And keep looking."
I looked at him as the planes that shielded his groin started moving apart slowly, the shiny bones sliding away to bare the purplish flesh, pulsing with blue plasma through the under-surface veins. I had seen this happen a number of times - and yet the impact of seeing it was so overwhelming that I was not sure I would be able to look away even if Rameesh wanted me to. I didn't know if I found the sight beautiful or repulsive. It stunned me, in any case, to witness the breach opening in the perfect cast of Rameesh's armor.
The reproductive organ of the Hagenti - the only part of their body that was not of scaled or covered in bones ridges. Perhaps it was made this way because they were supposed to use it just once or twice in their lives, when the need for propagation occurred - and apparently even that was not a case for many Hagenti.
I didn't know if to come to the idea of doing it with other species, doing it *not* for propagation demanded a twisted mind. Perhaps Rameesh was twisted, by Hagenti's measures. But he'd done it to me - and now he was going to do it to the boy.
I should've expected it. Since the moment when he took interest in the boy - and yet I didn't quite believe he would go this far, would be aroused enough to remove his planes, to bare his most intimate part of the body.
"Keep looking, Kaiti," Rameesh reminded.
I kept looking, didn't dare lower my eyes. I watched Rameesh's cock emerge from the creases of flesh, the skin that covered it so thin that it almost seemed transparent. Inch after inch of the column of flesh, perfectly round. Perfectly smooth except for the gentle lines of the expanded veins.
The boy eyed the solid pale shaft with a concentrated, absorbed expression. His hands reached to it tentatively and fell down like helpless birds.
"Oh yes, little human," Rameesh hissed, interpreting this gesture unmistakably. "Don't be afraid. It's all for you. Take it."
Suddenly a realization struck me - that with his cock out and erect, the human, beautiful appearance of Rameesh had never slid in front of my eyes.
But for the boy it didn't matter; his eyes could see all the beauty he needed.
His hand reached for Rameesh's cock, incongruously gently, and guided it to his mouth. For a few moments I thought he wouldn't be able to take it in, it was so thick, there was just no place there. But the boy's wish to please was stronger than protective reflexes of his body.
It was going to tear his throat. I knew that all too well. I also knew that the boy was not going to feel it. He strained, trying to accommodate the width. The corner of his mouth ripped as the head of Rameesh's cock slid inside - and then deeper into his throat. I could see it as he struggled with his gagging reflex.
I saw a thin flow of blood run over Rameesh's cock from the boy's mouth - right before the boy's lips swallowed the length.
"That's it," Rameesh said. "I knew you would love it. You are what you are supposed to be, whore."
Whore. The boy's movements were so precise, so bold, full of experience he didn't and couldn't have - and yet not the ones of a whore; but of a passionate lover. His head ducked up and down along the shaft. Yes, of a lover... if not for the wet sound of blood slurping in his torn throat.
"Don't race so." There was something incongruous in these words, in the fact that Rameesh had to ask him not to swallow him so hard and fast - but there was no trace of irony in Rameesh's voice. The boy followed the order unquestioningly. "I want more of you. I want all of you."
The boy looked up at him, Rameesh's shaft still in his hand. His throat moved convulsively and he expelled some blood, without feeling or realizing it.
"Get up," Rameesh said.
The boy's motions were both eager and dazed; he lost his balance slightly - and Rameesh caught him, almost as if caringly, and turned him around. I didn't know if the boy knew what was going to happen; I knew. I also knew that whatever happened, it would be only joy for him; the machine assured it.
"Bend over," Rameesh whispered.
There was no preparation - no need in it. One moment the Hagenti' pulsating organ, glistening with the boy's spit and blood was set between the boy's narrow buttocks - and at the next moment he was in, buried to the hilt in one powerful thrust.
The boy's body arched with the strength of invasion, his head thrown back, his shoulders twisted behind - but there was no sound he made as the huge cock tore its way inside him.
Rameesh didn't have to worry about hurting him. And even if he did, the alien wouldn't care all the same. But the damage was done, whether felt or not - and blood that slicked Rameesh's path so well was from the boy's ruptured insides.
I knew it. Rameesh knew it, holding the boy's slight, thin body in a lock of his arms, almost cradling him.
"Warm," Rameesh whispered against the boy's hair - and the boy moved as if trying to get closer, to merge himself with the alien. "Oh you little criminal, move on. Show me how much you want me."
The boy's body reacted to the order immediately, violently. With a sigh he shoved back, impaling himself deeper on the cock. Rameesh nodded in agreement.
"I'll give you what you want," he promised.
He started thrusting. It sounded strange - so wet - the noise of blood inside the boy's body. I knew the rhythm so well - too slow, too heavy for a human, each movement like a knife stab. And yet the boy's cock was still hard as he murmured something, in pleasure that based nowhere in his body but in his abused, raped mind.
We'd done to him what pain failed to do - made him a traitor and a whore for someone he hated more than anything else.
I watched Rameesh sheathe himself into the boy's body, listened to the little sounds they made in their copulation and thought about my own ruined larynx, my ruined rectum - destroyed years ago with the same kind of invasion, by the same creature. By Rameesh who had entered me and possessed me - and nearly killed me.
Only he didn't let me die. Instead of being left to bleed to death, I had the plastic implants inserted to replace my torn organs. Rameesh said I was even safe for sex since then, he could've used me as many times as he wanted, without a danger of killing me. Only he didn't want to - just a few times, when he was too bored. He said plastic didn't feel good, didn't feel real.
The boy was real; warm and tight and opening to the invading shaft and oh-so-responsive at every thrust of Rameesh. I looked at his empty, lost face, at his mouth quivering in passion, as he accepted the alien inside himself. I didn't know if I envied him, if I hated him.
Rameesh gripped on him, pulling him into an upright position, closer to the scaly chest. There was blood now, leaking where the harsh surface scraped against the boy's skin. I wondered if it was the warmth of the human's body Rameesh sought or this slick warmth of blood - and couldn't find an answer. My own scars didn't give me an answer and I hardly was to get one watching.
"You are mine, little criminal," Rameesh whispered against the boy's ear. He got no reply; he didn't need one. What else could the boy say that would mean more than the painful, fluttering gasps he made and meaningless tears than ran from his eyes?
"I want him to come, Kaiti."
I saw Rameesh's hand wrap around the base of the boy's shaft, squeezing, sliding up and down slowly. A small tremor ran through the boy's body at that. These ridged fingers, so hard - I knew how they felt. I knew the pleasure they promised and gave, even as they flayed the tender skin of the cock on their way.
I was not sure the boy really needed more intervention of the machine at this moment; his broken, wet breath became frantic, almost sobbing, as he thrust into the ring of Rameesh's fingers. But Rameesh wanted me to keep controlling him, so, I did.
My fingers flew over the board, flickering the levers, and a heart-wrenching gasp the boy made told me
the electricity over IP rfc
why run from Vincenzo?
I used beep in a programming course in High School. Unfortunately, every time I used it people shouted "nosound!".
Credits: dmg
Yet again the Linux so-called elite, backed up by their pseudo intellectual cohorts of the w3c conspire to ruin Linux's chances in the marketplace by sowing confusion and complexity. As someone with years of experience in the marketing world, I am constantly amazed at the willingness of the W3C and other bodies to pollute the acronym space with their content free "TLAs".
Basic marketing 101 (and an undergrad course in psychology) would tell them that the normal person is only capable of remembering approximately 7 items of data in their short-term memory, but now we have to remember HTTP, HTML, XML, XSL, DTD, PHP, SSL, DSL, ADSL, ISDN, Perl, etc etc etc
This is a text book example of the tail wagging the dog from a marketing perspective.
I have been following the standardisation of the web for many many months now, but one thing has become clear, E-commerce will NEVER become popular so long as there are so many confusing acronyms involved. The guys in charge of marketing Linux absolutely MUST work to reduce the number of acronyms. One possible solution would be to merge those protocols which are not all that different. For example, why not merge XML with SGML ? (they could call it XSGML or SXGML or perhaps XMSGML), they seem to address the same problems. Or would that be too simplistic a solution for their pampered elitist ivy-league minds to comprehend ?
If something is not done URGENTLY, and I mean URGENTLY, Linux (and other more experimental derivatives such as FreeBSD) can never hope to be taken seriously as an e-commerce platform by the people who count - the accountants.
The miracle of Linux is that anyone actually runs it at all, considering one seems to require a masters in computer science to install it! (contrast this with NT4 which was so easy to install, we let our receptionist upgrade her own machine).
As usual my "open source" advice is free. Hopefully this time my valuable advice will be taken into account the next time the w3c smell an acronym brewing.
Finally, in conclusion, as an American, I am saddened that the Internet seems to have been commandeered by a European based protocol. Was America so short of talent we had to buy the HTML protocol from Tom Berners-Lee at CERN ?
Think of the security implications of the worlds strongest economy, running an e-commerce protocol developed by a foreigner from Socialist Europe. Remember the wall has not been down for that long. Who knows what kind of trojans might be lurking within the depths of these complicated protocols.
I am afraid I am behind Al Gore on this point, how can this be necessary in the home of smart corporations such as Microsoft and Intel ? The answer is the vast subsidies given by European socialist governments to fund development of the HTML specification.
The solution is clear. The federal government should mandate and strongly subsidise the use of Microsoft software for all US corporations involved in e-commerce. Only with a US-developed set of protocols can we be assured of the security of our transactions.
- posted by poopbot: because we're all crapflooders at heart
OuX4sRFq1J
It strikes me that being the first to implement a protocol is risky. What if nobody else implements it. What if it is trashed all together? What if it is shown that it isn't all that great after all?
Get a few big companies to use it and watch the rest follow.
I've also been disappointed with the lack of uptake on BEEP. It's a very cool concept.
BEEP is Blocks Extensible Exchange Protocol (RFC 3080). More details can be found at here.
When we were designing RTSP, we looked for something like this, and at the time, the options weren't very appealing. We ended up using HTTP as a quasi-base protocol. I think it was the best solution at the time, but had BEEP been available, we'd have used it in a heartbeat.
Sounds like a cool idea, however many programs need specialized network code to function efficiently. Most things are either done completely from scratch, or over an already established protocol. My dynamic DNS service just uses an HTTP request to update my records, and thats plenty easy. It could use BEEP but there isn't a whole lot of need. I think it is best used where it makes sense, not EVERYWHERE just because its a cool idea.
This way RoadRunner goes really fast with
MEEPMEEP!(thp-thp-thp-thpppp) this was all just a funny lie
Mordor...a magical, mythical land where women are more rare than dragons--but where every man would rather find a dragon
Now I know I can stay up all night to code get High on Caffine (mnt dew) and sleep in as long as I want, and I will live a longer life.
I love it
keanmarine.com
As soon as I start working on it again, of course. If anyone wants to lend a hand, feel free.. ;)
-- "So, what's the deal with Auntie Gerschwitz et all?"
The most interesting use for BEEP that I've found so far is iCalendar's Calendar Access Protocol (CAP).
When I first tried to access the page I got error 500. This site could go down soon me thinks or atleast the java server pages seem to. (usually the first things togo when /.ed) So here's a hard link to their beep description.
Here's a slashdot story from just under two years ago on this exact protocol. Only at the time, it was named BXXP. Haven't heard a peep about it since.
So, has anything changed since then? Is the protocol the same as it was then? Has anyone used this technology for anything?
This protocol seems like a very nice complement to XML-RPC and SOAP-- XML-RPC for simple, one-way, message-based communications, this for complex, two-way, stream-based communications. Why haven't people recognized it as such? What's going on here?
I am writing with my cool letters. æåø®ð Hope it is okey.
By and large, yes... it's a symptom of the needs of applications being so varied.
(warning: blatant plug follows) For what it's worth, however, I've developed mine over the course of three years and a dozen or so projects, to the point where I think it's pretty mature and useful; it's open source, and portable to most environments, although the IETF has of course never heard of it... ;^)
I don't care if it's 90,000 hectares. That lake was not my doing.
Is everybody still inventing his own application layer protocol?
Stateless, connectionless servers are a good idea (HTTP, NFS, SMTP); for this reason, most people are going with web services calls (XML-RPC or SOAP) and using HTTP pipelining to erase the TCP connection negotiation overhead. This solves 95% of the problems that BEEP is designed for.
If you're still convinced that you really, really, really need a stateful connection, XATP is much simpler and gets the job done just as well as BEEP.
Error: 500 /beepcore/home.jsp
w ClassName(JspCompiler.java)e r.java)( JspEngineContext.java)p Servlet.java)s perLoader.java)e rvlet.java)a pper.loadIfNecessary(JspServlet.java)a pper.service(JspServlet.java)l e(JspServlet.java)e rvlet.java)t .java)e rvletWrapper.java)v a)v letWrapper.java)v ice(ContextManager.java)t extManager.java)o nHandler.processConnection(Ajp12ConnectionHandler. java)o olTcpEndpoint.java). run(ThreadPool.java)
Location:
Internal Servlet Error:
java.lang.NullPointerException
at org.apache.jasper.compiler.JspCompiler.generateNe
at org.apache.jasper.compiler.JspCompiler.(JspCompil
at org.apache.jasper.JspEngineContext.createCompiler
at org.apache.jasper.servlet.JspServlet.doLoadJSP(Js
at org.apache.jasper.servlet.JasperLoader.loadJSP(Ja
at org.apache.jasper.servlet.JspServlet.loadJSP(JspS
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet.serviceJspFi
at org.apache.jasper.servlet.JspServlet.service(JspS
at javax.servlet.http.HttpServlet.service(HttpServle
at org.apache.tomcat.core.ServletWrapper.doService(S
at org.apache.tomcat.core.Handler.service(Handler.ja
at org.apache.tomcat.core.ServletWrapper.service(Ser
at org.apache.tomcat.core.ContextManager.internalSer
at org.apache.tomcat.core.ContextManager.service(Con
at org.apache.tomcat.service.connector.Ajp12Connecti
at org.apache.tomcat.service.TcpWorkerThread.runIt(P
at org.apache.tomcat.util.ThreadPool$ControlRunnable
at java.lang.Thread.run(Thread.java)
This is my second post for today. Jamie, you're a flaming homo.
Attention! My journal contains a link to an interesting poll. Please take the poll.
Is it good, or is it whack?
Error: 500 /beepcore/home.jsp
w ClassName(JspCompiler.java)e r.java)( JspEngineContext.java)p Servlet.java)s perLoader.java)e rvlet.java)a pper.loadIfNecessary(JspServlet.java)a pper.service(JspServlet.java)l e(JspServlet.java)e rvlet.java)t .java)e rvletWrapper.java)v a)v letWrapper.java)v ice(ContextManager.java)t extManager.java)o nHandler.processConnection(Ajp12ConnectionHandler. java)o olTcpEndpoint.java). run(ThreadPool.java)
Location:
Internal Servlet Error:
java.lang.NullPointerException
at org.apache.jasper.compiler.JspCompiler.generateNe
at org.apache.jasper.compiler.JspCompiler.(JspCompil
at org.apache.jasper.JspEngineContext.createCompiler
at org.apache.jasper.servlet.JspServlet.doLoadJSP(Js
at org.apache.jasper.servlet.JasperLoader.loadJSP(Ja
at org.apache.jasper.servlet.JspServlet.loadJSP(JspS
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet.serviceJspFi
at org.apache.jasper.servlet.JspServlet.service(JspS
at javax.servlet.http.HttpServlet.service(HttpServle
at org.apache.tomcat.core.ServletWrapper.doService(S
at org.apache.tomcat.core.Handler.service(Handler.ja
at org.apache.tomcat.core.ServletWrapper.service(Ser
at org.apache.tomcat.core.ContextManager.internalSer
at org.apache.tomcat.core.ContextManager.service(Con
at org.apache.tomcat.service.connector.Ajp12Connecti
at org.apache.tomcat.service.TcpWorkerThread.runIt(P
at org.apache.tomcat.util.ThreadPool$ControlRunnable
at java.lang.Thread.run(Thread.java)
When information is power, privacy is freedom.
Maybe this is way:
/beepcore/home.jsp
w ClassName(JspCompiler.java)e r.java)( JspEngineContext.java)p Servlet.java)s perLoader.java)e rvlet.java)a pper.loadIfNecessary(JspServlet.java)a pper.service(JspServlet.java)l e(JspServlet.java)e rvlet.java)t .java)e rvletWrapper.java)v a)v letWrapper.java)v ice(ContextManager.java)t extManager.java)o nHandler.processConnection(Ajp12ConnectionHandler. java)o olTcpEndpoint.java). run(ThreadPool.java)
Error: 500
Location:
Internal Servlet Error:
java.lang.NullPointerException
at org.apache.jasper.compiler.JspCompiler.generateNe
at org.apache.jasper.compiler.JspCompiler.(JspCompil
at org.apache.jasper.JspEngineContext.createCompiler
at org.apache.jasper.servlet.JspServlet.doLoadJSP(Js
at org.apache.jasper.servlet.JasperLoader.loadJSP(Ja
at org.apache.jasper.servlet.JspServlet.loadJSP(JspS
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet.serviceJspFi
at org.apache.jasper.servlet.JspServlet.service(JspS
at javax.servlet.http.HttpServlet.service(HttpServle
at org.apache.tomcat.core.ServletWrapper.doService(S
at org.apache.tomcat.core.Handler.service(Handler.ja
at org.apache.tomcat.core.ServletWrapper.service(Ser
at org.apache.tomcat.core.ContextManager.internalSer
at org.apache.tomcat.core.ContextManager.service(Con
at org.apache.tomcat.service.connector.Ajp12Connecti
at org.apache.tomcat.service.TcpWorkerThread.runIt(P
at org.apache.tomcat.util.ThreadPool$ControlRunnable
at java.lang.Thread.run(Thread.java)
Simple !
Why do you assume we should have ONLY ONE application level protocol? There is a REASON that the Internet is based on IP, and not, say, TCP only. or UDP.
Or GRE.
Or anything else we have yet to invent.
Because we don't yet know the best way to use the network.
Maybe we haven't adopted BEEP because you don't just 'create' a standard by declaring your stuff is better. Maybe it's because peopel ALREADY know how to do regular socket programming.
Who knows.
BEEP came to life as BXXP at Invisible Worlds a few years back, where I was an executive. Our goal for a while was to use it to federate heterogenous search engines. Invisible is no more, but the protocol lives. A lot of thought by people with a great deal of Internet architecture went into it... but I'm not about to pass judgment on whether or not that's a good thing!
Ironically, the layer at which my application specific needs are met? Yes, I am still writing that particular layer.
VAsoftware, formerly worth something as LNUX, is offering prizes to the hacker who can recover their lost source code.
"We were high on cheap crack", said CEO Ali Jenab, "and we tried a new system that limited posting from trolls. The unfortunate side effect was that trolls started posting as AC from 0, instead of from -1".
Apparently, going back to the old system will not be easy. "We forgot the root password, and had to format and reinstall. Unfortunately, when recovering the tape backup, Malda forgot whether the command was 'tar xzvf' or 'tar czvf' and guessed wrong, so we lost the backup".
Now VAsoftware is offering free Taco Snots (TM) to whoever brings the old source code back. No females may apply, since the VAsoftware staff is, at the same time, 100% homosexual and fully dyke-free.
I don't think I'd trust a network protocol that has a web page that isn't even consistently viewable. Writing HTML is a lot simpelr than network programming, after all.
Hanging my head in shame, I'm one of those "still inventing his own application layer protocols". ASN.1 and RPC were also supposed to save me from doing this. Lately, I've found I've been implementing my own protocols using the concept of netstrings to suit my admittedly low-level needs better. Sadly, as XML and its derivatives mushroom in complexity, I find them less appealing.
Error: 500 /beepcore/about_about.jsp
w ClassName(JspCompiler.java)e r.java)( JspEngineContext.java)p Servlet.java)s perLoader.java)e rvlet.java)a pper.loadIfNecessary(JspServlet.java)a pper.service(JspServlet.java)l e(JspServlet.java)e rvlet.java)t .java)e rvletWrapper.java)v a)v letWrapper.java)v ice(ContextManager.java)t extManager.java)o nHandler.processConnection(Ajp12ConnectionHandler. java)o olTcpEndpoint.java). run(ThreadPool.java)
Location:
Internal Servlet Error:
java.lang.NullPointerException
at org.apache.jasper.compiler.JspCompiler.generateNe
at org.apache.jasper.compiler.JspCompiler.(JspCompil
at org.apache.jasper.JspEngineContext.createCompiler
at org.apache.jasper.servlet.JspServlet.doLoadJSP(Js
at org.apache.jasper.servlet.JasperLoader.loadJSP(Ja
at org.apache.jasper.servlet.JspServlet.loadJSP(JspS
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet$JspServletWr
at org.apache.jasper.servlet.JspServlet.serviceJspFi
at org.apache.jasper.servlet.JspServlet.service(JspS
at javax.servlet.http.HttpServlet.service(HttpServle
at org.apache.tomcat.core.ServletWrapper.doService(S
at org.apache.tomcat.core.Handler.service(Handler.ja
at org.apache.tomcat.core.ServletWrapper.service(Ser
at org.apache.tomcat.core.ContextManager.internalSer
at org.apache.tomcat.core.ContextManager.service(Con
at org.apache.tomcat.service.connector.Ajp12Connecti
at org.apache.tomcat.service.TcpWorkerThread.runIt(P
at org.apache.tomcat.util.ThreadPool$ControlRunnable
at java.lang.Thread.run(Thread.java)
The functionality apparently provided by BEEP sounds similar to one aspect of the functionality that .NET is trying to accomplish - namely ease of network connectivity and data exchange. I wonder if .NET goals played any part in the design of BEEP.
No state is maintained from one HTTP connection to the next, nor from one SMTP connection to the next.
I think it's pretty funny that the only message in the July mailing list archive for Road Runner is from that spam-bitch, "Christine Hall."
2 002-July/thread.html
List:
http://lists.codefactory.se/pipermail/roadrunner/
(codefactory is the company working on GtkHTML and Mr. Project, btw).
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
I looked at BEEP early on, when it was called BXXP, for doing RPC calls. At the time we decided that SOAP over HTTP was the better option for our application. I think that the world has moved on since then, today I would design using REST principles and HTTP, and take advantage of Apache. For applications requiring something more 'stateful' I would probably choose Jabber, which is reasonably well established, over BEEP. BEEP will have a hard time competeing with established extensible protocols which do, if not an excellent job, a good enough job for most applications.
The idea is to introduce as little channel state (as few nested channels) as possible. BEEP is essentially "TCP over TCP".
with two example applications!
www.advancedreality.com
Damn, for a minute there I thought it was a post about the Beeb (the most wonderfull piece of computer hardware ever to come out of the UK, also known as the BBC Micro to the un-initiated).
Oh how it takes me back. The days spend on the old Beeb, learning to program (in basic!) and playing those wonderful old games. I feel quite nostalgic about the old Beeb.
Ah shit! Did I just admit that I actually learned to program on a BBC Micro? Dammit. There goes all my credibility. Nobody on Slashdot will take me seriously anymore! I can just hear the comments: Shutup Grandpa... go play with your 8 bit calculator Granpa... I have a question about Basic Granpa... what does "goto" mean Granpa...
People couldn't type. We realized: Death would eventually take care of this.
---
I have trained slashdot moderators to moderate my posts according to the subject
BEEP's main proponent, Marshall Rose was one of the main wheels in the OSI project. So much of the initial buzz came from his name alone. People were talking about the protocol before they read the drafts (oh yes that is normal for the IETF).
I do have a bunch of quibbles technically. First using XML is a good idea, Using the obsolete SGML DTD mechanism to describe the protocol sucks. I think Marshall started to suplement the DTD with schema fragments but that makes things worse, not better, we now have two specs in one document, the schema version which is what people will implement and the DTD version which is normative.
The other problem is that SGML is a real baaad choice for an encoding at that level. The main complaint about http is that the encoding is too verbose leading protocol exchanges to require multiple round packets instead of one. BEEP does not address that problem.
Politically BEEP has bigger problems, first being that IETF does not have as much influence as it might appear when it comes to promoting new protocols. There haven't been very many IETF protocols that started in IETF process and took off like wildfire in the past ten years. HTTP took off and was brought into IETF process, same with TLS (SSL). Most successful IETF protocols had a userbase before the working group was formed.
The problem with BEEP is that Marshall did not start with a constituency who had a problem that BEEP was the solution for. Instead he wrote the protocol and then went off looking for consumers. So we start to see Marshall popping up at random in working groups like SACRED peddling the BEEP Kool-Aid. The problem being that if you are doing a researchy protocol like SACRED the last thing you should be doing is layering it on someone else's research.
After this happened a few times Marshall started to alienate folk like myself who might be interested in BEEP as an option but certainly were not going to allow him to insert himself onto our critical path.
The other problem is the nature of the IETF these days. The problem is that they talk a good talk about being open and such, but it is really an old-boys club. The old-fart faction is strong on the IESG and IAB, they have known each other for 20 years and they don't want anyone messing with their turf.
In theory the IETF process is open. In practice there are a bunch of shadowy cliques who make the real decisions in private. BEEP got to RFC status in record time because it was proposed by an IETF insider. Problem is that the IESG does not have much influence with the people in the Web Services world which is where all the interest in XML based protocols is at the moment.
Most of the people I see at W3C and OASIS Web Services meetings have no IETF experience at all. Of those who do, none are IETF insiders and so an endorsement by the IESG does not have much force.
For BEEP to take off it really needs an endorsement by one of the heavy hitters of the Web Services world which basically means IBM. Microsoft or Sun. I don't think that is very likely because everyone knows that there is a lot of work to be done to make Web Services work and there is simply nothing to be gained by putting BEEP on the critical path. People are more interested nailing down WS-Security, SAML, XKMS, geting WSDL to work and such.
Looking for an Information Security student project suggestion?
Try http://dotcrimeManifesto.com/
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@dbc.mtview.ca.us and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache/1.3.20 Server at beepcore.dbc.mtview.ca.us Port 80
Way to go, BEEP! I won't fuck with you anymore, because I'm no pedophile, OK?
If you spend all your time writing your own complex language parsers for XML or HTTP, you've MISSED THE POINT COMPLETELY.
No by definition the aplication layer protocol provides the application with access to the network stack through an API.
Um... You remember what API stands for right? That'd be "Advanced Programming Interface" or some variation. If you'd ever had to code using one of these, particularly a "new" one, you'd realize that "Interface" is a very relative term.
So, is it easier to just use sockets as your application's API to the network? In many cases yes... Interestingly enough, TCP already provides multiple streams of cummincation, and port numbers are supposed to tell you how to behave when listening or connecting. Adding another layer on top of this to do essentailly the same thing seems redundant. The only benefit I can see to this might be effects on performance(for wireless) or the ability to "sneak through" firewalls. But at what cost complexity and efficiency?
That said, if anyone ever comes up with a useful presentation layer, I'd be happy to give it a whirl. (XML has been kind of fun that way...)
i believe part of the EPP draft deals w/ using BEEP as a communication layer.
.biz registry wanted to do an initial roll out of this when the tld went live, but there was a lot of push back from the registrars b/c of timeframes and "newness".
the
-Jae
How long before AOLTW either buys the RoadRunner library or sues the makers into oblivion?
I know that. That was the point.
The point was, we don't NEED a single protocol, we already have one, it's called IP.
------------------------
Jack not name, jack job!
Having read the spec, and taken a peek at the O'Reilly book, I would definitely want to use BEEP, assuming a I was writing an application that called for a new protocol. (Which I'm not, at present).
:-)
Unfortunately, for me there's still one obstacle: The lack of a perl Net::Beep module.
Yup, I'm that lazy! Until someone else(!) makes it easy in my favorite language, BEEP might as well not exist.
Anybody know of such a project in the works? My search of CPAN, Google, etc., about 6 months ago, turned up nothing.
I despise people who wont admit the usefulness of GOTOs.
I once wrote a 2000+ line RPG without a single loop or set of code blocks in C++. (ie: I used GOTOs instead of brackets)
It ran beautifully, and still does. Not a single error in the whole thing.
I've seen others write a similar game using loops and code blocks, and watch as it hit infinite loops, memory errors, and whole hosts of other problems easily solved with a GOTO.
Say what you will about GOTOs being outdated, but when you compile a C/C++ program, all your if/else/loops all compile into GOTOs.
If they were useless, they why are they still included in all chips? (and prolly will be forever)
The ICAP protocol is based on the IMAP4 protocol. As such, it has the assumption of a client/server relationship. It also has state assumptions that are not necessarily valid over time, and BEEP appears to not support the concept of nested transactions (the IMAP4 and ICAP protocols are biased toward set encapsulation -- that's why there are all the irritating nested parenthesis -- which lends a strong bias toward stack based interpretation of requests: transactions).
Since BEEP is intended as a peer-to-peer connection oriented protocol, it's not ever going to really be practical as an ICAP transport.
The main issue that a server deals with is a shared resource that belongs to the system, rather than participates as a peer. This becomes an issue when you want to schedule use of a confernece room or interview office, where these resources, unlike human beings, don't have a machine which participates in the process as a peer. It's not possible to totally distribute such a system, since the peers are not the only mutually contended resources (if "Bob" drops out, then you can have a request outstanding, but not accepted; no matter who else attends your meeting, though, the conference room *must* "attend").
As far as a peer-to-peer workgroup calendaring service, it *may* be possible to use MIME encapsulated calendar update notifications, similar to the way Microsoft Outlook can be a transport for Microsoft Schedule information (the message type involved lack standardization).
However, such an approach would have the drawback of "netsplits" (in the IRC sense) redulting in shared resources ending up with conflicting scheduling (just like "operator" status in an IRC network following recovery from a "netsplit").
In general, calendaring is a much more complicated problem than people tend to give it credit for being.
Right now, the best protocol bet for Calendaring is LDAPv3 with the "persistant search" or a similar notification mechanism (e.g. LTAP), except not as a proxy, and mandatorily integrated into the LDAP server itself (due to replication requirements).
One place BEEP *might* be useful is data replication between peered servers. The primary reason it could be useful here is that the entity relationship is *peer*, not *client/server*.
-- Terry
(1) Firewalls. Port 80 wins. Resistance is futile.
(2) Semantics. HTTP's all you need.
(3) Economics. Metcalfe's Law. 1 protocol=max val.
HTTP. There can be only one.
Get your REST gear at CafePress...
Intel has released a P2P toolkit for the .NET Framework with a BEEP implementation for those interested.
e fault.a spx
It's open source and can be downloaded from:
http://www.gotdotnet.com/team/p2p/rtmp2p/d
Note BEEP is only a small part of this download - but have a look at the source code and you will see a bunch of BEEP code.
I guess we better change the name of our beep: http://www.nullsoft.com/free/nbeep/
to avoid confusion...?
BEEP's an impressive protocol framework with even more impressive implementations.
I'm using it in a burgeoning open source project because of it's ability to multiplex bidirectional communication channels in a transparent fashion. Other features such as dynamic client/server roles, authentication, and channel encryption are just icing on the cake. The less I have to muck around with protocol state details the better!
When I first started looking at BEEP I was impressed by the spec but I was suspicious as to the quality and breadth of implementations. After looking through the high level Java abstractions and more specifically BeepCore-Java I was able to throw together a workable protocol that's proven to be extensible and quite robust in just a few days.
The BEEP community is alive and well!
There are a number of opensource BEEP implementations:There's an excellent IRC channel at OpenProjects with the kitschy name #beepnik.
There's the obligatory O'Reilly book, BEEP: The Definitive Guide.
But the best source for information is the Beepcore.org site which has, among other things, an excellent whitepaper on the justification and design of the BEEP protocol.
No.
Good to see that this protocol is as bandwidth efficient as most of the rest of the IETF protocols. Ahem.
When I read the headlines, I thought it said "Will BEER simplify network programming"? I know the answer to that one, and I can prove it over and over that BEER simplifies any kind of programming.
It's the debugging that demands sobriety....
The last time I looked at it, BEEP had nice feature of automatically relating packets being sent and forth via some sort of packet ID numbers. This automatically allowed for sessions and, what's more important, it supported asynchronious request-reply paradigm. This is very common thing one need to implement when dealing w/ more-or-less complex cli-srv architecture. Server might not only be queueing client's requests, but may also comlpete them out of the order (think of RPC, for example). BEEP provides built-in support for this behavioural pattern.
Not being a huge fan of XML, I still find BEEP initiative pretty interesting, but somewhat too generic and artificial when it comes to adopting it to real-life applications.
3.243F6A8885A308D313
Moderators: This is an example of a post that is worthy of +5 Informative. Political or religious opinions that you happen to agree with are not. They might be worth a 4, but IMHO are almost never worth a 5.
Nicely done.
I hear ya, but in practice it's the Nagle algorithm that renders TCP unusable for 80% of real-time gaming applications. There is a fine balance between free TCP 'sessionness' and the overhead of re-implementing and using sessions with custom over-UDP (or over-IP) protocol.
3.243F6A8885A308D313
JXTA, the P2P open source framework sponsored by Sun, is based on Beep. JXTA community is getting bigger and there are some very interesting projects going on (all programmed with Java, but Perl and C bindings for JXTA are in development).
Well thanks. Now I'm ticked. The ./ post made this sound very interesting taking about framing and low level down to the metal "network programming". So I followed the links. I get 5 minutes into the spec and what do I find? It's another telnet based protocol that is largely XML. I'm going to puke if I see another stupid XML networking protocol. I can't believe I'm the only one who sees how stupid it is to format all network traffic in a verbose text format like XML. Here's 448 byte "hello" example.
/>]]> />]]>
C: MSG 0 1 . 52 158
C: Content-Type: application/beep+xml
C:
C: <start number='1'>
C: <profile uri='http://iana.org/beep/TLS'>
C: <![CDATA[<ready
C: </profile>
C: </start>
C: END
S: RPY 0 1 . 110 121
S: Content-Type: application/beep+xml
S:
S: <profile uri='http://iana.org/beep/TLS'>
S: <![CDATA[<proceed
S: </profile>
S: END
BEEP is the core of the syslog over TCP (syslog-reliable, AKA RFC 3195). Since Rose was one of the authors, no surprise there.
:-)
We've been writing a new syslog daemon that supports RFC 3195 (among others) and we're just getting to the BEEP stuff.
Its not pretty, but the flexibility looks interesting. Ask us about suck-factor in about a month, we should have some opinions by then
10 print chr$(7)
See? Easy.20 goto 10
We've already got PING, now we've got BEEP. So when do we get SHOOT and EXPLODE?
If anyone knows what I'm talking about, I'll be pleasantly surprised!!!
"Information wants to be paid"
People who propose the One application protocol to beat them all often ignore existing One protocols. People love reinventing the wheel.
10 FOR g=1 TO 50
20 BEEP 0.02,g
30 NEXT g
I wrote a BEEP implementation for Perl when I was working at Enron Broadband Services, but my group was never able to get the lawyers to let give it GPL licensing and release it publically.
At the time, it seemed like our choices for letting partners have some say in network routing through our backbone were SOAP or BEEP, and we favored BEEP because of partner pressure from Sun against all things favored by Microsoft (go figure). Eventually, we used simple XML messages rather than an entire application layer.
Early on, BEEP wasn't a difficult protocol to implement; however as time passed, it grew more and more complex, until it maintaining BEEP in a closed-source environment outweighed any benefits. At that point we switched to simple XML messages.
BEEP isn't a bad protocol at all. It is a little over-designed: as a fan of eXtreme Programming, I'd have preferred that smaller versions of the protocol get wider use and more feedback before being expanded.
--binkley
Reliable-syslog, from the syslog WG in the IETF, is based on BEEP. It is fairly clever.
In reviewing reliable-syslog, I had a good look at BEEP. It is clever and neat, but XML processing _can_ be a bit heavy for many applications and there can be quite a few options in BEEP. That being said, it is still feasible. It takes quite a long while for a new 'protocol' to gain acceptence; often years.
If there is a bug in a commonly used part of beep such as the
framing code it could cause all protocols created with it to
be vulnerable.
TCP/IP and protocols running over it have had plenty of
problems in the past. From machine crashing exploits like
winnuke, boink, and teardrop to the reccent apache
vulnerability. Problems have take a long time to be found
even in widly used protocols.
I expect that people who use a medium level language instead of
creating their own protocol handling routines are unlikly to
spend time making serious effort to audit the compiler for
security problems. The BEEP project page talks about learning
previous protocol work but don't specificaly mention security
that I noticed.
<nobody> beep?
<nobody> oh this is marshall rose's latest brainchild
*** Action: nobody prepares to be outraged
<nobody> marshall rose is an ASSHOLE
<nobody> i remember the first (and last) time i met him. such an arrogant prick.
<nobody> so smug and self-congratulatory because he invented MIME
<nobody> GUESS WHAT DR. MARSHALL T. AS IN ASSHOLE ROSE? MIME SUCKS!
nobody
parturiunt montes, nascetur ridiculus mus
I see that you are talking about the Web Browser as an application, as looking at a series of HTML pages.
I suppose it all depends on your point of view. When I transfer a file via HTTP, it's just as stateless as, say, FTP.
Auto-reconnect logic, as you call it, would work just as well with HTTP as it does with FTP. It's a function of the client, not the protocol.
When XML is too much, but you still want named nested tags (easy to extend your spec) and compatibility, one option is MinXML. It's XML without attributes, cdata, comments, dtd, mixed content, etc. Just nested tags. Java and javascript parsers available. I'm messing with one in Python, not quite done yet but mostly there in two pages of code. I'm going to use it for an app where I need to apply digital signatures to something XMLish, and minXML with whitespace removed is way easier than W3C XML Signatures (40 pages for the signatures spec, plus another 40 pages for the "canonical xml" spec, plus xpath for partial signatures, plus scripting for fscks sake.)
BEEP is basically reinventing NetBIOS over TCP (rfc1001/2.txt), SMB (draft rfc from ms by paul leach) and/or dce/rpc (osf documented standard on www.opengroup.org).
BEEP doesn't have ping / echo semantics, so a client cannot establish that a server is still alive, and cannot tell the server that _it_ is still alive.
and no, maintaining the tcp connection open is _not_ a good way to say "i am still here!".
BEEP rfcs don't mention how network errors are
supposed to be handled.
BEEP doesn't describe how, if or whether the server must, or can, keep any state information such that a network error may be recovered from easily.
client / server apps are tricky to write well,
and _need_ some assistance from the transport.
Why is it that people assume that everything BEEP must be XML, it's not true. Channel 0 (the control channel) is XML, this has NOTHING to do with what an application profile's data looks like.
Profile data can be binary (and is by default) or specified by a MIME header in the frame. Other than that, it's handed off to the profile to handle, BEEP does not look inside the encapsulated data other than to pass it to the profile handler.
XML is used in the control channel, that is the limit of BEEP's imposition of XML on the world.
Sweetums
------------------------
Jack not name, jack job!
What I really can't figure out is why the first (and only) mapping document is for TCP. BEEP doesn't even buy you anything unless you can retransmit frames out of order.
Contrary to popular bullshit, XML is not human readable (as if computers care about that), is not fast/efficient and is not programmatically simple to decode
Well said.