Slashback: Bricks, Consoles, Projects
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 .
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.
Well, I've got a PDF version... 87k vs 273k for the postscript version...
________________________________________
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
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";
--
# Canmephians for a better Linux Kernel
$Stalag99{"URL"}="http://stalag99.net";
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
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'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).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
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.
It's 10 PM. Do you know if you're un-American?
I'm super impressed! Check out the Chibi Daemon and Tux!
This is how Open Source Software is supposed to exist!
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 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
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.
cpeterso
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.
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
---
"The details of my life are quite inconsequential..."
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. Bart Miller is a great professor and researcher; as an aside, you should really check out the Paradyn project (which is sadly slightly less well-known than fuzz outside of the scientific computing communities) and its child, the dyninst API; 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.
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?
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
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?
The NT paper in HTML or PDF
The 1995 "fuzz-revisited" paper in PDF
The original 1990 paper PDF
cheers,
~wog
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!!
The anti-salmon
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.
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, versus the regular NT (DOS) utilities?
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
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"
-CoG
"And with HIS stripes we are healed"
Handel's "Messiah"
werd. frankly I wouldn't rank anything currently available as the "best" way to learn to program.
How we know is more important than what we know.
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?
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?
And the brethren went away edified.
I think there are drastically increased penalties for peddling products that turn children into morons in and around schools.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
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!
GPL Deconstructed
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.
I want to know if the grandfather clock in the background:
i ?s an_0.jpg+lego/images/mononokehttp://www.ericharshb arger.org/cgi-bin/photo.cgi?san_0.jpg+lego/images/ mononoke
http://www.ericharshbarger.org/cgi-bin/photo.cg
Is lego?
-fb Everything not expressly forbidden is now mandatory.
I've got a mirror of the the fuzz paper up at http://esm.sourceforge.net/fuzz-nt.ps and also on Freenet as the key KSK@fuzz-nt.ps 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.
How we know is more important than what we know.
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.
Twice the Pimp and all the Penguin! The Linux Pimp
--It's Pimptastic!--
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.
________________________________________
Napster-to-go says "Fill and refill your compatible MP3 player", which is a lie. It's not MP3. It's WMA with DRM.
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.
Karma only matters to me now and zen.
Princess Mononoke
BSD daemon
-no broken link
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.