Domain: mkp.com
Stories and comments across the archive that link to mkp.com.
Comments · 12
-
Re:real progress
On the producer/consumer gap, companies like Amazon aren't as useless as you make them out to be. What Amazon is is an aggregator. Amazon buys in bulk from the authors/publishers. That lets the author deal with one buyer rather than having to maintain a full-blown e-commerce site for the relatively low volume of books that any one author sells. Then Amazon turns around and runs a full-blown e-commerce site for all the authors/publishers they stock, which lets them spread the fixed costs out over a much larger volume than any one author/publisher could manage.
They provide another value: they allow me to browse titles from many different publishers - and compare and contrast them, and review comments on them - at one central, easily searchable location. Eg, I got to Amazon.com and search for 'Java' and get a big list of java books, as opposed to going to www.awprofessional.com, www.samspublishing.com, www.mkp.com, www.wiley.com, etc., etc. and doing many different searches, etc.
I don't mind buying direct from the publisher, but in practice I rarely do, for that exact reason. Often I don't know - ahead of time - *who* publishes the book I'm looking for, because I often don't even know the title of the book I'm looking for. -
Re:Isn't this called UDP?FYI, a great website for understanding how TCP congestion control works is here. It explains how TCP additively increases its window size as traffic goes through okay but then halves its window size when it runs into a problem.
And I should clarify my first post as well by explaining what a "transmission error" is that would cause the window size to halve. From the article above:It is rare that a packet is dropped because of an error during transmission. Therefore, TCP interprets timeouts as a sign of congestion, and reduces the rate at which it is transmitting.
Basically, what I mean by a "transmission error" is a timeout -- the sender sends a packet and never gets an ACK for it. TCP works on the premise that packets are mainly dropped when congestion is high enough for routers to drop packets because of maxed buffers. Thus it makes sense to reduce transmission rate when no ACK is received to adjust to the capacity of the network. -
There is no one bookGame engines consist of a whole bunch of components including but not limited to:
graphics
ai
networking
database
physics
IO
So you're question is much to general. But to answer your question anyway. Get books by Dave Eberly . 3D Game Engine Design is quite good, even though it is kinda slanted towards the scene graph methodology of feeding the graphics card. Geometric Tools for Computer Graphics is a great mathematical reference book, but I'm kinda biased since I was a tech editor for the book. Game Physics is supposed to be quite good, but I haven't read it.
In terms of graphics get the OpenGL redbook and bluebook. Realtime Rendering is quite good. And everybody who is anybody in computer graphics has Computer Graphics: Principle & Practices. The Game Programming Gems series is quite good too.
Other than that, the best way to learn to code is to read through code. id has GPL'd a bunch of their old engines. And the Torque engine is available for about $100.
That should keep you busy for a while.
-
IT is about information, not technology
Lucky you. Some poor recommendations so far IMHO, with the honourable exception of SICP.
The key thing is to keep a sense of proportion - anyone referring to UML or the GoF design patterns book has failed to understand what the fundamentals of IT are, and is certainly overestimating the relevance of their own preferred language or paradigm.
Scheme/LISP, logic and some database theory is a good way to approach the fundamentals, as it was 15 years ago when I went through it. They won't thank you to begin with, but its what college is for! I'm not totally sold on SICP, students might think it's a bit pedantic, you might like to look at How to Design Programs as an alternative. I don't have a good reference for database and logic texts - I use Joe Celko's Data and Databases book, but this isn't suitable as an introduction. -
I'm only asking because I want to know
Ah, but again your ignorance irritates me.
You must have a h*ck of a time around children. I admit that I lack knowledge in this field, and that's why I'm asking somebody who knows it better than I do.
MIPS is a 64-bit RISC architecture
The MIPS architecture taught in a popular computer architecture textbook is still 32-bit.
64-bit architectures have been all around us for over a decade
But what concrete advantages do architectures with 64-bit integer registers provide over non-x86 architectures with 32-bit integer registers, apart from the fields I already mentioned (multigigabyte databases and finance)?
-
This is news??
As a practicing AI researcher, I'm as puzzled as some of the other posters about what the news is here. Any decent introductory textbook on AI written in the last few years (I'm currently teaching from the new Nilsson text) has a chapter on GAs and GP. They have much promise, but other standard AI techniques work much better on almost all practical problems.
Let's try to keep the "news", and not just the "for nerds," folks...
-
Re: Tools verus techniquesMany (nearly all) people new to programmer get distracted or become obsessed with "which language/tool/platform/etc."
It doesn't matter. It doesn't matter because the techniques are basically the same. You want to learn the concepts of programming, of abstractly representing information, writing a series of logical statements. Concepts like structured programming, modular programming, object-oriented programming, functional programming, and software engineering are vastly more important then whether you use GKT+ or KDEfoobar.
For ground-zero programming experience, I think Deitel& Deitel ___ How to Program books are a good choice.
Practice what you learnt in step zero.
Step two, I would strongly recommend reading comp.risks, The Mythical Man-Month, Code Complete, Programming Pearls, and The Practice of Programming. These focus on high-level knowledge, which is more important that low-level details. Other requirements include understanding computers, see Computer Architecture : A Quantitative Approach by Patterson and Hennessy. A hard-core introduction to programming, used at MIT, is Structure and Interpretation of Computer Programs by Hal Abelson and Gerald Sussman.
Honestly the details will become clearer and easier if you have a good understanding of the big picture first.
-
Re:Renderman
Well when PRMan and the whole RenderMan standard came out circa 1989 the market was different. For starters most regular FX studios were still traditional. Most animation studios, like Pixar, PDI, Blue Shy Studios and Rhythm and Hues used (and continue to do so) in house software. The Pixar folk wanted RenderMan to become a standard in the CG industry, but most off the shelf manufacturers (like Alias and Softimage, etc) decided to go their own way. But eventually it became a de facto standard in the FX industry. Besides they are not really direct competitors to Pixar. Pixar makes animated movies, while places like ILM, Digital Domain, Tippett, Imageworks and others concentrate on FX for live action films. Remebner that Pixar was spun off in part because catmull and company wanted to make animated pictures but Lucas wanted to concentrate on photorealistic CG for film FX. They might be competitors if FX studios get into the animated CG film business, and even then, you are increasing the market, plus they still buy PRMan licenses.
As you sid all the strengths of PRMan had made it widely accepted in the FX industry. For a nice description why, read the first chapter of the Advanced RenderMan book by Larry Gritz and Tony Apodaca:
Advanced RenderMan -
Re:I've worked on this stuff before ...
If you can give me a good URL or book to read, it will be very nice.
The work I did is history. I only hope that a company like nVIDIA will find a way to implement something like it now that millions of gates can be put on a consumer chip. Your reply suggests you are looking to the future - what I would like to see someday is real-time RenderMan, so I think you'd be interested in the Advanced RenderMan book by Apodaca and Gritz.
-
Playstation gamesGet them to write a Playstation game as a class project.
Dev tools and information are available online here, here and here.
The hardware's inexpensive (very cheap compared to PCs).
You can introduce abstract concepts like pointers and pipelining without boring them, because they can see where it's leading.
MIPS assembly language is quite sane, and there's an excellent text book which teaches architecture and assembly programming using MIPS.
Splitting up a large project like a game into managable chunks, then sitting down and writing one of them in C/assembler and seeing how your decisions affect the game as a whole will be a much better introduction to OO analysis and design than cramming Java down their throats.
The amount of performance you can get out of 2 Mb of RAM and a 33 MHz processor should make them think a bit about OS bloat.
Last but not least, when they finish their project they'll have something to play with.
(You'll need to fit the Playstations with mod chips if you want to test CDR copies of your game. For simpler/earlier testing a MIPS simulator is available here.)
-
I think I largely agreeLinux is not a particularly good example of innovation; while there are some interesting bits of social innovation, there isn't all that much that isn't either a replication of what already existed, or a "tuning" of functionality.
ReiserFS may be pretty cool stuff, but it hasn't led to really new things. There is the offer that it may allow constructing data structures reasonably efficiently via "hordes of tiny files," but nobody is really using that yet, and the "research" side of that is already reasonably well-understood.
For there to be real research out of something like ReiserFS would require that people start studying different ways of constructing (say) DBMSes by using the abstractions provided by the new FS.
It isn't really systems research for someone to construct a Linux emulation system to run atop EROS; what would be innovative would be to see what kinds of cool things that may have nothing to do with UNIX as we know it can be done with it.
The problem that he doesn't comment on, which seems to be an important flip side to the notion that Microsoft is a source of innovation, is that, during the 1990s, Microsoft did an impressive job of buying up top researchers, virtually closing down major systems software research groups:
- Hiring David Cutler and other VMS folk eliminated much of Digital's OS efforts
- Hiring Mach folk, notably Rich Rashid, essentially eliminated CMU and IBM's Mach-related OS efforts
- Hiring TP folk like Jim Gray , author of the wonderful book, Transaction Processing Concepts and Techniques, pulls considerable transactional expertise inside the Microsoft Hegemony
- Similar "pulls" have taken place with databases ( Paul Larson ), compilers (folks who worked on AST Toolkit ), amongst others
If people started doing some substantial work on exploring how to powerfully connect applications together using CORBA, that could represent some new work; unfortunately, the tools are still maturing, and the mappings to C and C++ kind of suck, at least for the purposes of generating dynamic applications.
Remember, Pike's criticisms aren't based on some vague notion that Linux is useless or bad; they are based on the notion that it's not particularly innovative, from a systems software research perspective.
If 90% of your effort represents dealing with the same old ordinary UNIX stuff, that would be largely familar to a UNIX hacker of the 1970s, then whatever you're doing can't be more than 10% innovative. Note his comment that around 90% of the effort in Plan 9, which was one of the more innovative systems of the last decade, represented efforts to honor external standards. That's a problem.
-
RAW/WAR/WAW (OT) (was: Re:the scariest part...)
before I record RAW is WAR
Whaddayamean, "RAW is WAR"? Read-after-write hazards are not the same as write-after-read hazards. And you forgot write-after-write...
Sorry, too much Hennessy & Patterson in my blood right now
:-)