Forgot your password?
typodupeerror
Slashback

Slashback: Bricks, Consoles, Projects 104

Posted by timothy
from the blueberry-defeats-apple-film-at-11 dept.
More Lego Sculptures! More game collections going to the highest bidder! More ... P4 benchmarks. Updates below to recent Slashdot stories, and a few tangents not yet here explored. Go crazy!

Ma'am, I'm afraid that Ritalin by itself won't help in this case. Somehow this email from Lego madman (insomniac?) Eric Harshbarger ended up in Hemos's hands, and it's hard to resist. Here he confirms the suspicions of a number of Slashdot readers who looked closely at his previous efforts featured on these pages.

Well, A few weeks ago when I announced my LEGO Mona Lisa, a few folks from Slashdot.org noticed the lower half of a statue ... and some guessed what my next project announcement would be. I've now finally completed a
statue of 'San' from the Japanese Animation film Princess Mononoke.

I wrote quite a lot about this model ... and took many, many pictures, so I hope you enjoy browsing.

I also recently finished a much smaller model of the BSD Daemon mascot.

cheers,

eric

Enough already! crizh writes "Anyone interested in another arguement about the merits of the P4 and whether Tom Pabst is biased against Intel/AMD might want to check out the further update he posted on P4/MPEG4 this morning."

Further submissions in this category must be accompanied by sizeable bribes or at least juicy blackmail. Let's see what people think of the P4 vs. whatever Athon variety is cool in 12 months from now and talk about it again then;)

Sore thumbs, perhaps. An unnamed correspondent points out this enormous videogame auction, venturing as he does so: "Seems to be as big if not bigger than the previous one posted."

I dunno about that, but it sure is a lot of games. Is everyone dumping their consoles to spend the proceeds on exotic vacations, or what?

fuuzy math for a new era Erik Inge Bolsø writes "Earlier this year, slashdot had a scoop about a 1990 and 1995 study called fuzz, which tested the quality of UNIX utilities.

In july this year, a followup study was published, in which they did subject a collection of common apps on Windows NT (and 2000) to the same tests. The results are interesting... Full paper available here."

Brother, can you spare some time? swgill writes "After reading about Microsoft's attempt to reach beginner programmers with free copies of Visual C++ for schools I thought about the main problem that was found: Visual C++ and the related teaching material is all based on the Windows API, and algorithms are treated as secondary as best. I am actually in college in England doing an A-level in Computing where I can see the effects of this educational policy (although we use VB6 instead of VC++6). I have decided to found the libteach project at sourceforge. The idea is to prevent people learning to program in school from being forced to relearn their skills when Micro$oft switches focus again and to also give them an idea of programming for another type of system (RT-Linux anyone?)."

Sounds like a worthy project, albeit for now still in the planning stages. Of course, it's helped by the fact that there are several Open Source OSes chock full of programming languages out there, but not by the lack of decent IDEs available for them.

Update The latest in our Hellmouth Revisited series is now online .

This discussion has been archived. No new comments can be posted.

Slashback: Bricks

Comments Filter:
  • by Brian Stretch (5304) on Tuesday November 28, 2000 @03:43PM (#595126)
    http://www.amdzone.com/flask.cfm

    Athlon-optimized FlaskMPEG on a 1.2GHz DDR Athlon board now outguns Intel's P4 optimized version, with more improvements to come.
  • I couldn't access the URL's in your post, but Eric did make a Grandfather Clock:

    http://www.ericharshbarger.org/lego/clock.html [ericharshbarger.org]

  • by ukyoCE (106879)
    No one is blaming Microsoft for trying to make money.

    We're blaming colleges for being too short-sighted to realize they're binding their students company-specific software.

    At my school just about everyone has a copy of MSVC++6, but the courses still force us to use OS-independent tools, the Amulet GUI for instance. And since all our programs are OS independent, we're allowed to turn in programs done on a Unix machine.

    Teach a man to fish, you've fed him for life. Teach a man to fish by hitting a proprietary button on an MS brand fishing pole, and you've fed Microsoft for life.
  • Any one know where i could get one of those to protect my soul from being stolen by the evil Windows nhimrods and linux wanna-bes at my school?
  • Well, I've got a PDF version [flyingbuttmonkeys.com]... 87k vs 273k for the postscript version...

    ________________________________________
  • I'm taking/repeating a Data Structures in C++ class here at The University of Maryland, College Park [umd.edu]. Last year the professor (who is teaching this year, too) told us that they were moving away from the OSF/1 platform (the "Detective" cluster) and to a Solaris cluster (which is shared with every student). At this time, that cluster (wam.umd.edu) was also accessible by the NT platform over AFS, and on it was... wait for it...

    Microsoft Visual Studio 6.

    BUT there's a good side. The project we had to do had to compile with ol' faithful, gcc 2.95.1.



    --
    WolfSkunks for a better Linux Kernel
    $Stalag99{"URL"}="http://stalag99.keenspace.com";

  • Using M$ products are not evil; nor are M$ products themselves, or their employees. Rather, it is the M$ intention and means that can be questioned.

    The whole issue is that M$ is making you and your peers dependent on the M$ API and toolkit; which means that you just cannot take advantage of the fact that there are, pound for pount, much more *non* M$ devices out there than M$ only. Palm Pilots, for example, and other devices, like cell phones, pagers, watches, cameras, VCRs, TiVos, PS2s, PSXs, Dreamcasts, N64s, GameCubes, GameBoys, Macs, Psions, microwaves, cars, and just about anything else with a couple hundred K of ram and a microprocessor.

    Corporate America may use Windows on the desktop, but their little gadgets, tools, toys, and other such amenities aren't M$ geared, and you need to realize that. By being M$ trained, you are almost surely only capable of M$ goals, until you learn/unlearn and deal with other tools and environments.

    Did you know just how hot and big Java and Linux is, right now? Well, guess what? M$ discontinued their J++ IDE and support, and have no current Linux plans or support. What are you going to do, then, if all the new hot dot-coms are running and using Linux?

    Geek dating! [bunnyhop.com]
  • Is so that these people can then turn around and buy a PS2 off of ebay.
  • by iCEBaLM (34905) <icebalm@i c e b a l m .com> on Tuesday November 28, 2000 @05:58PM (#595134)
    I'm actually a student taking a C++ class in school, and if it weren't for microsoft providing the materials, quite frankly, my school would have no computer department. period.

    Too bad this isn't true. GCC works just fine as a C++ compiler, that's a lot of the cost right there. Now for information what exactly does MS provide? Visual C++ Manuals? Look up crap like that on the net, you can find all kinds of C/C++ tutorials, documentation and information teachers can use.

    -- iCEBaLM
  • After the third recount in the close P4-Athlon race, the Pentium 4 retains a meager 2.4 fps lead in Quake III Arena. Intel is claiming to be the winner, despite cries of unfairness and claims that the Athlon is still faster in Unreal Tournament. When asked to comment, AMD CEO W.J. Sanders III replied, "Die, bitch!"
    An AMD spokesperson said later today that AMD wants a recount of the fps in both games with each frame drawn by hand. Intel co-founder and chairman Andy Grove responded with, "What the fuck??"
  • No...heroin makes money for drug dealers, and MS makes your teeth and hair (figuratively) fall out. So it's exactly the same thing.

    I didn't say MS was going away, and I believe you that it will remain a strong force ("main force" is debatable) for a long time.

    I've been "dealing" with MS since 1980, don't worry about me, I get along just fine. That doesn't mean I have to like it, though, and I manage to avoid their crap more than you'd likely believe.

    But back to the point, you still don't seem to get it -- you're not so much presenting arguments as you are serving up your opinion on a silver platter. You like MS. So? That still doesn't make them a force for good. My "drug dealer" analogy was attempting to show you that your argument rested on empty premises. I still think it shows that.

  • from the fuzz paper:

    "The random valid keyboard and mouse event tests are essentially testing an application as though a monkey were at the keyboard and mouse. Any user could generate this input..."
    --
  • That conclusion is a little misleading, especially in light of the ongoing Tom's Hardware series of articles. While they may be correct in their conclusions, their reasoning is a little shoddy.

    To summarize: what they have done is taken a hand optimized version of flask and compared encoding results against the original, on some bit of material which they chose (and which is NOT the same as the Tom's Hardware .vob that was used for his tests). This difference is expressed as a percentage increase. They then assume that this percentage increase can be applied to Tom's results, and conclude from this number swapping that their version is faster on Athlons than Tom's version is on P4s. This despite the facts that the testbeds are different and the input and output are different. No review site who wanted to continue getting review samples would ever use such shoddy methodology.

    Bottom line: what the whole Tom's situation shows is that testing must be done carefully and methodically, and the way you state your conclusions must be done with even more care. This article, while showing promise for the Athlon relative to the P4, is neither coreful nor methodical, and the reasonable conclusion is "the Athlon version of Flask can be optimized further than the version used in some of the Tom's tests".

    It's also clear that these folks have a <sarcasm>mild</sarcasm> pro-AMD bent. "When will it be finished? Not until the Intel Pentium 4 is completely embarrassed." They also fail to note that the P4 optimized version was done without hand optimization, via setting compile flags on Intel's compiler. There is no doubt room for improvement on that platform as well.
  • by woggo (11781)
    That doesn't seem to be panning out as well under Windows, but who knows, maybe time will tell.

    That's what I meant by my comment. Of course, if you can analyze a core dump, then you can get a pretty good idea of what went wrong, so there's not a lot of difficulty in the UNIX arena. I'll admit that I'm a bit ignorant about developing under Windows, but I was under the impression that there's not a similar facility in the MS world. (Or do you get a stack trace if you install Microsoft VisualMagicWizardDevInterStudio2K.NET with the all-singing, all-dancing debugger?)

    ~wog

  • And how would having the students use the freely-available GCC be any less indoctrination? Instead of trying to force them into using Windows and Microsoft tools you'd be trying to force them into the UNIX mindset (which is often nearly as convoluted and backwards as the Microsoft one).
  • Yeah. For instance, public schools should not be allowed to sell kids minds to *mandatory* telivision programming in class (cough Channel One cough) in return for funding. Exclusive soda a vending machine contracts should probably be ripped out too. Give public schools the funding they need so they don't have to go out and pimp the minds they are trying to educate.
  • On a tangent...

    What's a good Windows-based development language that DOESN'T take 2000 lines of code to pop up "Hello World", and isn't slow as a dog in the process?
  • Microsoft products (unlike heroin) allow people to make money when they are proficient with them. Heroin makes your teeth and hair fall out. Thus, a learning to use a microsoft product has positive reprocussions, using heroin does not

    Before I say it, let me say this first:

    I am not now, nor have I ever been a heroin user.

    That being said, Heroin OBVIOUSLY has some positive repercussions because if it didn't, nobody would be killing themself to use it.
    -The Reverend (I am not a Nazi nor a Troll)
  • You're probably right on what the point of the rant was, but unless the Windows API is some sort of magic English-to-C++ converter, people will get some exposure to algorithms and how to do things, even if they don't know it at the time. People in an introductory course don't want to find out how fast they can multiply n matrices, they want to see a program they wrote run. Ideally, the ones that are into it will try to learn more themselves, and the rest will either give up or spend a few thousand dollars to get a VB certification. Even MS isn't dumb enough (I hope!) to actually try to train a generation of coders with no idea of the fundamentals like running time...
  • Is that bad? What's wrong with using pre-constructed objects and code and only adding a little bit of 'glue' of your own? CIS and CS do mean two different things and they both have their place in the world :)
  • One of my favorite moments is when (4-6 years ago) I was playing around with my sweet little Linux box. Everything was working fine and then I wanted to see the contents of a directory. Innocent enough, no? I typed my little 'ls', I hit enter, and the machine rebooted.
  • I'm super impressed! Check out the Chibi Daemon and Tux!
    [ericharshbarger.org]
    This is how Open Source Software is supposed to exist!
  • I'm sorry, but I don't respect it. The intent isn't education, it's indoctrination. If the rant is correct, the materials aren't teaching about computers--they're teaching the Windows API. Once through that, what will you really know about computers? Not a whole lot...but you'll be quite well trained to be comfortable with and expect the MS way of doing things.

    The First Amendment protects us from certain kinds of indoctrination in school; I wonder whether other kinds are as bad.

  • From what I have seen, it's all about toolkits and class libraries. In the end, you have to choose a User Interface. It can be stdio, or it might be iostream; it could be MFC or Qt, but it's pointless to do any computation if you never present the results to human beings.

    No, there ain't NO such thing as a "platform-neutral" language. But there are many "here's my standard and everyone else should conform to it" languages/libraries.

    All in all, my own personal choice is Qt, despite its less-than-kosher licencing history.

  • I emailed the guy that makes the legos about the Tux and BSD daemons. They go for about $650, which includes bricks and shipping in the US. Expensive, but not THAT bad for a hand built piece of art.

    We're thinking of getting one. :)
  • And, ya know, who the hell actually uses MS products in the real world?

    Of course they're teaching about the windows API - it's in their rational self-interest. Conicidentally, since windows is the dominant operating system in the entire corporate body of America it seems to be in my best interest that I learn it. Besides - would you rather I have NO programming experience at all, or that provided by MS?


    -CoG

    "And with HIS stripes we are healed"
  • by wnissen (59924) on Tuesday November 28, 2000 @03:58PM (#595152)
    And Microsoft also is willing to cheapyly site-license this stuff to colleges and universities that have the money to pay full price. This is not charity. Most colleges are not so strapped for cash that they couldn't pay for MS Office just like a regular corporation. They could afford to go to a Unix based solution like Framemaker, but MS wants itself to be established as the standard computing platform everywhere. So, MS offers site-licenses really cheap in order to indoctrinate the students into thinking that everyone uses MS.

    This is the same policy that Apple uses, so I am not singling MS out as particularly bad. No company does this as charity.

    Walt
  • I'm taking a course in simulations (the only computer science course I've ever had), and we are free to choose any language we want for our code. I've been doing most of my stuff in fortran+gl, but think it would be rather ammusing to turn in code in something unexpected like perl or a completely random language like prolog.

  • Palm Pilots, for example, and other devices, like cell phones, pagers, watches, cameras, VCRs, TiVos, PS2s, PSXs, Dreamcasts, N64s, GameCubes, GameBoys, Macs, Psions, microwaves, cars, and just about anything else with a couple hundred K of ram and a microprocessor.

    Do you think that any of these devices have non-proprietary APIs? If I avoid Win32 APIs and create a Palm Pilot app, can I take advantage of Dreamcast, PS2, or Tivo APIs? Didn't think so.


  • That's ridiculous. It's a good thing to teach people to program, regardless of the slant of the instruction (ok, maybe not if it's BASIC/VB etc), because the foundation can be applied to anything.

    Sure, moving from a total Windows API education to Solaris or Linux might annoy people when they can't find a specific functionality, just as going from Qt to Windows might have the same problem (yes, this is probably a bad analogy, but I've not written any Windows code and thus can't find a better one). Assuming both environments are decent, a programmer will also find things in the environment they didn't have before.

    If I understand correctly, you're saying something like, "is it better to teach people to program, or is it better that they never touch MS product?" and coming down resoundingly for the latter. As much as MS and their products annoy me, I'd rather that more people had the foundations of programming down than to refuse to help anyone who wouldn't swear an oath of loyalty to the GPL. If nothing else, out of the thousands "indoctrinated" by Microsoft, a few will go on to create something useful in another environment. Yeah, MS could win in the short run by opening reeducation camps and forcing everyone older than 5 to learn Visual C++, but note that geeks tend to line up against MS, and what better way to turn someone into a geek than having them track down their segfaults and whatnot?

    I suppose that if the idea is to make it more difficult to for most people to get into programming, this works great, but I think the best idea is to make computers more accessable and help people understand their options.

    Apathy is a powerful force, especially in public high schools and the sort - giving them the nudge they need to start teaching programming, and most importantly the way of looking at things that comes with it, is more important IMHO than trying to censor MS products from those delicate young eyeballs and brains.

  • Nice auction, dog-slow site (/.'d?), and a few small errors in the Atari list -- and no rare 2600 carts beside Up'n'Down -- but swell nonetheless. But will he get 2.5k as he hopes?
  • You misunderstand wnissen. He didn't say it was bad for MS to try to make money. He was actually pretty neutral, and just pointed out something factual, which is that it is not charity on MS part, because it is simply a business strategy that they are using and expect to gain from. He didn't say it was bad for them to do that.

    It's not "charity" when a return on the investment is expected. In that case it's simply an investment.

    There is no moral judgement involved in point out such simple facts. (Unlike my previous replies to you, which were not particularly neutral. :-)

  • by signe (64498) on Tuesday November 28, 2000 @05:09PM (#595158) Homepage
    Anyone else find it interesting that the "high" bid on the first auction was exactly $75k, which happened to also be the reserve, and was placed by the person who was selling the second auction (simpsonseller). And then his bid on the first auction gets cancelled saying that he didn't think anyone had 75k to spend on games (which sounds more like something the seller would say), and then the first auction immediately gets cancelled. And the second auction gets cancelled at the same time.

    Like a lot of people called it, looks like it was fake from the start.

    -Todd

    ---
  • I agree. It sounds like a lot of the whining in this thread is because the posters are upset that their preferred developing environment isn't being used and are ignoring the real issue here.

    Simply moving over to gcc won't improve this class, however, despite what a lot of the posters seem to imply. This seems to be the equivalent of using gcc but teaching the Qt library exclusively. It's still not teaching programming concepts. Heck, even if they were focusing solely on the Standard C libraries, it's the same issue -- a particular package is being taught and not concepts that apply to all programming.

    To teach this class "right" using the tools they have right now, they'd need to make console apps exclusively (even though using VC++ for it is overkill) and start going over linked lists and binary trees. The tools aren't the problem; it's the material itself.


    --

  • For the curious:

    AC's links above go to the following (good) books:

    Algorithms in C++ (Robert Sedgewick -- excellent choice)

    The Art of Computer Programming Vol 1-3 boxed set (Donald Knuth -- irreproachable choice, although much of it requires higher math)

    The C Programming Language (Brian Kernighan -- a famous classic, updated to the ANSI C standard)

    Introduction to Algorithms (Cormen, Leiserson, Rivest -- I don't know this one, but Rivest has a sterling reputation)

    Programming Pearls 2nd Edition (Jon Bentley -- great fun and very educational in a unique way)

  • by stripes (3681)
    That's what I meant by my comment

    Oops. I guess I didn't add a whole lot to the thread there then, did I?

    (Or do you get a stack trace if you install Microsoft VisualMagicWizardDevInterStudio2K.NET with the all-singing, all-dancing debugger?)

    In '90 whatever all-singing all-dancing app the University of Maryland had for the PC (I think it was a Microsoft product) let you trace a program and look at the stack. It had nothing like core files. In the ten years since then it, or a competing product (CodeWarrier?) may have grown it.

    To tie that in with another thread, the UofMD's CS classes were mostly focused on datastructors/algos/proving-trivally-simple-progra ms-correct/vague-concepts/some-language-skill. Most the the classes used Unix, the two intro classes used a truly nasty-unplesent PC baised CF-Pascal, a few other classes (incl assembly) used the IBM 370s. In all a satisfyingly diverse set of boxes. I missed getting to use a ones complment box by a few years, or writing a PDP-11 OS by (about) a year.

    In '97ish I tryed to pick up some Microsoft programming skill by getting the student/amature version of Code Warrier. It didn't do core dumps either. In fact the program under debug could crash the debugger (and OS)! Even if it was Java code! Later I tryed Symentac's java product, and it was just as screwed (but much faster). Then I gave up and went back to Unix.

    You could even do a bit of debugging if there was no source (assembly level commands with synthetic labels, and some OS call decode). It looked unplesent, in part because I find x86 assembly unplesent (after being spoiled on the 680x0 and RISCs).

  • by woggo (11781) on Tuesday November 28, 2000 @05:20PM (#595162) Journal
    The 1995 version of the paper was never actually published. Nevertheless, it's one of the most popular papers ever published at UW/Madison.

    The SWEng community who were refereeing it wanted to see more stuff about testing methodology, whereas the fuzz tests are incredibly simpleminded in their approach and don't fit in to any of the accepted "testing paradigms". That's not to the tests' discredit at all, though, as what they exposed (the incredible fragility of many common C programs) is absolutely amazing.

    I went to a talk that Prof. Miller gave on fuzz about a month ago, discussing the 2000 NT results. I'd personally be really interested to see where the blame for this lack of robustness lies: the applications, the MFC, or the Win32 API. Unfortunately, there's really no way to do that with such simple testing tools.

    You can see Prof. Miller's fuzz page here [wisc.edu]. Bart Miller is a great professor and researcher; as an aside, you should really check out the Paradyn project [wisc.edu] (which is sadly slightly less well-known than fuzz outside of the scientific computing communities) and its child, the dyninst API [dyninst.org]; the purpose of these projects is to allow alteration and instrumentation of stock binaries.


    ~wog
    My opinions are my own and not those of the research group or the university that I am affiliated with.

  • by pb (1020)
    Wow. I pretty much rely on everything being two's-complement these days, I guess I'm spoiled by only having one zero in my number system...

    I wish x86 had adopted auto-increment mode from the PDP; it would have made implementing C a lot cleaner. (C is portable, but it's biased too :)

    Nowadays, we've got x86 assembly, C++, and Java. I'm actually very happy that I managed to find the courses that still really teach C...
    ---
    pb Reply or e-mail; don't vaguely moderate [ncsu.edu].
  • I like the comment on this page [ericharshbarger.org] about losing legos. Reminds me of those stories about the workers who, while building the Hoover dam, fell into the concrete.

    The interesting thing is the height (5ft. 1.125in) is pretty much what I would expect actual size to be. And after all that, wouldn't it suck if someone tripped in his workshop. "Oops, I didn't knock over anything important, did I?"
  • In my CS classes (not too long ago) we used the MS VC++ compiler, but not to do API programming. The advantage of the Microsoft compiler is that the debugging tools are very powerfull, at least in comparison to doing it by hand (change the state of a variable, print the variable to standard error, compile, run, repeat). Out of a dozen mini-projects, only one or two actually used any of the forms, buttons or other flashy stuff. More interestingly, the professor graded the programs for functionality by making you run the programs through an interface he had running on (Penguin fetishers rejoice) a Linux system. So we still had to learn about makefiles and such. I worry more about in other majors *cough*CIS*coagh who learn to program by draggin objects onto form and tacking a little code to the back. They far outnumbered my CS brethren and will go out into the world with C++ on their resume. Is that good?
  • by Tom7 (102298) on Tuesday November 28, 2000 @09:16PM (#595166) Homepage Journal
    My school uses gcc. It's free.
  • Yeah, I thought I was pretty neutral too. I'm actually a laissez-faire capitalist, and was simply stating what you managed to say more eloquently: It's not charity, it's a business practice. My sole problem with the business practice is that people look at it and think it's charity when it's really something else. For someone who calls himself Christ-O-Geek, you'd think he would be familiar with 1 Corinthians 13 verse 3. "though I bestow all my goods to feed the poor, and though I give my body to be burned, and have not charity, it profiteth me nothing" (Taken from http://www.htmlbible.com/kjv30/B46C013.htm). In other words, for a Christian there is clearly a big difference between giving something away to someone else and doing it for charity. I'm an staunch atheist, but I have to agree with the Bible here, there's a big difference.

    An example of something that I actually have a severe beef about is the way companies advertise to little kids. Four-year-olds don't have the capacity to know when someone is lying to them, and companies take advantage of that by bombarding them with ads. "You will have more friends if you buy this toy!" Yeah, right! That's fraud, especially since you're feeding this to people who are unable to tell the difference without a lot of help. I find that practice much more objectionable than the relatively harmless attempt to convince students that Company X's software is the one true computing platform.

    Walt
  • give us some real info and stop the cutesy stuff
  • We're blaming colleges for being too short-sighted to realize they're binding their students company-specific software.

    Binding? How? You've just said that courses requiring work that can be OS-independent don't rule out the use of any particular company's tools. A free copy of Visual C++ just enables a choice - you can choose this tool, or you can install Linux and use make/vi/emacs/gdb for the same price.

    It doesn't matter what tool you use, you're doing the same thing. What if Honda gave away a Civic to college students, then stopped providing that free car once they graduated? Would that be evil? Would that be unfair to Buick? Or Trek?

    Try to see past the unfortunately all-too-common Microsoft==evil attitude on Slashdot. Sometimes they are! Not this time. If Microsoft want to give away the best IDE around, great. One possible effect of this is that people will cease to be satisfied by inefficient tools like command-line gdb and write better ones. There IS a sad lack of good IDEs for free operating systems. This IS a problem faced by engineers who might think about porting code from Windows, even if they have only used vanilla C/C++.

    Don't blame colleges for accepting free stuff that is useful in providing education. I don't see any need to blame anyone, but if you do, blame people who make money out of free operating systems for not having the foresight to compete directly with Microsoft in education.

    (And I'm sure there are lots of gdb gods out there, who find command-line gdb much faster than the MSVC integrated debugger. But if so, you are way different from all those students wondering what "stack trace" means. For a programmer new to a platform, a great IDE is an excellent aid.)
  • I once ran out of bricks for a car. It's still up on blocks in my toybox. Does the lack of an expenditure qualify me as sane?
  • by woggo (11781)
    These are all available in PDF, Postscript (compress(1)'ed or gzip'ed), and (in the NT case) HTML from Bart Miller's fuzz site [wisc.edu].

    The NT paper in HTML [wisc.edu] or PDF [wisc.edu]

    The 1995 "fuzz-revisited" paper in PDF [wisc.edu]

    The original 1990 paper PDF [wisc.edu]


    cheers,
    ~wog

  • by fjordboy (169716) on Tuesday November 28, 2000 @03:11PM (#595172) Homepage
    Great..just what I need. I was cruising the site, and my little brother was looking over my shoulder...he saw the legos...and since he is already very into legos, he is going to start doing things like this! Thanks a lot slashdot! Now I have to put up with my little brother making weird time consuming/wasting lego creations and then he will ask me to make a webpage for it!!! I think i need a little more net privacy for reading slashdot!!

  • You know, I don't know that I think this was all too fair; your application should guard against random user input, but needs to trust high level events sent from the OS.

    Sending the application malformed event structures and snickering when it crashes seems just a shade less strawmannish than yanking out the power cord and acting suprised when everying dies.

    I'd be much more interested in a report focussing on random but legal events.
  • by pb (1020)
    I'd like to see more Fuzz results. Maybe I'm just a benchmark nut, but I'd like to see some more real benchmarks. I always liked the BYTEMarks over whatever Intel was pushing this week, too...

    Maybe if they used Fuzz to test the Cygwin utilities [cygwin.com], versus the regular NT (DOS) utilities?
    ---
    pb Reply or e-mail; don't vaguely moderate [ncsu.edu].
  • by Christ-0-Geek (246330) on Tuesday November 28, 2000 @03:12PM (#595175)
    I'm actually a student taking a C++ class in school, and if it weren't for microsoft providing the materials, quite frankly, my school would have no computer department. period. The teachers simply lack the funds and initiative to create a computer department unaided. Trying to villianize MS for being charitable is completely rediculous. It's as though you ran out of bad things they've done, and attempt to twist their virtuous acts into something that sounds as though it promotes your whole irrational anti-microsoft stance.

    Microsoft will probably never become free for everyone or open sourced, but just deal with it. However, when they do provide charity (for FREE) to schools so as to aid in education, you had better respect that.


    -CoG

    "And with HIS stripes we are healed"
  • >What's a good Windows-based development language that DOESN'T take 2000 lines
    >of code to pop up "Hello World", and isn't slow as a dog in the process?

    At the risk of responding to a troll, how about Perl with the Tk module to provide GUI? It is certainly fast to develop, runs fast enough for most things (unless you are looking to use it for real-time games or something), and is very powerful. Below is a sample Hello World:

    #!/usr/local/bin/perl -w
    use Tk;
    my $mw = MainWindow->new;
    $mw->title( "Hello World" );
    $mw->Label( -text => "Hello World", -foreground => "blue" )->pack;
    $mw->Button( -text => "Done", -command => sub {exit } )->pack;
    MainLoop;

    Of course, if you don't need a GUI and can just use the command line, then this simplifies to just:

    #!/usr/local/bin/perl -w
    print "Hello World\n";

    I use perl with the Tk module quite a bit. It's powerful, easy to use, and don't forget fun. Of course it helps that I love perl! And it works very well on the Win95/98/NT platforms.
  • Sounds like a great idea, as long as it's done right. I'm a student who's just beginning to learn C, and after an exhaustive search, I've come to the conclusion that good, free programming courses (in non-proprietary languages) are very rare indeed. If this project turns out to be what it promises, I'm really looking forward to seeing it. If it's another course in proprietary algorithms and libraries, it would be merely one project among many.
  • by retep (108840)

    No reputation again? Me thinks someone saw the high bids on the previous auction, $70,000 when it ended, and decided to try the game themselves. Two words: Be suspicious.

  • In 1990, a gnat's fart from 50 metres could crash a UNIX box. But at least they could stay up for more than one week, which is far beyond all capabilities of the GUI enhanced MS-DOS (called Windows) at the time.

    So all the claims about 30 years worth of development making for a stable OS are essentially bullshit? They developed it for 20 years and applications were still crashing it? In that case, Microsoft have done better than that in five years.
  • From what I have seen, it's all about toolkits and class libraries. In the end, you have to choose a User Interface. It can be stdio, or it might be iostream; it could be MFC or Qt, but it's pointless to do any computation if you never present the results to human beings

    It's called an include file. And conditional compilation using standard define variables. It's easy, you just have to admit there's not just one way to present things to people and the whole world doesn't do the same thing as you.

  • This raises a good point. When I took a C++ course at NSCC, it was platform-neutral. Yes, even in Seattle.

    While most of us may see C# as an attempt to make a platform-dependent C++/Java hybrid, perhaps the problem really is that MSFT is only offering MSFT-centric courses. If they were to take off their marketing-myopic eyeglasses, they might see that helping some course writers to develop non-MSFT-centric courses in C# would actually encourage development with the language.

    Oh, wait, forgot about Bill G's ego.

    Never mind ...

  • with a feedback rating of zero and something starting at $1000 i don't think i'd be taking my chances on it
  • A link to a petition for a Linux client on shadowbane.

    So here it is....

    http://sb.xrgaming.net/index.php3?script=linux_p et ition

    Remember this is a MMORPG game. Only vote if you really intend to purchase the full game, however I do know a lot of people who only use there Windows for playing games (me included) and would like to support the development of games on Linux.

    Startux
  • Your pro-MS argument could be applied to drug dealers: they give out free samples, so who are you to criticize them? If they didn't give it anyway, schoolkids wouldn't have any heroin at all!

    Same goes with your argument that it's in their rational self-interest, and that MS is widely used in the real world. So is heroin. So, does that make them both good?

    Yes indeed, I would in fact prefer people to not get programming experience in school, rather than for them to be indoctrinated by Microsoft via free samples to get them hooked.

    You can always teach yourself to program, but undoing indoctrination is hard.

    "Everyone has a right to their own opinion, but not to their own facts". I would guess you're not completely up on the MS facts; very few who are, are highly pro-MS. At most they tend to regard MS as a necessary evil with a few mixed blessings.

    (Naturally that's not to say that everyone who's up on the facts of MS automatically hates MS with a passion, either.)

  • werd. frankly I wouldn't rank anything currently available as the "best" way to learn to program.
  • I don't have a postscript printer, nor do I want to go searching for, download, and install Ghostview. I don't have any PS-to-HTML utilities either.

    Does anybody know of an HTML mirror of this paper?
  • You apparently missed the point of my last post. Microsoft products (unlike heroin) allow people to make money when they are proficient with them. Heroin makes your teeth and hair fall out. Thus, a learning to use a microsoft product has positive reprocussions, using heroin does not. Based on those points and the conclusion, I must say that your comparison is misguided and incorrect.

    Microsoft, as much as you may want it to, isn't going anywhere, and it will still be the main force in corporate America. That's a fact that you're going to have learn to deal with.


    -CoG

    "And with HIS stripes we are healed"
  • That's ridiculous. It's a good thing to teach people to program, regardless of the slant of the instruction (ok, maybe not if it's BASIC/VB etc), because the foundation can be applied to anything.

    I think it was exactly the point of the rant that programming was not really being taught. The Windows API was being taught. Without algorithms, without being required to approach a more general class of problems, where's the programming? Where's the foundation?

  • When will you geaks get it in to your heads that THE PLURAL OF LEGO IS LEGO!

    Think about it.
  • I think there are drastically increased penalties for peddling products that turn children into morons in and around schools.

  • I thought the original point/argument was that teaching Visual C++ taught more on APIs than algorithms; IE, APIs at the expense of algorithms...

    Geek dating! [bunnyhop.com]
  • by stripes (3681)
    I'd personally be really interested to see where the blame for this lack of robustness lies: the applications, the MFC, or the Win32 API. Unfortunately, there's really no way to do that with such simple testing tools.

    Sure there is. Fuzz generates the crash, looking at a stack dump and the source shows you the reason. That worked great for the Unix paper where many of the utilities were open source, and even (some of) the closed source authors agreed to allow the papers' authors to have a look.

    That doesn't seem to be panning out as well under Windows, but who knows, maybe time will tell.

    As far as the send/post message stuff goes, I think it is hard to blame the windows programs from getting a message with a pointer, and dereferenceing it. It is an inelegent API when only the OS can send events, a destabalisingone if only "trusted" programs can do it, and downright stupid if any program can do it.

    Few Unix OS calls return pointers. sbrk, mmap, and kevent are the only ones I can think of. I expect when they are called the pointers are checked to see if they are one of the documented error values (normally NULL, sometimes -1 cast to a pointer). I try to make sure my programs do, and think of it as a failure if I forget. I don't expect programs to check to see if they got other "bad return" values, it is rather hard to do so (you can see if it is odd -- which isn't portable -- you can install a SEGV handler and probe the range). I don't do it, and many of my programs have stood the test of time in a hostle production enviroment (of corse I take a more aggressave stance about checking network packets...). I don't find it supprising that Windows programmers don't do much pointer validity checking either.

    To sum up, 100% of Windows sucks, but only 45% of the Windows applications suck. :-)

  • Why do you think that using linked lists and binary trees can only be done in console applications? In my CS classes I wrote some pretty sophisticated algorithms that nonetheless had polished UIs. The two aren't mututally exclusive; they are complementary. It is fun to write a nice UI for a nice program (if you have a nice API :).
  • I'm sorry, you confused me now.

    fishbowl in his post used Lego as the plural form of lego.

    sunryder in his reply didn't even use the word lego (or any variants).

    We all know the plural, we just don't care, and I find it amusing when you complain telling people to use the correct term when they did anyway

    ~Cederic
    ps: credibility of grammar nazis drops dramatically when they spell badly themselves - "geaks"?
  • Interesting that the Open Source apps performed as poorly as the closed source apps. Guess the engineering discipline in open source (and the many eyes, many bugs fixed) is just as sloppy as closed source. Of course, most sensible people knew this already. Free clue open source folks - you're not smarter than everyone else, you're just as smart as everyone else.
  • Occasionally, during our UNIX study, tests resulted in OS crashes. During this Windows NT study, the operating system remained solid and did not crash as the result of testing

    I thought an application error couldn't crash a Unix box?
  • That's not what I meant. The reason you typically use console apps when learning these things is because you're focusing on the that particular thing. If you throw in a nice GUI behind it, that adds more complexity and detracts from the idea behind the project or assignment.

    I still think that, at a beginning level, the theory should be focused on, but that doesn't mean that UI and GUI stuff should be ignored. It just means that they shouldn't be the focus, at least not for that class. It's just not something that should be focused on in the intro programming classes.


    --

  • Python with tkinter comes out pretty terse too:

    from Tkinter import Label, mainloop Label(text='Hello World\n').pack() mainloop()

    This throws up a little platform-native window with a text label. I left out the exit button because there's already the close box. I'm sure that a highly-motivated Perl programmer could come up with something just as tight. After all, both Perl and Python are just hooking into Tk.

    I don't want to get into Perl/Python holy wars: both are wonderful in their own ways, and each has its own irritating idiosyncrasies. Either Perl or Py are far more useful, and can be made more platform-independent, than the Microsoft languages. I would guess that the same is true of tcl, but I don't use that language. I get the feeling that Microsoft doesn't want to make it too easy to write code on their platforms, so VB and VC++ are constrained in arbitrary and irritating ways.
  • I dunno about that, but it sure is a lot of games. Is everyone dumping their consoles to spend the proceeds on exotic vacations, or what?

    I find it pretty obvious that they're trying to get the money to afford a Playstation 2 from one of those types in the black trenchcoats.

  • From the Tom's article:

    Quite a few people complained to me why I was running Pentium 4 at 100 MHz bus clock, although the right bus clock of Pentium 4 would be 400 MHz. This is of course WRONG! Pentium 4's bus clock is 100 MHz! Add Intel's marketing machine to that and suddenly it becomes 400 MHz, because Intel considers the people out there as too dumb to understand that the bus is indeed 100 MHz, but quad-pumped, which enables it to transfer four times as much data per clock than what previous Intel processors were able to do.

    Well, marketing silliness or not, it's all AMD's fault. They're the ones who called the Athlon a 200MHz FSB CPU, when in fact, the dual pipeline equated to 2 x 100MHz. It's no different with the P4: 4 x 100MHz. Though, given a DDR chipset selection for both, I'd pick the P4 over the "baffle-on" anyday.

  • Nope, not a troll, I just know that Slashdot readers would probably have good input on this topic.

    I looked into Windows-based Tk stuff a while back (I played with a Tk-based Windows I-Ching), but I guess it's simpler than I remembered.

    I love Perl myself; I've written a lot of short scripts, nothing overly ambitious. I'll go back and take another look at Tk and (Perl|Python|other). Thanks for the tip!

    I played around with Delphi a couple years ago when I got a uh.. demo copy, yeah, that's it. I have this unreasonable fear of big IDE's... probably because my first programming experiences were command-line BASIC on Apple //s and Commodore 64's. Plus the fact that I hate to read a manual on how to use an interface; a language, yes, but I should be able to sit down at any C IDE and be able to compile a simple "Hello, world!" program, knowing the C language. Am I right? Who's with me on that?
  • From the second page of the fuzz paper:

    We noted (as a result of our completely random input testing) that
    any application running on Windows platforms is vulnerable to random input streams generated by any other application running on the same system. This appears to be a flaw in the Win32 message interface.

    I will preface further comments by noting that I am a second-year college student, studying CS...I do not have extensive programming experience with either X or Windows, though I am pretty decent with basic console stuff.

    1. I thought NT/2000 was supposed to protect applications from each other? I've definitely noticed a difference between the behavior of my C++ proggies on my 2000 box versus on other people's 9x boxen when my pointer logic isn't quite right (or isn't anywhere close to right, for that matter)--I have yet to bring down the whole system, whereas they do on a regular basis. *knocks on wood* So does this mean that if my programs were using the API to generate random Win32 messages, I could bring down anything I wanted to?

    2. If this is the case, why is NT/2000 so much mroe stable than 9x? Is it just the memory protection?

  • Your post is the real troll here, but I'll defend myself briefly, and let it go.

    I was wrong about the recompilation just being done with the optimizing compiler. But the Intel guy who passed on the binary to Tom writes, "The engineer would have been able to squeeze some more speed with assembler, but we rather wanted to make a point that 'SSE2 is easy to implement"', especially compared to the author's comment on how he had to suffer to implement the MMX version."

    Of course the Intel employees have a pro-Intel bent. But they are engineers, and they aren't making the claims that their initial numbers prove that the P4 is 682% faster than Tom thought, or whatever. They gave some numbers from their own tests showing improvement, and then they gave the binary to Tom so he could properly test it.

    Props to anyone for taking the time to make things work better on whatever platform. Shame on them for roleplaying marketing people at the same time.
  • I am sure the plural of lego is lego... but best not start that one again ;-)

  • "TheLinuxPimp.org" uses *SHOCKWAVE*? The only way you can view that in Linux without crashing netscape is under VMWare... :-)


    ~wog
    PS- only kidding
  • I want to know if the grandfather clock in the background:

    http://www.ericharshbarger.org/cgi-bin/photo.cgi ?s an_0.jpg+lego/images/mononokehttp://www.ericharshb arger.org/cgi-bin/photo.cgi?san_0.jpg+lego/images/ mononoke

    Is lego?
  • I've got a mirror of the the fuzz paper up at http://esm.sourceforge.net/fuzz-nt.ps [sourceforge.net] and also on Freenet [sourceforge.net] as the key KSK@fuzz-nt.ps [yi.org] You can download the key by directly clicking on the link (it will go through my freenet gateway) or by using your own freenet code.

  • heh.. I learnt to code C on Watcom C/C++ and I learnt to code C++ with gcc. When I finally got ahold of Visual C++ I already knew C and C++ and a lot of the windoze API, but I did have the joy of learning about COM and I "learnt" VB at the same time.
  • by skt (248449) on Tuesday November 28, 2000 @03:24PM (#595209)
    Not all classes that teach C++, using the free M$ VC++ compiler, focus on the Windows API. I know someone who is taking a class now and the class focuses on objects and algorithms. The Windows API isn't even mentioned in the class, the only programs they are writing are console win32 apps.

    Of course, the GNU compiler + a text editor + gdb is the best way to learn how to program. Many colleges use it as a teaching tool, so it's good to learn how to use it early so you don't run into it later on, after using the VC++ compiler for a while. The nice thing about this compiler is that it forces you to learn about makefiles, object files, etc. These types of things are hidden from the programmer in a simple VC++ environment.
  • I used to be really good at fuzzy math...I'd spend all night drinking Guinness [guinness.com] and still make it to my Advanced Numerical Analysis class in the mornings.

    Twice the Pimp and all the Penguin! The Linux Pimp [thelinuxpimp.com]

  • that depends, how well does it run?
  • Yeah, well, neither would I :) But that's how I learned C/C++. I was quite ninja in QB4.5 (God, I miss that..) but C/C++ blew my mind until I started mudding :)
  • Sweet Jeebus! You mean that Microsoft is trying to make money! What an evil, despicable, corporation! For shame!
    Sorry. Not everyone is socialist. Deal with it.

    As for your comment "Microsoft also is willing to cheapyly site-license this stuff to colleges and universities that have the money to pay full price. This is not charity.", I don't know what you've been smoking, but I think you need to look up the definition of "charity" again. If I give a family a turkey for thanksgiving, even if they could afford it, I'm still being charitable towards them. Thus my action is considered "charity".


    -CoG

    "And with HIS stripes we are healed"
  • You bring an interesting point here, Microsoft does provide support for schols with low resources and that is a very nice thing.

    If your school doesn't have that kind of support, there are a number of free compilers that you can use:
    For DOS: http://www.delorie.com/djgpp/
    Good old GCC: http://gcc.gnu.org/
    Borland compiler(very nice one): http://www.borland.com/bcppbuilder/freecompiler/

    Once you start using the more advanced features of C++(like member templates), you may find that VC++ has a great GUI but the compiler needs some improvement.

    Here is a great free book for learning C++:
    http://www.bruceeckel.com/ThinkingInCPP2e.html

    There are resources on the Internet for learning almost any thing you can think of, it's just a matter of looking in the right places. I learned C++ on my own a couple of years ago when my highschool was still teaching plain ol' C. Interest and curiosity are the key.

    have fun!
  • So how much does it cost Microsoft to copy some CD's and manuals? $1 per CD, $5 per manual? I'm sure they're not giving you tech support or access to the full Microsoft Developer Network.

    So what you're getting for free would cost money if you had to buy it, but you're not getting everything that you would if you paid the money.

    Also, you're getting less than what you would if you used free, open-source tools like GCC for Windows (Cygwin) and XEmacs for Windows. And why even use windows?

    I assume that Microsoft is only providing you with "free" software, and not free hardware as well.

  • The problem isn't the use of MS tools, it's the teaching of the Windows API rather than algorithms that bothers people, including me. Buy that poor school some Knuth books and they'd be better off.

    ________________________________________
  • by kyz (225372)
    Interesting that the Open Source apps performed as poorly as the closed source apps. Guess the engineering discipline in open source (and the many eyes, many bugs fixed) is just as sloppy as closed source.

    You're either a troll or an idiot. The Windows apps had a 100% failure rate. The closed-source UNIX utilities had a 40% failure rate. The "open-source" GNU utilities had a 9% failure rate. Duh.
  • I thought an application error couldn't crash a Unix box?

    In 1990, a gnat's fart from 50 metres could crash a UNIX box. But at least they could stay up for more than one week, which is far beyond all capabilities of the GUI enhanced MS-DOS (called Windows) at the time.

    There was actually a fun program around which wrote random data into a buffer and then longjmp()ed into it, to execute random data as code. It also hooked into all the exception handlers so that when an exception was trapped, it immediately executed even more random code. It was very good for sorting flaky UNIXen from bad ones. I seem to remember that IRIX performed terribly on this test.
  • Most people, I have read, talk about Lego and say "Legos" instead of lego blocks. The company `Lego` say that the plural of Lego Blocks is still, however, `Lego` - but that's probably more for trademark reasons (most countries disallow you registering the plural form of your product too).

    ps. King of the Fjords? Pah...

  • Anyone who cannot create a working, properly laid out GUI without using a Visual IDE shoudln't be able to class themselves as any type of coder at all. When it comes to getting a job in the market place, and they run into a shop that doesn't use Visual Foo#++ (Embeded application development, languages that just don't have a Visual IDE GUI designer etc etc) they're going to find it mighty hard to get anything done.

    Of course i may be biased as I orginally wrote my first ever GUI application in Blitz Basic on an Amiga, and that sure as hell didn't have a Visual Layout tool ;)
  • by stripes (3681)
    Wow. I pretty much rely on everything being two's-complement these days, I guess I'm spoiled by only having one zero in my number system...

    IEEE Floating Point has a negitave and positave zero.

    I wish x86 had adopted auto-increment mode from the PDP; it would have made implementing C a lot cleaner. (C is portable, but it's biased too :)

    Is that "fetch and incr address", or "incr address then fetch"? Incr first has it's downsides (mainly it is in a critical path). Not that many RISC's don't have it, or almost as complex immediate displacment (which doesn't need a register writeback port).

    Nowadays, we've got x86 assembly, C++, and Java. I'm actually very happy that I managed to find the courses that still really teach C...

    It's good to learn a (conventional) assembly, and stright C. It gives a much better feel for way you get low level memory smashing bugs, and how they manifest. It is also nice to learn higher level languages (Java/C++), in part because they are more likely to be what you'll see on the job, and in part because they let you do bigger class projects, and in part because it lets you see language design gone not-quite-really-bad.

  • When I started to learn Pascal during my first year of Uni, we were made to use ex to teach us how to use a line editor and had points docked if we were caught using something like vi. Now maybe this is a bit extreme, but I think the reason the UK has more programming talent than any other country (currently) in Europe can be summed up in two words: Acorn Computers.

    The standard computer in the UK used to be called the BBC Model B, and this was followed by the Acorn Archimedes. These computers differed from the standard PC in two major ways. First is that the OS was always in ROM and was indestructable. This allowed (nay encouraged) you to experiment on the computer without any fear. You knew no matter how far you pushed things, what dangerous things you tried, reset was only one button away.

    The second thing is one keypress drops you into Basic, which is also built into ROM. This ran interpreted, so no compiling and you could debug as you go along. Simple and flexible, you could also write windows applications in it with easy (which ran like greased lightening despite being interpreted).

    When you get to college, learning a more formal methodology and language may be appropriate. At least you go into it with an eager exploratory attitude. You know to learn things by trying rather than just copying out of books.

    Unfortunately even in the UK we now use standard PCs. Instead of producing another generation of IT professionals we will have just a generation of secretaries, and we will quickly lose our place in Europe. All the less competition for me!

    Phillip.
  • by laslo2 (51210)
    Visual C++ and the related teaching material is all based on the Windows API, and algorithms are treated as secondary as best.

    I know someone that makes a living as a carpenter. He relies on his tools, since without them he cannot do his work. Some things make his work easier, such as power tools. If I were to take his tools, and try to build something, the result would be inferior to whatever he would build. He doesn't think about how to use a hammer, he thinks about making sure the wall is going to stay upright. The point: the Windows API is a tool, just the same as libraries are a tool, and Visual C++ is a tool. But unless you know what to do with those tools, and why you use a certain size nail instead of another size nail to put together a wall, you don't have much. A Craftsman hammer will not help you get the wall straight (although it will help drive the nails). The algorithms are more important than the API, the language, and the platform. Whatever ultimately replaces the Windows API will still be built on Knuth.
  • I haven't used it, but it looks vaguely like Visual C++, it's free, and it's mainly a text editor and a GUI for the GNU compilers, debuggers, and utilities, so one can use it and then look at the files it creates more closely to see how the individual components work, one step at a time. KDevelop is here. [kdevelop.org]

"Who cares if it doesn't do anything? It was made with our new Triple-Iso-Bifurcated-Krypton-Gate-MOS process ..."

Working...