www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - UFCS for D

reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/

Andrei
Mar 28 2012
next sibling parent "F i L" <witte2008 gmail.com> writes:
On Thursday, 29 March 2012 at 00:21:38 UTC, Andrei Alexandrescu 
wrote:
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/

 Andrei

Awesome! Been wanting this ever since I bought TDPL! :D One question though, what takes priority, UFCS or opDispatch?
Mar 28 2012
prev sibling next sibling parent reply "Jesse Phillips" <jessekphillips+D gmail.com> writes:
On Thursday, 29 March 2012 at 00:21:38 UTC, Andrei Alexandrescu 
wrote:
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/

 Andrei

I won't be going out of my way to check this, but there is a mention of adding the range primatives. This works, but it doesn't make the class a range for any other module, so std.algorithms won't recogonise it as a range.
Mar 28 2012
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 4:34 PM, Steven Schveighoffer wrote:
 One
 misleading suggestion from the article however, it's not very easy to create
 non-friend non-member functions using UFCS, considering that every function in
a
 given module is a friend. In order to do this, you would need a helper module
 for each module that wants to define such non-friend functions. Given the above
 proof, the helper module would also have to be imported by the main module.

I think there's a misunderstanding. The class should contain, as member functions, anything that needs to access private state. UFCS functions declared in other modules should not need access to private state (if they do, it's an error in the design of the class) and so should have no problem being non-friends.
Mar 29 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 5:09 PM, Steven Schveighoffer wrote:
 The reason being, if you change anything in class A, you do not have to worry
 about the implementation of getXSquared, because it simply has no access to the
 private implementation. You only have to worry about internal methods, and
 friend functions.

Ok, I see what you're talking about. It has nothing to do with UFCS, it is D's design decision to not have explicit friends, but to make everything in a module implicitly a friend. I think it's far superior to the explicit friend thing in C++. I've never seen much cause for hiding things within the same module. It's not like you're allowed to edit one part of the file and not touch another part.
Mar 29 2012
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:jl2um7$2eq5$1 digitalmars.com...
 On 3/29/2012 5:09 PM, Steven Schveighoffer wrote:
 The reason being, if you change anything in class A, you do not have to 
 worry
 about the implementation of getXSquared, because it simply has no access 
 to the
 private implementation. You only have to worry about internal methods, 
 and
 friend functions.

Ok, I see what you're talking about. It has nothing to do with UFCS, it is D's design decision to not have explicit friends, but to make everything in a module implicitly a friend. I think it's far superior to the explicit friend thing in C++. I've never seen much cause for hiding things within the same module. It's not like you're allowed to edit one part of the file and not touch another part.

That's the *whole point* of moving it outside the class. (Well, that and a smaller vtable.) In D, if you change this: ----------------- // foo.d class Foo { [...core stuff...] void extraFunctionality() {...} } ----------------- To this: ----------------- // foo.d class Foo { [...core stuff...] } void extraFunctionality(Foo f) {...} ----------------- How the heck does that improve encapsualtion? With D's implicit friends, it *doesn't*, it's just shifting things around. There is NO encapsualtion benefit there. Like Steven said, to *get* the encapsualtion, you have to create a whole new module to stick "extraFunctionality" into.
Mar 29 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 6:57 PM, Nick Sabalausky wrote:
 How the heck does that improve encapsualtion? With D's implicit friends, it
 *doesn't*, it's just shifting things around. There is NO encapsualtion
 benefit there. Like Steven said, to *get* the encapsualtion, you have to
 create a whole new module to stick "extraFunctionality" into.

It doesn't improve intra-module encapsulation, you're right. The point of UFCS, however, is so that *other* modules can extend a class's methods without breaking encapsulation. In D, the module is the fundamental unit of encapsulation, not the class. The reason is the whole reason that friends exist - sometimes, more than one component (i.e. class) is needed to manipulate private state.
Mar 29 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:jl3kkf$j4b$1 digitalmars.com...
 On 3/29/2012 6:57 PM, Nick Sabalausky wrote:
 How the heck does that improve encapsualtion? With D's implicit friends, 
 it
 *doesn't*, it's just shifting things around. There is NO encapsualtion
 benefit there. Like Steven said, to *get* the encapsualtion, you have to
 create a whole new module to stick "extraFunctionality" into.

It doesn't improve intra-module encapsulation, you're right. The point of UFCS, however, is so that *other* modules can extend a class's methods without breaking encapsulation. In D, the module is the fundamental unit of encapsulation, not the class. The reason is the whole reason that friends exist - sometimes, more than one component (i.e. class) is needed to manipulate private state.

(Disclaimer: I don't really excpect this to actually get changed at this point, just discussing.) I definitely agree with this: "sometimes, more than one component (i.e. class) is needed to manipulate private state" However, that need could also be served by a "module" access specifier (similar to "package"). Personally, I think that would have been a better approach. (And it would still be much, much better than "friend".) While there are definitely times I need to access private state across separate components within a module, I find such cases are fairly uncommon, so I question the wisdom of making it the default behavior.
Mar 30 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 12:18 AM, Nick Sabalausky wrote:
 While there are definitely times I need to access private state across
 separate components within a module, I find such cases are fairly uncommon,
 so I question the wisdom of making it the default behavior.

If your module has grown so large that you need such encapsulation, meaning that the "cognitive load" of understanding the module has exceeded one's grasp, then I submit that the module needs to be broken up into multiple modules. There has been a trend in Phobos of having some truly gigantic modules. I believe this is indicative of a problem in the language. Andrei and I have talked about it, and we think it is because of difficulties in breaking a module up into submodules of a package. We think it's something we need to address.
Mar 30 2012
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:jl3qds$10ga$1 digitalmars.com...
 On 3/30/2012 12:18 AM, Nick Sabalausky wrote:
 While there are definitely times I need to access private state across
 separate components within a module, I find such cases are fairly 
 uncommon,
 so I question the wisdom of making it the default behavior.

If your module has grown so large that you need such encapsulation, meaning that the "cognitive load" of understanding the module has exceeded one's grasp, then I submit that the module needs to be broken up into multiple modules.

It's not about cognitive load exceeding the brain's capacity (well, I'm sure it can be in some cases), it's about just simply keeping separate things separate without ending up in Java's world of "millions of tiny files for each trivial thing". You should be able to look at a couple unrelated chunks of code in a module (ie they handle completely separate details of the implementation of the module's single conceptual task) and *know* there's no interplay going on simply by virtue of the code not specifically suggesting otherwise via permissive access specifiers. And if those "separate sub-tasks" are small, stucking them each in separate files is a Java-like burden. So if you don't want to go that route, then when you look at them as things are now, well, there might be interplay and there might not be.
 There has been a trend in Phobos of having some truly gigantic modules. I 
 believe this is indicative of a problem in the language.

I thought that was a deliberate Phobos style convention. I'm certain I remember you and/or Andrei talking here about a year or two ago about how you didn't want Phobos modules broken up into separate implemetation modules. In fact, I definitely remember now, back early last year when Andrei first brought up the idea of having generalized parser in Phobos, I mentioned my Goldie project and there was a small discussion about the possibility of using that as the "std.parser" or whatever. I specifically remember you saying that, were Goldie to go into Phobos, you'd want it all merged into one module. Ultimately, I backed off on the whole idea as I felt Goldie likely wouldn't be an appropriate fit for Phobos, and that was one of the reasons.
 Andrei and I have  talked about it, and we think it is because of 
 difficulties in breaking a module up into submodules of a package.
 We think it's something we need to address.

Eh? Other people have voiced concerns over that since waaay back in even pre-D1 times. In particular, many people have argued for allowing modules with the same name as a package. Ie: you could have both module "foo" and module "foo.bar". The reasons they gave for wanting this are right along the lines of what you're talking about here. Eventually they got the message that it wasn't gonna happen and they gave up asking for it. Or is there a separate problem you're refering to?
Mar 30 2012
next sibling parent reply bls <bizprac orange.fr> writes:
On 03/30/2012 02:15 AM, Nick Sabalausky wrote:
 Eh? Other people have voiced concerns over that since waaay back in even
 pre-D1 times. In particular, many people have argued for allowing modules
 with the same name as a package. Ie: you could have both module "foo" and
 module "foo.bar".

This is afaik similar to ADA child packages. Quote : Ada allows one to extend the functionality of a unit (package) with so-called children (child packages). With certain exceptions, all the functionality of the parent is available to a child. This means that all public and private declarations of the parent package are visible to all child packages.
Mar 30 2012
parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 11:40, bls a écrit :
 On 03/30/2012 02:15 AM, Nick Sabalausky wrote:
 Eh? Other people have voiced concerns over that since waaay back in even
 pre-D1 times. In particular, many people have argued for allowing modules
 with the same name as a package. Ie: you could have both module "foo" and
 module "foo.bar".

This is afaik similar to ADA child packages. Quote : Ada allows one to extend the functionality of a unit (package) with so-called children (child packages). With certain exceptions, all the functionality of the parent is available to a child. This means that all public and private declarations of the parent package are visible to all child packages.

This sound interesting. And why not use public import for that ? It wouldn't break any existing code, because it enlarge the field of possibles.
Mar 30 2012
parent bls <bizprac orange.fr> writes:
On 03/30/2012 05:06 AM, deadalnix wrote:
 Le 30/03/2012 11:40, bls a écrit :
 On 03/30/2012 02:15 AM, Nick Sabalausky wrote:
 Eh? Other people have voiced concerns over that since waaay back in even
 pre-D1 times. In particular, many people have argued for allowing
 modules
 with the same name as a package. Ie: you could have both module "foo"
 and
 module "foo.bar".

This is afaik similar to ADA child packages. Quote : Ada allows one to extend the functionality of a unit (package) with so-called children (child packages). With certain exceptions, all the functionality of the parent is available to a child. This means that all public and private declarations of the parent package are visible to all child packages.

This sound interesting. And why not use public import for that ? It wouldn't break any existing code, because it enlarge the field of possibles.

Asking Nick or me ? Anyway, you can't really compare the D module- and ADA package concept. A D-ified ADA package could like like : module Shelf { module Disks { } module Books { } } I am not an active ADA user but instead of having a single file you could use the D-ified Ada way... module Shelf; module Shelf.Disks; module Shelf.Books; instead. And I think this what Nick is talking about. Having the same scoping rules. http://en.wikibooks.org/wiki/Ada_Programming/Packages
Mar 30 2012
prev sibling next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 2:15 AM, Nick Sabalausky wrote:
 Andrei and I have  talked about it, and we think it is because of
 difficulties in breaking a module up into submodules of a package.
 We think it's something we need to address.

Eh? Other people have voiced concerns over that since waaay back in even pre-D1 times. In particular, many people have argued for allowing modules with the same name as a package. Ie: you could have both module "foo" and module "foo.bar". The reasons they gave for wanting this are right along the lines of what you're talking about here. Eventually they got the message that it wasn't gonna happen and they gave up asking for it. Or is there a separate problem you're refering to?

No, that's it. What brings it to the fore is, as I said, the kitchen-sink module that is becoming prevalent.
Mar 30 2012
next sibling parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 12:57, foobar a écrit :
 On Friday, 30 March 2012 at 10:22:18 UTC, Walter Bright wrote:
 On 3/30/2012 2:15 AM, Nick Sabalausky wrote:
 Andrei and I have talked about it, and we think it is because of
 difficulties in breaking a module up into submodules of a package.
 We think it's something we need to address.

Eh? Other people have voiced concerns over that since waaay back in even pre-D1 times. In particular, many people have argued for allowing modules with the same name as a package. Ie: you could have both module "foo" and module "foo.bar". The reasons they gave for wanting this are right along the lines of what you're talking about here. Eventually they got the message that it wasn't gonna happen and they gave up asking for it. Or is there a separate problem you're refering to?

No, that's it. What brings it to the fore is, as I said, the kitchen-sink module that is becoming prevalent.

I'm confused. I thought that The kitchen-sink approach was a deliberate design decision. I also don't see how the language is at fault here - some libraries opted for a all.d module that public imports the other modules which cleanly solves the problem. This can be trivially solved by a convention of adding a _.d or all.d or whatever agreed upon module at the package level. Sure, the above mentioned enhancement will remove the need for this extra tiny step. But this is merely eliminating a minor inconvenience, not some huge flaw of the language that prevents good design and proper organization.

all.d this the de facto standard here. I think it should become an official guideline.
Mar 30 2012
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2012-03-30 14:07, deadalnix wrote:
 all.d this the de facto standard here. I think it should become an
 official guideline.

Why can't we get "import foo.*;", then we don't have to relay on guidelines. -- /Jacob Carlborg
Mar 30 2012
parent "Nick Sabalausky" <a a.a> writes:
"Jacob Carlborg" <doob me.com> wrote in message 
news:jl4d2e$24i1$1 digitalmars.com...
 On 2012-03-30 14:07, deadalnix wrote:
 all.d this the de facto standard here. I think it should become an
 official guideline.

Why can't we get "import foo.*;", then we don't have to relay on guidelines.

The problem with that is it indescriminately imports modules that are either just helper modules or just intended to *occasionally* be imported instead of always imported. I like the D way of requiring the lib author to use deliberate and explicit public imports for this sort of thing. That way the lib author is deciding what gets imported, not the ignorant compiler.
Mar 30 2012
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"deadalnix" <deadalnix gmail.com> wrote in message 
news:jl47k0$1old$2 digitalmars.com...
 Le 30/03/2012 12:57, foobar a écrit :
 On Friday, 30 March 2012 at 10:22:18 UTC, Walter Bright wrote:
 On 3/30/2012 2:15 AM, Nick Sabalausky wrote:
 Andrei and I have talked about it, and we think it is because of
 difficulties in breaking a module up into submodules of a package.
 We think it's something we need to address.

Eh? Other people have voiced concerns over that since waaay back in even pre-D1 times. In particular, many people have argued for allowing modules with the same name as a package. Ie: you could have both module "foo" and module "foo.bar". The reasons they gave for wanting this are right along the lines of what you're talking about here. Eventually they got the message that it wasn't gonna happen and they gave up asking for it. Or is there a separate problem you're refering to?

No, that's it. What brings it to the fore is, as I said, the kitchen-sink module that is becoming prevalent.

I'm confused. I thought that The kitchen-sink approach was a deliberate design decision. I also don't see how the language is at fault here - some libraries opted for a all.d module that public imports the other modules which cleanly solves the problem. This can be trivially solved by a convention of adding a _.d or all.d or whatever agreed upon module at the package level. Sure, the above mentioned enhancement will remove the need for this extra tiny step. But this is merely eliminating a minor inconvenience, not some huge flaw of the language that prevents good design and proper organization.

all.d this the de facto standard here. I think it should become an official guideline.

Another option is to do this: module foo; public import foo_.bar; public import foo_.baz; module foo_.bar; [...] module foo_.baz; [...] The benefit of that is that the user doesn't even have to know or case about any such conventions (actually I might do that with my libs intead of the all.d I've been using). The (somewhat small) downside though, is that anything in "foo.d" is not in the same package as "foo_/*.d", which could matter on things with the "package" access specifier. But that's easily solved by keeping "foo.d" limited to imports only. Of course, *all* this stuff goes away if we could just simply do: module foo; public import foo.bar; public import foo.baz; module foo.bar; [...] module foo.baz; [...] Which IMHO seems like a simple "removing undue limitations". But maybe there's technical problems with that I haven't thought of?
Mar 30 2012
prev sibling parent reply Don Clugston <dac nospam.com> writes:
On 30/03/12 12:22, Walter Bright wrote:
 On 3/30/2012 2:15 AM, Nick Sabalausky wrote:
 Andrei and I have talked about it, and we think it is because of
 difficulties in breaking a module up into submodules of a package.
 We think it's something we need to address.

Eh? Other people have voiced concerns over that since waaay back in even pre-D1 times. In particular, many people have argued for allowing modules with the same name as a package. Ie: you could have both module "foo" and module "foo.bar". The reasons they gave for wanting this are right along the lines of what you're talking about here. Eventually they got the message that it wasn't gonna happen and they gave up asking for it. Or is there a separate problem you're refering to?

No, that's it. What brings it to the fore is, as I said, the kitchen-sink module that is becoming prevalent.

To be brutally honest, I don't think that's got much to do with the language. It's got to do with Phobos adopting the Big Ball Of Mud design pattern. There's no reason for the existing modules to be so huge. Eg, I created std.internal.math so that the math modules would stay small. Not only are the modules huge, they import everything. I'd like to see some attempt to fix the problem within the language right now, before jumping straight into language changes.
Apr 02 2012
parent reply Jacob Carlborg <doob me.com> writes:
On 2012-04-02 16:31, Don Clugston wrote:

 To be brutally honest, I don't think that's got much to do with the
 language. It's got to do with Phobos adopting the Big Ball Of Mud design
 pattern. There's no reason for the existing modules to be so huge. Eg, I
 created std.internal.math so that the math modules would stay small.
 Not only are the modules huge, they import everything.

I couldn't agree more.
 I'd like to see some attempt to fix the problem within the language
 right now, before jumping straight into language changes.

That's not very hard. It will just break existing code. -- /Jacob Carlborg
Apr 02 2012
parent reply deadalnix <deadalnix gmail.com> writes:
Le 02/04/2012 18:00, Jacob Carlborg a écrit :
 On 2012-04-02 16:31, Don Clugston wrote:

 To be brutally honest, I don't think that's got much to do with the
 language. It's got to do with Phobos adopting the Big Ball Of Mud design
 pattern. There's no reason for the existing modules to be so huge. Eg, I
 created std.internal.math so that the math modules would stay small.
 Not only are the modules huge, they import everything.

I couldn't agree more.

I did noticed that, but this isn't the only problem.
 I'd like to see some attempt to fix the problem within the language
 right now, before jumping straight into language changes.

That's not very hard. It will just break existing code.

Yes, this is the point : refactoring a big module into submodules is hard because it break a lot of code, which is something we don't want ina standard lib for instance. Not because it isn't possible, but because almost all D code repose on phobos, so refactoring it into submodules is likely to massively break existing code.
Apr 02 2012
parent deadalnix <deadalnix gmail.com> writes:
Le 03/04/2012 09:58, Rory McGuire a écrit :
 Andrei and Walter's proposal does not break existing code because it
 makes folders into modules.

Yes, I was explaining why a solution is needed here. I think the public import method is better than the one from Walter and Andrei, which is lacking in some aspects.
Apr 03 2012
prev sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-30 11:15, Nick Sabalausky wrote:

 I thought that was a deliberate Phobos style convention. I'm certain I
 remember you and/or Andrei talking here about a year or two ago about how
 you didn't want Phobos modules broken up into separate implemetation
 modules.

I recognize that as well. -- /Jacob Carlborg
Mar 30 2012
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-30 10:20, Walter Bright wrote:

 There has been a trend in Phobos of having some truly gigantic modules.
 I believe this is indicative of a problem in the language. Andrei and I
 have talked about it, and we think it is because of difficulties in
 breaking a module up into submodules of a package.

 We think it's something we need to address.

I don't know for HOW LONG I've been saying this. The modules in Phobos are way too large. I always thought this was a design decision, that you wanted a flat hierarchy of modules in Phobos. But I don't think it's a problem with the language. I've been splitting up my code in several sub packages and modules for as long as I've been using D. Just move the code to new modules. It can take some time to figure out how to best organize the modules but when that's finished there should be any problems. -- /Jacob Carlborg
Mar 30 2012
prev sibling next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-30 10:36, Andrej Mitrovic wrote:
 On 3/30/12, Walter Bright<newshound2 digitalmars.com>  wrote:
 There has been a trend in Phobos of having some truly gigantic modules. I
 believe this is indicative of a problem in the language.

Ignoring that there are still a few import bugs, you can split functionality into multiple modules and use one module per package that publicly imports all modules in that package: module std.datetime; public import std.date.time, std.date.clock, std.date.watch;

I agree.
 That's what people are already doing with various D libraries.
 Then, unittests could be moved into a central place.

Yeah, that's working just fine.
 I think that
 could cut down the linecount quite a bit. If linecount is still a
 problem after that, then either the modules have to be further split
 or it might be an indication that Phobos is getting too large.

If any abstraction (or what to call it) becomes too large then you just create another one. If method becomes too large - split it up in several methods If a class gets too many methods - split the class in several classes If a module gets too many classes - split the module in several modules If package gets too many modules - split it up in in several (sub) packages If a library gets too many packages - split it up in several libraries -- /Jacob Carlborg
Mar 30 2012
prev sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/30/12 3:20 AM, Walter Bright wrote:
 There has been a trend in Phobos of having some truly gigantic modules.
 I believe this is indicative of a problem in the language. Andrei and I
 have talked about it, and we think it is because of difficulties in
 breaking a module up into submodules of a package.

 We think it's something we need to address.

Walter and I agreed on a design and I got tasked with writing a DIP. I don't have any time for it, but I had to do it so here it is: http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP16 Please comment, after which Walter will approve. Walter's approval means that he would approve a pull request implementing DIP16 (subject to regular correctness checks). Thanks, Andrei
Mar 30 2012
parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 16:24, Andrei Alexandrescu a écrit :
 On 3/30/12 3:20 AM, Walter Bright wrote:
 There has been a trend in Phobos of having some truly gigantic modules.
 I believe this is indicative of a problem in the language. Andrei and I
 have talked about it, and we think it is because of difficulties in
 breaking a module up into submodules of a package.

 We think it's something we need to address.

Walter and I agreed on a design and I got tasked with writing a DIP. I don't have any time for it, but I had to do it so here it is: http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP16 Please comment, after which Walter will approve. Walter's approval means that he would approve a pull request implementing DIP16 (subject to regular correctness checks). Thanks, Andrei

Hi, It is an interesting proposal. You should start a thread about that so comment will not get lost in this one.
Mar 30 2012
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 3/30/12 9:32 AM, deadalnix wrote:
 Le 30/03/2012 16:24, Andrei Alexandrescu a écrit :
 On 3/30/12 3:20 AM, Walter Bright wrote:
 There has been a trend in Phobos of having some truly gigantic modules.
 I believe this is indicative of a problem in the language. Andrei and I
 have talked about it, and we think it is because of difficulties in
 breaking a module up into submodules of a package.

 We think it's something we need to address.

Walter and I agreed on a design and I got tasked with writing a DIP. I don't have any time for it, but I had to do it so here it is: http://prowiki.org/wiki4d/wiki.cgi?LanguageDevel/DIPs/DIP16 Please comment, after which Walter will approve. Walter's approval means that he would approve a pull request implementing DIP16 (subject to regular correctness checks). Thanks, Andrei

Hi, It is an interesting proposal. You should start a thread about that so comment will not get lost in this one.

Started a thread in the main forum. Andrei
Mar 30 2012
prev sibling parent reply Piotr Szturmaj <bncrbme jadamspam.pl> writes:
Walter Bright wrote:
 On 3/29/2012 5:09 PM, Steven Schveighoffer wrote:
 The reason being, if you change anything in class A, you do not have
 to worry
 about the implementation of getXSquared, because it simply has no
 access to the
 private implementation. You only have to worry about internal methods,
 and
 friend functions.

Ok, I see what you're talking about. It has nothing to do with UFCS, it is D's design decision to not have explicit friends, but to make everything in a module implicitly a friend. I think it's far superior to the explicit friend thing in C++.

Just curious. Did you take it from Delphi? :-)
Mar 30 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 4:24 AM, Piotr Szturmaj wrote:
 Walter Bright wrote:
 I think it's far superior to the explicit friend thing in C++.


No. I've never looked at Delphi in detail. But in any case, for any language feature, there's always another language that had done it before, or something like it, or something that if you stand on one leg and touch your nose it resembles it, or whatever. It's also true that good ideas tend to be reinvented over and over. There have been many module systems before Delphi, too. I even have dim memories of reading about modules in the 1980 Ada spec :-)
Mar 30 2012
parent reply Piotr Szturmaj <bncrbme jadamspam.pl> writes:
Walter Bright wrote:
 On 3/30/2012 4:24 AM, Piotr Szturmaj wrote:
 Walter Bright wrote:
 I think it's far superior to the explicit friend thing in C++.


No. I've never looked at Delphi in detail. But in any case, for any language feature, there's always another language that had done it before, or something like it, or something that if you stand on one leg and touch your nose it resembles it, or whatever. It's also true that good ideas tend to be reinvented over and over.

Yes, I agree.
 There have been many module systems before Delphi, too. I even have dim
 memories of reading about modules in the 1980 Ada spec :-)

Actually, I meant allowing access to private fields within the same module. It really helped me to avoid writing boilerplate code for these fields. And I'm thinking about lots of correlated classes. I asked because Delphi and D are the only ones I know that make friend classes implicit :-)
Mar 30 2012
parent Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 3:27 PM, Piotr Szturmaj wrote:
 I asked because Delphi and D are the only ones I know that make friend classes
 implicit :-)

I didn't know that about Delphi.
Mar 31 2012
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Steven Schveighoffer" <schveiguy yahoo.com> wrote in message 
news:op.wbyg2ywyeav7ka localhost.localdomain...
 For builtin types (such as arrays or numbers), there wouldn't be a module 
 that the type was defined.  However, object.di is imported by everything, 
 so extensions could be put in there.

Wait, What? Weren't you strongly *opposed* to this last week when I suggested it for empty()? I'm not trying to be an ass about it. Just not sure if you changed your mind, or I'm missing something, or what.
 One  misleading suggestion from the article however, it's not very easy to 
 create non-friend non-member functions using UFCS, considering that every 
 function in a given module is a friend.  In order to do this, you would 
 need a helper module for each module that wants to define such non-friend 
 functions.  Given the above proof, the helper module would also have to be 
 imported by the main module.

Yea, that occurred to me, too. <wishful musing>I've been starting to think more and more that the "everything in a module is a friend" was a mistake, and that we should have instead just had a "module" access specifier like we have "package".</wishful musing>
Mar 29 2012
next sibling parent "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:nidsvjszuhicjthlpaxm forum.dlang.org...
 On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 <wishful musing>I've been starting to think
 more and more that the "everything in a module is a friend" was a 
 mistake,and that we should have instead just had a "module"
 access specifier like we have "package".</wishful musing>

Or, for moar compatibility, have enemy functions. class Klingon { private Starship commanding; } void nonFriend(enemy Klingon kor) { kor.commanding = lol; // error, commanding is private and kor is an enemy }

You forgot: version(KhitomerAccords) {} else { [...] } 'Course that still doesn't take into account that short period in the middle of DS9, but meh, good enough. And then there's this line, which I'd consider mandatory for any Trek-related code: version(JJAbrams) static assert(false, "Fuck this shit, this ain't even Star Trek anyway");
 Or, to avoid having a new keyword, call it interface
 instead of enemy.

Don't you mean "static"? ;)
Mar 29 2012
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Steven Schveighoffer" <schveiguy yahoo.com> wrote in message 
news:kgwyziwlndczqtafbvrf forum.dlang.org...
 On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 Yea, that occurred to me, too. <wishful musing>I've been starting to 
 think
 more and more that the "everything in a module is a friend" was a 
 mistake,
 and that we should have instead just had a "module" access specifier like 
 we
 have "package".</wishful musing>

I don't think it was a mistake, it makes perfect sense to me. On the other hand, I fully understand why Meyers' prescription is useful for humongous code bases. However, I don't see this causing much trouble for code I write. For instance, you have two classes you may have put into the same module because they are categorically related (not necessarily friends in C++ terms). It's highly unlikely that you "accidentally" access private information across the classes. So how much time is "wasted" checking the other class for external references? Probably none.

Large portions of D's access specifiers were completely unenforced for a long time and it never caused me much trouble. Doesn't mean they didn't still need to enforced.
Mar 29 2012
parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 07:29, Nick Sabalausky a écrit :
 "Steven Schveighoffer"<schveiguy yahoo.com>  wrote in message
 news:kgwyziwlndczqtafbvrf forum.dlang.org...
 On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 Yea, that occurred to me, too.<wishful musing>I've been starting to
 think
 more and more that the "everything in a module is a friend" was a
 mistake,
 and that we should have instead just had a "module" access specifier like
 we
 have "package".</wishful musing>

I don't think it was a mistake, it makes perfect sense to me. On the other hand, I fully understand why Meyers' prescription is useful for humongous code bases. However, I don't see this causing much trouble for code I write. For instance, you have two classes you may have put into the same module because they are categorically related (not necessarily friends in C++ terms). It's highly unlikely that you "accidentally" access private information across the classes. So how much time is "wasted" checking the other class for external references? Probably none.

Large portions of D's access specifiers were completely unenforced for a long time and it never caused me much trouble. Doesn't mean they didn't still need to enforced.

Because projects were small.
Mar 30 2012
parent "Nick Sabalausky" <a a.a> writes:
"deadalnix" <deadalnix gmail.com> wrote in message 
news:jl47vt$1old$5 digitalmars.com...
 Le 30/03/2012 07:29, Nick Sabalausky a écrit :
 "Steven Schveighoffer"<schveiguy yahoo.com>  wrote in message
 news:kgwyziwlndczqtafbvrf forum.dlang.org...
 On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 Yea, that occurred to me, too.<wishful musing>I've been starting to
 think
 more and more that the "everything in a module is a friend" was a
 mistake,
 and that we should have instead just had a "module" access specifier 
 like
 we
 have "package".</wishful musing>

I don't think it was a mistake, it makes perfect sense to me. On the other hand, I fully understand why Meyers' prescription is useful for humongous code bases. However, I don't see this causing much trouble for code I write. For instance, you have two classes you may have put into the same module because they are categorically related (not necessarily friends in C++ terms). It's highly unlikely that you "accidentally" access private information across the classes. So how much time is "wasted" checking the other class for external references? Probably none.

Large portions of D's access specifiers were completely unenforced for a long time and it never caused me much trouble. Doesn't mean they didn't still need to enforced.

Because projects were small.

Right, my point is, just because you're not accidentally accessing things you shouldn't, doesn't mean those safeguards shouldn't still be in place. At the very least it makes it easier to reason about the code: You can just look at it and *know* there's no improper access going on. No need to tiptoe around keepng an eye out for it on the off chance that you or someone else did manage to slip something in there accidentally *or* deliberately.
Mar 30 2012
prev sibling parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 04:13, Adam D. Ruppe a écrit :
 On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 <wishful musing>I've been starting to think
 more and more that the "everything in a module is a friend" was a
 mistake,and that we should have instead just had a "module"
 access specifier like we have "package".</wishful musing>

Or, for moar compatibility, have enemy functions. class Klingon { private Starship commanding; } void nonFriend(enemy Klingon kor) { kor.commanding = lol; // error, commanding is private and kor is an enemy } Or, to avoid having a new keyword, call it interface instead of enemy. Though, then you could just pass an interface instead of a class too. Take most general possible type. But, separate modules are kinda cool anyway. I often put stuff together in one module just for ease of distribution, but eh modules are cool.

For the ease of distribution, you can use a module with public import in it.
Mar 30 2012
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-30 16:17, Adam D. Ruppe wrote:
 On Friday, 30 March 2012 at 12:10:32 UTC, deadalnix wrote:
 For the ease of distribution, you can use a module with public import
 in it.

There's still a few things I don't like though, about downloading and compiling several modules. When it is just one, you can download the single file and add it to your dmd command line. With several modules, that's more effort, either in downloading many things or in maintaining a zip+lib of them too. A lot different than my preference of "grab my cgi.d and play"!

That's way I'm working on a package manager. -- /Jacob Carlborg
Mar 30 2012
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:idxacwhjfymfbmezlmks forum.dlang.org...
 On Friday, 30 March 2012 at 12:10:32 UTC, deadalnix wrote:
 For the ease of distribution, you can use a module with public import in 
 it.

There's still a few things I don't like though, about downloading and compiling several modules. When it is just one, you can download the single file and add it to your dmd command line. With several modules, that's more effort, either in downloading many things or in maintaining a zip+lib of them too. A lot different than my preference of "grab my cgi.d and play"!

I always use rdmd to compile anything with >1 file, so tossing in more files makes absolutely zero difference to me.
Mar 30 2012
prev sibling next sibling parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 01:34, Steven Schveighoffer a écrit :
 On Wed, 28 Mar 2012 21:53:57 -0400, Jesse Phillips
 <jessekphillips+D gmail.com> wrote:

 I won't be going out of my way to check this, but there is a mention
 of adding the range primatives. This works, but it doesn't make the
 class a range for any other module, so std.algorithms won't recogonise
 it as a range.

At first thought, I believed this should be fixable -- if not working already. Consider that std.algorithm doesn't include *your* module, yet you can pass types defined in your module into std.algorithm and it works just fine. But I realized after typing about 2 messages in response to this (and deleting them), you are right, there is a fundamental problem here. Because the template instantiation is based solely on the type. It does *not* include the type and whatever other modules you may have included that could define extension methods. I don't think it's an implementation issue, I think it's a design issue -- there simply is no way to do this. A counter case: module1.d: int foo(T)(T t) { return t.bar(); } module2.d: struct S { int x;} module3.d: import module1, module2; int bar(S s) { return s.x * 2;} void baz1() { S s(2); assert(foo(s) == 4); } module4.d: import module1, module 2; int bar(S s) { return s.x * 3;} void baz2() { S s(2); assert(foo(s) == 6); } // and to drive the point further: module5.d: import module3, module4; void main() { baz1(); baz2(); } In order for the asserts to *both* pass, there has to be two different instantiations of foo!S, one for module3, and one for module4. So two possible sane rules: 1. A template instantiation can *only* use UFCS from functions defined in or imported from the module in which the template is defined. (i.e. the way it works now I think) or 2. A template instantiation can *only* use UFCS from functions defined in or imported from the module in which the template is defined, *and* from functions as defined or imported by the module that defines the type on which UFCS is being used. In other words, from my example above, only functions defined in or imported from module1.d and module2.d. Therefore, the bar extension defined in module3 and module4 cannot be called from module1. For builtin types (such as arrays or numbers), there wouldn't be a module that the type was defined. However, object.di is imported by everything, so extensions could be put in there. This kind of puts a damper on certain expectations for how UFCS could be used. But I don't see any other way (other than adding the current module into the instantiation somehow -- imagine the template bloat...). Even with this limitation, UFCS still allows a lot of cool things. One misleading suggestion from the article however, it's not very easy to create non-friend non-member functions using UFCS, considering that every function in a given module is a friend. In order to do this, you would need a helper module for each module that wants to define such non-friend functions. Given the above proof, the helper module would also have to be imported by the main module. -Steve

I would expect this not to work, because bar isn't defined in module1 and template are supposed to use declaration scope, not instantiation scope (unless it is mixin template).
Mar 30 2012
parent reply deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 14:13, Steven Schveighoffer a écrit :
 On Fri, 30 Mar 2012 08:10:14 -0400, deadalnix <deadalnix gmail.com> wrote:

 I would expect this not to work, because bar isn't defined in module1
 and template are supposed to use declaration scope, not instantiation
 scope (unless it is mixin template).

Right, I think it's the way it works now. But consider that the template instantiation *does* pull in some stuff from the instantiation scope (i.e. the template's module may not import the type being used to instantiate). I think it would be OK for the compiler to consider UFCS functions from the type's defining module as well, since you cannot instantiate the template for that particular type without having imported that module (i.e. it's guaranteed to instantiate the same no matter what module does it first). -Steve

It does pull information from it's own scope and what is passed as parameter. So it would still fail for the UFCS case. I don't see a clean solution for that, because of ambiguities. That something that is not new and not specific to UFCS. Immagine you want to define your own to!xxx() for your type xxx. (It is dumb case because you have toString, but an interesting exercise because for your own stuff, not something that is specified in the language - like toString - the same could happen with no easy solution.
Mar 30 2012
next sibling parent Jacob Carlborg <doob me.com> writes:
On 2012-03-30 14:52, Steven Schveighoffer wrote:

 Why would there be ambiguities? Unlike C include files, D modules are
 consistently compiled, unaffected by importing other modules.

What about static-if and string mixins? -- /Jacob Carlborg
Mar 30 2012
prev sibling parent deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 14:52, Steven Schveighoffer a écrit :
 On Fri, 30 Mar 2012 08:22:12 -0400, deadalnix <deadalnix gmail.com> wrote:

 Le 30/03/2012 14:13, Steven Schveighoffer a écrit :
 On Fri, 30 Mar 2012 08:10:14 -0400, deadalnix <deadalnix gmail.com>
 wrote:

 I would expect this not to work, because bar isn't defined in module1
 and template are supposed to use declaration scope, not instantiation
 scope (unless it is mixin template).

Right, I think it's the way it works now. But consider that the template instantiation *does* pull in some stuff from the instantiation scope (i.e. the template's module may not import the type being used to instantiate). I think it would be OK for the compiler to consider UFCS functions from the type's defining module as well, since you cannot instantiate the template for that particular type without having imported that module (i.e. it's guaranteed to instantiate the same no matter what module does it first). -Steve

It does pull information from it's own scope and what is passed as parameter. So it would still fail for the UFCS case. I don't see a clean solution for that, because of ambiguities. That something that is not new and not specific to UFCS.

Why would there be ambiguities? Unlike C include files, D modules are consistently compiled, unaffected by importing other modules. In order to instantiate a template templ!Foo, either the module that defines templ, or the module who is instantiating *must* import the module that defines Foo. Knowing this, the compiler should be able to deduce that it can consistently compile tmpl!Foo even if it pulls in UFCS functions from Foo's module or modules that Foo's module imports.
 Immagine you want to define your own to!xxx() for your type xxx. (It
 is dumb case because you have toString, but an interesting exercise
 because for your own stuff, not something that is specified in the
 language - like toString - the same could happen with no easy solution.

I don't think this disproves anything. It should be possible without ambiguity given the rules I stated. -Steve

You are messing up everything. First, this have NOTHING to do with UFCS. Second, current D import system have no ambiguity. But you propose to change that system. That would introduce ambiguity. Even if you don't believe me, which is fine, it is safe to assume so unless you can prove otherwise.
Mar 30 2012
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 4:34 PM, Steven Schveighoffer wrote:
 But I realized after typing about 2 messages in response to this (and deleting
 them), you are right, there is a fundamental problem here. Because the template
 instantiation is based solely on the type. It does *not* include the type and
 whatever other modules you may have included that could define extension
 methods. I don't think it's an implementation issue, I think it's a design
issue
 -- there simply is no way to do this.

Yes, you're right. The template is instantiated in the context of the template definition, not the template instantiation. Hence, unless the extension methods are in scope of the template definition, they will not be found. I hadn't thought of this issue.
 So two possible sane rules:
 1. A template instantiation can *only* use UFCS from functions defined in or
 imported from the module in which the template is defined. (i.e. the way it
 works now I think)

Yes, that is the way it works now.
 or
 2. A template instantiation can *only* use UFCS from functions defined in or
 imported from the module in which the template is defined, *and* from functions
 as defined or imported by the module that defines the type on which UFCS is
 being used.

I would argue that: 3. An extension method for an argument of type template parameter T will be looked up only in the instantiation scope.
Mar 30 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 12:11 PM, Steven Schveighoffer wrote:
 On Fri, 30 Mar 2012 14:27:43 -0400, Walter Bright <newshound2 digitalmars.com>
 wrote:

 I would argue that:

 3. An extension method for an argument of type template parameter T will be
 looked up only in the instantiation scope.

I don't think you looked at my counter case in detail. Your idea leads to two different instantiations of tmpl!Foo having two different implementations, depending on which extension methods you include. In fact, in one place, the instantiation might succeed, but in another, the instantiation might fail.

Yes, you're right. I missed that nuance. I don't really know how to fix it.
 Given that the compiler simply trims out identically defined symbols, assuming
 they are the same, this could have disastrous consequences. You could end up
 with code being different based on the link order, or possibly arbitrary
 decisions made by the linker!

 My argument is that the one thing in common is that the module that defines the
 type has to have been included. I think you would agree that the one truth we
 must maintain is that X!Y must be implemented exactly the same no matter what
 module instantiates it.

 I realize that the compiler likely doesn't keep enough information to know what
 functions would fall under the rules I specified, so this is probably a
 difficult change to effect. But it could be an incremental change later.

 -Steve

Mar 30 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 12:36 PM, Walter Bright wrote:
 On 3/30/2012 12:11 PM, Steven Schveighoffer wrote:
 On Fri, 30 Mar 2012 14:27:43 -0400, Walter Bright <newshound2 digitalmars.com>
 wrote:

 I would argue that:

 3. An extension method for an argument of type template parameter T will be
 looked up only in the instantiation scope.

I don't think you looked at my counter case in detail. Your idea leads to two different instantiations of tmpl!Foo having two different implementations, depending on which extension methods you include. In fact, in one place, the instantiation might succeed, but in another, the instantiation might fail.

Yes, you're right. I missed that nuance. I don't really know how to fix it.

Ah, I know how to fix it. Mark such instantiations as "local" ones, so they are mangled with the module name of where they were instantiated from.
Mar 30 2012
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 5:25 PM, Walter Bright wrote:
 Ah, I know how to fix it. Mark such instantiations as "local" ones, so they are
 mangled with the module name of where they were instantiated from.

http://d.puremagic.com/issues/show_bug.cgi?id=7802
Mar 30 2012
prev sibling parent deadalnix <deadalnix gmail.com> writes:
Le 31/03/2012 02:25, Walter Bright a écrit :
 On 3/30/2012 12:36 PM, Walter Bright wrote:
 On 3/30/2012 12:11 PM, Steven Schveighoffer wrote:
 On Fri, 30 Mar 2012 14:27:43 -0400, Walter Bright
 <newshound2 digitalmars.com>
 wrote:

 I would argue that:

 3. An extension method for an argument of type template parameter T
 will be
 looked up only in the instantiation scope.

I don't think you looked at my counter case in detail. Your idea leads to two different instantiations of tmpl!Foo having two different implementations, depending on which extension methods you include. In fact, in one place, the instantiation might succeed, but in another, the instantiation might fail.

Yes, you're right. I missed that nuance. I don't really know how to fix it.

Ah, I know how to fix it. Mark such instantiations as "local" ones, so they are mangled with the module name of where they were instantiated from.

I think this is a terrible idea. Additionally, such a function can be passed as template parameter using an alias parameter, or the module to import can be passed. This is a non issue. I don't see why UFCS would be treated as special in regard to template instantiation. Template and UFCS are orthogonal concepts.
Apr 01 2012
prev sibling next sibling parent deadalnix <deadalnix gmail.com> writes:
Le 29/03/2012 02:21, Andrei Alexandrescu a écrit :
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/


 Andrei

The example of std.algorithm should have been used. The importance of such a syntax become obvious when using it.
Mar 29 2012
prev sibling next sibling parent reply Timon Gehr <timon.gehr gmx.ch> writes:
On 03/29/2012 02:21 AM, Andrei Alexandrescu wrote:
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/


 Andrei

I think the article does not mention that it also works for primitive types.
Mar 29 2012
parent reply bearophile <bearophileHUGS lycos.com> writes:
Timon Gehr:

 I think the article does not mention that it also works for primitive types.

But there is a small problem with primitive properties: http://d.puremagic.com/issues/show_bug.cgi?id=7773 Bye, bearophile
Mar 29 2012
parent Timon Gehr <timon.gehr gmx.ch> writes:
On 03/30/2012 01:45 AM, bearophile wrote:
 Timon Gehr:

 I think the article does not mention that it also works for primitive types.

But there is a small problem with primitive properties: http://d.puremagic.com/issues/show_bug.cgi?id=7773 Bye, bearophile

Yes, I have never understood why built-in types are excluded from expressions other than '.' expressions during parsing. After all, semantic analysis must deal with them because they can occur through aliases. It seems inconsistent and causes strange behaviour that is hard to remember. (The fact that primitive types cannot be passed as alias parameters smells in a similar way.)
Mar 30 2012
prev sibling next sibling parent reply Simon <s.d.hammett gmail.com> writes:
On 29/03/2012 01:21, Andrei Alexandrescu wrote:
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/


 Andrei

I do wish you guys would just post the direct link as well. I hate reddit, I've zero interest in the comments on there and jumping through that hoop just slows down my browsing. -- My enormous talent is exceeded only by my outrageous laziness. http://www.ssTk.co.uk
Mar 29 2012
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Simon" <s.d.hammett gmail.com> wrote in message 
news:jl2j1u$1p3p$1 digitalmars.com...
 On 29/03/2012 01:21, Andrei Alexandrescu wrote:
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/


 Andrei

I do wish you guys would just post the direct link as well. I hate reddit, I've zero interest in the comments on there and jumping through that hoop just slows down my browsing.

Yea, reddit *is* extremely slow whenever there's a reasonable number of comments. And *that's* with JS *off* (and using it that way prevents you from doing *anything* there other than read existing comments, which of course is retarded). And then with JS on, reddit is *insanely* slow. Seriously takes fucking forever. Easily one of the slowest sites I've ever come across. Total piece of shit implementation they have there (and a perfect example of what's wrong with "cloud" and "web 2.0"). It's almost as if the GitHub guys wrote it.
Mar 29 2012
parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 3:00 PM, Nick Sabalausky wrote:
 Yea, reddit *is* extremely slow whenever there's a reasonable number of
 comments. And *that's* with JS *off* (and using it that way prevents you
 from doing *anything* there other than read existing comments, which of
 course is retarded). And then with JS on, reddit is *insanely* slow.
 Seriously takes fucking forever. Easily one of the slowest sites I've ever
 come across. Total piece of shit implementation they have there (and a
 perfect example of what's wrong with "cloud" and "web 2.0"). It's almost as
 if the GitHub guys wrote it.

True, but I upgraded recently to 64 bit Win 7, with a 6 core processor and SSD drive. Reddit seems a lot zippier :-)
Mar 29 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:jl2p1f$252f$1 digitalmars.com...
 On 3/29/2012 3:00 PM, Nick Sabalausky wrote:
 Yea, reddit *is* extremely slow whenever there's a reasonable number of
 comments. And *that's* with JS *off* (and using it that way prevents you
 from doing *anything* there other than read existing comments, which of
 course is retarded). And then with JS on, reddit is *insanely* slow.
 Seriously takes fucking forever. Easily one of the slowest sites I've 
 ever
 come across. Total piece of shit implementation they have there (and a
 perfect example of what's wrong with "cloud" and "web 2.0"). It's almost 
 as
 if the GitHub guys wrote it.

True, but I upgraded recently to 64 bit Win 7, with a 6 core processor and SSD drive. Reddit seems a lot zippier :-)

I don't understand why people think it's ok for basic, basic shit that would have ran fine on a Pentium 1 (and less) to now require what quite literally is a super-fucking-computer-on-the-desktop just to run acceptably. Seriously, what the fuck's the point of buying all this insanely powerful hardware if software just turns the damn thing right back into a fucking single-core P1? That's just insane. People are seriously fucking bat-shit crazy.
Mar 29 2012
next sibling parent reply Jacob Carlborg <doob me.com> writes:
On 2012-03-30 04:05, Nick Sabalausky wrote:
 "Walter Bright"<newshound2 digitalmars.com>  wrote in message
 True, but I upgraded recently to 64 bit Win 7, with a 6 core processor and
 SSD drive. Reddit seems a lot zippier :-)

I don't understand why people think it's ok for basic, basic shit that would have ran fine on a Pentium 1 (and less) to now require what quite literally is a super-fucking-computer-on-the-desktop just to run acceptably. Seriously, what the fuck's the point of buying all this insanely powerful hardware if software just turns the damn thing right back into a fucking single-core P1? That's just insane. People are seriously fucking bat-shit crazy.

Have you seen this: http://hallicino.hubpages.com/hub/_86_Mac_Plus_Vs_07_AMD_DualCore_You_Wont_Believe_Who_Wins They compare and old Macintosh from the 80's against a fairly new PC. -- /Jacob Carlborg
Mar 29 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Jacob Carlborg" <doob me.com> wrote in message 
news:jl3kar$ie4$1 digitalmars.com...
 On 2012-03-30 04:05, Nick Sabalausky wrote:
 "Walter Bright"<newshound2 digitalmars.com>  wrote in message
 True, but I upgraded recently to 64 bit Win 7, with a 6 core processor 
 and
 SSD drive. Reddit seems a lot zippier :-)

I don't understand why people think it's ok for basic, basic shit that would have ran fine on a Pentium 1 (and less) to now require what quite literally is a super-fucking-computer-on-the-desktop just to run acceptably. Seriously, what the fuck's the point of buying all this insanely powerful hardware if software just turns the damn thing right back into a fucking single-core P1? That's just insane. People are seriously fucking bat-shit crazy.

Have you seen this: http://hallicino.hubpages.com/hub/_86_Mac_Plus_Vs_07_AMD_DualCore_You_Wont_Believe_Who_Wins They compare and old Macintosh from the 80's against a fairly new PC.

Yea, I've seen that. It's a very good article, though. Although I've been saying this since before that article, and even before multi-cores. Contrary to the title, I wasn't at all surprised which won ;) Of course, I don't expect software to be as super-fine-tuned as it was on, say, the Apple 2 or Atari 2600. There *is* definitely some value in loosing a certain amount of performance to abstractions, up to a point. But we've blown way, way, WAAAY beyond that point. It's sickening how much gratuitous waste there is in a lot of "modern" software, and really for not much benefit, as D proves.
Mar 30 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Nick Sabalausky" <a a.a> wrote in message 
news:jl3n59$qf7$1 digitalmars.com...
 "Jacob Carlborg" <doob me.com> wrote in message 
 news:jl3kar$ie4$1 digitalmars.com...
 On 2012-03-30 04:05, Nick Sabalausky wrote:
 "Walter Bright"<newshound2 digitalmars.com>  wrote in message
 True, but I upgraded recently to 64 bit Win 7, with a 6 core processor 
 and
 SSD drive. Reddit seems a lot zippier :-)

I don't understand why people think it's ok for basic, basic shit that would have ran fine on a Pentium 1 (and less) to now require what quite literally is a super-fucking-computer-on-the-desktop just to run acceptably. Seriously, what the fuck's the point of buying all this insanely powerful hardware if software just turns the damn thing right back into a fucking single-core P1? That's just insane. People are seriously fucking bat-shit crazy.

Have you seen this: http://hallicino.hubpages.com/hub/_86_Mac_Plus_Vs_07_AMD_DualCore_You_Wont_Believe_Who_Wins They compare and old Macintosh from the 80's against a fairly new PC.

Yea, I've seen that. It's a very good article, though. Although I've been saying this since before that article, and even before multi-cores. Contrary to the title, I wasn't at all surprised which won ;) Of course, I don't expect software to be as super-fine-tuned as it was on, say, the Apple 2 or Atari 2600. There *is* definitely some value in loosing a certain amount of performance to abstractions, up to a point. But we've blown way, way, WAAAY beyond that point. It's sickening how much gratuitous waste there is in a lot of "modern" software, and really for not much benefit, as D proves.

Actually, one thing that really gets me is shutdown times: RAM is *volitile*. How much processing can really be needed when the RAM's just gonna get wiped anyway? You ask the user if they want to save, you flush the output queues for anything non-volitile, and you cut the power. Sheesh! Desktops are the worst offenders, and paricularly WinXP. But then even on my brother's PS3, you can literally count the seconds before it actually turns off. It's just a set-top gaming console, is that really necessary? (They can spare me their "It does everything!" - like I give a crap about any of those gimmicks.) On my old (super-low-power) NES, you could hit the power button, and within one second you were at the title screen. Hit one button and you're immediately playing (and I mean *playing*, not "watching exposition" or "learning how to turn left"). And then power button again, and the system's off. Try doing any of that on a PS3. It's amazing that the faster and more powerful the systems become, the longer and longer it takes them to start/stop tasks. ('Course, the Apple 2 is a notable exception: that thing seemed to take forever to boot. It did shut down pretty damn quick though.) Some of that stuff isn't even a technical matter at all, but deliberate design: Who the hell decided we need twenty company logos (fully animated, one at a time), then 10+ minutes of exposition and building "atmosphere", followed by half an hour of (typically patronizing) tutorials before actually getting to the real gameplay? Zelda Skyward Sword is the worst offender, it literally takes *hours* to get past all the initial exposition, tutorials and shit into the real core of the game (I honestly started wondering if there even *was* a game - "Did I pick up a Harry Potter movie by mistake?"). The original Zelda, you could get from power off to the meat of the gameplay in literally seconds. Game devs won't let you do that now: They've gotta show off their cinematography so they can get hired by Pixar, where they *really* wanted to be all along. (Meh, Dreamworks was always better anyway ;) ) Sheesh, (and now I'm *really* getting sidetracked here ;) ), even *Hollywood* hates exposition (you can tell by how the actors/directors always rush through those lines as fast as they can). But go figure: with all the Hollywood brown-nosing the game devs do, and imitating them even in ways that make no sense for an interactive medium, that hatred for exposition and rambling on, and on, and on, is the *one* thing in Hollywood that game devs aren't tripping over themselves trying to ape.
Mar 30 2012
next sibling parent "Nick Sabalausky" <a a.a> writes:
"Steven Schveighoffer" <schveiguy yahoo.com> wrote in message 
news:op.wbzdtbo0eav7ka localhost.localdomain...
 On Fri, 30 Mar 2012 04:21:12 -0400, Nick Sabalausky <a a.a> wrote:

 "Nick Sabalausky" <a a.a> wrote in message
 news:jl3n59$qf7$1 digitalmars.com...
 Of course, I don't expect software to be as super-fine-tuned as it was 
 on,
 say, the Apple 2 or Atari 2600. There *is* definitely some value in
 loosing a certain amount of performance to abstractions, up to a point.
 But we've blown way, way, WAAAY beyond that point.

 It's sickening how much gratuitous waste there is in a lot of "modern"
 software, and really for not much benefit, as D proves.


100% agree. There has been a huge trend in software to disregard performance because "the hardware will take care of it." Interestingly enough though, performance still turns heads :) That is, when faced with two applications that do the same thing, but one is twice as fast, most people will choose (and probably pay more for) the faster one.

Yup. And there's *also* still the issues of: - Saving your user money on hardware. - **Battery-Fucking-Life** - Noise. All that extra processing produces more heat, thus requiring more cooling and, often times, more fan noise. - Environmentalism. All that useless processing causes the hardware to suck up more electricity, and that means power plants burning more dino-fuel and producing more nuclear waste. - Environmentalism again: Less need for hardware upgrades means less hardware in landfills.
 Desktops are the worst offenders, and paricularly WinXP.

Windows 7 is vastly better at both startup and shutdown than WinXP.

Yea, like I said, "particularly WinXP" ;)
 On my old (super-low-power) NES, you could hit the power  button,
 and within one second you were at the title screen.

You must have had a different version of NES. The process to start mine up was not nearly as fast. It went something like this: 1. Insert cartridge, push down cartridge, power on. (I cite this as one step because it became automatic to do this in 2 seconds) 2. Screen with horribly large pixellated game appears. 3. Power off, pull out cartridge. 4. Blow in bottom of cartridge, even though the pins are clean and free of dust (did this actually ever do anything?) 5. Re-insert cartridge, this time more firmly, push down deliberately to make sure game locks into place 6. Power on, normal screen comes up, push start button. 7. Play for about 2 minutes, game hangs with single audio tone. 8. Bang hand on top of NES to show it you mean business. Sometimes it will whimper back to playing mode. 9. After second hang, attempt to press reset button about 15 times. Peanut-sized pixels return. 10. Power off, remove catridge, repeat blowing procedure from step 4, but with slower more deliberate breath. Try a blowing pattern, like quick bursty blows in various locations. Insert cartidge even MORE firmly. Jiggle cartridge a bit to make sure the NES is aware there is a valid game for it to consume. 11. Lower cartridge, power on. Play game for another 5 minutes. 12. After next hang, turn power off, and watch cartoons.

Heh, good point :) It didn't happen with brand new systems/carts though, it took awhile for them to corrode and for the pins to warp. But yea, I'd actually forgotten about that.
 Some of that stuff isn't even a technical matter at all, but deliberate
 design: Who the hell decided we need twenty company logos (fully 
 animated,
 one at a time), then 10+ minutes of exposition and building "atmosphere",
 followed by half an hour of (typically patronizing) tutorials before
 actually getting to the real gameplay? Zelda Skyward Sword is the worst
 offender, it literally takes *hours* to get past all the initial 
 exposition,
 tutorials and shit into the real core of the game (I honestly started
 wondering if there even *was* a game - "Did I pick up a Harry Potter 
 movie
 by mistake?"). The original Zelda, you could get from power off to the 
 meat
 of the gameplay in literally seconds. Game devs won't let you do that 
 now:
 They've gotta show off their cinematography so they can get hired by 
 Pixar,
 where they *really* wanted to be all along. (Meh, Dreamworks was always
 better anyway ;) )

When I bought the new Wii motion plus (that gives better sensitivity) with Wii Sports Resort, the first time you play, it makes you watch 8 minutes of instructional video on how to use your Wii motion plus. I thought at the time "Wow, that was a bit long, but I guess I only have to do it once." Then I went to my sister-in-law's house, and wanted to show her the game. This was *her* Wii's first time playing the game, so again, I had to watch the damn video (no way to skip). It happened a third time on my parents' Wii, and I was thinking "Man, this was a *bad* design decision".

Uh-huh. I've actually played a lot of Wii Sports Resort. I honestly can't believe how much I ended up liking parts of it. I normally can't stand "casual" games. I can't stand Miis (got sick of them within a year of the Wii first coming out) I can't stand the non-disableable elevator music in that game. And there are a lot of stinker games in Sports Resort (Cycling anyone? Didn't think so) But I've played so much of the Bowling and Frisbee Golf it's ridiculous. The Archery, Golf, Swordfighting, and Island Flyby are surprisingly good, too. (The rest is largely forgettable, though.) But yea, I really have gotten sick of Nintendo's bullshit: - All their core IPs are getting systematically dumbed down. - They never let you skip cutscenes, unless the game save says it's already shown you it...which proves they're pulling that unskippable shit *deliberately*. Truly moronic design. I don't even watch them, I just switch to a TV channel, or turn the TV off and then come back later. - The system menu "music" that never ends. - The endless stream of nanny health screens. There's literally *two or three* of them *every* time you turn on the system to play. - Many game saves are *blocked* from being backed up to SD or even taken to a friend's system. - And oh yea, you're not allow to play imports, or write software or run non-official code on a device you *legitimately own*. Shit, they're actually *worse* than *Apple*, for fuck's sake! How the hell is that even possible? All that crap is why I decided "Fuck you, Nintendo" and softmodded the goddamn thing. Thanks to things like Priiloader, a couple USB loader apps, Homebrew Channel and Homebrew Browser: - I no longer have the initial startup health screen. - I no longer have to listen to that "music" in the system menu which got painfully irritating after the first *year* of listening to it. - I can do WTF I want with game saves. - I can play imports. Fuck region coding. - I can keep all my games on a USB HDD, so I: * Don't have to worry about the discs getting damaged. * OR the laser burning out (already became a problem on my XBox1, but almost irrelevant now thanks to XBMC). * OR swapping discs just to play something different (seriously, WTF is this, 1995?). * AND as a bonus, load times are now *much* faster. - I can write software for it (Meh, if I ever had the time) - I can play some very clever homebrew games like Sand Traps ( http://wiibrew.org/wiki/Sand_Traps ) Hail hackers, Fuck Nintendo's suits. And fuck the DMCA - a completely illegitimate law and the *only* thing making *any* of this illegal. (Plus I can discover that a game is total crap *before* blowing fifty bucks on it, instead of *after*...Not that I would do that...)
Mar 30 2012
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:udpabjwyzxlollbizxzz forum.dlang.org...
 On Friday, 30 March 2012 at 11:21:02 UTC, Steven Schveighoffer wrote:
 4. Blow in bottom of cartridge, even though the pins are clean and free 
 of dust (did this actually ever do anything?)

My hypothesis is it was actually the moisture that made a better connection.

Probably. Problem is, it also corrodes the connectors. So the more you do it, the worse it gets. Best thing to do is rubbing alcohol on a q-tip. Or rubbing alcohol on a soft cloth wrapped around a few old credit cards or a thin piece of wood.
 I prefer the cartridges, flaws and all, to CDs. They
 are so easy to dirty up, scracth, or get outright broken
 (my brother was an angry gamer!)

 And they load sooooo slowly, especially the newer games.

Totally agree on all counts. I *liked* that the N64 used carts (although some were ridiculously pricey). And right from day one, you knew that the PSP's use of discs was a colossally stupid thing to do on a *portable*.
Mar 30 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:ftnddrqdfbrtxiiwehaa forum.dlang.org...
 On Friday, 30 March 2012 at 21:03:21 UTC, Nick Sabalausky wrote:
 Problem is, it also corrodes the connectors.

Yea. But oh well, it can't be too bad... my old games all still work! Though, nowadays I tend to prefer the emulators.

Oh *definitely*. BTW, Wii homebrew is *fantastic* for that. It literally turns the Wii into a (very good) set-top multi-emulator device. And many of the Wii-hosted homebrew emulators are *very* good now. *FAR* better than the half-assed Virtual Console stuff.
 I have
 a playstation controller on usb, which works for all
 the old games naturally (there's a clear progression
 from nes -> super nintendo -> playstation, each is a
 superset of the next. It works well for Sega too.)

Yea. This gets into one thing I *love* about China's unwillingless to play by the US rules: Thanks to Hong Kong, I have an inexpensive device that lets me use a PS2 controller on PC *AND* GameCube *AND* XBox1 (And on Wii, for the few games that are actually intelligent nough to allow GC controllers as an alternative to the piece of crap "Classic Controller"). I love this thing. But that would *never* happen under US-style IP law. Playing by US rules, you're not allowed to have the *basic consumer choice* of using whatever the fuck controller you want with whatever the fuck system you want. China *allows* such consumer choice. Yup: China being *more* free than the corporate-owned US. Go figure.
 No hardware hassles, doesn't take space under the tv.
 I used to have a real mess of crap in my bedroom, the
 cords were hideous. Now most of that is on the computer.

Eeewww, I hate playing games on a PC: - Too many other processes to screw up the experience. - I spent sooo many hours every day *working* at the computer desk, I *don't* want to be be glued to it for my entertainment, too. - Even if I didn't use a PC for work, for my entertainment, I'd still much rather use a nice comfortable living room couch/TV/environment than a computer desk anyway. - Plus the non-indie commercial games come with rootkits and the requirement of buying new hardware twice a year. No thanks.
 The computer can also crank up the speed, which makes
 some of those old games so much more playable! I can't
 believe I used to sit there 10 hours a day and just
 grind or use the slow moving characters.

Some of the Wii-hosted homebrew emulators will do that too :) I doubt I would have ever gotten all the way through Chrono Trigger if it weren't for that feature.
 I *liked* that the N64 used carts

I have only one game for the N64: Perfect Dark. Bought the game when I saw it at one of the stores and picked up the system like a month later. Great game, still my favorite of the FPS genre.

Yea, this is a pretty good one. Another one of my favs in Conker's Bad Fur Day. You play a cute little furry squirrel, and then you do things like get drunk so you can kill flame-based enemies by staggering around and pissing on them :) Fantastically "wrong" and great gameplay. It's a Rare game from back when Rare was actually still good. Actually paid $80 for that fucking game, but never regretted it.
Mar 30 2012
next sibling parent "Nick Sabalausky" <a a.a> writes:
"Bernard Helyer" <b.helyer gmail.com> wrote in message 
news:jiioyfihtaqhpjafgmxr forum.dlang.org...
 Eeewww, I hate playing games on a PC:

 - Too many other processes to screw up the experience.

Maybe if you were basing your experiences off of Windows 95.

Actually, it was pretty good back then, I'm thinking more the past 10 years. There's too much background crap that's always running now, not to mention programs completely hoarding as many resoruces and CPU power as the possibly can. Back with 95/98, there were what, three basic processes that were always running? I used to even have them memorized. Now it's probably around 10x times that, plus god-knows how many services, and half of it's all written in a "the hell with efficiency" style.
 - I spent sooo many hours every day *working* at the computer desk, I
 *don't* want to be be glued to it for my entertainment, too.

 - Even if I didn't use a PC for work, for my entertainment, I'd still 
 much
 rather use a nice comfortable living room couch/TV/environment than a
 computer desk anyway

Fair enough. You can hook PCs up to a TV though, of course.

Yea, and I can replace my car's steering wheel with a one of those big wooden things things they used to use on boats ;) My point being, yes, it's technically doable, but to make it work *well* is too much of a DIY project. (Plus it's not really doable for me since the shithole I've got here has knob-and-tube wiring pretty much everywhere but my computer desk, so nothing three-prong will work in the living room, so it'd have to be a laptop). Something like a softmodded Wii, OTOH, is cheap, quick, easy, and has great results. (*Really* looking forward to the Raspberry Pi, though.)
 .
 - Plus the non-indie commercial games come with rootkits and the 
 requirement

Lose the hyperbole. :P

There's no hyperbole there. PC gaming DRMs have been *known* to be implemented as rootkits. That's plain fact. That's one of the reasons people pirate PC games they've already legitimately bought - because it doesn't have DRM, and therefore doesn't go screwing around with their kernel.
 of buying new hardware twice a year. No thanks.

Oh please. The hardware requirements have basically been static because of the age of the current consoles.

Even if that's true, it's too little, too late. Once bitten, twice shy.
Mar 30 2012
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:vcadggwxsbxhdkjhrqfl forum.dlang.org...
 On Friday, 30 March 2012 at 22:43:00 UTC, Nick Sabalausky wrote:
 But that would *never* happen under US-style IP law.

You know what's funny: I used to use an Atari ac adapter for my Sega. (still do, when I actually use the thing) The Internet tells me that Sega controllers work in Ataris too! Accidental compatibility there!

Yea, that was before the suits smelled money in the games direction, invaded, and decided "What's with all this oppenness bullcrap? LOCK THAT SHIT DOWN! Rope 'em in and lock 'em in!" Like the AV cords: For fuck's sake, what's with the proprietary AV connectors? DVD players (even small ones) get by fine without that bullshit: They could easily have gone with proprietary conectors on the device end like the game companies do. But they're not actually asinine enough to do it.
 My computer chair is probably the nicest furniture I own...
 In my house's big room, I have a floor bed: a couple
 blankets and pillows on the floor, next to my big tv.
 (my "big tv" being a 20 year old 19" set! I'll use it till
 it dies. Then duct tape it back together and get a few more
 years out of it.)

Finally! Another person that's not jumping on board the "If flatpanel HD sets are so popular then I guess I have to go spring for one, too" bandwagon!
 Besides it's just that I always feel like I *should* be working,
 or at least available in case something comes up,
 and if I'm sitting at the computer, at least I can pretend
 to be...

That's kind of another thing: If I need to be doing work, it's going to be damn hard if I have a bunch of games two clicks away. I'm both tongue-in-cheek and totally serious on that :)
 BTW, Worms 2, now there's a great game.

Yea, I've always like Worms. That's a good one. I grew up with the original Worms though, so the changes in Worms 2 took some getting used to: The cartoon worms, the new voices, the lack of scaling (the kids call it "zooming" these days ;) ). Got used to it though, and it's very good. Another fantastic turn-based strategy is Moonbase Commander. Super under-appreciated.
 I hear they are
 doing a new 2d Worms game, written in D. I look forward
 to it. (totally on topic now :P)

Really? Cool!
 I doubt I
 would have ever gotten all the way through Chrono Trigger if it weren't 
 for that feature.

huh, Chrono Trigger moves pretty quickly. I don't mind it at regular speed at all.

I'm trying to remember what it was that felt really slow to me...It's been awhile since I played it, but I think it *might* have been fanfare at the end of each battle...? Something like that anyway. It was a short, minor thing like that, but it was frequent enough that it just felt like I was being really slowed down.
 Unless you were playing the AWFUL playstation version. The
 super nintendo one was pretty well paced. The events moved
 along quickly, the characters moved at a good speed,
 and most importantly, NO LOAD TIME.

No, it was definitely the SNES one. Aside from active time battle (which I've never liked in any of Square's games that used it), it's certainly not a bad game overall. Quite good, really. Although, I was always more of a Lunar fan, even if the battle system wasn't quite as polished as Chrono Trigger's.
 What the /hell/. I know the playstation wasn't exactly
 the beefiest hardware ever made, but come on.

Yea, constant loading sucks. Actually, that reminds me, have you seen that YouTube video of Sonic 2006's hub-world "gameplay"? Pretty much exactly like you describe: contant (slow) re-loading for at every trivial step...Except it's on the 360/PS3. No doubt that must have been a real rush-job.
 Since I'm talking about final fantasy, I played their playstation
 games to, #7, 8, and 9. I've played 7 and 8 more than once, but
 haven't gotten myself to try 9 again (despite it sitting next
 to me for years now. Seriously, I can reach it right now!)

You know, I've always had mixed feelings about square. I've always liked JRPGs, especially 16-bit ones, and square's have always had top-notch storytelling and presentation, but there's always been one reason or another that I never got far with any of them, despite beating other JRPGs like Lunar (multiple times, on both SegaCD and PSX). The SNES Final Fantasy's seem right up my alley, being 16-bit JRPG and all (and I have a couple of them on PSX), but the active time battle just makes it really difficult for me to want to stick with it enough to get anywhere. So I don't think I've ever managed to get more than a couple hours into those. In the PSX era, I was more into PC gaming and didn't have a PSX, so I got the PC FF7. Not long after I got to the overworld map (roughly disc 2? After Aeris is kidnapped, but before...uhh...you discover her ultimate fate - does that even *count* as a spoiler anymore? *Did* it ever? ;) ), I ended up getting bored with it and never got any further. Later on, I got FF8 (for PSX), and even though I didn't mind the draw system, early on in disc 2 I realized I was only playing it to see what happens and was genuinely dreading/rushing-through the battles (which just seemed boring), so I gave up on that too. Didn't like how it was so ultra stat-heavy, either. I can enjoy stat-fiddling up to a point (such as in Castlevania: SOTN - the #1 best game ever created), but in FF8 it just seemed excessive. Never tried 9. Played a demo or two of FF10, and thought "meh", and I guess I've kinda given up on FF since. I spent years trying to like the series and just couldn't :/ Ironically though, I think I'm the only person in the world who actually *likes* "FF: The Spirits Within". (I think part of what I liked was that it was a CG movie that *wasn't* a cartoon.)
 Aaaanyway, two objective complaints I have about it are
 a) load times and b) cutscenes. 7 and 8 had these problems
 too, but it was different...

Heh, on games like that, I feel a little bit differently about cutscenes. While my hatred for cutscenes and story-driven games has been growing for over a decade, storytelling has always been one of the core points of JRPGs.
 FF7 fight time from start of graphic to menu input: 7 seconds.
 FF8, same thing: about 7 seconds too, but you could turn them off, omg.
 FF9.... 15 seconds.

 (btw, FF1, same measure: < 2 seconds.)

Heh. Yea. Faster the hardware, the more waiting. Go figure.
 That's right, the load time just about doubled between 8 and 9!
 How ANNOYING.

 And cutscenes: 7 had a few. 8 had a few more. 9 piled it right
 up.

 Gah!

Hmm, I'll be sure not to try 9 ;) I guess even in JRPGs, story and cutscenes can be overdone.
 But the worst when it comes to exposition is Metal Gear Solid.

Oh my GOD yes, you're right. I was even going to mention that in reply to the FF stuff. MSG1 was a great game at the time, despite the constant chatter. In fact, it was one of the main reasons I got a PSX (the other reasons being Castlevania Chronicles and SOTN). I don't think MGS1's gameplay holds up very well now, though. MGS2 was CRAP. I couldn't understand how so many people actually liked that so-called "game". World's worst offender in terms of pointless incessant yammering with no gameplay (at least until Zelda Skyward Sword came out, which seems roughly even with MGS2 - but at least most of MGS2's cutscenes could be skipped - although there were so many that even *skipping* them still took forever). I do have to admit though, the gameplay in MGS2, what incredibly little there actually was, was actually pretty good. But I've been spoiled by the Splinter Cell series which is stealth gameplay that even puts MGS2's gameplay completely to shame. Plus, the first three Splinter Cell games actually have very *good* (ie, not moronic) storylines that...here's the best part...are *seamlessly* integated with the gameplay and *don't* interfere with it (Splinter Cell 4's storyline is properly integrated, too, but it's a really f*ing stupid "THIS time, it's PERSONAL!" travesty). Seriously one of the best game series of all time (aside from the story in #4). I played a demo of MGS3 and...never even finished the demo. The chatter was just as bad as in MGS2, plus loading times were worse, plus the gameplay itself was boring: It seemed to involve too much "Go into the menu to change clothes". What is this, Metal Gear, or Barbie's Dress-Up Menus? I've never touched MGS4 and I never will. No matter what the gameplay is like. Then the same guy behind MGS *cough*reinvented*cough* Castevania to predictably horrid results. And yet somehow it was well-received. After playing the demo, I cannot understand why: *everything* looks like plastic-toys-wrapped-in-cellophane, and the gameplay is a pure God of War clone (which itself was just mediocre: As my brother astutely pointed out, God of War is just the nighttime levels of Sonic Unleased with an Ancient Greek theme). Man, what I wouldn't give for a *second* Metroidvania game that *doesn't* require being played on a tiny little handheld screen...Preferably with the badass Alucard (and not that pussy Soma).
 But MGS2 was just non fucking stop. Round a corner, mandatory
 call. Listen to them blabber on meaninglessly for like 45 minutes.
 Seriously, some of the exposition scenes were that long, just
 dribbling dialog.

 My god.

Yes, and if you were massochistic enough to actually listen, the *content* of the conversations was maddeningly inane (that's "inane", not "insane". Although "insane" works, too.) It's like listening to a detailed analysis of Sex and the City plotlines: Who the fuck cares?!?!
 Anyway I'm really rambling.

Oh, like I'm not? ;)
Preaching to the choir I'm sure.

Yea, but it's fun to actually *agree* with someone on gaming (or anything) for a change.
 It's a Rare game from back when Rare was actually still good.

heh, they also did Perfect Dark and the great Battletoads on the nintendo. I never did finish that battletoads, but I beat the living crap out of my brother over and over again!

Heh, yea, Battletoads was fantastic. I never beat it either, at least not without Game Genie. Insanely hard. A real "gamer's" game. That hoverbike section was just EVIL! Rare used to be truly fantastic, right up there with Treasure. But when Free Radical split off, it killed both companies: Rare lost the ability to understand the art of gameplay, and Free Radical just re-released Goldeneye over, and over, and over, and over, and over, and called it "TimeSplitters".
Mar 30 2012
next sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/30/2012 11:16 PM, Nick Sabalausky wrote:
 "Adam D. Ruppe"<destructionator gmail.com>  wrote in message
 In my house's big room, I have a floor bed: a couple
 blankets and pillows on the floor, next to my big tv.
 (my "big tv" being a 20 year old 19" set! I'll use it till
 it dies. Then duct tape it back together and get a few more
 years out of it.)

Finally! Another person that's not jumping on board the "If flatpanel HD sets are so popular then I guess I have to go spring for one, too" bandwagon!

Dudes, get an HD TV. It really is transformative. And yes, it kills me that my expensive old large screen standard def TV is just a POS in comparison, even though it is in perfect working order. I can't even stand to watch standard def anymore.
Mar 31 2012
next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:jl6a6a$1gh$1 digitalmars.com...
 On 3/30/2012 11:16 PM, Nick Sabalausky wrote:
 "Adam D. Ruppe"<destructionator gmail.com>  wrote in message
 In my house's big room, I have a floor bed: a couple
 blankets and pillows on the floor, next to my big tv.
 (my "big tv" being a 20 year old 19" set! I'll use it till
 it dies. Then duct tape it back together and get a few more
 years out of it.)

Finally! Another person that's not jumping on board the "If flatpanel HD sets are so popular then I guess I have to go spring for one, too" bandwagon!

Dudes, get an HD TV. It really is transformative. And yes, it kills me that my expensive old large screen standard def TV is just a POS in comparison, even though it is in perfect working order. I can't even stand to watch standard def anymore.

I've seen and used HD sets. Heck, my sister has one (a fancy new one - 1080p of course) and I've watched stuff on it with her. BluRay, HDMI, all the bells & whitles, etc. Yea, the HD looks nice, but ultimately I've never gotten past the overall feeling of "Meh". YMMV, but it *honestly* just doesn't do much for me. Certainly not enough to blow hundreds of dollars on it. And that's with HD content. A lot of my stuff is SD (and will never change to HD - it's not as if my Wii or XBox1 games/hardware are suddenly going to start outputting HD), and I've always found that SD content looks noticably *worse* on an HD set than an SD set, no matter how fancy the upscale filtering is. The upscaling/filtering artifacts are always painfully noticable and it just looks like shit. But it looks perfectly fine on an SD set. 'Course, the old HD CRTs would have been able to handle SD content perfectly fine, but you can't get those anymore. So blowing hundreds of dollars just so half my stuff looks *worse* and other stuff looks (to me) only marginally better? Pass. It's not like B&W -> Color. Just a higher rez. Meh, big deal. When it's commonplace to have inexpensive HD *with* extended gamut (sp?) and quality no-glasses/no-headaches 3D, and content to take advantage of all that (and without getting dizzy from all the shaky-cam bullshit), then it'll probably be enough for me to care. At one point I went from a 160x160 greyscale Handspring Vizor (PalmOS) to a 320x320 full-color Palm Zire 71. *That* was a significant difference. SDTV -> HDTV? Small potatoes, I just can't care.
Mar 31 2012
next sibling parent Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, March 31, 2012 09:30:19 Sean Kelly wrote:
 Don't have the HD set stretch the image. Just watch it in the original
 format. Personally, I just find that looking at an LCD display is easier on
 the eyes than a CRT. Being able to mount it on the wall to get it away from
 the kids is nice too.

Changing the aspect ratio of an image is downright evil. It distorts the image and looks horrible. I was shocked and horrified to learn that any TVs did this at all, let alone by default, and I have no idea how anyone can put up with it. - Jonathan M Davis
Mar 31 2012
prev sibling parent "Nick Sabalausky" <a a.a> writes:
"Steven Schveighoffer" <schveiguy yahoo.com> wrote in message 
news:op.wb47llmueav7ka localhost.localdomain...
 I currently have an HD tube tv which runs at 1080i.  The nice thing about 
 tubes is that standard definition *does* look more normal in it.

Yea. They don't make them anymore though :(
 But the  bad part is that most HD signals are *expecting* you to have a 
 flat  panel.  Whenever I watch a sports game, I get pissed that the score 
 is cut  off by my TV because they put it on the exact edge of the picture.

A lot of Wii homebrew actually does that too. Annoying as hell. It's like people forgot what used to be common-knowledge design principles.
Apr 02 2012
prev sibling next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 3/31/2012 6:53 AM, Adam D. Ruppe wrote:
 On Saturday, 31 March 2012 at 07:02:35 UTC, Walter Bright wrote:
 And yes, it kills me that my expensive old large screen standard def TV is
 just a POS in comparison, even though it is in perfect working order.

It might help that I have smaller tv sets. I have a 19" and a 13", and they have beautiful pictures.

Not really. I have an ipod with the retina display, and the older one with the low res display. It's a tiny screen. Casually, they look the same. But the retina display really does make a big difference! It's just a lot less eyestrain to read text on it, for one thing. And it just looks crisper. I hope Amazon's next Kindle Fire will have a high res display, if it does I'll upgrade just for that. I'm glad Apple has raised the bar on this.
 Something that I found really interesting is even
 on my old tvs, the new digital broadcasts actually
 do look pretty good - better than cable and satellite.

That's because your cable provider is compressing the image, and the over-the-air broadcasts do not.
Mar 31 2012
prev sibling next sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:fheaogseyibtulrhfsmg forum.dlang.org...
 On Saturday, 31 March 2012 at 07:02:35 UTC, Walter Bright wrote:
 And yes, it kills me that my expensive old large screen standard def TV 
 is just a POS in comparison, even though it is in perfect working order.

It might help that I have smaller tv sets. I have a 19" and a 13", and they have beautiful pictures. I don't want to go any bigger than this. I sit right next to my 13" (I can reach out and touch it right now), so anything bigger would just be overwhelming. I guess I physically could go bigger than the 19 inch, since there's plenty of room where that one is, but meh.

My bigger one is something like 27"-31" (ballpark, I don't remember the exact number), and it still looks great to me.
 I can't even stand to watch standard def anymore.

Something that I found really interesting is even on my old tvs, the new digital broadcasts actually do look pretty good - better than cable and satellite.

Don't know about satellite, but Cable turned to crap about a couple years ago. It used to be very good, but then they started compressing the fuck out of everything, and honest to god, half the time it looks like a fucking MPEG**1**. "Digital quality" my fucking ass. (And and there were even A/V sync issues!) Over-the-air broadcast literally looked *better* than that *before* the digital switch! I'm not exagerating. And I'm *just* talking SD here! And with what Time Warner charged for that shit quality? And they still expect *more* money on top of that for good^H^H^H^Hawesome stations like NHK. And they don't even show the new local subchannels like Antenna TV or PBS's Create. And then all the shows you're paying ungodly amounts of money for have *overlayed* ads? Oh yea, and the set-top boxes themselves don't even work right anymore! You push a button and they'll literally just sit unresponsive for about 10-30 seconds. Fuck that shit. I've mostly just been watching library DVDs for the last few years, and we even got rid of cable entirely a couple months ago. We don't regret it at all. I actually watch *more* broadcast TV now. The "old show" stations and PBS have such incredibly *better* directing and editing it's rediculous. And none of that drama-queeen bullshit the other networks insist in cramming into *everything*. *Food Network* shows are all drama-queen bullshit and shaky-cam/rapid-fire-editing now! It's crazy, it's like they're *trying* be as shitty as possible! But PBS is mature enough not to pull any of that crap.
 I decided to turn off my cable last December (paying
 $55 / month to watch CBS, PBS and USA just isn't remotely
 worth it,

!!! That's *cheap* for cable. (Still not worth it though, I agree.)
Mar 31 2012
parent "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:ywifkafuypvfduunmatf forum.dlang.org...
 On Saturday, 31 March 2012 at 20:54:49 UTC, Nick Sabalausky wrote:
 Oh yea, and the set-top boxes themselves don't
 even work right anymore!

That was *terrible* when digital was new, but wasn't bad at all when I left (in December). The cable was pretty good... just /ridiculously/ overpriced.

That would make more sense, but for some reason it was backwards for us. Our area was initially Adelphia, and everything actually worked 100% fine for a long time. Then their CEO, or some other board member or whatever went to jail apperently, and Time Warner scooped us up, and everything just went straight downhill from there. I still find it wonderfully amusing that the known-corrupt Adelphia actually gave us better service than Time Warner.
 That's *cheap* for cable. (Still not worth it though, I agree.)

Actually, I think I flipped that... I'm paying $55 now for the internet. (that reminds me, it is time to pay that again) At first, the cable+internet was $90 / month. But, after the first year, they jacked it up to $120. And then, the next year, they jacked it up to $130. So I was probably paying $75 for the cable. Even worse. Totally not worth it.

I don't remember our exact numbers, but that sound right about on par with us. Interstingly though, Time Warner was always more expensive than Adelphia. We first got cable w/ digital w/ internet through Adelphia when I was in 12th grade IIRC (Cleveland area - Northeast Ohio). Then two or three years later, when I got out of the college dorms and into a college apartment (Toledo area - Northwest Ohio), *that* area was served by Time Warner and IIRC they were charging something like $20-$40 more than the folks were paying back home in Cleveland for the same service. Then later on when Adelphia collapsed and Time Warner took over, the prices back here in Cleveland started getting jacked up more and more each year (and like I said, the service got worse and worse).
 I'm not terribly happy with that internet price either,
 but I use the crap out of it and my job relies on it,
 so meh.

That does seem about $15 higher than it should be. I'd have to check what we're paying though, might actually be the same these days. I could never go back to dial-up though. Seriously. Like you, I just wouldn't be able to do my work.
 But, speaking of raising prices, this reminds me of a
 convo I had with my landlady a couple weeks ago.

 She noted that I've been here for two and a half years
 and only jacked the rent once.

 "I've been getting behind on that... I have to raise it
 at least 3% a year. The cost of living is going up..."

Wow, what a moronic load of crap! That's why I think people with a < 100 IQ should be institutionalized or at least kept from making decisions that affect other people.
 Yes, the cost of living is going up because YOU are
 insisting on raising the rent on some fixed schedule!

Exactly! It pisses me off when people blame things on "inflation". Yes, there *is* certainly inflation involved, but inflation means the money *itself* has reduced worth: Ie, more $ going out *and* more $ coming in. See, going from earning $100 and then paying $0.10 for product X, to earning $1,000 and paying $1 for product X - *THAT'S* inflation. You know, "$100 / $0.10" with 10x inflation == "$1,000 / $1". But that's NOT what we have: What we have is more like "$100 / $0.10 -> $115 / $1". That's not inflation, that's just corporate greed and bullshit excuses.
 But, ugh. I hate moving and I hate being in debt, but

Yea, same here.
 she made the decision for me - I'm just going to buy
 a house and be done with it. I hate annual price hikes,
 no matter who's doing it.

Good for you! (Stick it to the...*ahem*..."man" ;) ). The one thing to be careful with though is maintenance. If it's an older house, sometimes the upkeep can end up costing more than what you'd expect to save (My mom ran into that once). Finances are a pain the the ass, eh?
Mar 31 2012
prev sibling parent reply Jonathan M Davis <jmdavisProg gmx.com> writes:
On Saturday, March 31, 2012 05:37:49 Nick Sabalausky wrote:
 "Walter Bright" <newshound2 digitalmars.com> wrote in message
 Dudes, get an HD TV. It really is transformative. And yes, it kills me
 that my expensive old large screen standard def TV is just a POS in
 comparison, even though it is in perfect working order.
 
 I can't even stand to watch standard def anymore.

YMMV, but it *honestly* just doesn't do much for me. Certainly not enough to blow hundreds of dollars on it.

Personally, I can stand SD less and less, and poorer video quality annoys me more and more. But I deal with video-related software for a living, and I've transcoded enough video (especially HD video) in my free time that I _really_ notice the flaws. There are DVDs that I watched 5 years ago and thought were fine that I see now and have a very hard time standing them, because they look so bad. There are even encoding issues that I see in blu-rays quite often that drive me nuts (especially banding), but that's the best that you can get at this point. My parents, on the other hand, don't have any HD anything, don't see the point, and don't seem to care much about video quality at all. So, it really depends on what you're used to and what you expect. I've just dealt with video encoding and the like in enough detail long enough to get really picky about it (my Mother thinks that I'm a snob about video and audio quality). I don't have a TV right now (I just watch everything on my computer - 24" 1920 x 1200 display), but if I did, I sure wouldn't put up with an SD TV. I'd be looking to get a high quality, HD TV. But there's no question that YMMV. - Jonathan M Davis
Mar 31 2012
parent "Nick Sabalausky" <a a.a> writes:
"Jonathan M Davis" <jmdavisProg gmx.com> wrote in message 
news:mailman.1266.1333244549.4860.digitalmars-d-announce puremagic.com...
 On Saturday, March 31, 2012 05:37:49 Nick Sabalausky wrote:
 "Walter Bright" <newshound2 digitalmars.com> wrote in message
 Dudes, get an HD TV. It really is transformative. And yes, it kills me
 that my expensive old large screen standard def TV is just a POS in
 comparison, even though it is in perfect working order.

 I can't even stand to watch standard def anymore.

YMMV, but it *honestly* just doesn't do much for me. Certainly not enough to blow hundreds of dollars on it.

Personally, I can stand SD less and less, and poorer video quality annoys me more and more. But I deal with video-related software for a living, and I've transcoded enough video (especially HD video) in my free time that I _really_ notice the flaws. There are DVDs that I watched 5 years ago and thought were fine that I see now and have a very hard time standing them, because they look so bad. There are even encoding issues that I see in blu-rays quite often that drive me nuts (especially banding), but that's the best that you can get at this point. My parents, on the other hand, don't have any HD anything, don't see the point, and don't seem to care much about video quality at all. So, it really depends on what you're used to and what you expect. I've just dealt with video encoding and the like in enough detail long enough to get really picky about it (my Mother thinks that I'm a snob about video and audio quality). I don't have a TV right now (I just watch everything on my computer - 24" 1920 x 1200 display), but if I did, I sure wouldn't put up with an SD TV. I'd be looking to get a high quality, HD TV. But there's no question that YMMV.

I can actually relate somewhat: Compression artifacts, messed up aspect ratios and double-letterboxing (ie, on both top/bottom *and* sides) all drive me absolutely nuts. And it bugs me even more that most people don't even seem to notice. Seriously, how f*ing hard is it to get aspect ratios right? You flag the damn video with its aspect ratio[1], pass it through *everything*, and if the *display device* is physically different, it letterboxes as appropriate[2], and *optionally* crops instead if you really want it to. For non-digital TVs, you tell the tuner-box/cable-box/DVD-player/Game-console/etc., what aspect ratio the TV is and it does the scaling/letterboxing instead. Done! Follow that and *nothing* should ever be stretched, squished or double-letterboxed for *anyone*. But no, everything's gotta be done as ad-hoc, fly-by-the-seat-of-your-pants bullshit. It's HTML4 all over again. Pulldown/interlacing artifacts and lack-of-vsync tearing annoy me too. Light text on a light background (esp. when it's really tiny text, as they like to do now for some reason - do filmmakers and gamedevs somehow think high resolution automagically makes the screen's physical size larger? Because it doesn't.) Pan & scan conversions of 16:9 -> 4:3. (Not that anyobne does that anymore...do they?) Shaky-cam and rapid-fire edits irritate the *hell* out of me too, but I guess those aren't so much technical issues as production ones. And then there's watching shows on my grandma's ~17", ~30-year-old twin-lead-input TV. Not *that's* a bad picture! [1] And when the content changes ratio, change the damn flag, don't bake in the letterboxing. [2] "Letterbox": Ie, *uniformly* scale the video so that one dimention is an exact match and the other dimention is smaller than the screen and centered. Cropping is the same, just choose the other dimension as the exact match.
Mar 31 2012
prev sibling next sibling parent Robert Clipsham <robert octarineparrot.com> writes:
On 31/03/2012 07:16, Nick Sabalausky wrote:
 I hear they are doing a new 2d Worms game, written in D. I look
 forward to it. (totally on topic now :P)

Really? Cool!

See also: * http://wormsng.com/ * http://worms2d.info/4 * https://github.com/CyberShadow/ae See anyone you recognize there? ;) -- Robert http://octarineparrot.com/
Mar 31 2012
prev sibling parent reply "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:evxliildxhaodnbmqkjw forum.dlang.org...
 On Saturday, 31 March 2012 at 06:14:03 UTC, Nick Sabalausky wrote:
 That's kind of another thing: If I need to be doing work, it's going to 
 be
 damn hard if I have a bunch of games two clicks away.

This is why Windows can kill me... I get addicted to those stupid built in games.

Heh :) They need to bring back Hover and update it (to be more than, what was it, like 32x32 resolution? ;) )
 Really? Cool!

http://worms2d.info/Worms_Armageddon There's a familiar name in there :)

Heh, I'll be damnned :) Our Vladimir's been doing a lot of really good stuff, hasn't he? Between that, and DustMite, and some D pull requests. Kudos!
 It was a short, minor  thing like that, but it
 was frequent enough that it just felt like I was
 being really slowed down.

heh, that's the way I feel about most animations, in games or not. "get on with it" is what I say.

Same here, word for word. It annoyed me in the Metroid Prime series, too. Every time you get one of the many, many, many missle upgrades and other such upgrades, it *has* to give you a little fanfare and fade in a message box during which time you can't do anything but wait. Every...single...time. Maybe we're just impatient gamers ;)
 But, in many of these games, I really like the
 background music, which makes it more awesomer.

The phrase "more awesomer" itself is inherently more awesomer than anything. :)
 In a game with bad music, everything gets more annoying.
 With good bgm, it can take its time, to an extent.

That's why I always hated stuff like EA Trax. "Let's cram our games full of whatever crap the RIAA is currently trying to shovel out. Great idea!"
 Although, I was always more of a Lunar fan

omg, not every day I see a Lunar fan! Silver Star Story: Complete is the reason I wanted a playstation. That's a beautiful game.

Certainly is. But *I* grew up on the original SegaCD version :) Both versions are great though. And it is worth playing both, because they are different enough. I can't believe I've still never gotten around to finishing either version of Lunar 2: Eternal Blue. I need to do that sometime. (All the Lunars after that sucked though, which is very unfortunate. Every play "Lunar: Dragon Song"? Trust me: Don't.)
 I don't think Working Designs has ever published
 anything less than great too.

Yup. Working Designs was great. And if you like them, Atlus seems to be the modern equivalent. Actually, that's exactly show I'd decribe Atlus: "The modern Working Designs, but with more games being released."
 My first game
 of theirs was Popful Mail on the sega cd, and
 that was awesome back in the day too.

I never actually played that until a couple years ago. *Definitely* a very good game. I keep meaning to go back and actually finish it. It's kind of sad, there was a lot of *really* good stuff on the SegaCD, but nobody ever knew because they kept pushing the "games" from Digital Pictures too hard, so that's all anyone ever knew existed. (Although I'll admit, I did enjoy Sewer Shark, especially it's over-the-top B-movie cheesiness. And Night Trap is actually kinda clever.) Some of the real standouts on SegaCD off the top of my head: - Sonic CD (One of the two best Sonic games ever made, the other being Sonic 2) - Final Fight CD (The best version of Final Fight) - Lunar 1 & 2 - Popful Mail - Willy Beamish - Silpheed (Very different from the PS2 version, but both are fantastic) - D (Heh, that's right. If the name is "D" it has to be good :) ) - Wolfchild - Puggsy (although this was on Genesis, too) The funny thing about D in particular (the game) is that it breaks practically every rule of good game design, and yet, that's exactly what makes it so fantastic. And not even in a "so bad it's good" sort of way, just genuinely good. (Ermm...wait no...D was on Saturn not SegaCD. Nevermind ;) )
 Something awesome though: my brother emailed them
 to send his condolences when they went out of business,
 and actually got a personal reply from Victor Ireland,
 the president. I doubt any other game company out there
 has such a connection with their fans.

Heh, cool :)
 But, what sucks: one of my Lunar SSSC discs is broken!

Ouch! One of my Driver 2 discs got broken in college, but I'm somewhat less bothered by that.
 But, great game. Those are cutscenes I couldn't get
 enough of.

Same here. I had a ritual (and still do to this day whenever I play it) of watching the entire intro song before every play session (Actually, I'm talking the SegaCD version here). I used to love that song, even had...no...*have*...it memorized: --------------------------- When all the land is peaceful, And there is no real threat to us at last, Then comes the time for love, Two hearts colliding into one great hymn. But there are winds forboding, And there is a dark storm that soon will pass. Kiss me my love and go, The time for valor has returned again. All through the night... Keep marching on... Fighting...Through the darkness... All is evil...Still we must press on... Fighting...Toward the the power... That enslaves us...Yet we are not done... Racing...To the climax... Of the battle...To return to love... Valiant... [Uhh, ok I forgot what goes here, and I think I may have screwed up this section anyway] Evil forces...Take heed --------------------------- Yea, it's pretty cheesy, but I was probably only about 12 at the time ;)
 While I'm talking about great games, another good
 one is Phantasy Star IV on the Genesis. II and III
 were ok too, but they moved too slowly. Literally,
 the character walking speed was abysmal. But, IV
 bumped up the speed big time, and it was amazing.

Yea. While I never really played Phantasy Star at the time, I did play through at least half of...one of them...about a couple years ago. Definitely a good game. It might have been the first...Regardless it wasn't Genesis, it was Master System, so whatever that could have been. I remember shuttling between three different planets, if that narrows it down. I think that may have been another game where the "increase speed" button helped ;)
 I hate the way "phantasy star" now refers to some
 shitty MMORPG though. Fuck that noise, the Genesis
 is where it's at.

Yea. I always liked the Dreamcast, but I never really got into Phantasy Star Online. Or any MMO for that matter (Unless you count Sierra's "The INN" - way back before online gaming meant the internet!)
 Actually, that reminds me, have you seen that
 YouTube video of Sonic 2006's hub-world "gameplay"?

Nay, but a friend bought some sonic game for the PS3 recently. I played it Wednesday, actually. The loading was annoying, but only at the start of a stage, so not disruptive to most the play. What got me though was the bizarre 3d stuff and seemingly sluggish controls. It was the same levels from Sonic 2, but it felt slow and unresponsive in comparison to the original. idk though, I haven't played the original for a long, long time.

I wonder which one that was. Maybe Sonic Generations? My brother and I have always been big Sonic fans even through the long period of admittedly crappy Sonic games. Sonic 2006 is the only one we haven't really played much of, and don't really plan to. But the PS3 ones he does have are: - Sonic Unleashed: Daytime leves are fantastic, the puzzle sections on the Wii/PS2 version are great, but everything else is crap - and the PS3 version has framerate issues that are completely unforgivble considering the PS3 is *more* powerful than the Wii or PS2 hardware. - Sonic Colors (Actually, this one's Wii). He likes this one, I hate everything about it. It pretends to be "Sonic Unleashed Daytime" gameplay, but everything about it's botched, IMO. And the music is "Mario Galaxy"-style orchestrated crap. - Sonic 4: I love this one, despite how short it is. The physics are a little different from the Genesis games, and most people hate that, but I actually like it. It's a totally 2D game. Only the "sprites" are 3D. The upcoming second episode is looking fantastic. But I'm pissed that episode 2 won't come to Wii like episode 1 did. - Sonic CD: Same game as the SegaCD one, but you can switch between the Japanese and US soundtracks, and play as Tails. - Sonic Generations: The *allegedly* "Classic Sonic" levels are OK: not bad, but not fantastic. The "New Sonic" levels are fantastic though: They're "Sonic Unleased Daytime" gameplay, and some of them are 3D versions of classic older levels, like Chemical Plant from second level of Sonic 2.
 So I don't think I've ever managed to get more than a couple hours into 
 those.

People call me a heretic for this, but I say FFs 1, 7, and 8 are the best of that bunch (and FF Tactics on the Playstation mixed in there too).

Really? I thought 7 was universally considered the best one. Although 8, and the NES ones, are fairly unpopular.
 The SNES ones were ok, but I didn't love them. Yes, FF6
 has the opera scene. Yes, it is amazing.

I'm not sure I've even heard of that scene. Maybe I'll have to give it another chance and try to get to that.
 In the PSX era, I was more into PC gaming and didn't have a PSX, so I got 
 the PC FF7.

I've heard nothing but bad things about the PC versions. Never played it myself, but I'm told it was slow, buggy, and annoying...

Back then, any time you had a PC port of a console game, you *knew* it would be a bit rough around the edges. So it was just kinda expected. And it *was* a little rough around the edges, but I didn't have any major problems trying to play it. Seemed to work fine, though I don't doubt other people had problems. Thanks to my 3DFX Voodoo card, It *was* definitely better-looking than the PSX version: 640x480 instead of what I'm pretty sure must have been roughly comprable to 320x240. And of course, you have to keep in mind that was loooong before anyone had even heard of "HDTV". (Probably part of why I'm so unimpressd with HDTV now - I've already been using HD resolutions on my PC for ages and already got used to switching back to SD whenever I'd use a TV.)
 I realized I was only playing it to see what happens
 and was genuinely dreading/rushing-through the battles

I put 8 among the top for a few reasons: 1) I liked the story and the main character. People call me a heretic for this too, but "then go talk to a wall", I cheered that line! That was sexual harassment, and Squall didn't have to take it. Just generally though, 8 has a fine story.

Yea, I did kinda like that about it.
 2) Enc-None. You can turn off most the fights and just
 fly through the game if you want too.

Huh, really? I never new that. If I had, I probably would have finished it. How do you do that?
 I barely played the PS2 at all; almost everything I've
 seen of it was my brother playing it. It was just
 after my time.

I was always more a GameCube/XBox1 guy, but there's some good stuff on PS2: - Contra: Shattered Soldier and Neo Contra (The main reasons I got a PS2 in the first place, and still two of my all-time favorite games.) - Silpheed (totally different from SegaCD version, but still great) - MegaMan Collection / MegaMan X Collection / MegaMan X8 (Best on PS2 b/c it's the only system with a non-crap DPad and, the GC version has those stupidly-reversed shoot/jump controls) - God Hand (f*ing CRAZY) - Stretch Panic (Also f*ing CRAZY, kinda unfinished though) - Some others: Rez, Devil May Cry 1, Ico, Shadow of the Colossus (crap framerate though), Katamari Damacy
 I think the problem was as the tech advanced, they
 were no longer limited in their use. The designers
 before used them sparingly because that was the
 most they could.

That's how I feel about *many* things in modern games. Or even modern software or devices. Just because the "can" they think that they should.
 Blah. I'm not a big castlevania fan (I watched my brother
 play a lot of SOTN - yea, I watched my brother play a lot
 of stuff, happens when you share rooms for 16 years! and
 it was ok but seemed to drag on and on for me.

Oh, man, I'm a total Castlevania fanatic, especially the "Metroidvania" ones. But those ones (SOTN being the first - and the only non-portable one unfortunately) *would* probably be boring to just watch. Open-world games are great, but they don't always make for great spectator games.
 Changing
 cape colors only goes so far in making up for repetition.)

Heh, well, that's more of an "extra little touch" easter egg kinda thing anyway.
 Game critics are bought and paid for by the publishers,
 all of them, and the sheeple buy their crap hook, line,
 and sinker.

Yea. That's actually become publically-known now, even though a lot of people will still never beleive it.
Mar 31 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Adam D. Ruppe" <destructionator gmail.com> wrote in message 
news:vxrvmmiapcbsemheabee forum.dlang.org...
 On Saturday, 31 March 2012 at 23:01:32 UTC, Nick Sabalausky wrote:
 (Although I'll admit, I did enjoy Sewer Shark

hahhahaha "relax, pretend it's a game... maybe it'll even be fun. SHOOT THE TUBES, DOGMEAT!"

Games don't have fantastic lines like that anymore ;( Heh, and even the delivery of it is just priceless.
 It's kinda funny when you think about all the craziness
 that shapes quirks. At least in me. Every so often,
 I think of one of these stupid games and I laugh
 to myself, or slip it in to a conversation at random.

 But, it is just a random collection of, often, really
 bad things from fifteen years ago.

Heh, yea. I don't care if the whole Inter^H^H^H^H^Hcybertubes are tired of it: I *still* find "All your base"/"Set us up the bomb" to be hilarious.
 - Sonic CD (One of the two best Sonic games ever made, the other being 
 Sonic

Have this one. That was a fine game; the good SCD games are the ones where they actually made a *game* that happened to use the sega cd, not a Sega CD thing that needs to pass for a game.

Exactly. Always felt that way.
 Another good one btw is Sol Feace - a pretty simple
 sidescrolling space shooter, but just again, a
 game that happened to be on the system.

Yea! I have that one too :)
 Oh, Mortal Kombat was scd too, and it had full blood
 and everything. My copy of this disappeared sometime
 in the 90's though, and we never did find it.

Oh, you were one of *those* people... ;) I was always more in the SF2 camp. MK's ultra-violence was great, and I liked "toasty!" and such, but I never much liked the controls. But I'm absolutely rubbish at *all* 1-on-1 fighting games, though. Anybody has *always* been able to kick my ass unless I did cheap shit like choose Chun Li when my friend uses Ken, and constantly shout things like "You were out with that slut Barbie again, weren't you, Ken!!" Only way I could ever win :) Never worked against the CPU though...
 I used to love that song, even
 had...no...*have*...it memorized:

I think I have the words to... 9 video game songs memorized.

That's actually a lot as most don't have lyrics ;)
 I actually listen to vg music more often than anything
 else.

There's definitely some good stuff. The 8/16-bit era capcom is ledgendary for great music. Like MegaMan 2/3, and Street Fighter 2. Guile's theme has always been is one of my all-time favorite songs. And probably the original reason I got into smooth jazz (although I guess it's not exactly smooth jazz, per se, but some sort of jazzy). Actually, there's some really good stuff on OCRemix (a lot of crap, too, though). Some of the stuff by DJ Pretzel is absolutely fantastic. And of course (here I am back with Castlevania again), Symphony of the Night has just the absolute most legendary soundtrack ever. Even the totally-different-style end theme works surpisingly well. Doom 1+2's music, of course, is classic too. And a little-known EGA PC platformer called Space Chase (great game too BTW). And Sonic CD (unlike many people, I actually like the US soundtrack better). I used to sit in study hall memorizing and reciting in my head "Sonic Boom". I could probably go on and on. But I tend to listen to non-game stuff more: I'm a total whore for Anime opening/closing themes. So Yoko Ishida is great. And then there's normal Industrial/Metal etc like TKK/KMFDM/Iron Maiden/Manson (esp. the stuff with Tim Skold - a fantastic musician). And Paul Hardcastle (ie smooth jazz), partly 'cause some of his stuff reminds me of Streets of Rage. I've got strange music tastes ;)
 Definitely a good game. It might have been the first...

Yes, indeed, the first was on the sega master system. It was a little slow moving... lots of level grinding needed. It did that weird faux 3d dungeon thing that was popular for a bit in the 8 bit era!

Yea. But the whole thing is incredibly impressive for an SMS game.
 They set a nice foundation for the story there.
 Uniquely, in my experience, they actually have an
 ongoing story in those four games.

Really? I've played only the first few minutes of all of them and they all seemed very different from each other. But obviously a few minutes doesn't even scratch the surface.
 I wonder which one that was. Maybe Sonic Generations?

Maybe... I was just helping his daughter through a couple levels. She's kinda terrible at games!

Like my sister. She likes Sonic and 2D Mario, but still tends to need help from her two brothers who have spent their lives playing the crap out of such games ;)
 But I think that does fit, since it had a time travel
 plot going with younger copies of sonic and tails and
 I did the chemical plant level for her.

Yea, that would definitely be it. The only other Sonic with time travel (AFAIK) is Sonic CD. Actualy, IIRC, my brother told me that Silver from Sonic 2006 is from the future, but what you described does sound like Sonic Generations. I actually like Generations quite a bit, definitely one of the better 3D sonics, even if imperfect. And the cutscenes are skippable, so I've never had to watch them :P
 - Sonic 4: I love this one, despite how short it is.

Huh, I didn't even know there was a sonic 4. On the genesis, I had 1, 2, 3, sonic+knuckles, sonic cd, and one called sonic 3d.

It's a brand-new one. Just came out about a couple years ago, a downloadable title for Wii/PS3/360/iOS. "Sonic 4: Episode 1". Episode 2 should be out this year, but they're dropping Wii support (Dammit! It looks fantastic!)
 Oh and sonic spinball, a pinballish game.

Yea, that was surprisingly good. And really kinda clever.
 I guess I had a lot of them! Sonic 3 & Knuckles
 was one monster of a game. Huge.

Oh yea. It certainly was.
 Really? I thought 7 was universally considered the best one.

The internet nerds seem to be of two groups: the ones who say 7 is the greatest game ever made, and the ones who say 7 is an overrated piece of trash that has nothing on 6. A lot of people hate #1 and 8 though, which I don't get. Those are fine games.

Most people seem to hate the draw system in FF8. I can definitely see why, but for some reason it didn't bother me as much (don't know why).
 I'm not sure I've even heard of that scene. Maybe I'll have to give it 
 another chance and try to get to that.

omg just youtube it too http://www.youtube.com/watch?v=hgZXiHfNt0M there's more to it than that, but that's the main piece.

Thanks. Yea, 8/16-bit cutscenes were so much more artistic. The ones now are, at best, nothing more than normal, ordinary cinematography. And "impressive" ones just mean "flashy ways to move the camera around". *Yawn*
 I guess that's arguably a SNES cutscene... but this one rocks.
 They also did live versions of the song! Totally amazing.

8/16-bit cutscenes weren't bad. Actually I never minded them back then. It wasn't until much later that I got fed up with cutscenes. Even as late as Quake 2 - I *loved* the Quake 2 opening cutscene. 'Course it *was* skippable, which helped to not piss me off.
 Huh, really? I never new that. If I had, I probably would have finished 
 it.
 How do you do that?

After the training thingy, the headmaster gives you a lamp. Use it as an item, and a demon pops out. If you beat him, you can use it as a GF and learn an ability Enc-Half. After that comes Enc-None. Equip the skill and boom, no random fights.

Neat, maybe I'll dig it out again sometime just to give that a try. (If I still have it...I might have sold it.)
 Since you can do this fairly early in the game, you
 can go through 80% of it with no random fights at all!

Smart move on Square's part.
 And since the stats mostly come from junctions, you
 can get away with near zero experience too - so
 missing the fights+experience isn't a dealbreaker.

Ahh, I was wondering about that.
 I was always more a GameCube/XBox1 guy, but there's some good stuff on 
 PS2:

I haven't played any of those...

Really? Oh my god, you're really missing out. Let's see: GameCube: - Luigi's Mansion: Most people hated it just because it wasn't "Mario 64 2", but it's one of my all time favorite games. - Pikmin 1+2: The only RTS I actually like, and I love it. Although the Wii versions are better. - Resident Evil 4: Actually, this is another fantastic one where the Wii version was even better. *Very* different from all the earlier Resident Evil's though. - Killer 7: Crazy awesomeness. Awesome craziness. - Metroid Prime 1: Two was also pretty good, but three sucked (and so did "hunters"). This one I honestly like the GC version better. Normally I like IR pointing for FPSes, but I think they really botched it up for the Metroid Prime Games. - Wind Waker: Best of the 3D Zeldas. - Donkey Kong Jungle Beat: Briliant twist on platformers, provided that you use the bongo controllers, not the GC controller and not the horrid gesture controls from the Wii version. (I *hate* gesture recognition. Never responsive, never even works reliably.) - Eternal Darkness: Who the hell says Nintendo systems are for kid's games? Kinda like Resident Evil meets H.P. Lovecraft. - More: Alian Hominid, Ikaruga, MegaMan: Network Transmission. XBox1: - Tony Hawk 2X: By far the best in the series. Note: "2X" not "2". It has all the THPS1+2 levels, plus extra levels, plus the best graphics of any THPS2, plus a menu system that isn't ugly like the regular THPS2. - Chronicles of Riddick: Escape From Butcher Bay: Yea, a movie tie-in that actually doesn't suck, and is actually incredibly good. There's an annoying cutscene sequence early on, but it's worth putting up with to get to the rest of the game. - Splinter Cell 1-4: Like I said before, one of my all-time favorite game series. Stealth gaming that puts MGS absolutely to shame. The best one is 3 ("Chaos Theory"), and then the first one. I've actually just been replaying the first and third lately (for probably the tenth time), and I'm *still* getting better at it and finding things I missed. The XBox1 versions of these are by far the best. GC/PS2 versions aren't quite as good looking, and the GC doesn't have enough buttons to really make it work. And the Wii one was just totally botched up in every way. I think they've ported them to PS3 though, those versions might be good. - Dead or Alive 3 and Ultimate, if you're into fighting games. I'm not as much as I used to be. But these are good ones. - Beyond Good & Evil - Too much story and cutscenes, and too short, but still surprisingly good. - Blowout: It's like an updated Abuse. Underrated, IMO. - Battle Engine Aquila, Oddworld: Munch's Odysee, Prince of Persia: Sands of Time, Outrun 2, Forza Motorsport, SegaGT Online, Rallisport Challenge. - Pretty much any cross platform game was always best on XBox1. Only exception is MegaMan b/c MS DPads are always shit. Meh, and yea, I guess there's something-or-other called "Halo" or some such name which apperently was all the rage... ;)
 I did somewhat recently
 finally buy a used PS2 for myself, but barely played
 it so far. Got Gran Turismo 3 and Madden 2008 for it
 (for a dollar a piece, not bad!)

Good deal! I actually returned GT3 when I got it though because playing racing games without proper sholder triggers (for gas/break) sucks.
 I played Gran Turismo 5 on the PS3 too, and that was
 a fine game. A solid series they have there.

Haven't played that one, but I like PS3's "Split Second" quite a lot. Although I could do without the pretend-it's-an-extreeeeme-TV-show announcer and the over-designed menus.
 Heh, well, that's more of an "extra little touch" easter egg kinda thing 
 anyway.

It looked really good though. My definition of "good graphics" is often "bright, lively colors".

Yea, Castlevania: SOTN is a brilliant game visualy. First of all, it played to the PS1's strengths by making it good-looking *2D* instead of shitty-looking 3D like all the other games of the era. And then they added just extra little 3D "touches" without overdoing it. And just the whole visual direction overall was very well done. Even the later Metroidvanias didn't pull it off quite as well as SOTN did.
 That's one reason I like FF1 - you have a good amount
 of bright green and blue. It makes me happy. FF Tactics
 too had a lot of cool bright thingies.

Heh, yea. That's probably part of why I have such a soft spot for EGA graphics and, yes, that exact "bright color tiles" aethetic used in NES FF's overworld.
 Too many new things are going with dull, boring colors.
 Gah. Newsflash people, the real world is pretty bright!
 You can be realistic and colorful, though the old
 drawn animation style looks nice for itself.

Dark is "hip and edgy". But haven't you heard? Real is brown: http://www.vgcats.com/comics/?strip_id=222
Mar 31 2012
parent reply "Nick Sabalausky" <a a.a> writes:
From: "Adam D. Ruppe" <destructionator gmail.com>
 On Sunday, 1 April 2012 at 03:10:49 UTC, Nick Sabalausky wrote:
 But I tend to listen to non-game stuff more: I'm a total whore for Anime 
 opening/closing themes.

Oh yes. Coincidentally, as I read this, I was playing the opening from Zeta Gundam! Another one I find incredibly addictive is one of the openings from Tenchi Muyo - "Pioneer" I think is the title.

Haven't heard that Gundam one (I'm not usually real big on mech animes. I have no idea why.) I have a couple Tenchi ones, but the metadata labels on them aren't very helpful, so I don't know if I have that particular one. One of them's an instrumental. These are my favorites so far (and keep in mind, too, that one of the things that often makes me love an opening/closing song is when a great animation goes with it - Just one of those weird psychological "association" things.) And yea, this *is* a long list. I have a lot of favorites :) [artist] title (show) [Anzen Chitai] Suki Sa (One of the Maison Ikkoku openings) [The Indigo] I Do! (ED1: Ai Yori Aoshi Enishi) [Yoko Ishida] At Your Own Speed (I don't actually know what it's from) [Oranges & Lemons] Raspberry Heaven (ED1: Azumanga Daioh) [Oranges & Lemons / Kuricorder Pops Orchestra] Soramimi Cake (OP1: Azumanga Daioh) [Hitomi Takahashi] Aozora no Namida (OP1: Blood+) [Chitose Hajime] Kataritsugu Koto (ED1: Blood+) [???] Let Me Be With You (OP: Chobits) [Yoko Kanno] Tank! (OP: Cowboy Bebop) [???] Real Folk Blues (ED: Cowboy Bebop) [Excel Girls] Ai (Chuuseishin) (OP: Excel Saga) [Origa & Yoko Kanno] Inner Universe (OP: Ghost in the Shell: Stand Alone Complex) [Kaoru Wada] Kagome's Theme (Background Music: Inuyasha) [Ayumi Hamasaki] Dearest (ED3: Inuyasha) [Dream] My Will (ED1: Inuyasha) [Every Little Thing] Yura Yura (Movie 2: Inuyasha) [Hitomi Shimatani] Angelus (OP6: Inuyasha) [Namie Amuro] Come (ED7: Inuyasha) [Nanase Aikawa] Owarinai Yume (OP3: Inuyasha) [Eufonius] Koi Suru Kokoro (OP: Kashimashi) [Yuumao] Michishirube (ED: Kashimashi) [Isoe Toshimichi & Hosoi Soushi & Fujima Hitoshi] Hiai mo Otome ni wa (Background Song: Kashimashi - I've actually been trying to learn this one on the piano) [???] Panic (ED1: Kodocha) [???] Ultra Relax (OP2: Kodocha) [the show's cast] Cherry Blossoms Blooming (OP: Love Hina) [Shiro Sagisu /Miho Morikawa] Blue Water (OP: Nadia: The Secret of Blue Water) [Shiro Sagisu / Miho Morikawa] Yes! I Will... (ED: Nadia: The Secret of Blue Water) [Rythem] Harmonia (ED2?: Naruto) [Eufonius] Idea (OP: Noein) [Solua] Yoake no Ashioto (ED: Noein) [the show's cast] Shojo Q (OP3: Pani Poni Dash) [the show's cast] Roulette * Roulette (OP2: Pani Poni Dash) [Suga Shikao] 19sai (OP: xxxHolic) [Minmi] Shiki no Uta (ED1: Samurai Champloo) [Nujabes] Battlecry (OP: Samurai Champloo) [Yui Horie & Unscandal] Scramble (OP1: School Rumble) [Yuko Ogura] Onnanoko Otokonoko (ED1: School Rumble) [the show's cast] Ichigo Complete (OP: Strawberry Marshmallow) Some of those artists have some other really good stuff, too. Like Anzen Chitai's "Jirettai". Namie Amuro's "Style" and "As Good As". Or the "Abingdon Road" album from Abingdon Boys School (along with much of T.M. Revolution's stuff - one of the members of Abingdon Boys School). Or almost anything from The Indigo (NOT to be confused with Indigo Girls). Actually, that is insanely long, these would be the tops of the tops: [Anzen Chitai] Suki Sa (One of the Maison Ikkoku openings) [The Indigo] I Do! (ED1: Ai Yori Aoshi Enishi) [Hitomi Takahashi] Aozora no Namida (OP1: Blood+) [Yoko Kanno] Tank! (OP: Cowboy Bebop) [Origa & Yoko Kanno] Inner Universe (OP: Ghost in the Shell: Stand Alone Complex) [Kaoru Wada] Kagome's Theme (Background Music: Inuyasha) [Dream] My Will (ED1: Inuyasha) [Namie Amuro] Come (ED7: Inuyasha) [Nanase Aikawa] Owarinai Yume (OP3: Inuyasha) [Eufonius] Koi Suru Kokoro (OP: Kashimashi) [Yuumao] Michishirube (ED: Kashimashi) [Isoe Toshimichi & Hosoi Soushi & Fujima Hitoshi] Hiai mo Otome ni wa (Background Song: Kashimashi - I've actually been trying to learn this one on the piano) [???] Panic (ED1: Kodocha) [???] Ultra Relax (OP2: Kodocha) [Rythem] Harmonia (ED2?: Naruto) [Eufonius] Idea (OP: Noein) [the show's cast] Shojo Q (OP3: Pani Poni Dash) [the show's cast] Roulette * Roulette (OP2: Pani Poni Dash) [Suga Shikao] 19sai (OP: xxxHolic) [Minmi] Shiki no Uta (ED1: Samurai Champloo) [the show's cast] Ichigo Complete (OP: Strawberry Marshmallow) Shit. Still long. Oh well :)
 This is one reason I like living alone though: I can
 use the speakers for this stuff without embarrassment.

 "are you listening to some weird Japanese song???
 At 1.3x speed???"

 /deal with it/

LOL :)
 This included some baseball game (baseball btw is a
 weird thing. I can't stand watching it. Baseball
 on the tv is one of the most boring things I have
 ever seen. But, I enjoy playing it, both in the
 video game world and in the real world.),

That's how I feel about Golf, Bowling and Volleyball (although TV Golf's not bad for background atmosphere and scenery). Then skateboarding's good to both do *and* watch (though I'm awful - I never even learned to ollie). Skiing/Snowboarding are good to watch, but torture to do. Everything else is just boring period. Except NBA Jam. That's awesome :) "BOOM-shaka-laka"! Hee hee hee.
 a fighting game, Dead or Alive (2 and 3 I think),

Those are the best ones. I had 2 on Dreamcast and on XBox (ie "DOA: Ultimate").
 some kind of Tony Hawk,

Those very wildly. Some are fantastic, some are crap, some are in the middle. 2X and American Wasteland are my favs, then the original. Project 8 and everything after were crap. Everything else was ok-to-mediocre.
 and Halo. And Halo 2, but that was godawful.

Really? I never actually played 2 (or 3). I definitely enjoyed the first (except for how some levels contained the *same* fucking sections copy-pasted over and over and over). But I didn't like it enough to care about the sequels. I never would have guessed 2 would have actually been worse.
 The Dead or Alive games are ridiculous though. One
 word: BOOBS. But, they were pretty good for fighting
 games anyway.

lol, yea. One of them was *really* ridiculous for that though: I don't remember which one (I think 4 - they made a 4, right?), but at one point they made *separate* physics for the left and right ones and they were just bizarrely flopping all over the place. It was kinda freakish. That can't even *happen* when they're wearing shirts.
 Tony Hawk is a nice game. I played Tony Hawk 2 on the
 playstation (something I'd like to find. I think I
 still have it, but idk) and I liked that one. The
 xbox wasn't the same though - I could never get used
 to the new controller.

I love my Chinese PS2 -> XBox/GC/USB controller converter :) But yea, MS dpads have always been garbage. I always liked the size of the original XBox1 controller though. The S controller, and every other MS or non-MS first party controller in existence is too small for my hands. The 360's is waaay to small - that's actually one of the reasons I'm more interested in PS3 than 360. The PS3's is too small, but not *that* insanely small.
 And then, Halo. The single player is PURE ASS. It
 just goes on forever and is horribly repetitive. I
 can't play that.

Heh, I was never a fan of the multiplayer. Actually, I got tried of multiplayer FPSes way back with the original UT and Q3A. It's all the same game and...well...personally I find it 10x as repetitive as even Halo 1's single-player. :/ I *did* however enjoy the 16-player Halo & pizza LAN party we did at college once :). I still found the gameplay to get too repetitive too quick (and I'm honestly *terrible* at multiplayer FPS), but the whole thing was fun overall, and connecting together four XBoxes, with four TVs, four players on each (right in the middle of the CS department, too), was a bit of a geek-out high ;)
 My favorite part of that game though was the title
 screen.

Heh, that sounds like an insult. :) It *was* good though. Metroid Prime 3 tried to ape it, but it just ended up sounding like a cat being run over by a half-broken motorcycle.
 Although I could do without the pretend-it's-an-extreeeeme-TV-show 
 announcer
 and the over-designed menus.

haha that sounds awesome. I'm reminded of one game my brother had in... oh god, the old house, 1998 or something.

It gets better though: You can blow up the buildings near the track in order for them to fall on and wreck the other player's cars :)
 It was a wrestling game for the playstation with
 announcers.

 Me, being a button masher, had little to no style,
 and this game actually called me out!

 "This guy is an idiot! He keeps doing the same move
 over and over!"

 that was great. Until they started repeating the
 same commentary over and over.

lol. Gotta love irony.
Mar 31 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"so" <so so.so> wrote in message 
news:vckzoemajryxvrwzciby forum.dlang.org...
 http://www.youtube.com/watch?v=DPnIDiLJuuY

I've never even heard of that show before. Definitely a very good opening. Looks like a good show, too. While I agree with "Can't judge a book by it's cover", anime openings seem to strangely be an exception: Nine times out of ten (yes, I pulled those numbers out of my ass ;) ), my impression of an opening sequence is spot-on with how I end up feeling about the show. Ghost in the Shell SAC, Death Note, Strawberry Marshmallow, Azumanga Daioh, Blood+, Pani Poni Dash and various others are all shows I fell in love with right from the opening sequence, and the shows themselves lived up to their openings. And then there were cases where the openings and actual show were both "just ok", etc. What's really impressive about anime openings/closings though, is that they really are a whole separate art form in and of themselves. For example, Naruto's second (Japanese) closing ("Harmonia"), and Inuyasha's 7th closing ("Come"), are just pure artistic beauty. I was completely blown away by them. Same goes for the openings (and closings) of Cowboy Bebop and Samurai Champloo. Music videos have *nothing* on those (although I am a fan of Spike Jones's work).
 http://www.youtube.com/watch?v=RazOfS6mjfw
 ... and many more.

How could I possibly forget that one?!? Yes, Light's Theme from Death Note is indeed one of the best anime songs /ever/. Come to think of it, it would fit in very well on Marilyn Manson's Holywood album - *and* be one of the real standout songs. I actually have the Death Note soundtrack. Other equally-stand-out songs on it are "L's Theme" (L was a fantastic character period), the title tracks "Death Note" and "Death Note Theme", "Jiken", "Kinchou", "Senritsu", "Kodoku", "Tokusou Kira han", "L's Theme B", "L no Nakama", "Tokusou", "Taikutsu", "Teloelogy of Death" and "Law of Solipsism". That sounds like a lot, but there's actually a *lot* of songs on the album. The opening/closing songs are pretty good too. Gotta love that "Maximum the Hormone" group: Japanese Death-Metal-slash-Ska/Punk. Crazy shit :)
 Actually, that is insanely long, these would be the tops of the tops:

Indeed there are tons! Too bad my first anime was "Samurai Champloo". It is like starting movies with Bladerunner and then have to endure soup operas like Star Wars mostly because of addiction (Probably i offended most of the interwebs now but that is what i do!).

Heh. :) I see Star Wars as more of an action movie than science fiction though. And it's pretty damn good as an action movie (though I've always been more in the Trek camp, myself :P ) Funny thing about Bladerunner though, for some reason I just couldn't get into it when I tried to watch it. It just seemed really slow moving and it kinda (dare I say it?) bored me. Maybe it's cause it was the director's cut? I dunno. I've been meaning to give it another try though. Maybe the "Final Cut". There's a fairly recent movie though that's apperently based on another story by the same author of Bladerunner: The Adjustment Bureau. *That* one I was pretty impressed with. Sort of a "Michael" meets "Matrix" (And Total Recall, also apperently one of his, is of course one of the best movies ever :) )
Apr 01 2012
parent "Nick Sabalausky" <a a.a> writes:
"so" <so so.so> wrote in message 
news:tnlksyhbnypfjbybmeju forum.dlang.org...
 On Sunday, 1 April 2012 at 21:06:09 UTC, Nick Sabalausky wrote:

 (L was a fantastic character period),

L is awesome. Don't start with characters! Every character in SC and CB is just crazy for starters. I mean everyone.

Yea, they are great. Shinichirou Watanabe is nothing short of a genius. Pure perfection in his work. It kills me that he doesn't have another new series on the horizon (at least to public knowledge, anyway).
 Did you watch C-Bebop in English or Japanese? I tend to watch them in 
 original sounds, this one was an exception.

English. For me, "English vs Japanese" varies from show to show (And in *rare* cases I'll actually watch both - namely Kodocha). Generally, I'll start with the English (if there is any), and if it turns out to be bad/annoying, then I'll switch to Japanese. Once in a while a show will come along where I'm genuinely blown away by how incredibly good the English version is: In particular, Death Note and Fullmetal Alchemist (And naturally Cowboy Bebop and Samurai Champloo). The *entire* English casts on all those shows did unbelievably fantastic jobs. Even to the point where it's actually worth watching those shows even just for the English voice acting (Which is a wonderful far cry from the days when English dubs had a reputation for being bad.)
 Edward with "Melissa Fahn", priceless!

Oh, yea. She did a brilliant job. That's definitely one of the absolute top 3 on my list of "Best-Dubbed Characters". The other 2 would be Laura Bailey's "Sana Kurata" from Kodocha, and Caitlin Glass's "Winry Rockbell" from Fullmetal Alchemist. Particularly Caitlin's/Winry's famous squeal which wasn't even in the original Japanese version. I only wish I could do voice acting as well as they do it and work together on a project. It would certainly beat mucking with HTML!
Apr 01 2012
prev sibling parent reply Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 7:05 PM, Nick Sabalausky wrote:
 I don't understand why people think it's ok for basic, basic shit that would
 have ran fine on a Pentium 1 (and less) to now require what quite literally
 is a super-fucking-computer-on-the-desktop just to run acceptably.

 Seriously, what the fuck's the point of buying all this insanely powerful
 hardware if software just turns the damn thing right back into a fucking
 single-core P1? That's just insane. People are seriously fucking bat-shit
 crazy.

I'm in complete agreement with you. It's like when I bought a new dvd burner, and had to upgrade Nero Burning to deal with it. The old Nero was 6Mb, the new one was 90Mb (!)
Mar 29 2012
parent reply "Nick Sabalausky" <a a.a> writes:
"Walter Bright" <newshound2 digitalmars.com> wrote in message 
news:jl3l0c$jn2$1 digitalmars.com...
 On 3/29/2012 7:05 PM, Nick Sabalausky wrote:
 I don't understand why people think it's ok for basic, basic shit that 
 would
 have ran fine on a Pentium 1 (and less) to now require what quite 
 literally
 is a super-fucking-computer-on-the-desktop just to run acceptably.

 Seriously, what the fuck's the point of buying all this insanely powerful
 hardware if software just turns the damn thing right back into a fucking
 single-core P1? That's just insane. People are seriously fucking bat-shit
 crazy.

I'm in complete agreement with you. It's like when I bought a new dvd burner, and had to upgrade Nero Burning to deal with it. The old Nero was 6Mb, the new one was 90Mb (!)

Yea, needing to upgrade Nero bugged me too. And even ignoring filesize, each new version of Nero kept getting worse anyway (the original was actually pretty good, but they quickly put a stop to that). I just use ImgBurn/DVD Decryptor/DVD Shrink for ripping/burning ISOs and InfraRecorder for everything else. They're soooo much better than *any* commercial package I've seen in at least ten years. They do the job, do it well, and all with *no* bullshit/bloat/skins or any other such crap.
Mar 30 2012
parent dennis luehring <dl.soluz gmx.net> writes:
or just use http://cdburnerxp.se/

Am 30.03.2012 10:30, schrieb Nick Sabalausky:
 "Walter Bright"<newshound2 digitalmars.com>  wrote in message
 news:jl3l0c$jn2$1 digitalmars.com...
  On 3/29/2012 7:05 PM, Nick Sabalausky wrote:
  I don't understand why people think it's ok for basic, basic shit that
  would
  have ran fine on a Pentium 1 (and less) to now require what quite
  literally
  is a super-fucking-computer-on-the-desktop just to run acceptably.

  Seriously, what the fuck's the point of buying all this insanely powerful
  hardware if software just turns the damn thing right back into a fucking
  single-core P1? That's just insane. People are seriously fucking bat-shit
  crazy.

I'm in complete agreement with you. It's like when I bought a new dvd burner, and had to upgrade Nero Burning to deal with it. The old Nero was 6Mb, the new one was 90Mb (!)

Yea, needing to upgrade Nero bugged me too. And even ignoring filesize, each new version of Nero kept getting worse anyway (the original was actually pretty good, but they quickly put a stop to that). I just use ImgBurn/DVD Decryptor/DVD Shrink for ripping/burning ISOs and InfraRecorder for everything else. They're soooo much better than *any* commercial package I've seen in at least ten years. They do the job, do it well, and all with *no* bullshit/bloat/skins or any other such crap.

Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 04:21:12 -0400, Nick Sabalausky <a a.a> wrote:

 "Nick Sabalausky" <a a.a> wrote in message
 news:jl3n59$qf7$1 digitalmars.com...

 Yea, I've seen that. It's a very good article, though. Although I've  
 been
 saying this since before that article, and even before multi-cores.
 Contrary to the title, I wasn't at all surprised which won ;)

 Of course, I don't expect software to be as super-fine-tuned as it was  
 on,
 say, the Apple 2 or Atari 2600. There *is* definitely some value in
 loosing a certain amount of performance to abstractions, up to a point.
 But we've blown way, way, WAAAY beyond that point.

 It's sickening how much gratuitous waste there is in a lot of "modern"
 software, and really for not much benefit, as D proves.


100% agree. There has been a huge trend in software to disregard performance because "the hardware will take care of it." Interestingly enough though, performance still turns heads :) That is, when faced with two applications that do the same thing, but one is twice as fast, most people will choose (and probably pay more for) the faster one.
 Actually, one thing that really gets me is shutdown times: RAM is
 *volitile*. How much processing can really be needed when the RAM's just
 gonna get wiped anyway? You ask the user if they want to save, you flush  
 the
 output queues for anything non-volitile, and you cut the power. Sheesh!

One of the things I was extremely impressed with on my new macbook is that it usually shuts down in under 2 seconds.
 Desktops are the worst offenders, and paricularly WinXP.

Windows 7 is vastly better at both startup and shutdown than WinXP. I think part of the problem is that shutdown on these systems defers to the user applications. Sometimes I shutdown, and come back the next day to find it was still asking me some questions. Grrrr. Now I have to answer the questions, let it power off, then power back on again. The apps should save enough state so they can resume the next day without issue (this is how the mac seems to work, and I love it).
 But then even on my
 brother's PS3, you can literally count the seconds before it actually  
 turns
 off. It's just a set-top gaming console, is that really necessary? (They  
 can
 spare me their "It does everything!" - like I give a crap about any of  
 those
 gimmicks.) On my old (super-low-power) NES, you could hit the power  
 button,
 and within one second you were at the title screen.

You must have had a different version of NES. The process to start mine up was not nearly as fast. It went something like this: 1. Insert cartridge, push down cartridge, power on. (I cite this as one step because it became automatic to do this in 2 seconds) 2. Screen with horribly large pixellated game appears. 3. Power off, pull out cartridge. 4. Blow in bottom of cartridge, even though the pins are clean and free of dust (did this actually ever do anything?) 5. Re-insert cartridge, this time more firmly, push down deliberately to make sure game locks into place 6. Power on, normal screen comes up, push start button. 7. Play for about 2 minutes, game hangs with single audio tone. 8. Bang hand on top of NES to show it you mean business. Sometimes it will whimper back to playing mode. 9. After second hang, attempt to press reset button about 15 times. Peanut-sized pixels return. 10. Power off, remove catridge, repeat blowing procedure from step 4, but with slower more deliberate breath. Try a blowing pattern, like quick bursty blows in various locations. Insert cartidge even MORE firmly. Jiggle cartridge a bit to make sure the NES is aware there is a valid game for it to consume. 11. Lower cartridge, power on. Play game for another 5 minutes. 12. After next hang, turn power off, and watch cartoons. I exaggerate a bit :) But sometimes I swear it was like this. I don't miss those days, though I don't get to play many video games these days. I'm waiting for my kids to get old enough to play them so I can mooch off of their video game time :)
 Some of that stuff isn't even a technical matter at all, but deliberate
 design: Who the hell decided we need twenty company logos (fully  
 animated,
 one at a time), then 10+ minutes of exposition and building "atmosphere",
 followed by half an hour of (typically patronizing) tutorials before
 actually getting to the real gameplay? Zelda Skyward Sword is the worst
 offender, it literally takes *hours* to get past all the initial  
 exposition,
 tutorials and shit into the real core of the game (I honestly started
 wondering if there even *was* a game - "Did I pick up a Harry Potter  
 movie
 by mistake?"). The original Zelda, you could get from power off to the  
 meat
 of the gameplay in literally seconds. Game devs won't let you do that  
 now:
 They've gotta show off their cinematography so they can get hired by  
 Pixar,
 where they *really* wanted to be all along. (Meh, Dreamworks was always
 better anyway ;) )

When I bought the new Wii motion plus (that gives better sensitivity) with Wii Sports Resort, the first time you play, it makes you watch 8 minutes of instructional video on how to use your Wii motion plus. I thought at the time "Wow, that was a bit long, but I guess I only have to do it once." Then I went to my sister-in-law's house, and wanted to show her the game. This was *her* Wii's first time playing the game, so again, I had to watch the damn video (no way to skip). It happened a third time on my parents' Wii, and I was thinking "Man, this was a *bad* design decision". -Steve
Mar 30 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Friday, 30 March 2012 at 11:21:02 UTC, Steven Schveighoffer 
wrote:
 4. Blow in bottom of cartridge, even though the pins are clean 
 and free of dust (did this actually ever do anything?)

My hypothesis is it was actually the moisture that made a better connection. I'd like to test this now... I should break out the old nes and some canned air and distilled water. But, back in the day, I used to find great success by actually running the game under a small stream of tap water. It'd almost always work right after that. I prefer the cartridges, flaws and all, to CDs. They are so easy to dirty up, scracth, or get outright broken (my brother was an angry gamer!) And they load sooooo slowly, especially the newer games.
Mar 30 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Friday, 30 March 2012 at 21:03:21 UTC, Nick Sabalausky wrote:
 Problem is, it also corrodes the connectors.

Yea. But oh well, it can't be too bad... my old games all still work! Though, nowadays I tend to prefer the emulators. I have a playstation controller on usb, which works for all the old games naturally (there's a clear progression from nes -> super nintendo -> playstation, each is a superset of the next. It works well for Sega too.) No hardware hassles, doesn't take space under the tv. I used to have a real mess of crap in my bedroom, the cords were hideous. Now most of that is on the computer. The computer can also crank up the speed, which makes some of those old games so much more playable! I can't believe I used to sit there 10 hours a day and just grind or use the slow moving characters. (though now I can't do a video game for more than one hour a week, between work, etc., and my eyes just get horribly tired with the motion. But with emulator's speed acceleration, that one hour can go a pretty long way!)
 I *liked* that the N64 used carts

I have only one game for the N64: Perfect Dark. Bought the game when I saw it at one of the stores and picked up the system like a month later. Great game, still my favorite of the FPS genre.
Mar 30 2012
prev sibling next sibling parent "Bernard Helyer" <b.helyer gmail.com> writes:
 Eeewww, I hate playing games on a PC:

 - Too many other processes to screw up the experience.

Maybe if you were basing your experiences off of Windows 95.
 - I spent sooo many hours every day *working* at the computer 
 desk, I
 *don't* want to be be glued to it for my entertainment, too.

 - Even if I didn't use a PC for work, for my entertainment, I'd 
 still much
 rather use a nice comfortable living room couch/TV/environment 
 than a
 computer desk anyway

Fair enough. You can hook PCs up to a TV though, of course. .
 - Plus the non-indie commercial games come with rootkits and 
 the requirement

Lose the hyperbole. :P
 of buying new hardware twice a year. No thanks.

Oh please. The hardware requirements have basically been static because of the age of the current consoles.

Mar 30 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Friday, 30 March 2012 at 22:43:00 UTC, Nick Sabalausky wrote:
 Oh *definitely*. BTW, Wii homebrew is *fantastic* for that.

I don't have one of those thingys though.
 But that would *never* happen under US-style IP law.

You know what's funny: I used to use an Atari ac adapter for my Sega. (still do, when I actually use the thing) The Internet tells me that Sega controllers work in Ataris too! Accidental compatibility there!
 - I spent sooo many hours every day *working* at the computer 
 desk

This is one reason why I actually like staying at the computer: I can keep an eye on my email in the corner. I often tell people I have to get back to the computer so I can pretend to work for a while. They laugh - I work via the internet, so I don't have to *pretend*, since there's no one there to see it. Of course, often I actually do work and just don't want to admit it. But, sometimes I actually do pretend. The way I do that is by keeping the email window open and answering requests, bugs, etc. as a kind of low priority process. When they interrupt me, I'll handle it, then get back to what I was otherwise doing. Thus, pretending to work. It looks like I'm on top of things, in reality, I'm goofing off on the video game, a side project, the television, or the newsgroup or whatever. Parking my butt in the computer chair means I can do all that, and I keep the game in a corner window on the screen, so I can see everything else going on too.
 - Even if I didn't use a PC for work, for my entertainment, I'd 
 still much rather use a nice comfortable living room 
 couch/TV/environment

My computer chair is probably the nicest furniture I own... In my house's big room, I have a floor bed: a couple blankets and pillows on the floor, next to my big tv. (my "big tv" being a 20 year old 19" set! I'll use it till it dies. Then duct tape it back together and get a few more years out of it.) Anyway, the floor bed is brilliant, but I like my chair too. Besides it's just that I always feel like I *should* be working, or at least available in case something comes up, and if I'm sitting at the computer, at least I can pretend to be...
 - Plus the non-indie commercial games come with rootkits and 
 the requirement
 of buying new hardware twice a year. No thanks.

Eh, I just stick to the old stuff. The newest computer game I've played is either Starcraft or Worms. BTW, Worms 2, now there's a great game. I hear they are doing a new 2d Worms game, written in D. I look forward to it. (totally on topic now :P)
 I doubt I
 would have ever gotten all the way through Chrono Trigger if it 
 weren't for that feature.

huh, Chrono Trigger moves pretty quickly. I don't mind it at regular speed at all. Unless you were playing the AWFUL playstation version. The super nintendo one was pretty well paced. The events moved along quickly, the characters moved at a good speed, and most importantly, NO LOAD TIME. A friend of mine years ago liked my super nintendo version and saw a playstation port come out. He bought it. And I couldn't even look at it. It took literally *minutes* to load the initial game, and several full seconds to do stuff in the game! In the original one, you bump into a monster, and instantly, swords come out, the music changes, and you can hold in the button to get it over with. In the playstation one, you move... it pauses to load. You finally bump into the monster. It STOPS THE WORLD, seeks the disc, finally the music changes, wait a bit longer, and FINALLY the swords come out. Don't use the magic though, it will have to load some more. Fucking unbearable. You'd think they would cache this or something. Nope. Go to the next screen, bump a monster... and WAIT AGAIN. What the /hell/. I know the playstation wasn't exactly the beefiest hardware ever made, but come on. Ironically, they also bundled final fantasy 4 in that same sale, and this one was bearable. (I actually bought this disc from him.) It took great aeons to initially load, but once you got started, it played normally. You could even take the CD out for the most part and still play it, proving they loaded the whole game into memory up front. Actually, it was pretty good. How could they do a good job on one game, but so horribly drop the ball on a similar game that came in the /same box/? Ridiculous. Since I'm talking about final fantasy, I played their playstation games to, #7, 8, and 9. I've played 7 and 8 more than once, but haven't gotten myself to try 9 again (despite it sitting next to me for years now. Seriously, I can reach it right now!) I didn't love 9 the first time I played it, but I went into it with a bad attitude too - my dad paid the full $40 for it instead of waiting a year for it to drop to $20. That annoyed the crap out of me. Now I'm more angry that I was so rude about it than anything else; he tried to get a fancy expensive christmas present, and my response was not nice at all. Aaaanyway, two objective complaints I have about it are a) load times and b) cutscenes. 7 and 8 had these problems too, but it was different... FF7 fight time from start of graphic to menu input: 7 seconds. FF8, same thing: about 7 seconds too, but you could turn them off, omg. FF9.... 15 seconds. (btw, FF1, same measure: < 2 seconds.) That's right, the load time just about doubled between 8 and 9! How ANNOYING. And cutscenes: 7 had a few. 8 had a few more. 9 piled it right up. Gah! But the worst when it comes to exposition is Metal Gear Solid. Now, I only played #1 myself, but I watched my brother play #2 and 3. MGS1 had a lot of exposition, no doubt about it. But MGS2 was just non fucking stop. Round a corner, mandatory call. Listen to them blabber on meaninglessly for like 45 minutes. Seriously, some of the exposition scenes were that long, just dribbling dialog. My god. Anyway I'm really rambling. Preaching to the choir I'm sure.
 It's a Rare game from back when Rare was actually still good.

heh, they also did Perfect Dark and the great Battletoads on the nintendo. I never did finish that battletoads, but I beat the living crap out of my brother over and over again!
Mar 30 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Saturday, 31 March 2012 at 09:35:25 UTC, Nick Sabalausky wrote:
 So blowing hundreds of dollars just so half my stuff looks 
 *worse* and other stuff looks (to me) only marginally better? 
 Pass.

I've seen a few high def tvs. I like half of them, though not enough to displace my old set. The ones I didn't like though are apparently the more expensive ones. What happens is motion looks really bizarre on these. I don't know how to describe it, but watching a show on it just feels... weird as the camera moves. At first, I thought it was because these things are so big that it was messing with my brain. But, I brought this up on another forum and I was told that's a feature in the hardware: apparently the expensive sets interpolate frames into regular shows and display more movement. So, instead of 23 fps, we get, I think, 30 fps, though I'm not sure, out of the same original material. Anyway, everyone insists this is "better" and I think it is weird just because I'm "so used to seeing shit". But blargh, I still don't like it.
Mar 31 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Saturday, 31 March 2012 at 07:02:35 UTC, Walter Bright wrote:
 And yes, it kills me that my expensive old large screen 
 standard def TV is just a POS in comparison, even though it is 
 in perfect working order.

It might help that I have smaller tv sets. I have a 19" and a 13", and they have beautiful pictures. I don't want to go any bigger than this. I sit right next to my 13" (I can reach out and touch it right now), so anything bigger would just be overwhelming. I guess I physically could go bigger than the 19 inch, since there's plenty of room where that one is, but meh.
 I can't even stand to watch standard def anymore.

Something that I found really interesting is even on my old tvs, the new digital broadcasts actually do look pretty good - better than cable and satellite. I decided to turn off my cable last December (paying $55 / month to watch CBS, PBS and USA just isn't remotely worth it, and they wanted to raise prices again. I can get CBS+PBS off the air, and for the money I was throwing at the cable company, I could buy every dvd the usa network puts out and still come out ahead!). Anyway, after turning it off, I got one of those digital tv converter boxes and hooked up my old antenna to it. And the picture was actually really good. PBS on cable, including the HD channel, was a little fuzzy in comparison. I never noticed it before, but for the brief time that I had both, I could switch between cable and antenna and see a clear difference. The air version was a lot better. Tried CBS... same deal. Better picture on broadcast, even through my old tvs. I tried it at a friend's house too, on their hdtv with satellite. The satellite picture for PBS looked outright *bad* on their big television. But the broadcast one was beautiful. Big difference on the computer generated shows (Dinosaur Train especially). While I miss the USA network, I don't miss cable. I have a better picture and a much smaller bill over the air. And best of all, not having USA to fall back to, I got a new appreciation for some old shows on channels I wouldn't have watched before... I now watch "Seinfeld", and I love it!
Mar 31 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Saturday, 31 March 2012 at 06:14:03 UTC, Nick Sabalausky wrote:
 Like the AV cords: For fuck's sake, what's with the proprietary 
 AV connectors?

What really gets me there is the old playstation used to have regular rca jacks. They removed it from the design about the same time they brought out the dual shock. Similarly, the model 1 Genesis used the same rf adapter as the NES and SNES... but they changed it for the model 2. Annoying!
 That's kind of another thing: If I need to be doing work, it's 
 going to be
 damn hard if I have a bunch of games two clicks away.

This is why Windows can kill me... I get addicted to those stupid built in games. And Windows Vista threw a Chess game on top of it. Gah! (nice game though, it has a good sliding difficulty setup to keep it going.)
 Really? Cool!

http://worms2d.info/Worms_Armageddon There's a familiar name in there :)
 It was a short, minor  thing like that, but it
 was frequent enough that it just felt like I was
 being really slowed down.

heh, that's the way I feel about most animations, in games or not. "get on with it" is what I say. But, in many of these games, I really like the background music, which makes it more awesomer. In a game with bad music, everything gets more annoying. With good bgm, it can take its time, to an extent.
 Although, I was always more of a Lunar fan

omg, not every day I see a Lunar fan! Silver Star Story: Complete is the reason I wanted a playstation. That's a beautiful game. I don't think Working Designs has ever published anything less than great too. My first game of theirs was Popful Mail on the sega cd, and that was awesome back in the day too. It made me sad when they went out of business, but it was probably inevitable. A company that insists on going above and beyond on every release will just get swamped in the game environment today. Something awesome though: my brother emailed them to send his condolences when they went out of business, and actually got a personal reply from Victor Ireland, the president. I doubt any other game company out there has such a connection with their fans. I love them <3 But, what sucks: one of my Lunar SSSC discs is broken! My sister stole it one day and was playing it instead of doing her chores. So my mother took the game away and threw it out. I retrieved it, but the disc had chipped. That was the *hardest* game for me to acquire. I'll probably never replace the physical disc now, and am stuck on the emulator. Gah. But, great game. Those are cutscenes I couldn't get enough of. While I'm talking about great games, another good one is Phantasy Star IV on the Genesis. II and III were ok too, but they moved too slowly. Literally, the character walking speed was abysmal. But, IV bumped up the speed big time, and it was amazing. I hate the way "phantasy star" now refers to some shitty MMORPG though. Fuck that noise, the Genesis is where it's at.
 Actually, that reminds me, have you seen that
 YouTube video of Sonic 2006's hub-world "gameplay"?

Nay, but a friend bought some sonic game for the PS3 recently. I played it Wednesday, actually. The loading was annoying, but only at the start of a stage, so not disruptive to most the play. What got me though was the bizarre 3d stuff and seemingly sluggish controls. It was the same levels from Sonic 2, but it felt slow and unresponsive in comparison to the original. idk though, I haven't played the original for a long, long time.
 So I don't think I've ever managed to get more than a couple 
 hours into those.

People call me a heretic for this, but I say FFs 1, 7, and 8 are the best of that bunch (and FF Tactics on the Playstation mixed in there too). The SNES ones were ok, but I didn't love them. Yes, FF6 has the opera scene. Yes, it is amazing. But the rest of it? eh, certainly not bad, but not all that great either.
 In the PSX era, I was more into PC gaming and didn't have a 
 PSX, so I got the PC FF7.

I've heard nothing but bad things about the PC versions. Never played it myself, but I'm told it was slow, buggy, and annoying...
 I realized I was only playing it to see what happens
 and was genuinely dreading/rushing-through the battles

I put 8 among the top for a few reasons: 1) I liked the story and the main character. People call me a heretic for this too, but "then go talk to a wall", I cheered that line! That was sexual harassment, and Squall didn't have to take it. Just generally though, 8 has a fine story. 2) Enc-None. You can turn off most the fights and just fly through the game if you want too. 3) I liked the stat twiddling too. Spend a few minutes in preparation on the junction screen and you turn your characters into gods. That's part of the reason I play those games... to play god. So win. 4) I liked the card minigame too. It isn't perfect, but it checks the big boxes in jrpg for me.
 Never tried 9. Played a demo or two of FF10, and thought "meh", 
 and I guess I've kinda given up on FF since.

I watched my brother play some of 10. Gah, I couldn't really get into that one. I barely played the PS2 at all; almost everything I've seen of it was my brother playing it. It was just after my time.
 storytelling has always been one of the core points of JRPGs.

eh, in Lunar they are brilliant, but in FF, they are just accent pieces; the real story is in the gameplay and, especially, the dialog boxes. The best FF cutscenes are the relatively brief ones that introduce something or finish off a sequence. They are short and relatively infrequent - do their job and get back to the meat. I think the problem was as the tech advanced, they were no longer limited in their use. The designers before used them sparingly because that was the most they could. Later on, they could use it more... did use it more, and then it just got overused. I'm told FF9 actually has a good story though. I'll have to play it again to tell for sure, but I betcha it will be despite overused cutscenes, not thanks to them.
 Then the same guy behind MGS *cough*reinvented*cough* 
 Castevania to predictably horrid results.

Blah. I'm not a big castlevania fan (I watched my brother play a lot of SOTN - yea, I watched my brother play a lot of stuff, happens when you share rooms for 16 years! and it was ok but seemed to drag on and on for me. Changing cape colors only goes so far in making up for repetition.)
 And yet somehow it was well-received.

omg it is hideo must be awesome (ps thanks for the check, konami) Game critics are bought and paid for by the publishers, all of them, and the sheeple buy their crap hook, line, and sinker.
 Yea, but it's fun to actually *agree* with someone on gaming 
 (or anything) for a change.

aye
 That hoverbike section was just EVIL!

Yes! And worse yet with two players, you both have to do it right together. Impossible!
Mar 31 2012
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 3/31/12, Robert Clipsham <robert octarineparrot.com> wrote:
 See also:
 * http://wormsng.com/
 * http://worms2d.info/4
 * https://github.com/CyberShadow/ae

 See anyone you recognize there? ;)

Aye, CS has been great to the WA community. :) I wonder if Deadcode (another bWA contributor) uses D now too.
Mar 31 2012
prev sibling next sibling parent reply Sean Kelly <sean invisibleduck.org> writes:
Don't have the HD set stretch the image. Just watch it in the original forma=
t. Personally, I just find that looking at an LCD display is easier on the e=
yes than a CRT. Being able to mount it on the wall to get it away from the k=
ids is nice too.=20

On Mar 31, 2012, at 2:37 AM, "Nick Sabalausky" <a a.a> wrote:

 "Walter Bright" <newshound2 digitalmars.com> wrote in message=20
 news:jl6a6a$1gh$1 digitalmars.com...
 On 3/30/2012 11:16 PM, Nick Sabalausky wrote:
 "Adam D. Ruppe"<destructionator gmail.com>  wrote in message
 In my house's big room, I have a floor bed: a couple
 blankets and pillows on the floor, next to my big tv.
 (my "big tv" being a 20 year old 19" set! I'll use it till
 it dies. Then duct tape it back together and get a few more
 years out of it.)
=20

Finally! Another person that's not jumping on board the "If flatpanel HD=



 sets are so popular then I guess I have to go spring for one, too"
 bandwagon!

Dudes, get an HD TV. It really is transformative. And yes, it kills me=20=


 that my expensive old large screen standard def TV is just a POS in=20
 comparison, even though it is in perfect working order.
=20
 I can't even stand to watch standard def anymore.

I've seen and used HD sets. Heck, my sister has one (a fancy new one - 108=

 of course) and I've watched stuff on it with her. BluRay, HDMI, all the=20=

 bells & whitles, etc. Yea, the HD looks nice, but ultimately I've never=20=

 gotten past the overall feeling of "Meh". YMMV, but it *honestly* just=20
 doesn't do much for me. Certainly not enough to blow hundreds of dollars o=

 it.
=20
 And that's with HD content. A lot of my stuff is SD (and will never change=

 to HD - it's not as if my Wii or XBox1 games/hardware are suddenly going t=

 start outputting HD), and I've always found that SD content looks noticabl=

 *worse* on an HD set than an SD set, no matter how fancy the upscale=20
 filtering is. The upscaling/filtering artifacts are always painfully=20
 noticable and it just looks like shit. But it looks perfectly fine on an S=

 set. 'Course, the old HD CRTs would have been able to handle SD content=20=

 perfectly fine, but you can't get those anymore.
=20
 So blowing hundreds of dollars just so half my stuff looks *worse* and oth=

 stuff looks (to me) only marginally better? Pass.
=20
 It's not like B&W -> Color. Just a higher rez. Meh, big deal. When it's=20=

 commonplace to have inexpensive HD *with* extended gamut (sp?) and quality=

 no-glasses/no-headaches 3D, and content to take advantage of all that (and=

 without getting dizzy from all the shaky-cam bullshit), then it'll probabl=

 be enough for me to care. At one point I went from a 160x160 greyscale=20
 Handspring Vizor (PalmOS) to a 320x320 full-color Palm Zire 71. *That* was=

 significant difference. SDTV -> HDTV? Small potatoes, I just can't care.
=20
=20

Mar 31 2012
parent "Nick Sabalausky" <a a.a> writes:
"Sean Kelly" <sean invisibleduck.org> wrote in message 
news:mailman.1259.1333217864.4860.digitalmars-d-announce puremagic.com...
Don't have the HD set stretch the image. Just watch it in the original 
format.

Ew, then it'll be **tiny**. Esp if it's one of those 1080p sets (which I think they all are now, right?) It'd be a tiny little postage stamp in the middle of the screen.
Personally, I just find that looking at an LCD display is easier on the 
eyes
than a CRT.

I'm somewhat afraid of triggering another LCD vs CRT debate, but for me personally, the only time my eyes ever seem to have a problem with CRT is if it's a computer monitor that's set to 60Hz (and seriously, who ever does that?) or i the brightness is cranked up way too high, or if I use that eye-searing black-on-white color scheme that's default on every OS (I personaly think white-on-black is much nicer looking anyway, esp. when paired with blue/purple/pink elements, so that's not really an issue for me anyway - except when using a Mac which, last I checked, didn't let you change anything about the color scheme besides highlight color and wallpaper. But I don't like Apple products anyway, so whatever ;) )
Mar 31 2012
prev sibling next sibling parent Sean Kelly <sean invisibleduck.org> writes:
Some of the fancier TVs operate at 120Hz and generate interpolated frames to=
 fill the gaps. It tends to cause all sorts of problems and look terrible. G=
enerally renders console games unplayable too, as it creates all sorts of in=
put lag.=20

On Mar 31, 2012, at 6:40 AM, "Adam D. Ruppe" <destructionator gmail.com> wro=
te:

 On Saturday, 31 March 2012 at 09:35:25 UTC, Nick Sabalausky wrote:
 So blowing hundreds of dollars just so half my stuff looks *worse* and ot=


=20
 I've seen a few high def tvs. I like half of them, though
 not enough to displace my old set.
=20
 The ones I didn't like though are apparently the more
 expensive ones. What happens is motion looks really
 bizarre on these. I don't know how to describe it, but
 watching a show on it just feels... weird as the camera
 moves.
=20
 At first, I thought it was because these things are so
 big that it was messing with my brain.
=20
 But, I brought this up on another forum and I was told
 that's a feature in the hardware: apparently the expensive
 sets interpolate frames into regular shows and display
 more movement. So, instead of 23 fps, we get, I think,
 30 fps, though I'm not sure, out of the same original material.
=20
 Anyway, everyone insists this is "better" and I think
 it is weird just because I'm "so used to seeing shit".
=20
=20
=20
 But blargh, I still don't like it.

Mar 31 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Saturday, 31 March 2012 at 23:01:32 UTC, Nick Sabalausky wrote:
 Certainly is. But *I* grew up on the original SegaCD version :)

I never got to play that version... but the song you mention below, oh I know it. Track 9 on the playstation version soundtrack cd.
 I can't believe I've still never gotten around to finishing 
 either version of Lunar 2: Eternal Blue. I need to do that 
 sometime.

That's actually on my list too... my brother finished lunar 2, but I never did. But again though, sharing the room means I know it all.
 (Although I'll admit, I did enjoy Sewer Shark

hahhahaha "relax, pretend it's a game... maybe it'll even be fun. SHOOT THE TUBES, DOGMEAT!" It's kinda funny when you think about all the craziness that shapes quirks. At least in me. Every so often, I think of one of these stupid games and I laugh to myself, or slip it in to a conversation at random. But, it is just a random collection of, often, really bad things from fifteen years ago.
 - Sonic CD (One of the two best Sonic games ever made, the 
 other being Sonic

Have this one. That was a fine game; the good SCD games are the ones where they actually made a *game* that happened to use the sega cd, not a Sega CD thing that needs to pass for a game. Another good one btw is Sol Feace - a pretty simple sidescrolling space shooter, but just again, a game that happened to be on the system. Oh, Mortal Kombat was scd too, and it had full blood and everything. My copy of this disappeared sometime in the 90's though, and we never did find it.
 I used to love that song, even
 had...no...*have*...it memorized:

I think I have the words to... 9 video game songs memorized. I actually listen to vg music more often than anything else.
 Definitely a good game. It might have been the first...

Yes, indeed, the first was on the sega master system. It was a little slow moving... lots of level grinding needed. It did that weird faux 3d dungeon thing that was popular for a bit in the 8 bit era! They set a nice foundation for the story there. Uniquely, in my experience, they actually have an ongoing story in those four games.
 I wonder which one that was. Maybe Sonic Generations?

Maybe... I was just helping his daughter through a couple levels. She's kinda terrible at games! But I think that does fit, since it had a time travel plot going with younger copies of sonic and tails and I did the chemical plant level for her.
 - Sonic 4: I love this one, despite how short it is.

Huh, I didn't even know there was a sonic 4. On the genesis, I had 1, 2, 3, sonic+knuckles, sonic cd, and one called sonic 3d. Oh and sonic spinball, a pinballish game. I guess I had a lot of them! Sonic 3 & Knuckles was one monster of a game. Huge.
 Really? I thought 7 was universally considered the best one.

The internet nerds seem to be of two groups: the ones who say 7 is the greatest game ever made, and the ones who say 7 is an overrated piece of trash that has nothing on 6. A lot of people hate #1 and 8 though, which I don't get. Those are fine games.
 I'm not sure I've even heard of that scene. Maybe I'll have to 
 give it another chance and try to get to that.

omg just youtube it too http://www.youtube.com/watch?v=hgZXiHfNt0M there's more to it than that, but that's the main piece. I guess that's arguably a SNES cutscene... but this one rocks. They also did live versions of the song! Totally amazing.
 Huh, really? I never new that. If I had, I probably would have 
 finished it.
 How do you do that?

After the training thingy, the headmaster gives you a lamp. Use it as an item, and a demon pops out. If you beat him, you can use it as a GF and learn an ability Enc-Half. After that comes Enc-None. Equip the skill and boom, no random fights. Since you can do this fairly early in the game, you can go through 80% of it with no random fights at all! And since the stats mostly come from junctions, you can get away with near zero experience too - so missing the fights+experience isn't a dealbreaker.
 I was always more a GameCube/XBox1 guy, but there's some good 
 stuff on PS2:

I haven't played any of those... I did somewhat recently finally buy a used PS2 for myself, but barely played it so far. Got Gran Turismo 3 and Madden 2008 for it (for a dollar a piece, not bad!) I played Gran Turismo 5 on the PS3 too, and that was a fine game. A solid series they have there.
 Open-world games
 are great, but they don't always make for great spectator games.

aye.
 Heh, well, that's more of an "extra little touch" easter egg 
 kinda thing anyway.

It looked really good though. My definition of "good graphics" is often "bright, lively colors". That's one reason I like FF1 - you have a good amount of bright green and blue. It makes me happy. FF Tactics too had a lot of cool bright thingies. Too many new things are going with dull, boring colors. Gah. Newsflash people, the real world is pretty bright! You can be realistic and colorful, though the old drawn animation style looks nice for itself.
Mar 31 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Saturday, 31 March 2012 at 20:54:49 UTC, Nick Sabalausky wrote:
 Over-the-air broadcast literally looked *better* than that 
 *before* the digital switch! I'm not exagerating.

I don't doubt it, though I was on cable for a long time.
 Oh yea, and the set-top boxes themselves don't
 even work right anymore!

That was *terrible* when digital was new, but wasn't bad at all when I left (in December). The cable was pretty good... just /ridiculously/ overpriced.
 But PBS is mature enough not to pull any of that crap.

yes, pbs is a fine station.
 That's *cheap* for cable. (Still not worth it though, I agree.)

Actually, I think I flipped that... I'm paying $55 now for the internet. (that reminds me, it is time to pay that again) At first, the cable+internet was $90 / month. But, after the first year, they jacked it up to $120. And then, the next year, they jacked it up to $130. So I was probably paying $75 for the cable. Even worse. Totally not worth it. I'm not terribly happy with that internet price either, but I use the crap out of it and my job relies on it, so meh. But, speaking of raising prices, this reminds me of a convo I had with my landlady a couple weeks ago. She noted that I've been here for two and a half years and only jacked the rent once. "I've been getting behind on that... I have to raise it at least 3% a year. The cost of living is going up..." Yes, the cost of living is going up because YOU are insisting on raising the rent on some fixed schedule! And then I asked for all this in writing, and I get a letter in the mail. She changed her mind: 5% increase, effective immediately and going up each year automatically. Hell no, I'm not going to sign that. I find it a little ridiculous that she thinks I would - that's higher than the going mortgage rate! And, unlike this lease, a mortgage can eventually be paid off. But, ugh. I hate moving and I hate being in debt, but she made the decision for me - I'm just going to buy a house and be done with it. I hate annual price hikes, no matter who's doing it.
Mar 31 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Sunday, 1 April 2012 at 03:10:49 UTC, Nick Sabalausky wrote:
 But I tend to listen to non-game stuff more: I'm a total whore 
 for Anime opening/closing themes.

Oh yes. Coincidentally, as I read this, I was playing the opening from Zeta Gundam! Another one I find incredibly addictive is one of the openings from Tenchi Muyo - "Pioneer" I think is the title. This is one reason I like living alone though: I can use the speakers for this stuff without embarrassment. "are you listening to some weird Japanese song??? At 1.3x speed???" /deal with it/
 Really? I've played only the first few minutes of all of them 
 and they all seemed very different from each other.

Oh yes. They are all different, but take place in the same setting and the events of one contribute to the next. You get a nice sense of continuity, especially in PS4 looking back.
 Really? Oh my god, you're really missing out. Let's see:

Well, I was imprecise - I had played the XBox, but not the specific games you listed. I actually won an xbox in... 2003 or 2004 in a school event contest. I think it was actually rigged, but that's another story. I barely played it though; by then, my gaming days were pretty much already over. My father and brother both got into it though, and bought a number of games that I played a little bit with them. This included some baseball game (baseball btw is a weird thing. I can't stand watching it. Baseball on the tv is one of the most boring things I have ever seen. But, I enjoy playing it, both in the video game world and in the real world.), a fighting game, Dead or Alive (2 and 3 I think), some kind of Tony Hawk, and Halo. And Halo 2, but that was godawful. My brother also played a single player Star Wars RPG on it. Baseball is baseball, not much to say there. A pretty solid game. The Dead or Alive games are ridiculous though. One word: BOOBS. But, they were pretty good for fighting games anyway. Tony Hawk is a nice game. I played Tony Hawk 2 on the playstation (something I'd like to find. I think I still have it, but idk) and I liked that one. The xbox wasn't the same though - I could never get used to the new controller. And then, Halo. The single player is PURE ASS. It just goes on forever and is horribly repetitive. I can't play that. Perfect Dark's single player is awesome. The levels are varied, you have things to do, the story is good enough, and most importantly, it moves quickly enough that it isn't a bother. The typical PD level can be beaten in three minutes. Halo just went on and on. But, multiplayer wasn't bad. It wasn't really *great* either, but plenty playable. I like it. My favorite part of that game though was the title screen. That was just a cool picture and that halo theme song rocked. Now, Halo 2, ugh. So, the single player still sucks... and they proceeded to break the multiplayer too. Take a poor weapon selection from halo 1. Make it worse. Take a mediocre level selection. Make it worse. Take a workable life and powerup system. Ditch it. Gah! Thankfully, my brother agreed, so we always put in halo 1. I don't think I've ever seen halo 3, and I don't care to.
 Good deal! I actually returned GT3 when I got it though because 
 playing racing games without proper sholder triggers (for 
 gas/break) sucks.

I've never even tried a game like that! Holding a button with a thumb is the way it has always been. And the way it always shall be.
 Although I could do without the 
 pretend-it's-an-extreeeeme-TV-show announcer
 and the over-designed menus.

haha that sounds awesome. I'm reminded of one game my brother had in... oh god, the old house, 1998 or something. It was a wrestling game for the playstation with announcers. Me, being a button masher, had little to no style, and this game actually called me out! "This guy is an idiot! He keeps doing the same move over and over!" that was great. Until they started repeating the same commentary over and over.
 But haven't you heard? Real is brown:
 http://www.vgcats.com/comics/?strip_id=222

yup.
Mar 31 2012
prev sibling next sibling parent "so" <so so.so> writes:
On Sunday, 1 April 2012 at 06:41:16 UTC, Nick Sabalausky wrote:

 [Anzen Chitai] Suki Sa (One of the Maison Ikkoku openings)
 [The Indigo] I Do! (ED1: Ai Yori Aoshi Enishi)
 [Hitomi Takahashi] Aozora no Namida (OP1: Blood+)
 [Yoko Kanno] Tank! (OP: Cowboy Bebop)
 [Origa & Yoko Kanno] Inner Universe (OP: Ghost in the Shell: 
 Stand Alone
 Complex)
 [Kaoru Wada] Kagome's Theme (Background Music: Inuyasha)
 [Dream] My Will (ED1: Inuyasha)
 [Namie Amuro] Come (ED7: Inuyasha)
 [Nanase Aikawa] Owarinai Yume (OP3: Inuyasha)
 [Eufonius] Koi Suru Kokoro (OP: Kashimashi)
 [Yuumao] Michishirube (ED: Kashimashi)
 [Isoe Toshimichi & Hosoi Soushi & Fujima Hitoshi] Hiai mo Otome 
 ni wa
 (Background Song: Kashimashi - I've actually been trying to 
 learn this one
 on the piano)
 [???] Panic (ED1: Kodocha)
 [???] Ultra Relax (OP2: Kodocha)
 [Rythem] Harmonia (ED2?: Naruto)
 [Eufonius] Idea (OP: Noein)
 [the show's cast] Shojo Q (OP3: Pani Poni Dash)
 [the show's cast] Roulette * Roulette (OP2: Pani Poni Dash)
 [Suga Shikao] 19sai (OP: xxxHolic)
 [Minmi] Shiki no Uta (ED1: Samurai Champloo)
 [the show's cast] Ichigo Complete (OP: Strawberry Marshmallow)

http://www.youtube.com/watch?v=DPnIDiLJuuY http://www.youtube.com/watch?v=RazOfS6mjfw ... and many more.
 Actually, that is insanely long, these would be the tops of the 
 tops:

Indeed there are tons! Too bad my first anime was "Samurai Champloo". It is like starting movies with Bladerunner and then have to endure soup operas like Star Wars mostly because of addiction (Probably i offended most of the interwebs now but that is what i do!).
Apr 01 2012
prev sibling next sibling parent Sean Kelly <sean invisibleduck.org> writes:
On Mar 31, 2012, at 1:57 PM, "Nick Sabalausky" <a a.a> wrote:
=20
 Don't know about satellite, but Cable turned to crap about a couple years=20=

 ago. It used to be very good, but then they started compressing the fuck o=

 of everything, and honest to god, half the time it looks like a fucking=20=

 MPEG**1**. "Digital quality" my fucking ass. (And and there were even A/V=20=

 sync issues!)

I have U-Verse now and it's the same way. HD stations are compressed so much= that i occasionally even see artifacts. In fact, I often get a higher quali= ty picture streaming from Netflix over the same pipe. Comcast is just as bad= though.=20=
Apr 01 2012
prev sibling next sibling parent "so" <so so.so> writes:
On Sunday, 1 April 2012 at 21:06:09 UTC, Nick Sabalausky wrote:

 How could I possibly forget that one?!?

 Yes, Light's Theme from Death Note is indeed one of the best 
 anime songs
 /ever/. Come to think of it, it would fit in very well on 
 Marilyn Manson's
 Holywood album - *and* be one of the real standout songs.

 I actually have the Death Note soundtrack. Other 
 equally-stand-out songs on
 it are "L's Theme" (L was a fantastic character period),

L is awesome. Don't start with characters! Every character in SC and CB is just crazy for starters. I mean everyone. Did you watch C-Bebop in English or Japanese? I tend to watch them in original sounds, this one was an exception. Edward with "Melissa Fahn", priceless!
 Funny thing about Bladerunner though, for some reason I just 
 couldn't get
 into it when I tried to watch it. It just seemed really slow 
 moving and it
 kinda (dare I say it?) bored me. Maybe it's cause it was the 
 director's cut?
 I dunno. I've been meaning to give it another try though. Maybe 
 the "Final
 Cut".

Every picture in BR is pure art to me, Rachael, Zhora and most importantly every appearance of Roy. You could just "listen" it for Vangelis (he is the best of best!). Sometimes i think everything comes out of a single idea, everything in a cinema or a book prepares you for that moment. http://www.youtube.com/watch?v=VupxqjTGAyk&feature=fvwrel
Apr 01 2012
prev sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Sat, 31 Mar 2012 05:37:49 -0400, Nick Sabalausky <a a.a> wrote:

 "Walter Bright" <newshound2 digitalmars.com> wrote in message
 news:jl6a6a$1gh$1 digitalmars.com...
 Dudes, get an HD TV. It really is transformative. And yes, it kills me
 that my expensive old large screen standard def TV is just a POS in
 comparison, even though it is in perfect working order.

 I can't even stand to watch standard def anymore.

I've seen and used HD sets. Heck, my sister has one (a fancy new one - 1080p of course) and I've watched stuff on it with her. BluRay, HDMI, all the bells & whitles, etc. Yea, the HD looks nice, but ultimately I've never gotten past the overall feeling of "Meh". YMMV, but it *honestly* just doesn't do much for me. Certainly not enough to blow hundreds of dollars on it.

3d. It's worth the upgrade. My brother has a PS3 and just got a 47" HD 3D set for about $1000. Modern warfare in 3d is freaking amazing. I'm waiting for the price to come down so I can get one :) I currently have an HD tube tv which runs at 1080i. The nice thing about tubes is that standard definition *does* look more normal in it. But the bad part is that most HD signals are *expecting* you to have a flat panel. Whenever I watch a sports game, I get pissed that the score is cut off by my TV because they put it on the exact edge of the picture. -Steve
Apr 02 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Wed, 28 Mar 2012 21:53:57 -0400, Jesse Phillips  
<jessekphillips+D gmail.com> wrote:

 I won't be going out of my way to check this, but there is a mention of  
 adding the range primatives. This works, but it doesn't make the class a  
 range for any other module, so std.algorithms won't recogonise it as a  
 range.

At first thought, I believed this should be fixable -- if not working already. Consider that std.algorithm doesn't include *your* module, yet you can pass types defined in your module into std.algorithm and it works just fine. But I realized after typing about 2 messages in response to this (and deleting them), you are right, there is a fundamental problem here. Because the template instantiation is based solely on the type. It does *not* include the type and whatever other modules you may have included that could define extension methods. I don't think it's an implementation issue, I think it's a design issue -- there simply is no way to do this. A counter case: module1.d: int foo(T)(T t) { return t.bar(); } module2.d: struct S { int x;} module3.d: import module1, module2; int bar(S s) { return s.x * 2;} void baz1() { S s(2); assert(foo(s) == 4); } module4.d: import module1, module 2; int bar(S s) { return s.x * 3;} void baz2() { S s(2); assert(foo(s) == 6); } // and to drive the point further: module5.d: import module3, module4; void main() { baz1(); baz2(); } In order for the asserts to *both* pass, there has to be two different instantiations of foo!S, one for module3, and one for module4. So two possible sane rules: 1. A template instantiation can *only* use UFCS from functions defined in or imported from the module in which the template is defined. (i.e. the way it works now I think) or 2. A template instantiation can *only* use UFCS from functions defined in or imported from the module in which the template is defined, *and* from functions as defined or imported by the module that defines the type on which UFCS is being used. In other words, from my example above, only functions defined in or imported from module1.d and module2.d. Therefore, the bar extension defined in module3 and module4 cannot be called from module1. For builtin types (such as arrays or numbers), there wouldn't be a module that the type was defined. However, object.di is imported by everything, so extensions could be put in there. This kind of puts a damper on certain expectations for how UFCS could be used. But I don't see any other way (other than adding the current module into the instantiation somehow -- imagine the template bloat...). Even with this limitation, UFCS still allows a lot of cool things. One misleading suggestion from the article however, it's not very easy to create non-friend non-member functions using UFCS, considering that every function in a given module is a friend. In order to do this, you would need a helper module for each module that wants to define such non-friend functions. Given the above proof, the helper module would also have to be imported by the main module. -Steve
Mar 29 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Thu, 29 Mar 2012 19:46:24 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 3/29/2012 4:34 PM, Steven Schveighoffer wrote:
 One
 misleading suggestion from the article however, it's not very easy to  
 create
 non-friend non-member functions using UFCS, considering that every  
 function in a
 given module is a friend. In order to do this, you would need a helper  
 module
 for each module that wants to define such non-friend functions. Given  
 the above
 proof, the helper module would also have to be imported by the main  
 module.

I think there's a misunderstanding. The class should contain, as member functions, anything that needs to access private state. UFCS functions declared in other modules should not need access to private state (if they do, it's an error in the design of the class) and so should have no problem being non-friends.

I don't think it's a misunderstanding on my part. If you read Scott's article (as I did a week or so ago when I realized this limitation), he makes this point: class A { private: int x; public: int getX() { return x; } int getXSquared() { return getX() * getX(); } } Is more encapsulated with getXSquared moved *outside* the class like this: int getXSquared(A &a) { return a.getX() * a.getX(); } and use namespaces to make sure there is no symbol conflict. The reason being, if you change anything in class A, you do not have to worry about the implementation of getXSquared, because it simply has no access to the private implementation. You only have to worry about internal methods, and friend functions. The intention is, getXSquared is a fundamental part of A's interface, so it actually is defined in the same location as A. That is, it's not an afterthought defined elsewhere, it's part of A's API that should always be with A. In order to accomplish this in D, getXSquared must go into another module. There is no mechanism to say "don't give this function access to A's private data". While I think Scott's arguments are a little strict in light of how D doesn't define explicit friendship, he has a good point. The D compiler doesn't help you achieve this goal *at all*. In fact, in order to achieve UFCS with this, you'd have to define the getXSquared method in a helper module, and the module defining A must include the helper, which must include the original module. This creates a module cycle, so that means you can only have static ctor/dtors in one or the other. This makes things even more awkward. -Steve
Mar 29 2012
prev sibling next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Wed, 28 Mar 2012 20:21:41 -0400, Andrei Alexandrescu  
<SeeWebsiteForEmail erdani.org> wrote:

 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/

 Andrei

Is anyone else's computer complaining about drdobbs having an invalid certificate? I read the article, and then I wanted to reference it again, and I got the error. Now I'm hesitant to accept the certificate because it seems to come from a completely different site... -Steve
Mar 29 2012
next sibling parent Walter Bright <newshound2 digitalmars.com> writes:
On 3/29/2012 5:10 PM, Steven Schveighoffer wrote:
 Is anyone else's computer complaining about drdobbs having an invalid
 certificate? I read the article, and then I wanted to reference it again, and I
 got the error. Now I'm hesitant to accept the certificate because it seems to
 come from a completely different site...

I've never seen anything like that from drdobb's site.
Mar 29 2012
prev sibling parent deadalnix <deadalnix gmail.com> writes:
Le 30/03/2012 02:10, Steven Schveighoffer a écrit :
 On Wed, 28 Mar 2012 20:21:41 -0400, Andrei Alexandrescu
 <SeeWebsiteForEmail erdani.org> wrote:

 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/


 Andrei

Is anyone else's computer complaining about drdobbs having an invalid certificate? I read the article, and then I wanted to reference it again, and I got the error. Now I'm hesitant to accept the certificate because it seems to come from a completely different site... -Steve

I have a lot of problems with drdoob, but not that one. Still, I don't what this website is made of, but it seems dangerous material. Hopefully the content is good.
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Thu, 29 Mar 2012 20:27:46 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 3/29/2012 5:09 PM, Steven Schveighoffer wrote:
 The reason being, if you change anything in class A, you do not have to  
 worry
 about the implementation of getXSquared, because it simply has no  
 access to the
 private implementation. You only have to worry about internal methods,  
 and
 friend functions.

Ok, I see what you're talking about. It has nothing to do with UFCS, it is D's design decision to not have explicit friends, but to make everything in a module implicitly a friend. I think it's far superior to the explicit friend thing in C++. I've never seen much cause for hiding things within the same module. It's not like you're allowed to edit one part of the file and not touch another part.

That is precisely what Scott Meyers recommends in the article you referenced :) He *relies* on the fact that you can edit one part and not worry about examining other parts (using his philosophy, it reduces the amount of code you have to look at when changing private implementation). FWIW, I agree with you, I think the C++ friend mechanism is awkward for what it does, and I also don't take such hard-line views for code I write (i.e. I don't mind putting code that doesn't access private members as a member function). -Steve
Mar 29 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Thu, 29 Mar 2012 20:28:31 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 3/29/2012 5:10 PM, Steven Schveighoffer wrote:
 Is anyone else's computer complaining about drdobbs having an invalid
 certificate? I read the article, and then I wanted to reference it  
 again, and I
 got the error. Now I'm hesitant to accept the certificate because it  
 seems to
 come from a completely different site...

I've never seen anything like that from drdobb's site.

Seems to be working again. huh... -Steve
Mar 29 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 <wishful musing>I've been starting to think
 more and more that the "everything in a module is a friend" was 
 a mistake,and that we should have instead just had a "module"
 access specifier like we have "package".</wishful musing>

Or, for moar compatibility, have enemy functions. class Klingon { private Starship commanding; } void nonFriend(enemy Klingon kor) { kor.commanding = lol; // error, commanding is private and kor is an enemy } Or, to avoid having a new keyword, call it interface instead of enemy. Though, then you could just pass an interface instead of a class too. Take most general possible type. But, separate modules are kinda cool anyway. I often put stuff together in one module just for ease of distribution, but eh modules are cool.
Mar 29 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 "Steven Schveighoffer" <schveiguy yahoo.com> wrote in message
 news:op.wbyg2ywyeav7ka localhost.localdomain...
 For builtin types (such as arrays or numbers), there wouldn't 
 be a module that the type was defined.  However, object.di is 
 imported by everything, so extensions could be put in there.

Wait, What? Weren't you strongly *opposed* to this last week when I suggested it for empty()?

Yes. My assertion is that you have either the module defining the template import the module that defines the UFCS function (which in this case, std.range imports std.array), or have the module that defines the type import it. Since range operations are not intrinsic to slices, and are a phobos-defined thing, including them in object.di I don't think is appropriate. You may think differently. In the case of .empty, I still contend that as long as we don't have a general definition of .empty being "the true way to check for zero length/elements/whatever," it doesn't belong as an intrinsic for arrays. std.array defines empty so slices can be used in range functions, which would inevitably import std.range/std.array. I think you are using .empty() in a generalized non-range fashion, and that is fine. But we haven't defined .empty in that way, only in terms of ranges. I know this may seem nit-picky to you, but I think it is important that we *don't* put arbitrary pieces of phobos into druntime because it seems convenient. There should be a good compelling reason.
 I'm not trying to be an ass about it. Just not sure if you 
 changed your
 mind, or I'm missing something, or what.

I understand. I'm trying to play the role of advocating for existing code. Not because I think it's better, but because I think we should have a high bar to cross in order to make deep changes like this. Adding things to object.di should not be a trivial matter. I also happen to think if(array) and if(!array) should be directly tied to length instead of pointer (this was a big design mistake IMHO). This would put us in the awkward situation of aliasing a very builtin feature of arrays as a property, seemingly for no reason in hindsight.
 One  misleading suggestion from the article however, it's not 
 very easy to create non-friend non-member functions using 
 UFCS, considering that every function in a given module is a 
 friend.  In order to do this, you would need a helper module 
 for each module that wants to define such non-friend 
 functions.  Given the above proof, the helper module would 
 also have to be imported by the main module.

Yea, that occurred to me, too. <wishful musing>I've been starting to think more and more that the "everything in a module is a friend" was a mistake, and that we should have instead just had a "module" access specifier like we have "package".</wishful musing>

I don't think it was a mistake, it makes perfect sense to me. On the other hand, I fully understand why Meyers' prescription is useful for humongous code bases. However, I don't see this causing much trouble for code I write. For instance, you have two classes you may have put into the same module because they are categorically related (not necessarily friends in C++ terms). It's highly unlikely that you "accidentally" access private information across the classes. So how much time is "wasted" checking the other class for external references? Probably none. -Steve
Mar 29 2012
prev sibling next sibling parent "Nathan M. Swan" <nathanmswan gmail.com> writes:
On Thursday, 29 March 2012 at 00:21:38 UTC, Andrei Alexandrescu 
wrote:
 http://www.reddit.com/r/programming/comments/rif9x/uniform_function_call_syntax_for_the_d/

 Andrei

The primitives/utility distinction is an idea I've thought about a lot. UFCS is justifiable not only as a syntactic convenience but as a solution to an important design principle. Great work guys! NMS
Mar 29 2012
prev sibling next sibling parent Andrej Mitrovic <andrej.mitrovich gmail.com> writes:
On 3/30/12, Walter Bright <newshound2 digitalmars.com> wrote:
 There has been a trend in Phobos of having some truly gigantic modules. I
 believe this is indicative of a problem in the language.

Ignoring that there are still a few import bugs, you can split functionality into multiple modules and use one module per package that publicly imports all modules in that package: module std.datetime; public import std.date.time, std.date.clock, std.date.watch; That's what people are already doing with various D libraries. Then, unittests could be moved into a central place. I think that could cut down the linecount quite a bit. If linecount is still a problem after that, then either the modules have to be further split or it might be an indication that Phobos is getting too large. Why would the language be at fault here?
Mar 30 2012
prev sibling next sibling parent "foobar" <foo bar.com> writes:
On Friday, 30 March 2012 at 01:55:23 UTC, Nick Sabalausky wrote:
 Yea, that occurred to me, too. <wishful musing>I've been 
 starting to think
 more and more that the "everything in a module is a friend" was 
 a mistake,
 and that we should have instead just had a "module" access 
 specifier like we
 have "package".</wishful musing>

Given Phobos' organization (or lack thereof) where files are at the order of 10k lines or more this should raise concern.
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 02:42:03 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 3/29/2012 6:57 PM, Nick Sabalausky wrote:
 How the heck does that improve encapsualtion? With D's implicit  
 friends, it
 *doesn't*, it's just shifting things around. There is NO encapsualtion
 benefit there. Like Steven said, to *get* the encapsualtion, you have to
 create a whole new module to stick "extraFunctionality" into.

It doesn't improve intra-module encapsulation, you're right. The point of UFCS, however, is so that *other* modules can extend a class's methods without breaking encapsulation.

This is misleading, the class being extended or the code that uses the extensions must import the extension methods or it doesn't work. The OP to this sub-thread brought up your example in the article -- adding range functions to a class. Yes, you can do it, but it won't work with std.algorithm. There's no need to test this, because it fundamentally cannot work that way (see my counter-case). -Steve
Mar 30 2012
prev sibling next sibling parent "foobar" <foo bar.com> writes:
On Friday, 30 March 2012 at 10:22:18 UTC, Walter Bright wrote:
 On 3/30/2012 2:15 AM, Nick Sabalausky wrote:
 Andrei and I have  talked about it, and we think it is 
 because of
 difficulties in breaking a module up into submodules of a 
 package.
 We think it's something we need to address.

Eh? Other people have voiced concerns over that since waaay back in even pre-D1 times. In particular, many people have argued for allowing modules with the same name as a package. Ie: you could have both module "foo" and module "foo.bar". The reasons they gave for wanting this are right along the lines of what you're talking about here. Eventually they got the message that it wasn't gonna happen and they gave up asking for it. Or is there a separate problem you're refering to?

No, that's it. What brings it to the fore is, as I said, the kitchen-sink module that is becoming prevalent.

I'm confused. I thought that The kitchen-sink approach was a deliberate design decision. I also don't see how the language is at fault here - some libraries opted for a all.d module that public imports the other modules which cleanly solves the problem. This can be trivially solved by a convention of adding a _.d or all.d or whatever agreed upon module at the package level. Sure, the above mentioned enhancement will remove the need for this extra tiny step. But this is merely eliminating a minor inconvenience, not some huge flaw of the language that prevents good design and proper organization.
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 08:10:14 -0400, deadalnix <deadalnix gmail.com> wrote:

 I would expect this not to work, because bar isn't defined in module1  
 and template are supposed to use declaration scope, not instantiation  
 scope (unless it is mixin template).

Right, I think it's the way it works now. But consider that the template instantiation *does* pull in some stuff from the instantiation scope (i.e. the template's module may not import the type being used to instantiate). I think it would be OK for the compiler to consider UFCS functions from the type's defining module as well, since you cannot instantiate the template for that particular type without having imported that module (i.e. it's guaranteed to instantiate the same no matter what module does it first). -Steve
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 08:22:12 -0400, deadalnix <deadalnix gmail.com> wrot=
e:

 Le 30/03/2012 14:13, Steven Schveighoffer a =C3=A9crit :
 On Fri, 30 Mar 2012 08:10:14 -0400, deadalnix <deadalnix gmail.com>  =


 wrote:

 I would expect this not to work, because bar isn't defined in module=



 and template are supposed to use declaration scope, not instantiatio=



 scope (unless it is mixin template).

Right, I think it's the way it works now. But consider that the templ=


 instantiation *does* pull in some stuff from the instantiation scope
 (i.e. the template's module may not import the type being used to
 instantiate). I think it would be OK for the compiler to consider UFC=


 functions from the type's defining module as well, since you cannot
 instantiate the template for that particular type without having
 imported that module (i.e. it's guaranteed to instantiate the same no=


 matter what module does it first).

 -Steve

It does pull information from it's own scope and what is passed as =

 parameter. So it would still fail for the UFCS case.

 I don't see a clean solution for that, because of ambiguities. That  =

 something that is not new and not specific to UFCS.

Why would there be ambiguities? Unlike C include files, D modules are = consistently compiled, unaffected by importing other modules. In order = to = instantiate a template templ!Foo, either the module that defines templ, = or = the module who is instantiating *must* import the module that defines = Foo. Knowing this, the compiler should be able to deduce that it can = consistently compile tmpl!Foo even if it pulls in UFCS functions from = Foo's module or modules that Foo's module imports.
 Immagine you want to define your own to!xxx() for your type xxx. (It i=

 dumb case because you have toString, but an interesting exercise becau=

 for your own stuff, not something that is specified in the language - =

 like toString - the same could happen with no easy solution.

I don't think this disproves anything. It should be possible without = ambiguity given the rules I stated. -Steve
Mar 30 2012
prev sibling next sibling parent "Adam D. Ruppe" <destructionator gmail.com> writes:
On Friday, 30 March 2012 at 12:10:32 UTC, deadalnix wrote:
 For the ease of distribution, you can use a module with public 
 import in it.

There's still a few things I don't like though, about downloading and compiling several modules. When it is just one, you can download the single file and add it to your dmd command line. With several modules, that's more effort, either in downloading many things or in maintaining a zip+lib of them too. A lot different than my preference of "grab my cgi.d and play"!
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 10:39:09 -0400, Jacob Carlborg <doob me.com> wrote:

 On 2012-03-30 14:52, Steven Schveighoffer wrote:

 Why would there be ambiguities? Unlike C include files, D modules are
 consistently compiled, unaffected by importing other modules.

What about static-if and string mixins?

This C code is what I'm talking about: file1.h: #define BLAH file2.h: #ifdef BLAH int foo(); #else char * foo(); #endif main.c: #include "file1.h" #include "file2.h" Note how including file1.h affects how file2.h is processed, with no control given to file2.h. But in D this cannot happen, a module is consistently processed, no matter how it's imported or in what order. Therefore you can be confident that no matter how it was imported, it has access to the same exact compiled code. Neither static-if or string mixins cannot affect a file that does not import them (directly or indirectly). -Steve
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 10:48:04 -0400, deadalnix <deadalnix gmail.com> wrot=
e:

 Le 30/03/2012 14:52, Steven Schveighoffer a =C3=A9crit :
 On Fri, 30 Mar 2012 08:22:12 -0400, deadalnix <deadalnix gmail.com>  =


 wrote:
 Immagine you want to define your own to!xxx() for your type xxx. (It=



 is dumb case because you have toString, but an interesting exercise
 because for your own stuff, not something that is specified in the
 language - like toString - the same could happen with no easy soluti=



 I don't think this disproves anything. It should be possible without
 ambiguity given the rules I stated.

 -Steve

You are messing up everything. First, this have NOTHING to do with UFCS.

Yes it does. The special rule only applies when using UFCS functions.
 Second, current D import system have no ambiguity. But you propose to =

 change that system. That would introduce ambiguity.

Stating it doesn't prove it. I claim no ambiguity, simply because I = cannot see what the ambiguous case would be. It's very easy to disprove= = me, show one example.
 Even if you don't believe me, which is fine, it is safe to assume so  =

 unless you can prove otherwise.

I'm not disputing the current module system is unambiguous. I assert th= at = my additions do not make it unambiguous. Trying to prove that it's = unambiguous would be really really hard, and require probably years of = research. I don't really want to prove it. But disproving it can be done with one case. If you believe it's = ambiguous, you must have a case in mind, no? -Steve
Mar 30 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 14:27:43 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 I would argue that:

 3. An extension method for an argument of type template parameter T will  
 be looked up only in the instantiation scope.

I don't think you looked at my counter case in detail. Your idea leads to two different instantiations of tmpl!Foo having two different implementations, depending on which extension methods you include. In fact, in one place, the instantiation might succeed, but in another, the instantiation might fail. Given that the compiler simply trims out identically defined symbols, assuming they are the same, this could have disastrous consequences. You could end up with code being different based on the link order, or possibly arbitrary decisions made by the linker! My argument is that the one thing in common is that the module that defines the type has to have been included. I think you would agree that the one truth we must maintain is that X!Y must be implemented exactly the same no matter what module instantiates it. I realize that the compiler likely doesn't keep enough information to know what functions would fall under the rules I specified, so this is probably a difficult change to effect. But it could be an incremental change later. -Steve
Mar 30 2012
prev sibling next sibling parent =?utf-8?Q?Simen_Kj=C3=A6r=C3=A5s?= <simen.kjaras gmail.com> writes:
On Sat, 31 Mar 2012 08:10:56 +0200, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 3/30/2012 5:25 PM, Walter Bright wrote:
 Ah, I know how to fix it. Mark such instantiations as "local" ones, so  
 they are
 mangled with the module name of where they were instantiated from.

http://d.puremagic.com/issues/show_bug.cgi?id=7802

http://d.puremagic.com/issues/show_bug.cgi?id=2131 might be a related problem.
Apr 01 2012
prev sibling next sibling parent "Steven Schveighoffer" <schveiguy yahoo.com> writes:
On Fri, 30 Mar 2012 20:25:10 -0400, Walter Bright  
<newshound2 digitalmars.com> wrote:

 On 3/30/2012 12:36 PM, Walter Bright wrote:
 On 3/30/2012 12:11 PM, Steven Schveighoffer wrote:
 On Fri, 30 Mar 2012 14:27:43 -0400, Walter Bright  
 <newshound2 digitalmars.com>
 wrote:

 I would argue that:

 3. An extension method for an argument of type template parameter T  
 will be
 looked up only in the instantiation scope.

I don't think you looked at my counter case in detail. Your idea leads to two different instantiations of tmpl!Foo having two different implementations, depending on which extension methods you include. In fact, in one place, the instantiation might succeed, but in another, the instantiation might fail.

Yes, you're right. I missed that nuance. I don't really know how to fix it.

Ah, I know how to fix it. Mark such instantiations as "local" ones, so they are mangled with the module name of where they were instantiated from.

As I mentioned, this is the horrible solution I did not wish to have :( What is wrong with my proposal (item 2 from my original post)? It seems like it would be as easy to implement as your proposal, and does not create "local" instantiations. -Steve
Apr 02 2012
prev sibling next sibling parent Rory McGuire <rjmcguire gmail.com> writes:
Andrei and Walter's proposal does not break existing code because it
makes folders into modules.



On Tue, Apr 3, 2012 at 8:43 AM, deadalnix <deadalnix gmail.com> wrote:
 Le 02/04/2012 18:00, Jacob Carlborg a =C3=A9crit :

 On 2012-04-02 16:31, Don Clugston wrote:

 To be brutally honest, I don't think that's got much to do with the
 language. It's got to do with Phobos adopting the Big Ball Of Mud desig=



 pattern. There's no reason for the existing modules to be so huge. Eg, =



 created std.internal.math so that the math modules would stay small.
 Not only are the modules huge, they import everything.

I couldn't agree more.

I did noticed that, but this isn't the only problem.
 I'd like to see some attempt to fix the problem within the language
 right now, before jumping straight into language changes.

That's not very hard. It will just break existing code.

Yes, this is the point : refactoring a big module into submodules is hard because it break a lot of code, which is something we don't want ina standard lib for instance. Not because it isn't possible, but because almost all D code repose on phobos, so refactoring it into submodules is likely to massively break existing code.

Apr 03 2012
prev sibling next sibling parent James Miller <james aatch.net> writes:
On 3 April 2012 19:58, Rory McGuire <rjmcguire gmail.com> wrote:
 Andrei and Walter's proposal does not break existing code because it
 makes folders into modules.

Completely off topic, but can you please refrain from top-posting? Its not a big deal, just generally quoting above you is preferred. Because it breaks the natural flow of conversation Why shouldn't you top-post? -- James Miller
Apr 03 2012
prev sibling next sibling parent Rory McGuire <rjmcguire gmail.com> writes:
--f46d044519f108fe9104bcca1143
Content-Type: text/plain; charset=UTF-8

On Apr 3, 2012 10:44 AM, "James Miller" <james aatch.net> wrote:
 On 3 April 2012 19:58, Rory McGuire <rjmcguire gmail.com> wrote:
 Andrei and Walter's proposal does not break existing code because it
 makes folders into modules.

Completely off topic, but can you please refrain from top-posting? Its not a big deal, just generally quoting above you is preferred. Because it breaks the natural flow of conversation Why shouldn't you top-post? -- James Miller

Sure --f46d044519f108fe9104bcca1143 Content-Type: text/html; charset=UTF-8 <p><br> On Apr 3, 2012 10:44 AM, &quot;James Miller&quot; &lt;<a href="mailto:james aatch.net">james aatch.net</a>&gt; wrote:<br> &gt;<br> &gt; On 3 April 2012 19:58, Rory McGuire &lt;<a href="mailto:rjmcguire gmail.com">rjmcguire gmail.com</a>&gt; wrote:<br> &gt; &gt; Andrei and Walter&#39;s proposal does not break existing code because it<br> &gt; &gt; makes folders into modules.<br> &gt;<br> &gt; Completely off topic, but can you please refrain from top-posting? Its<br> &gt; not a big deal, just generally quoting above you is preferred.<br> &gt;<br> &gt; Because it breaks the natural flow of conversation<br> &gt; Why shouldn&#39;t you top-post?<br> &gt;<br> &gt; --<br> &gt; James Miller</p> <p>Sure </p> --f46d044519f108fe9104bcca1143--
Apr 03 2012
prev sibling parent Rory McGuire <rjmcguire gmail.com> writes:
--f46d04479fab70306404bcca1b70
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

On Apr 3, 2012 10:19 AM, "deadalnix" <deadalnix gmail.com> wrote:
 Le 03/04/2012 09:58, Rory McGuire a =C3=A9crit :

 Andrei and Walter's proposal does not break existing code because it
 makes folders into modules.

Yes, I was explaining why a solution is needed here. I think the public import method is better than the one from Walter and

To me that proposal is public importing. Just without breaking code. I also like it because it reminds me of __init__.py --f46d04479fab70306404bcca1b70 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <p><br> On Apr 3, 2012 10:19 AM, &quot;deadalnix&quot; &lt;<a href=3D"mailto:deadal= nix gmail.com">deadalnix gmail.com</a>&gt; wrote:<br> &gt;<br> &gt; Le 03/04/2012 09:58, Rory McGuire a =C3=A9crit :<br> &gt;<br> &gt;&gt; Andrei and Walter&#39;s proposal does not break existing code beca= use it<br> &gt;&gt; makes folders into modules.<br> &gt;&gt;<br> &gt;<br> &gt; Yes, I was explaining why a solution is needed here.<br> &gt;<br> &gt; I think the public import method is better than the one from Walter an= d Andrei, which is lacking in some aspects.</p> <p>To me that proposal is public importing. Just without breaking code. I a= lso like it because it reminds me of __init__.py</p> --f46d04479fab70306404bcca1b70--
Apr 03 2012