Slashdot Mirror


User: Kalani

Kalani's activity in the archive.

Stories
0
Comments
228
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 228

  1. Re:Efficiency on Perl and .NET · · Score: 1

    My guess is sooner or later we'll get binary XML encoding, then some "preparsed SOAP", and then finally something similar to CORBA - or M$ would switch to CORBA, which is unlikely because it means, gods forbid, Java compatibility

    Microsoft has the COM, which (along with the "DCOM" extensions) allows everything that comes with CORBA. The COM allows Java compatibility, there's just an intermediate interpreter-object that allows the execution of java objects. The reason to go with SOAP over OLE/COM (I suppose) is that OLE/COM is specific to Windows (at least OLE is ... since it defines a set of interfaces that use resource handles that only make sense on Windows).

  2. Re:Is this really going to work? on UCLA Chemists Progress Toward Molecular Computers · · Score: 1

    This kind of research sounds like a waste of time -- given how fast conventional processors are accelerating (Moore's Law and all), do we even need molecular computing?

    This is probably a troll but what the heck, right?

    Moore's Law has a physical limit, eventually (if we want to keep it going) we've got to move the essential elements of computers to the smallest levels possible. We'll need molecular computing when when current silicon-based techniques hit their limit.

    By your logic we should never have moved away from vacuum tubes. ;)

  3. Oh come on now :) on Let's Make UNIX Not Suck · · Score: 1

    I prefaced my comments with the disclaimer that I am not an expert on the Microsoft programming world - in fact I appear to know just enought to get me into trouble on occasion.

    Right, you prefaced your comments with disclaimers about your inexperience with Microsoft-OS programming and then you proceeded to comment on and belittle the system about which you knew very little. I hardly think that's fair (least of all that you should get moderated up for it!).

    On the interfaces issue, it appears I was simply misinformed.

    OK, but it's not as if Microsoft created this simple extensibility (see IFoo/IFoo2). You can see it all the time in growing structures.

    As for the DLL issue, you are right that this *can* be worked around, but must be done at compile/link time and this is not normally done.

    It can also be done at runtime or just before you run the program (depending on how the program is written). The system doesn't provide an elegant way of enforcing nice usage of dll's, however, which is one of the big reasons that MS has been pushing the COM.

    If you're dealing with a vendor app and the vendor didn't take the care to ensure conflicts were avoided, you're out of luck.

    (This is only in the context of simple procedural dll's)

    Of course. If you get bad software then you're out of luck. This doesn't change on other platforms (bad software is on every platform) but Microsoft makes the dll problem a bit harder for bad software to exploit by using the COM.

    As for who at Microsoft said this, it was several top Microsoft SEs working to evaluate the feasibility of switching a *very* large company's Unix shop over to NT

    SEs? Does that mean 'programmers?' Why were they working on switching another company's systems over? Were they OS programmers?

    Believe me, they wanted to say they could do it, but they couldn't - they all said it was possible in theory, but completely impractical and that they could not guarantee that the OS would "do the right thing" when running two different versions of the same app.

    What?! These couldn't have been OS programmers. If the applications don't 'do the right thing' when running at the same time then it's the fault of the applications, not the OS. What version of Windows was this? If you are REALLY concerned about each application using its own version of a dll, put it in the same directory as the application (though this mostly ignores the purpose of dll's).

    As for why you'd need to run two versions simultaneously - it's an absolute requirement in the real world where you want to validate the new code (especially for designing life-critical systems) alongside the proven code for a while to make sure the answers match.

    OK, I'd originally thought that you meant debug/release versions of the exact same version of an application. Yes it is very possible and not difficult to run two different versions of the same program (be they release or debug versions). I agree that this is an important need and am sorry that I misunderstood you.

    Finally, the overhead of the JVM is a red herring

    If so, it's a big fat bloated one. ;)

    And there is still a real benefit to being able to dynamically determine where code will run based on the capabilities of the client/end node device.

    CORBA/DCOM will allow this but they don't transmit the code for those objects. Why Java? There aren't any features provided by it which aren't already duplicated in something else and which justify using an interpreter for system objects (remember that this whole discussion is about system components and interfacing them with application components).

    Oh, as a final aside, ad hominem attacks aren't called for, especially when someone goes out of their way to state that thier comment is not based on extensive or first-hand knowledge. Thanks for your response.

    This is a technical discussion, if you don't have any experience with a thing then you shouldn't comment on it. I am frustrated to no end when I see misinformation being spread and highly rated by people who have no experience with what they're talking about. To make matters worse the thing is highly moderated. Doesn't this strike you as frustrating?

  4. Let's review on Let's Make UNIX Not Suck · · Score: 1

    This doesn't agree with my memory of how things happened.


    Memory's a funny thing that way.

    In 1987 Apple came out with Hypercard and its XCMDs (external commands) were the first component system that I saw widely used.

    Sure ... but you didn't even bring this up in your last post. :)

    Honestly, I was pretty surprised to see how old the COM is. When I was digging around MS Research I found some old essays on components which dished out their interfaces (it was really abstract, the basic unknown interface wasn't called IUnknown [it was 'unknown' or something similar] but it was the very simplest form of MS's component model).

    That same year Bill Gates wrote an interesting article in a special issue of Byte magazine saying that the software industry should make all applications "scriptable". Naturally he proposed Basic as the scripting language.

    That nicety is built ON TOP of the COM, it's not provided BY the COM.


    If I remember correctly, OLE was the major difference between Windows 3.0 and 3.1, which would place its introduction at around 1990. VisualBasic and the future COM followed soon after.


    OLE is built on top of the COM. When OLE was released, the COM was already out.

    This is off of my main point anyway, which is that it was conceived a long time ago, long before it was put into use. Programmers didn't really understand component programming for a while.

    If you're really curious, check out
    • Showstopper!
      • which details how David Cutler pushed the client/server object idea when he went to work for MS.
  5. WHOA! Way wrong history there! on Let's Make UNIX Not Suck · · Score: 1

    Programmers were pushing the "button" idea way beyond its intended uses. So Microsoft expanded it into COM, DCOM, and Active-X. It turned into a huge proprietary do-anything object system. But a lot of work gets done with that toolset, even though it's become ugly.

    What?! Microsoft came up with the COM in 1983. Check out their really old research documents.

    As for ActiveX, that's just a new name for the same old set of interface definitions that sprung up in OLE and then OLE 2 (read the book "Inside OLE" for the details of the 'migration' between OLE and ActiveX http://msdn.microsoft.com/library/).

    I hope de Icaza can pull it off. From reading his article, he has the basic good sense needed to get it right. Best of luck to that project.

    Everything he described is provided by OLE, he's copying it. I can't believe you can bash OLE in one breath and then say this in the next. Monikers for object instances, streams for state-refreshing, in-place documents, scriptable components, that's OLE!

  6. The great big sucker on Let's Make UNIX Not Suck · · Score: 1

    Try this with DCOM (or it's nom du jour).

    COM+ changes everything about component management. It has transaction management and garbage collecting and mostly everything that was in MTS before the merge.

    I'll assume you are just badly informed, rather than arrogant.

    Right! :)

  7. You're joking, right? on Let's Make UNIX Not Suck · · Score: 1

    I'm not entirely sure whether or not this is a troll. If it is a troll, it's a bad one. Great moderation on this one guys :cough:.

    I'll address your points anyway since it may clear up some confusion that other people have.


    I'm far from a Microsoft programming expert, but I think I'm correct in stating that although these interfaces have indeed remained static up to now, this is more due to a design flaw than by design.


    You ought to look at the actual interface definitions. The interfaces in the OLE spec are incredibly generic. This doesn't mean that more specific interfaces can't be written but, as far as OLE is concerned, the idea is to provide generic wrappers for a couple of types of objects. Things like in-place documents, controls, and scriptable objects are examples of the things that OLE allows. Before you comment on the design of the interfaces (their being fixed in format so long as a sign of bad design? ha!) you ought to actually look at the design of the interfaces.


    One of the real weaknesses of the MS way is that (as it has been explained to me), there is no way to extend a COM interface - any new functionality requires creating a completely new interface that exists alongside and is (usually) a superset of the old one.


    Most plain-vanilla COM components are extended by exposing a new interface. This doesn't have to introduce bloat, however.

    Consider IFoo, which provides the method "Bar." My Foo component gets used for several years and eventually I decide that IFoo is just not going to cut it for every way in which my component is used. So I come up with IFoo2, which includes a new member, "Bar2." How do I keep from introducing the "bloat" of having IFoo::Bar and IFoo2::Bar and IFoo2::Bar2? I inherit IFoo2 from IFoo, at the implementation level it doesn't make any difference. It's not bloated.

    The other method of extending an interface gets us back to your 'poorly designed' OLE components, specifically the interface IDispatch. IDispatch is an easy way to get runtime type-information. You can get a list of the functions exposed by the object, their return types, and the parameters (if any) and THEIR types. Methods can be invoked in a very abstract way (passing in the ID number of the function and an array representing the parameters). This is more "bloated" (in that it's slower) than the IFoo2 method above, but IDispatch has the added benefit of being scriptable (in fact it's the interface behind every script interpreter that MS makes).

    So there's your bloat.


    The DLL hell problem is quite serious, and has some significant and largely unknown side effects - here is one big reason why even W2K isn't up to enterprise duty: The DLL problem prevents running test and production versions of the same application simultaneously.


    Have you even used Microsoft compiler products? There are problems, to be sure, but this isn't one of them. The dll search-path is well publicized in MSDN. If that isn't enough for you, it's really easy to:

    #ifdef DEBUG

    #define MyExternalFunction MyExternalFunctionDebug

    #endif

    If you're using late-binding, it's even easier. You don't need to swap dll files in/out of the system directory, you can just specify the full path to the file in your call to LoadLibrary. Of course, none of these methods have to be used within Microsoft's Developer Studio IDE. You select the target mode of your application (Release/Debug) and it will be compiled for those libraries. You can run both versions at the same time if you'd like (although God knows why you'd need to do that).

    For those of you MS folks that think it can be done, I have it on good authority (Microsoft's) that it cannnot be. It is possible to tie a particular DLL version to a particular app, but there is no way of ensuring that you will get the right DLL if another version of the same DLL has already been loaded into memory by another application (or another version of the same application.)

    From whom at Microsoft did you hear this? A janitor? Dll's aren't shared between processes anymore (they were back in real-mode pre-DPMI days though). Dll's are mapped into a program's memory space when requested and are always loaded from disk. If you don't believe me, try it yourself.


    This sort of behaviour *MUST* be avoided at all costs!


    Yes! I agree! We *MUST* end misinformation and ignorant hyperbole!

    I still wonder how much farther we might be if this had all been done in Java, leveraging all those other components that are already built?

    We'd still be waiting for it to load. ;)

    Seriously, you're not one of those guys who demands a Java OS are you? There really IS a level at which the indirection of a highly-abstract language outweighs any benefits it might bring.

    It just pains me to see so much effort thrown at reinventing the wheel yet again, but without the benefit of portable binaries and the attendant abilty to automatically and dynamically define the client/server(s) split point(s).

    Portable binaries in and of themselves have the ability to 'dynamically define the client/server(s) split' how? Balanced tasks over a connection are what allow you to 'define the client/server split' (though that's really unimportant). Between two machines sits an ORB brokering method calls from one computer to the other. Which is the server? If you throw 1,000 components on one big fat computer and all the little computers use it, it's fair to call it a server. If components are daisy-chained around a network then it's probably not such an important distinction. I'm not sure how Java has much to do with this though.

    Anyway, if you're so obsessed with doing it in Java (these are SYSTEM objects, why run them through a VM?) then you can always make the objects in Java.

    So pick up a couple of books and write some code, eh?

  8. Re:A Blessing from the Bard on Hemos Gets Hitched · · Score: 1

    Gee that's a great play to quote. The speech you quoted, from Polonius to Laeretes (sp), was in regard to his son's independence and bachelorhood. I doubt that's applicable to Mr. Bates.

    Since we're quoting Hamlet, why not quote some passages on marriage? OK, here's one by Hamlet in Act 3 Scene 1:

    "If thou dost marry, I'll give thee this plauge for thy dowry: Be thou as chaste as ice, as pure as snow, thou shalt not escape calumny. Get thee to a nunnery, farewell. Or if thou wilt needs marry, marry a fool, for wise men know well enough what monsters you make of them."

    Or how about this other one from the same scene:

    "You jig and amble, and you lisp; you nickname God's creatures and make your wantonness your ignorance. Go to, I'll no more on 't. It hath made me mad. I saw we will have no more marriage. Those that are married already, all but one, shall live. The rest shall keep as they are. To a nunnery, go."

    Wedding blessings from Hamlet, Good idea!!

    Since Hemos seems mostly sane from what I know, I'm sure that he'll do much better in love than Hamlet. I, as I do with all fools in love (only fools fall in love ;), wish them the best.

  9. Re:Velocity greater than lightspeed? on How Neutron Stars Get Their Kicks · · Score: 1

    As I understand it (IANAP) c cannot be reached by a chunk of mass because you would need an infinite amount of momentum to push anything to c ... it's an asymptope in space-time. Where relativity comes in is when gravity meets c, or meets photons travelling at the speed of light. In relativity, Einstein showed that motion has a gravitational force (relative to the object at rest on the body of motion ... which is only in motion from another frame of reference) and that gravitation bends space-time in such a way that it modifies the path of light but that, from the reference point of the photon, the path has not changed at all and it travels unaffected. The trick is that from both frames of reference, the speed of light doesn't vary.

    Anyway, you might find this website to be of some help to you. The Michelson-Morley experiment is pretty famous for showing that the speed of light is constant and doesn't change with respect to oppositional or parallel motion. This experiment happened before Einstein came out with his theory but it was General Relativity that explained it.

    Well, back to looking for a burger-flipping job. :grumble:

  10. Re:Your penis can be controlled by your frontal lo on The Leased Life? · · Score: 1

    You really are a babe in the woods, aren't you?

    Well I'm actually in the woods (a very very small town in the woods) so ... yeah, I guess -- in a literal sense. I've lived in just about every state within the USA though.

    Take a hypothetical situation:

    Weren't you supposed to follow that up with "please?"

    A woman and a man are in a relationship. Woman uses birth control. Birth control method is not 100% effective. Woman gets pregnant. Wants to keep the child. Does not want to marry the man or the man does not want to marry her. (Either way). She has the child, breaks off the relationship with the man. Man gets sued for child support, loses big, and gets labelled as a deadbeat dad, gets to pay, and never sees his child once.

    So don't have sex until you're married. You know what the conditions of it are ... it's not as if you've been walking around with your eyes closed (hopefully for the other people on the streets of your hometown). I never said "people shouldn't fuck if they're not both willing to take responsibility, oh and by the way: the court systems are fair." I said "people shouldn't fuck if they're not both willing to take responsibility." Taking responsibility also means shouldering unfair judgements of our country's legal system if they've been levied against you. It means judging your "mate" (cough, cough) and deciding whether or not she is responsible, is she an adult? If she is still a child, mentally, then it's not unreasonable to expect her to use the court system as a lever to provide her with the childish (all benefits, no responsibility) life that she'll want.

    Your argument, to me, indicates your lack of willingness to take responsibility (or at least the man in your hypothetical situation). Even if you're the father of the baby, you have no right to demand that the woman have an abortion (and if she DOES have an abortion just because the child would not be convenient in her life then she's irresponsible too -- abortion is a priveledge that ought to be used only in the proper contexts, IMHO). Essentially, it is shirking responsibility to expect the woman to have an abortion ... that's really child-in-the-woods'ish to me, to speak in your vernacular.

    It happens. You might be shocked at how often it happens, how expensive it can be for the man, and how universally frowned upon any dissent to this situation is.

    Shocked? You must not have read my whole post!

    Of course it happens, I never denied that ... I only took issue with the overall childishness of the majority of relationships I've seen. I was almost an abortion (yes I can almost hear you saying: "Almost? I'd have been better off if the slut took a knife to you." -- but that's a sentiment better addressed somewhere else). When my father and mother divorced (I was 2 years old at the time) custody was awarded to my father. Neither one of my parents were really fit to be parents ... but that's only a judgement I can make in retrospect and it really has no relevance on my life today (though it would have been nice to have had a stable and loving family).

    How old are you? My post (the post to which you responded) was about accepting responsibility ... even if it's not particularly what you'd like to do (as in the case of child-support). Nowhere in your post did you address the issues which the child would be facing ... but that's really the crux of the matter. Once a child is born, the lives and disputes between his/her parents are not relevant. The welfare and environment of the child are of the most importance, for those caretakers who understand their responsibility.

    If your mindset is of pity for yourself, or for rage toward your ex-lover ... then it doesn't matter what I say in this post, I could be Anne Landers and you wouldn't give a damn. The real lesson will come when your kid grows up and understands that you were a selfish, insensitive, uncaring, bastard-creating, lust-driven, worthless parent (whether or not you think it's fair). When your kid figures that out, you'll be beginning to realize that your life is passed on in this child and that you'd really love to instill compassion and wisdom into the kid; by then it will be too late and he'll never want to speak to you again.

    I might be living in the woods at this point in time ... but I haven't lived a happy, easy, sheltered life. I don't talk to either of my parents and I'm 20 years old. I won't get into relationships because I can't stand the self-gratifying and thoughtless nature of it all. I don't intend to grow up to be my father and until you see the situation about which you speak from the perspective of the child that is created, you aren't seeing the important part of the situation. Some young minds are broken by things like this.

    You *NEVER* hear of the man getting to keep the child and receive support payments from the woman. *EVER*.

    My dad's getting child-support from my ex-step-mom for my two half-brothers. He'd have been getting it from my mother but I didn't want to have anything to do with either one of them (and my father didn't really want me around either -- I was a bad reminder of a mistake, an "oops," that he'd rather forget).

    So, I suppose that you're the babe-in-the-woods from my perspective. If my story is innocent and naive, I'd like you to tell me one that's brutal and unfathomably heart-wrenching.

    -Kalani

  11. Re:Argh!! on Abandonware, or 'Allaire Forums Open Sourced' · · Score: 1

    Well it took a while for me to respond so I'm not sure if you'll ever read this but I was very glad to see a thoughtful response ... I'd felt that your other posts were too general to leave a real impact on technical readers and after reading this comment I felt bad about my being snide (but good about trying to make your original point more specific).

    So to comment on my using cfinclude's. The interfaces to the "functions" are described in the headers of those files -- as long as that is the SOP at the company for which I used to work, everything goes smoothly. I don't agree that calling CustomTags looks better codewise only because my approach is a vertical extension of the same thing (and I get more flexibility).

    For example:


    CustomTag:

    <CF_Foo param="bar">

    My "Function":



    The second method involves a little bit more typing but it allows a person to organize his/her function libraries within single files and it doesn't restrict your placement of them (a similar sort of thing could be done with CustomTags by using files as objects of sorts, single instance of course, where you make method calls by passing [as a parameter] the name of the method that you want to call).

    That having been said, there are three other options, one of which I haven't brought up before: COM, CORBA, and CFX. I know that you're familiar with the COM and CORBA (both of which could be used as proxies to ANY kind of legacy system, btw ... so long as you had a generic interface [which'd probably be through the network -- sockets, serial ports, VT's] that those objects could use ... you never addressed this point when I brought it up before). That third option is CFX, which is the binary plugin interface for ColdFusion. You can write all sorts of custom tags in dll's which can be called by the Cold Fusion scripting engine. You have a certain set of objects through which you can communicate with CFServer (simplified by the CF SDK which comes with ColdFusion). It's really easy to wrap an existing C/C++ program up in a plugin tag like this ... and if we're talking about 100,000 line programs (and yes I've interfaced one of my own 100,000 line programs to a variety of script interpreters [including CF via this specific plugin interface and ASP/VBS/etc via implementation of IDispatch). I don't mean to comment on your coding style (especially since I haven't seen any of your code) ... but when you're making programs that big it's generally been my experience that it's a very good idea to abstract the control-interface ... so that the i/o isn't locked to any specific device (that makes it incredibly easy to offer many many different methods of control [be they ssh, www, serial, local abstract automation through scripting, or actual meatspace keyboard use). OK ... so enough on this subject, on to your next point.

    Yes, to a certain degree you are right, it is a problem with the IS depts, but the tool does make the problem worse by not defining a clear defined way to make functions and no - of course they are not code cranking automatons, and frankly I'm not even sure what your point is here...

    So come up with a clearly defined way to make functions amongst your team, if the team is subject to high turnover rates (as I suspect most web-programming teams are), just sketch it out on a notepad and file it away ... you can turn that into a more elegant report to give to new programmers (or anyone who needs to maintain the code) so that they'll understand the convention and anything else you want to tell them about the program or about your life.

    Now, the automaton thing, that was melodramatic flair on my part to make a point which I guess you didn't get (but I really laughed when I read this part of your comment ... I'm sorry if you didn't mean for it to be funny but I was reminded of the "Gone with the Wind" bit -- "Frankly Kalani, I don't give a damn"). My point was really simple ... if we're not automatons then we've got some amount of free thought. The implication was: Use actual thought in programming departments. A little bit of documentation (even in that paper report form I described above) can work wonders. You don't need a single industry-wide standard by which every single programmer on the face of this Earth can write code ... so long as you have the means by which you may adopt your own standard (which is what happens with all other programming languages anyway).

    So now on to my final two responses. You say that you want to replicate a legacy system's behavior with a ColdFusion program ... then you say that you're dealing with 100,000-line legacy programs. Obviously ColdFusion isn't a language well-suited to this sort of thing ... 100,000 lines of Cold Fusion is just silly, if not only because it's not a very standardized language anyway -- it's just a little web scripting language. Now, if those are 100,000 lines of junk and can be cleaned up, maybe it can be done in Cold Fusion ... but I'm guessing that they're probably 100,000 lines of good code. In which case you probably wouldn't want all that time to go to waste, right? So if you've got a program that big, why make just one interface (www) to it? I've addressed this in a previous part of my comment so I don't think I need to go into explicit detail but you ought to be able to abstract the input (control) interface to the program, as well as the output interface (I usually abstract the output interface by using a base "sink" object through which my program can send notification of events and pass chunks of data out ... this class can be inherited by a monitor object, a remote-connection object, a printer object, a serial-port object, etc -- if it's C then you could just use a vector of callback functions). Really, I think that you're glossing over some of the things I say and aren't acknowledging the validity of others. To say that they're "tricks" or "hacks" is, I think, inappropriate and even slanderous. It's just ridiculous ... if they can be clearly documented and used in a methodical, systematic way -- they're of use to you and are sensible techniques for big big programs (these are "hacks" that are designed to work specifically for BIG BIG programs -- something as elaborate as the techniques I've described would be overkill for little applications [which is where "hack" is more appropriately used]).

    Thank you for your time.

  12. Your penis can be controlled by your frontal lobe on The Leased Life? · · Score: 1

    Spoken by somebody who has never "oopsed" himself into child support.

    Right ... so you just proved his point. Firstly, you can't "oops" yourself into child support (unless you fall down on top of her in some kind of innocent streetwalking incident -- which isn't likely). Secondly, the issue of flighty relationships has nothing to do with child support checks, per se. I would speculate that the reason there are so many reckless relationships is that most people are increasingly selfish. I'm not a religious person by any means, but I've recognized this plauge of selfishness in society (I've lived in various cities all across the U.S.A. as I grew up) and this sort of thing is exactly what comes out of it. It's very frightening to me. I think that emotional bonding and companionship are very important to us, naturally. This barrage of self-gratifying people breaks that, the most intimate and lasting desire a person will have in his/her entire life, and we become a society of scoundrels. It'd do animals injustice to call this sort of behavior animalistic. From my own observations (and I'm no Desmond Morris or anything) I think that humans act much more recklessly in this regard than apes in most other ape cultures I've seen. In fact, I left California because my (married) mother fucked all of my friends, one of my coworkers, some ex-con who was passing through town, and a (married) Engineering Prof at Cal Poly SLO. My father (recently divorced from my stepmother -- who was my mother's best friend) dumped his family for a 17-year-old girl who was just about to graduate from high school. I'm only 20 and I know that mine is an extreme case ... but I'm tired of this notion, I'm sick of these stupid virtueless pitiful creatures. Responsibility is the means by which you can achieve a happy life, no matter what any totally-fucking-crazy psychologist will tell you (my mother is a psychologist). If you can extend your world-view beyond yourself and accept responsibility for your own actions, your familial/friendly ties, and for your declarations of love (yes, fucking somebody is a declaration of love) then you can probably die a happy man/woman, knowing that you've left this world with some benefit instead of spreading the ugliness and pestilence that permeate so many families. If you can't do this, if you grow up to be a child in an adult's body and you cannot bear to accept responsibility for your own life then I suggest that you end it ... we're not automatons and our pasts (however bad they may be -- even if your mother fucked all of your friends too) are no excuse for our present behavior.

    Sorry this wound up being so long, I wasn't even going to comment but this really struck a nerve with me. I honestly believe, and I have no scientific evidence to support this assertion, that this trend will lead to a society in which beauty (the most naive and childish human concept) will rule the land ... that is, you men may find the love of your life out there but she'll never be yours and once a more aesthetically-pleasing man comes along, he'll fuck her until he's used her up. The same notion applies to women with regard to their husbands ... it's a terrible thought but it's very real.

    I'd better end this now, I've got a lot to say on this particular subject and I guess that this isn't really the forum for it. Thanks for reading this, if anyone actually reads this far, it's just my young, pathetic, hopeless whimpering ... but I accept responsibility for it. ;)

    -Kalani

  13. Argh!! on Abandonware, or 'Allaire Forums Open Sourced' · · Score: 1

    I have found thus far, that if an IS department requires that you run the web server on Win32, they will invariably requite that you use IIS. This is my personal experience tainting this, but so far I have yet to find a counter example. So from the enterprise point of view, if CF is run on Windows, it runs on IIS.

    I don't think that the sales figures on WebSite agree with you there. I am not a big fan of the terms "IS" or "enterprise" as I'm not a big fan of any overused (and eventually meaningless) business term. How many "IS" departments have you been through (if you're going to make broad statements about the entire industry then you ought to at least back them up with some kind of statistical significance)? Living in central california, I only saw a couple of people using IIS and they were usually just as clueless about technology as my "bosses." Of course, if you are determined to use IIS but understand that it is a security risk, you could always put up a FreeBSD/OpenBSD webserver and just delegate allowed requests to the IIS machine, that'd make it more secure. I'm sorry but I don't buy your "enterprise point of view" nor do I believe that the rules for any intelligently-run business should be so inane ... there are many heavily-used alternatives to IIS and your argument doesn't hold water.

    And I don't deny that.

    You do if you say that it is impossible to write clearly maintainable code with reusable modules ... as you've said in two other posts.

    What you refered to was as far as I could tell basically a database backed website.

    It actually consisted of a lot more than that. There were some complicated exchanges that took place between several machines on the network and which CF did fine. There were also network services run on the local machine (I wrote a general-purpose network server which I've been thinking about releasing for public use) which called CF scripts and which could be manipulated by CF scripts. There are very few sites that I've seen which were purely database-driven ... there has usually been some other component to the site which doesn't just spit out information from some table.

    And I am perfectly happy saying that ColdFusion may well be the best environment in which to solve that problem on the market.

    Say whatever you'd like ;)

    However, the area I am dealing with, where I find ColdFusion falls down is creating full fledged business applications - the type of web business applications that a person might be doing their entire job in.

    You don't even define "full-fledged business applications." I addressed this point in your second post and didn't feel like you even understood what it meant. You seem to have some kind of arbitrary level of complexity at which an application is born. Again, I'm not really interested in hailing the glory of CF, I prefer to write in assembler or C++, but I don't like misinformation of any kind. Cold Fusion is just a scripting language, like any other scripting language it is limited to the capabilities of the interpreter. If the interpreter provides access to abstract interfaces, you can conceptually do anything with the scripting language (provided that you make use of those abstract interfaces when you need to do something that the language doesn't normally allow).

    Please, if you respond to this, leave out the buzzwords ... I despise buzzwords (I had a bad experience at my last job where my "boss" used all sorts of buzzwords, usually in an incorrect context, and never actually attempted to understand anything that he was trying to "manage").

  14. Again! You ignore me sir! on Abandonware, or 'Allaire Forums Open Sourced' · · Score: 1

    So I posted an elaborate example of how CF can be used in an elegant and clearly-functional way ... yet I received no response.

    Their [Toys R Us'] system is a sales system, where CF shines, but if you want to take an existing application, (such as a legacy system) and supply all of it's functionality on the web, cold fusion is not a good language for that. Reason? Because it is counter intuative as to how you make functions (Custom Tags).

    First of all, its (a legacy system's) "functionality" can be exposed to the web if the legacy system has some kind of simple abstract interface (through pipes or sockets or whatever) then it would be MORE THAN SIMPLE to expose it to the web with Cold Fusion ... if it does NOT have an abstract interface (it consists of modal dialogs or takes device-specific input) then it wouldn't be simple to move to the web with ANYTHING (obviously it'd be easier to do with the original source code but arguing that porting that program to the web would be easier with C++ than with CF is just silly ... obviously it would be easier with C++ if the application was written in C++ and you had all of the source code right there).

    On to the next thing ... you seem to have a fixation on custom tags, which are mostly useless but do have some advantages. With custom tags you can make functions that must be globally available. If you have 50 different websites on one machine, you might want to make a custom tag for error logging, so that all 50 websites will send their log data to the same place and you won't have to manage tons of seperate text files. You might want to write an abstract credit card billing function and throw it into a custom tag so that all 50 sites can have easy billing code ... obviously you should not make a custom tag if it does something like enumerate all of the books in 1 site's bookstore. You make broad sweeping statements, sir, without backing them up (and I would remark that your use of "it's" has been incorrect, which I politely addressed in my last comment but which you ignored).

    If the language obfuscates how you functionally decompose the problem, most people who are workign on it won't do it.

    Oh come on, use some creativity. Did you read my last comment about how to easily create reusable, well-documented CF code? You are arguing that a language which is, in itself, sequential in the purest form (running directly from top to bottom without subtle code-branching) is useless to procedural programmers. I would then submit to you, any assembler for any processor.

    But none of that really has anything to do with your point, of course, that people just won't do it. It is important to note that, with my previous paragraph as a basis, people are NOT refusing to make programs in CF because they're stifled by its lack of flexibility ... they're usually stifled by their own lack of creativity or they've just chosen a different, and more suitable, tool for the job. I would argue that CF is a vital component to any system (well, not CF specifically but a script interpreter). It makes it simple to glue together the hard-wired, tuned, special-purpose programs which make up a system (yes I'm describing the Unix outlook but it's a lot more present in the Windows world than you'd think).

    the reality is that most people who program are sittign in IS departments, and because of the way it is managed they don't try to do things right, but instead try to do them as fast as possible.

    That's why ColdFusion was made, really. It lets you do things as fast as possible (though you'll have some ugly code, as with every other language) and also lets you organize web-related code and data in a very obvious and simple way (though it takes a little bit more time to document your code). I don't mean to be snide ... but it sounds like you're describing a problem with "IS" departments more than you're describing a problem with any particular language. All programming languages will allow hideous code if the programmer is in a hurry ... I don't think that there's anything that will really change that.

    Because of this, they will not investigate how to make functions in Cold Fusion - because frankly it is not immediatly clear as to what you have to do.

    They won't investigate how to make functions because it is not immediately clear as to what you have to do? Gee, that sounds pretty lazy, frankly. When you're using a new programming language you don't always know, immediately, how to write a function header. Are you saying that your "IS" deparments should consist of automatons, thoughtless creatures who just crank out code mechanically? Do you think that's productive? Do you think that leads to a good product? Don't you think that's kind of cowardly? I'm not trying to say that CF is a panacea, hell I'm not even a huge fan of the scripting language ... but it's much more useful than you give it credit for ... what I am trying to say here is that you have to do a bit of experimentation with ANY language if you're going to really find out what you can do with it.

    Back the the subject at hand - Yes, Toys-R-Us has an e-commerce web site, but I would aregue (unless there are vast parts that are unseen) that it is not truely an application

    From the American Heritage Dictionary:

    7. Computer Science - A computer program with a user interface.

    So why don't you "aregue" what is "truely" an application?

    The area I am talking is b2b (business to business) ecommerce applications, where you have to create business rules based upon the processes of a business, interface with all of their legacy systems, and do it an a clearly maintainable way. Cold Fusion does the first one ok, the second one wonderfully, and falls down on the third.

    So before you say that it can't interface with legacy systems and now you say that it can do it wonderfully ... well I wish I hadn't made my argument earlier since you obviously have come around in your own message.

    Now, I can't help but laugh at your assertion that CF doesn't allow clearly maintainable code. I've written two very long messages to you now, explaining how to write elegant code in CF and how simple it is to bind other programs together. It is up to the programmer to make maintainable code and your comment says more about you, or your "IS" department, than it does about the language.

    That bookstore that I mentioned in my previous comment was a small part of a bigger business. The business (www.selfpub.com) allows people to submit their written work and have it published, at less cost than traditional vanity presses because books are only printed as they are ordered and bulk orders aren't required to get published. Because the actual printing business is seperate I had to write a few programs to allow the exchange of information between the webserver (which handles incoming and outgoing data) and the machines of the printing-press network. Those programs were pulsed (sent streams of data) by CF scripts (on the webserver end) and have been used without problems since I left that company. The greatest thing is that this company is full of inexperienced technical people, I was the only programmer (and I was only hired because I was a really young kid and couldn't ask for lots of money) ... yet, I still haven't had one email asking me for help or even an explanation of how the system works. It's so obvious that the new programmer hasn't had to ask for explanations of anything.

    So, in closing, I'd really like it if you'd take that comment back.

  15. Re:Cold Fusion is better than PHP, at least right on Abandonware, or 'Allaire Forums Open Sourced' · · Score: 1

    I'm not saying it's a junk platform, but I don't think it is suited for creating full fledged e-commerce applications.
    Sounds like you're saying that it's a junk platform ... if it's not used for high-load, ultra-functional websites, then it's just a toy.

    And yes it can talk to corba, com & Active X, (it's connectivity is better on win32, which sucks, because frankly servers should NEVER be IIS.....)
    Its "connectivity" to ActiveX (OLE) is limited to Win32, CORBA works just fine for any other platform ... it can use either component standard where available (You can purchase a version of the COM on Solaris which will allow CF to use the interfaces defined by ActiveX [OLE]). You attempt to defile Allaire's Win32 product by saying that "servers should never be IIS," in the process you ignore O'Reilly WebSite, OmniHTTPd, Netscape's web server (I don't remember what it's called), and Apache! All of those webservers that were mentioned can make use of the CF scripting engine (OmniHTTPd can only do it through its CGI support, I believe, as Allaire has written web server extensions for the ISAPI, NSAPI, and ASAPI 'standards' -- none of which are supported by Omni). Of course, there are several more web servers for Win32 which can be used to host CF content but that's not really the point I'm trying to bring home. I'd really like to know what you mean by "better connectivity" with regard to component standards. If you don't have the COM on Solaris than obviously you have "0 connectivity" (God how I despise that term) and thus you cannot make use of the standard ActiveX (OLE) interfaces. Similarly, you can't use CORBA on Win32 platforms if you don't have an installed ORB.

    So, all of your slander aside, there is a very important reason to use CF on a Win32 platform (with a non-MS webserver if you hate IIS): in-process document processing ... all CF documents are processed within the context of the webserver's process, the CF engine keeps a pool of connection objects open (the number is set by default to some number I can't remember but you can change it) and this winds up slicing quite a bit of time off of response to document requests. If you don't believe me, write a program to connect to a network server (running whatever OS you like, so long as it isn't Win32 w/ ActivePerl) and continuously request a perl-generated document over a period of about 1 or 2 minutes (the time length is arbitrary) and then write a program (or include this in the previous program you wrote) to request a CF document from a Win32 network server (so long as it isn't running OmniHTTPd, since it has no in-process server extension features and just spawns off new processes of the CGI interface to the CF engine on each request) ... you'll find a marked difference in latency.

    but even if you want to create something complicated it's function model blows.... (back to the Tags thing....)
    Its function model is lacking some extensibility, I agree. Still, with the ability to use "ActiveX" objects (at least any COM object that supports IDispatch) and CORBA objects, you're pretty well accomodated there. You may be interested, if you ever have to work on any CF stuff, in a few of my design choices at my previous job.

    The problem was to create an administrative section for the bookstore portion of www.selfpub.com (if you go there, forgive the ugly interface, that was the creation of my "boss" and not myself). There were many things that needed to be edited and each corresponded to a table in a relational database (including a "Settings" table I always create to handle simple settings which apply to the site as a whole). I made a file to divide database records from any of these sections into "pages," cfgPageSplitter.cfm, which would set the value of NUM_PAGES, CURRENT_PAGE, RECORD_START, and RECORD_END ... it would also output links to the available pages (it derived the URL from the document which had included it) ... the only thing that I had to do, in those documents which I wanted to divide into pages, was to create the recordset I'd normally use for outputting those records and set NUM_RECORDS to MyRecordset.RecordCount, then (in my output loop) I used the RECORD_START and RECORD_END variables to control the records which were output. I had a similar approach to the management of updates or insertions in any of these different sections. I wrote a file called cfgDBOperation.cfm which took a comma-delimited list of the form-fields/table-fields which were confirmed available (step 1), confirmed to contain the correct type/content of value (step 2: optional on a field-by-field basis), and then performed the actual operation through a generated SQL statement (The field-input line would look something like "Name,1,1,Price,2,1,OptionalVal,1,0" as "n1,n2,n3" where n1 was the name of the field, n2 was the type of data to be contained in the field (the meaning of the values was contained in the comment header for the file), and n3 was a boolean value indicating whether or not to perform a check on the field). The file would set a variable called COMMAND_RESULT (if I remember correctly) as well as COMMAND_TITLE and COMMAND_MESSAGE. The possible values for COMMAND_RESULT were 1, 2, or 3 (with 1 being "no problem," 2 being "warning: some problems encountered," and 3 being "an error was raised which prevented the command from executing"). None of these values were handled by any of the files which dealt with individual customizable elements of the site either, each one of those documents included start_cfgtmpl.cfm at the start of document execution and then end_cfgtmpl.cfm at the end of document execution ... these documents controlled the formatting of the page and the output of these special variables which were set by other "abstract" CF documents.

    Example:
    --Global Templates--
    cfgPageSplitter.cfm
    cfgDBOperation.cfm
    start_cfgtmpl.cfm
    end_cfgtmpl.cfm

    --Bookstore Config Templates--
    cfgAuthors.cfm
    cfgBooks.cfm
    cfgRatingSystems.cfm
    cfgBookCategories.cfm
    cfgShippingMethods.cfm
    cfgSettings.cfm

    --inside cfgAuthors.cfm (pseudocode)--

    if IsDefined("COMMAND")
    set CmdFields="Name,1,1,Desc,2,1,MaxFilespace,2,1"
    include template="cfgDBOperation.cfm"
    end if

    include template="start_cfgtmpl.cfm"

    query name="Authors" datasource="Selfpub"
    SELECT * FROM Authors
    end query

    set MaxRecords=Authors.RecordCount
    include template="cfgPageSplitter.cfm"

    center

    (here's where the regular document comes in)
    output query="Authors" from="#RECORD_START#" to="#RECORD_END#"
    (a table is output here with input fields for each field in the authors table and a command button with the name of "COMMAND" which allows updating or deleting of existing records)
    end output

    /center

    (add a blank table here with all fields used above but set "COMMAND" to "Add Entry" to allow new records to be created)

    include template="end_cfgtmpl.cfm"


    That's a pretty simple way to make an administrative section ... there's really not anything to it (the actual portion of the bookstore which the customer sees is written with a similar approach except that it draws data from these tables and displays things [shipping methods, payment methods, books, author info, etc etc] rather than allowing them to be updated).

    Right, so, after all of that I guess my point is just that ColdFusion is a useful product and can save a LOT of time when it's used as it was intended to be used (it does require a different approach than traditional procedural or object-oriented programming demands). I am by no means an expert in this field, I'm sure that others could supply you with more information and could point out other useful ways that CF can be used. I thought it was an OK product but I didn't really like the company for which I was working while using that product. The time I spent writing things in C, C++, Java, or VB was greater than any time I spent with ColdFusion (I even had to write a little CGI program in C to spit out little chunks of huge log files ... this was required because one day the log file for the webserver grew to 450MB and the network administrator tried to figure out what website brought that traffic by opening the logfile with WinNT notepad (which locked up the machine as virtual memory was allocated in chunks to accomodate the large text file)). Really, this isn't even my job ... I'm a 19 year-old second-year college student and I'm currently unemployed (kthielen@hotmail.com) but I wouldn't deny the benefits of ColdFusion, it's a pretty nice product if it's in the hands of a well-organized mind ... just like any other programming language.

  16. The point is ... on Thus Spake Stallman · · Score: 1

    that RMS and his detractors (those of whom call him a "Communist") are really calling each other the same thing. When "Communist" is used in a derogatory way, it carries with it the association of old Soviet communists (otherwise it would be equated with being idealistic, which isn't zealous or evil or forceful). Both parties are generalizing the brutal behavior exhibited by a society across the Pacific Ocean. It's just silly.

  17. Re:If it is unintentional.... on BeOS Boo-Boo: Violating The GPL -- Updated · · Score: 1

    I quite delibrately made an example of them, so that other people would not make the same mistake.

    Dear Mr. Perens,

    If I remember correctly, several months ago you did chastise one Eric S. Raymond for making a public spectacle of you and his dissention toward you. As the body of your numerous messages implied (in the constant bickering going back and forth between you and the aforementioned ESR) your central point was that Mr. Raymond should have come to you if he had a problem with something you'd said or done. Is it not fair, then, that Mr. Raymond deliberately made an example of you in that situation? Shall I hold you to this ideal you've set forth, despite your having indicated different feelings some months ago? Would you like to retract your comment or do you still believe that you have the right to "make an example of them?"

    Thanks,

    Kalani

  18. Re:Always in twenty years on Bill Joy On Extinction of Humans · · Score: 1

    Thank you very much for expanding on that.

  19. Re:Always in twenty years on Bill Joy On Extinction of Humans · · Score: 1

    The prion which leads to scrapie in sheep, BSE in cows and CJD in humans indeed has nothing to so with gene transferral, but that's not the point.

    Thank you, I'm not well-versed in the technical details of the diseases and am just beginning college courses in biology. I don't mean to imply that I have a wealth of knowledge with respect to biology or chemistry.

    The real point is that humans doing stupid things for the sake of profit (in this case feeding sheep offal to cows and making meat pies out of those cows' brain tissue) can quite easily lead to disaster.

    I agreed with that point. There are innumerable examples of such follies throughout recorded history (many of them being the same mistakes relived).

    In any case there is *plenty* of evidence that genes can be transferred between species. To take the most mundane case - what do you think viruses are doing?

    I wasn't arguing that genes can't move from one species to the next or that species don't have a HUGE number of common genes (in that respect, human beings have a lot in common with a bacterium). I only meant to challenge the idea that Mad Cow Disease was proof of gene transferal; your knowledge of the jargon behind this disease helped me to do that.

    As for your example of viruses transferring genes between species, I believe that you mean to say that a virus is implanting its genes into a living creature (which is true and can be one of the causes of "junk DNA" in a species line). However, I'm not absolutely certain that this amounts to cross-species transference of genes as viruses are not yet (to my knowledge) considered living creatures. It would therefore be more akin to a species picking up "random DNA" or "gene noise." Again, I'm neither a biologist nor am I a chemist so I am not attempting to write the final word on this.

  20. Re:Always in twenty years on Bill Joy On Extinction of Humans · · Score: 1

    There have already been instances of genes jumping from one species to another, for example in the Mad Cow disease incident... Sheep --> Cows --> Humans. Don't get me started.

    I agreed with most of your comments up until this point (even the sad fact that the Biosphere 2 project failed ... I remember going to see that as a small child). As I understand it, "Mad Cow Disease" is not a genetic problem. Cows contract the disease when they eat other cows. I remember reading about a similar disease which affected cannibalistic humans in South America. I don't think that this example lends credence to your belief that genes "jump" from species to species.

  21. Re:Always in twenty years on Bill Joy On Extinction of Humans · · Score: 1

    And isn't it???

    No, it is not. At least not in the literal sense. I believe that the prediction was bourn from the high amount of horse-drawn carriages weaving throughout the city in the late 1800's. Therefore, the problem was actually that there may be too much horseshit through which to wade in order to get anywhere.

    New York is just hip-deep in stupid human shit. ;)

  22. Re:Just use GPL on Open Sourcing Windows Based Project · · Score: 1

    There's really nothing in trying to "force" people into sending their enchantments to you; at least nothing warranting using anything but the GPL.

    Are enchantments covered by the GPL? I thought the GPL was reserved for programmers and software companies.

    Boy my warlock friends will be happy to hear this ... pulletproof enchantment protection, keep your evil spells from destruction by the fowl creatures of this world.

  23. Re:Beowulf; sounds like the name of a bad B movie on Hubble's Computers Upgraded · · Score: 1

    Not even close ;)

    Beowulf is a hero from old Celtic tales. The stories of his escapades were traditionally passed by word of mouth. They were not written down until the monks got ear of them and thoroughly injected them with Catholic dogma. The aforementioned priests published the Beowulf myths shortly before Chaucer published "The Canterbury Tales." Reading Chaucer and these stories of Beowulf will give you a fairly good understanding of how Elizabethan England came to be (and perhaps explain some of the method to the madness of writers like Shakespeare).

    Why it was decided to name some clustering software after this ancient character, I'm not sure. It's possible that it is explained somewhere on their website or within their documentation.

    Hope I've helped.

  24. Re:Carpal Tunnel....I believe her on Medium Rare Quickies · · Score: 1

    >We're talking ABC news here

    Well no, we're talking Reuters. ABC news just bought the rights to the story along with all the other Reuters subscribers.

  25. Re:Garbage: People rarely examine facts! on Disposable Cell Phones · · Score: 1

    kindly correct me if i am in error, but gasoline is NOT a *resource*.

    Merriam-Webster defines "natural resource" as "industrial materials and capacities (as mineral deposits and waterpower) supplied by nature." The gasoline you put in your car is a fossil fuel (though a recent slashdot article presents the view of a scientist who rejects that notion) and is thus a natural resource (it's of limited supply and is provided to us by mother nature). As you mentioned, gasoline is processed, purified, and additives are inserted; it's still a depletable resource.

    gasoline is one of the worst and most inefficient 'sources of power' because of its intense and exorbitant release of toxins into the environment, such as CO (carbon monoxide). CO is *not* released in the exhaust of methane (natural gas) or other viable alternatives to gasoline.

    A properly tuned engine will not emit high levels of CO, laws like California's help enforce that. CO is especially harmful to aerobic life because it is smaller/lighter than oxygen and is absorbed by red blood cells quicker than oxygen. The threat, then, is that an aerobic creature can suffocate while still sucking in lungfulls of "air." Methane (CH4) is lighter than air, colorless, and odorless (just like CO) and is produced naturally by human beings, swamps, rice, bovine, basically anything that can decay. The threat with methane is similar to the threat with CO, in that people locked in an airtight (or near-airtight) enclosure will suffocate if given only methane (look to shows like Geraldo and Oprah for instances of depressingly introverted people who've unwittingly committed suicide this way). Furthermore, methane production is a big issue for global warming advocates, because it has such a large capacity for trapping heat and turning this planet into a "Lil' Susy Homemaker" oven. See this for a brief synopsis of the implications. Still, most people scoff at this citing cows as the leading producers of methane. Regardless of what releases the most methane, it is a potentially harmful gas to have floating around in large quantities. Though I'm not an expert on the subject by any stretch of the imagination.