Slashdot Mirror


User: woggo

woggo's activity in the archive.

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

Comments · 187

  1. "syntactic sugar" != "language features" on Anders Hejlsberg Interviewed On C# · · Score: 1
    I'll just take a moment to comment on this fellow's ridiculous statements about enum. "We took 'enum', a useful C++ concept that Java threw away, and made it typesafe." Well. "Enum" is inherently un-typesafe. If you need typesafe constants in Java, it's simple enough to do:
    class InodeType {
    private int _type;
    InodeType(int type) {
    this._type = type;
    }
    }
    public interface InodeTypes {
    public static final InodeType FILE =
    new InodeType(0);
    public static final InodeType DIR =
    new InodeType(1);
    public static final InodeType FIFO =
    new InodeType(2);
    public static final InodeType SOCK =
    new InodeType(3);

    // and so on...
    }

    That's pretty simple, huh? (You don't even need the int member -- it's just there for clarity.) Just because Java doesn't provide a syntax for enums doesn't mean it's impossible to implement typesafe constants easily, just like it's possible to write code which uses semaphores instead of monitors as long as you build a semaphore framework yourself (see Doug Lea's page for a lot of useful concurrent Java info).

    Adding syntactic sugar to a language merely shackles developers to the way the language designers thought a problem should be solved, and saves a few keystrokes at the cost of lost consistency.

    Typesafe value types are not a bad idea (*shudder* Pascal uses them to some advantage), but it is just plain dishonest to say that they provide anything more than sugar in an OO language.

    Remember, folks, as Alan Perlis said: "Syntactic sugar causes cancer of the semicolon."


    ~wog

  2. well... on SCO Education? · · Score: 1
    SCO is cheap (IIRC); you can get the media and a horribly crippled license (1 user, no networking) for about $20 US. O'Reilly has a number of good books on the subject, including UNIX Systems Programming for SVR4, which covers system-call-level differences between SCO and other SV-based Unices, and the "obvious choice": SCO Unix in a Nutshell.

    As a fellow of conscience, though, I must attempt to dissuade you from this path. SCO may be cheap, but Linux and BSD are free and come with tons of apps (in the distros and ports, respectively). By contrast, if you want emacs (or gcc, or anything) on SCO, you're either buying a CD of precompiled GNU stuff from SCO or you're compiling it yourself. If you need a Linux/BSD CD, you can get one for under $5 from cheapbytes.com or myriad other vendors. If you absolutely must learn the quirks of a proprietary OS, do yourself a favor and pick up Solaris for Intel, which is also available for about $20 (to students, developers, and home users), without the SCO enfeeblements. Furthermore, Sun is liable to remain financially solvent for the period of time it takes you to attain proficiency with their system.

    Ask yourself "Why am I doing this?" If your aim is masochistic self-gratification, then I cannot recommend a better solution than an SVR3-based proprietary Intel UNIX that "features" Open DeathTrap. However, if you want to be productive or have fun, Linux or BSD will suit you much better. (Bear in mind that most free software is developed on either Linux or BSD -- even though most stuff is portable, you're much more likely to have luck getting random stuff to run on a free unix. That's not FUD; just pragmatism.)

    Perhaps you think that mad SCO skills will make you an employable, in-demand UNIX pimp. However, if you thought that, you'd be horribly wrong. A quick dice.com search revealed 578 jobs with the keyword "SCO". That might seem like a lot until you see that dice has 6,195 "Linux" positions and over 15,000 "Solaris" jobs in its database. (A quick vgrep of these results also reveals that Linux or Solaris nerds are paid a lot better than SCO Acheivers.)

    There's also that little matter of the vultures circling around SCO, as any number of /. articles will attest.

    In any case, good luck picking up the UNIX skills (wherever you choose to hone them). The community is great, and you're in for a fun ride!

    ~wog

  3. looks like there's not a lot to this project: on The Open Windows Project · · Score: 2
    I quote from their mailing list, dated 7/18:

    It is becoming plain that the initial enthusiasm for the project is beginning to wane. This judgement is based purely on the volume or lack of voume of emails on the list. The fact that nobody has replied to my two previous posts here. The fact that WinE does not work with some compilers and the fact that it takes too long to install Visual C++ 6.0 Enterprise.

    The Net is littered with good ideas for rival Operating Systems, some abandoned because they would never work, and others because they were just plain rubbish.

    Now, I think that Open Windows has a future. If only I could see the big picture and actually understand what it all means.

    Are we actively recruiting for new members? Making best use of the resources at our disposal? Finally agreed that if team members want to use a copy of Turbo C++ 3.0 they downloaded from an abandonware site then let them, etc etc.

    Also if we have a repositry for code then we should use it IMO.

    Wow. Where have we heard that before? The "initial enthusiasm" is starting to wane before they even have a single release? Sounds like the legendary "Freedows project". If anything, these ambitious "I want to build an OS" projects prove that it is easy to emulate Microsoft in one regard: generation of vapor and hype.

    These folks are looking to recruit programmers, but they don't have a project, a CVS repository, or even any code -- just an idea. That's really ridiculous.

    It's as if these developers woke up one morning and thought "Hey, I've got a great idea! I can't implement it, but I can make web sites! I'll make a web site and programmers will flock to implement it for me for free!"

    This is really no different than the "Hey, I've got a great idea! I have no product/profits, but I'll generate a lot of hype, IPO, and become rich" which caused the stock bubble to burst. It's really unfortunate that the community, so rich with good projects, has encouraged this sort of "crying 'wolf'" even with no profit motive.

    ~wog

  4. does it use olwm? on The Open Windows Project · · Score: 1

    Apparently, these fellows haven't been around long enough to have heard of the real OpenWindows -- either that, or they want to attract a lot of former Sun users to M$, a la UNIX Review's transmogrification into "Performance Computing."


    ~wog

  5. Brief musicology lesson on Civil Disobedience and DeCSS · · Score: 1

    Of course, I wanted to be paid for it, and I was. Just as Mozart, Beethoven, Bach, and countless others were paid, despite the absence of copyright protection.

    This is not entirely true. Mozart was paid by the Archduke of Salzburg; Bach was paid by countless patrons including the Tomanenkirche in Leipzig. For these and countless other art music composers, the motivation to compose was to make a buck -- their patrons shelled out the dough for their own entertainment and social status. As a result, many works were "borrowed", "improved upon", and misattributed, because the patrons didn't care.

    Beethoven, on the other hand, invented "copyright protection" -- he had few patrons, controlled his own works and aggressively litigated against people who performed his works without a license and/or who tried to re-publish his scores. He didn't make any money except through sales and royalties (he made a bit teaching and conducting, but that wasn't where the real money was -- professional conductors weren't really commonplace until after Berlioz).

    So where is the analogue to today's situation? Artists are paid by record companies, whose "patronage" is encouraged by a profit motive. Since the record companies view both the music itself and any instantiation or performance of the music as intellectual property -- which they feel they must do to protect their bottom line -- there is no incentive for them to pay artists if they can't control the profits.

    I'm not saying it's right -- but you'd be hard-pressed to find someone who'd pay a hefty comission to Britney Spears for a new work merely out of humanistic altruism or love of art. The record companies do very little to encourage art, because "challenging" (unlike "insipid") is a synonym for "unprofitable".

    ~wog

  6. What do you need the money for? on Putting Aside Money For Grad School? · · Score: 2

    If you've been accepted into just about any Ph.D. program in an engineering/CS school, your tuition is getting paid, and they're giving you money to live on (albeit not as much as you'd get at your lucrative start-up).

    It sounds to me like what you want is a suggestion for "how to save money to maintain (some) lifestyle", not "how to save money to afford to attend graduate school." (Although, if you're that set on a particular lifestyle, the two may be synonomous.)

    With "lifestyle maintenance" as an objective, here's my advice: A Roth IRA is a great deal for a retirement account, but you can only put $2000 per year in it. If you're planning on going back to graduate school soon -- when you're still current on the research -- that's not going to be enough, and it's not going to grow enough. If you're used to academia, you won't have any problem living on $30k/year and saving $50k, especially if you're single and have no kids. (That's assuming a fairly lean -- by industry standards -- salary.) Put that $50k in an index fund, or even a money market account. Be sure to check the penalties for early withdrawal. (That sounds pretty obscene, no?)

    • Here is a page at fidelity.com describing how to invest for growth.
    • Here is "Vanguard University."
    • Vanguard's recommended links
    Sure, there are other mutual fund companies -- this is just to get you started.

    Good luck with the company, and if you're interested in databases, allow me to suggest an excellent program for your return to academia. (I may be a little biased, though.)

    best,
    ~wog

  7. ..."teach yourself Scheme in 21 days?" on What About Functional Languages? · · Score: 1

    One of the major problems is that almost everyone in the industry thinks imperatively, even (sadly) most "Java Programmers". That's great for writing programs in BASIC (or even C :-) ), but if you try writing in an imperative style in a functional language, it'll get ugly fast, and it won't offer any benefits over the imperative language that "you already know".


    ~wog

  8. Why do you want to use them instead of WebSphere? on Why Don't We Hear More About GNU Server Pages (GSP)? · · Score: 3

    This is not a flame; I'm merely trying to be pragmatic here.

    Probably the reasons you don't hear more about them is that the last release was in February, 1999 and the bitmechanic guys haven't IPOed since. Don't get me wrong, I love open source stuff and use it whenever possible. Furthermore, the guys at bitmechanic have written some absolutely brilliant Java stuff (like ConnectionPool -- wow!).

    The sad fact is, though, that unlike many open source/Free projects, no one is selling support for GSP. Your "big e-commerce company" surely has a lot of bucks to throw at IBM, WebSphere is a great product, and IBM has a lot of smart people working for them who will

    • write comprehensive documentation
    • answer developer questions
    An e-commerce company is losing money even when their site is up :-), so they certainly can't afford to have it go down. Probably paying extra for the assurance that there is a company to beat on in the event of a problem is worth it to your managers. (If someone were selling support for GSP, then you'd have a better case.)

    The documentation issue goes much further beyond "I'd like some javadoc that tells me what the paramaters to foo() mean", too. So much of this industry's labor force is consultants, which unfortunately can (not necessarily does) mean two things: short-term and underqualified. So if you're the GSP guru and you leave, your managers are up a creek to get it fixed by the clod that Skimmer Consulting Agency sends them to replace you. That's double if you've changed the code or made extensions. I am always shocked at the incapacity of many consultants to understand other people's code, no matter how well factored it it. (I'm a consultant myself, so I'm not just bashing here.) On the other hand, Skimmer Consulting Agency can easily send your bosses someone who at least ostensibly knows something about WebSphere pretty easily. Whether or not they admit it to you, that's a consideration, too.


    Good luck!
    ~wog

  9. Re:Nice Straw Man attack... on Fling:Anonymous Protocol Suite · · Score: 1

    Actually, not only can I spot one, but I'm not above using one to make a joke. Apparently the Randroids aren't bright enough to determine that if you frame a clearly over-the-top statement with a jocular quote, it's probably in jest, not "a serious argument" like those espoused in the moronically laughable Virtue of Selfishness and others. Furthermore, it is a ludicrous stretch to see "parentage" of Nietzsche in Rand -- unless you count mis-appropriation and adulteration as "parentage".

    I guess that's what I get for joking about the moronic, sheep-like nature of the Rand Collective -- judging from the whiny, knee-jerk reaction I got, I could probably have drawn less fire for writing something like this.


    ~wog

  10. this is absurd on Fling:Anonymous Protocol Suite · · Score: 1

    Would you trust anyone who thinks that Ayn Rand had a single consistent argument to implement an encryption suite? It's even more ridiculous that this parrot of "self-interest" is making his creation available by open-source (or that it requires widespread adoption to be useful....) Rand is just what happens when you dumb down Nietzsche and add inconsistencies.

    In any case, the "philosophy" link reminded me of Philip Greenspun's hilarious acknowledgements page for Philip and Alex's Guide to Web Publishing, which is available at http://photo.net/wtr/thebook, and which I reproduce in part here:

    In Database Backed Web Sites, I declined to acknowledge anyone in the front of the book. If someone had given me an idea, I thought it was more honest to work their name into the main text. Also, I couldn't resist reprinting my friend Olin's acknowledgments for the Scheme Shell Reference Manual:
    Who should I thank? My so-called "colleagues," who laugh at me behind my back, all the while becoming famous on my work? My worthless graduate students, whose computer skills appear to be limited to downloading bitmaps off of netnews? My parents, who are still waiting for me to quit "fooling around with computers," go to med school, and become a radiologist? My department chairman, a manager who gives one new insight into and sympathy for disgruntled postal workers?
    My God, no one could blame me---no one!---if I went off the edge and just lost it completely one day. I couldn't get through the day as it is without the Prozac and Jack Daniels I keep on the shelf, behind my Tops-20 JSYS manuals. I start getting the shakes real bad around 10am, right before my advisor meetings. A 10 oz. Jack 'n Zac helps me get through the meetings without one of my students winding up with his severed head in a bowling-ball bag. They look at me funny; they think I twitch a lot. I'm not twitching. I'm controlling my impulse to snag my 9mm Sig-Sauer out from my day-pack and make a few strong points about the quality of undergraduate education in Amerika.
    If I thought anyone cared, if I thought anyone would even be reading this, I'd probably make an effort to keep up appearances until the last possible moment. But no one does, and no one will. So I can pretty much say exactly what I think.
    Oh yes, the acknowledgements. I think not. I did it. I did it all, by myself.
    -- Olin Shivers, Cambridge, September 4, 1994
    I was convinced that there would never be a more entertaining acknowledgments page for any technical book. Then I opened Who's Afraid of Java (Steve Heller 1997; Academic Press):
    "Besides those who have directly helped me with this book, I'd like to acknowledge two of the greatest benefactors of mankind in general and myself in particular. The first of these is the greatest writer I know, Ayn Rand. She had the ability to explain complex philosophical concepts in language so simple that anyone could understand them; if I can explain programming half as clearly, I will consider myself a great success. Even more important, she laid the foundation for solving what is possibly the greatest conundrum of philosophy: how to connect what is with what ought to be.
    "Finally, I want to thank L. Ron Hubbard for his discoveries and inventions in the field of the mind and spirit. Even a small fraction of his myriad contributions to knowledge would qualify him for the first rank of friends of mankind; in total, they elevate him without question to the top of the list."
    Seeing Olin so completely upstaged has given me hope that I too can write a memorable acknowledgments page. Here's my attempt...
  11. open-source PDF tools exist on Open Source Complement to PDF? · · Score: 1

    SGML-TOOLS will produce PDF output, as will PDFTeX and friends (PDFLaTeX, etc.) There are many open-source PDF readers and writers (xpdf, ghostview are example readers); you can even configure PHP with PDF output support. (Doing a fm search for PDF turns up a *lot* of hits, too.) It's probably a lot easier to capitalize on existing, widely adopted, open technology than to try and convince a company to open a closed, dormant technology and then to convince everyone to adopt it.

    ~wog

  12. interesting Unicode facts on How Do You Handle Unicode? · · Score: 1
    First off, take a look at Jukka Korpela's excellent tutorial on character code issues.

    It's a little problematic to say that Microsoft supports Unicode -- they have a rather characteristic "embrace and extend" attitude towards character sets. The "windows character set", the reason why early JonKatz articles had question marks instead of quotes, is an extension to ISO Latin 1 which features smart quotes, em- and en-dashes, guillemots, etc., in a reserved section of the set (130-160). This creates a whole host of interoperability problems, as most Microsoft tools think it's OK to save 8-bit strings as text.

    In Microsoft's favor, however, Unicode support in IE is pretty good -- and I think Unicode is probably the best way to display many international characters on the web -- the standard &-entities (i.e. oslash for ø) aren't supported everywhere, but the Unicode entity (#xxxxx, where xxxxx is a decimal number) is gaining more support in HTML 4.0/compliant browsers. However, IE supports the non-standard extensions, and most support for non-Latin glyphs is through codepages...

    In any case, the real solution is to use LaTeX for all typesetting. :-)

    ~wog

  13. Re:look at Philip and Alex's guide on E-Commerce Tools For Students, What's Required? · · Score: 1
    You should look at this article: openacs.org/why-not-mysql.html. Here is a relevant quote:

    The OpenACS team is happy to take a closer look at MySQL as it matures. However, it doesn't seem that the MySQL team understands the concepts and importance of true ACID capabilities: The MySQL Todo mentions "transactions" in a long list that includes questions such as "do sleeping threads take CPU." Furthermore, the MySQL manual claims that MySQL will soon implement "atomic operations" through the use of table locks, but without rollback. This is a blatant misuse of the term "atomic," which implies that either none or all operations will complete. A hardware or power failure in the middle of a set of statements will break the atomicity of the block if there is no rollback capability.

    I'd suggest reading the rest of the article -- it reveals many other caveats and limitations, including the fact that MySQL uses only table-level locking. Basically, it seems like MySQL is a great alternative to using a filesystem to store structured data, but it is not a substitute for a relational database.

    By the way, PostgreSQL has supported transactions for at least the last two years.

    ~wog

  14. look at Philip and Alex's guide on E-Commerce Tools For Students, What's Required? · · Score: 2
    Philip and Alex's guide to Web Publishing is a handy reference for these sorts of things. They even describe how to get e-commerce "working" in a general way, all the way down to credit card processing (i.e. getting a merchant bank account + more) in Chapter 14

    You'll want to use a "real" RDBMS. I'm not trying to flame here, but MySQL is inadequate for storing your customers' data because it doesn't support transactions. If one of your scripts accidentally breaks (due to bad user data), you do not want to bill them or store their order accidentally. Likewise, you want to update "stock/availablility information" atomically. There are probably some parts of your site that you could use MySQL for (i.e. authentication), but since you will need transactions for a critical part of your product anyway, you may as well go with Sybase, Oracle, PostgreSQL or SOLID. The MySQL developers have made it pretty clear that even if they implement something "called" transactions, it will fail the ACID test. (see the links from http://openacs.org for more objective info.) In any case, don't run the db server on the same machine as the WWW server -- remember the example set by CDUniverse.com, who lost many credit card numbers to a cracker.

    If you have any db/php beginners on your team, you might want to show them this article I wrote for the Linux Journal -- it features a (cursory) overview of some of the topics you'll need to teach them.

    Best of luck! ~wog

  15. Re:C What? on Microsoft Releases C# Language Reference · · Score: 1

    It is interesting to note that "Java" is mentioned 0 times in the C# documentation....

    wog

  16. expression of faith! on The Battlefield Earth Contest · · Score: 1
    Just as Star Wars (IV) provided an unexpected outlet for the "religious" "right", Battlefield Earth can provide a movie for aspiring Scientologists to fawn over. (The "religious" "right" loved Star Wars because of the clear cut distinction between good and evil, and the idea that it's ok to kill an abortion doctor^H^H^H^H^H^H^H^H^H^H^H^H^H^HJedi gone bad if he's perpetrating unspeakable ills.)

    As for what Scientological truths are revealed in this movie, well -- I'm not sure. I'm still waiting for them to get my credit report back before they'll tell me. Actually, even if I knew, I couldn't tell you for fear of hard drive seizure. But it's GOTTA be great!


    ~wog

  17. memoize! on Are There Perl Optimization Guides? · · Score: 1
    A lot of times, programs compute values redundantly. This is unnecessary and costly. The solution is to "memoize", or save the results of the computations in a local variable. Accessing a variable is a lot faster than recomputing its value!

    Also, be sure to avoid overloading the garbage collector. I know that a lot of Java (another garbage collected language) programs needlessly allocate String objects by using the concatenation operator. Find out a little more about how Perl's GC works and you'll probably see that your code is working it a bit too hard at least someplace.


    ~wog

  18. Re:Strange bedfellows on House To Hold Hearing On Napster · · Score: 1
    Did anyone in their wildest dreams think that Chuck D(!) would become their political ally?

    Farrakhan, maybe. :)

    Public Enemy has always been strongly political. Take a look at their web site -- it's indicative of perhaps the most honest activism that the "music business" has seen in a long, long time. I'm not at all surprised that Chuck is getting involved.


    ~wog

  19. LaTeX is really what you want on DocBook vs. TEI? · · Score: 1

    I'm currently a college senior, finishing up a triple major in music, philosophy, and CS, and I've written ALL of my college papers in LaTeX. (even music history papers, complete with typeset musical examples.) It is far superior to DocBook, which is, although nice for what it does, a little crocky and has nasty syntax. (You can also write a legal DocBook document which is not legal SGML or XML.) LaTeX gives you far more control.

    LaTeX is easily extensible and the math commands are unparalleled. In addition, you can make PDF files directly with pdflatex, a standard part of the tetex deistibution (which comes with RedHat).

    For example pdflatex output, see here; for example docbook output, see here.


    best,
    wb

  20. Re:Not so, as far as I can see. on Open Sourcing Windows Based Project · · Score: 1

    According to Borland's license (again, of the 1996 era), distribution of compiled Delphi programs is allowed, IF the code bears a copyright notice ("either yours or Borland's") -- it makes no provisions for distributing source. I believe this is because they wished to protect interfaces as well as implementations, but the license also has some ridiculous clauses like "you can't make a product if Borland makes a similar product". Sorry if I was unclear.

  21. Borland license on Open Sourcing Windows Based Project · · Score: 1

    I haven't used Delphi since high school (graduated 1996), but their licence of that era IIRC prevents open sourcing and/or copyleft, because any code will rely on their component library.

  22. 286 on Simple Terminals w/ Small Footprints? · · Score: 1

    If you can find a 286 laptop, that's really all you need. You can run MINIX or SCO/286 (if you can find it) on such a beast and connect over the serial port. (If it's not a concern for you, you can also use MS-DOG based terminal emulation sw.)

    I had such a setup in my dorm my junior year in college. You can probably get a [23]86 for free if you know where to look, but you'll probably have to leave them plugged in all the time because the battery is liable to be dead and irreplacible.




    woggo

  23. Re:Me Too! on Comparing MySQL and Postgresql · · Score: 1
    I've never missed transactions. The one time they would have been nice I was able to catch the exception and delete the incomplete information.

    That's absurd! That is what you use transactions for -- ensuring concurrency and atomicity among updates. MySQL is barely a relational database, and you could do almost as well using serialized hashtable objects in your choice of programming languages. :-)

    I have never really seen any speed problems with postgresql -- I built a web-based groupware and e-mail application for a liberal arts college and based it on postgresql; at any given time, the db has tens of thousands of rows (maintaining user preferences, info about postponed messages, addressbooks, and myriad other things in the email app alone), and performance is comparable to if not better than an Oracle namespace of similar magnitude on the development server at my current job doing db development for a major pharmaceuticals company.

    The moral of the story: if you're backing a web site, your bottleneck is most likely not going to be the DB, unless you're opening the DBMS with every page you serve (i.e. use a connection pool OR ELSE). You're more likely to be network-I/O-bound most of the time, and a "lightning fast" DBMS won't help that at all. However, if you're writing an application that requires that more than one person access/update the data simultaneously, you'll want transactions, or else you can deal with the mangled db.

    Good luck. I'd suggest you read Philip and Alex's Guide to Web Publishing for more info on why this is important. You should also check out Mr. Greenspun's clever ArsDigita Community System -- it does almost everything that a web/db application needs to do, and it caches db connections.

  24. Wow, /. can handle a big comment DB well on GNOME 1.0 Released · · Score: 1

    1015 is hardly "big" by any commercial DBMS standards. But then again, Slashdot is running on MySQL, which is about as useful as storing your data in a hash table.


    wog

  25. GNOME 1.0 on GNOME 1.0 Released · · Score: 1

    Isn't it great when a GNOME or KDE story breaks? We can worry about flaming each other to death instead of the "first post" ludicrosity.