I don't think there's anything wrong with your method. Certainly if you can coordinate everything, your approach has definite advantages.
Personally, I've found that a good knowledge of C can pretty much be used to fix any limitations of any other language (and pretty much every language has better string-handling routines than C;). It's also a great glue language, so that if you've got one language that doesn't query a database, but it can interact with C, then you can write the C stuff to query the database and have the other portion of the program call that. Pretty much everything out there has a C-based API.
In my case, I coded a messageboard website in PHP, which does everything really well, except that when it came time to work in a search engine for the site, I figured I wouldn't want to go through some sequential parsing of all the files through PHP each time because it would probably be superslow and interpreted each time.
Now, you can redirect from a php page to a c-based cgi page and vice-versa (just have to know your HTTP headers), and you can code sockets in c in linux pretty easily. So what I have is a daemon process running in the background in C, with all the information indexed in a binary search tree (from when it was loaded) and ready to receive connections. The php search page hands off to the cgi page, which queries the daemon with some data, receives the resulting data, and redirects the output as part of the header to a php page, which displays the results. The search daemon in the background is all c-based, with queries to postgresql, and the way it's set up now, could receive CRON commands to rebalance the tree, repopulate the tree, add new messages to be indexed, dump all the contents to an XML file, etc.
Now, PHP has bindings to pretty much every database worth its salt, does great string manipulation, can interact with XML files, can interact with LDAP (I think), has some socket capabilities, and they're working on making it work with GTK+ and also be CORBA compatible. PHP combined with a web-browser can pretty much create the perfect client, and of course, you do whatever the hell you want with the server...
The main problem is having a good protocol to communicate between everything. That's nothing to scoff at. But I still think your approach is sound.
I'm sick of this crap. Time to start a second Internet. Free up all the domain names all over again, and this time, keep out all the corporate lawyers. Let's have some FREEDOM again! Who's with me?
It might have gotten that way, but this guy was going for something bigger. If you haven't yet, check out Joseph Campbell's A Hero of a Thousand Faces, which Lucas studied, and you might see how Star Wars, even with the Burger King cups, still strove to be a universal mythic story.
I'm a programming instructor myself. Notwithstanding the fact that I don't need to be told about abstracting or arrogantly warned to steer clear of specific languages, the OP was about how C was dangerous, and I just thought I'd share a story from A LONG TIME AGO in a proof-of-concept endevour about how I personally found out the hard way just how dangerous C could be.
That said, even using data abstraction at that stage, in a brain fart I might have forgotten to subtract 1 to get at the last element and make the same mistake...
Heh. Reminds me of a problem I had coding my tackle-handball game for Linux. Every now and then a computer player would go on a breakaway, and then another player would get in his way, and so the original player would reset to his regular offence. Only problem was that from that time forth whenever that player threw the ball, he did it at lightning speed.
Took me forever to figure out what I was doing. That bit about it always seeming to happen after a breakaway ended up being the key difference, though, because whenever the breakaway conditions came up, I was writing to player->movelist[6].x and player->movelist[6].y when I'd only declared the arrays to have 6 movelist elements to begin with. Not too far down on the player struct was player->strength, so that turned ou to be the problem.
Now, if I could only figure out how to stop them from running into the walls...
Here me out. I'd like to see JarJar beaten within an inch of his life and tortured the rest of the way, just like anyone else, but let's be honest about what's going on.
Lucas thought JarJar was a good idea. He went with him in TPM. The masses cried bloody murder. Obviously, whatever reasons Lucas might have for using JarJar would still be applicable at this point of the story -- because he's consistently been creating these stories with the big picture in mind -- and if JarJar were to be taken out it'd basically be because he as compromising artistic integrity for the fans.
Arguably, in a creative sense he was already on this route (would you describe the alien species in TPM as more creative or derivative?), but if he'd been this sort of waffler in his development on the original trilogy, the product probably would have been lukewarm and we wouldn't enjoy it as much.
I'm tired of developers taking criticism so damn personally and not seeing it for what it is when they really shouldn't. (not to sound harsh, but really enough of the silly "artiste" type rants). If you're getting a lot of heat and you can't take it, it's probably best to step back quietly.
While I agree that a certain amount of backbone with regards to criticism is necessary to grow as a creative type, there are some people who are so unschooled at constructive criticism that if I were a developer, and all the feedback I was getting was "this suxors" or whatnot, I'd probably leave in a fury, too.
In a parallel to this, in creative writing workshops (and before people say anything about writing being artsy and coding being analytical, there is a HUGE amount of craft that goes into writing), the best criticism doesn't try to figure out whether or not something is good or bad, but instead tries to figure out what it IS, and what the developer has in mind, and what steps need to be taken to get from where it is now to where the developer wants to go with it.
That's not to say that end-user criticism isn't necessary -- of course it is. But that's an entirely different level of criticism that developers need, and usually, that's not helpful in the design stages. Usually, in an attempt to sound open-minded about their work, a person will welcome any and all criticism, and that's a bit of a mistake if the person doesn't know what sorts of grains of salt to take with every bit of advice they get. You have to try to meet them halfway.
This is just general stuff I've picked up, probably not applicable to this particular situation.
It's good to see some high profile hackers putting their minds to making GNU/Linux easier for people. This language should make it easier for hackers to fiddle with their kernel, and to get into kernel hacking, which is a great thing considering how daunting a challenge it is at the moment.
I don't know that I agree. What we've essentially got here is yet another language that a user needs to learn in order to take advantage of something that's supposed to make the user's life easier. It's like forcing a student to study thermal dynamics so that they can learn to put gas in the car tank. It's this approach to making things user-friendly that Linux has been taking for a long time now, and it's only making things worse the more applications and tools show up.
Windows may have it's sucky points, but it's pretty much always click-point-click-scroll-click to get something set up. You can't get easier than that. Yes, it limits the interface for the user. For a potential hacker, I know that's a problem. For an end user and help-desk technician, it is a wonderful boon.
In my opinion, a completely radical approach should be taken -- all config and setup scripts as XML files. That way, you've got one DTD binding you to whatever you're trying to set up, and a protocol that you only need to learn the nuances of once.
I wonder if it'll encourage or dicourage them from making first contact with us if they think we're all a bunch of math geeks with too much time on our hands?
Alright, fine. Whether or not something is a work of art needs to be judged based on the experience it provides to the audience. How's that?
>stick to vigorously tearing down other people's comments, it seems as though that's the only part of your post that had any thought given to it
Ah yes. Quite.
Re:Let me be the first to say "Duuuuuhhhh"
on
Are Videogames Art?
·
· Score: 1
Art forms like video games tend to get mired in these sort of debates because they lack snob appeal.
Well, there's that, but there's also the fact that video games have a really obvious visceral appeal but few (no?) games out there really have thematic depth. Even though one can successfully argue that the video game genre is an art form, the fact is is that games out there haven't really lived up to the potential of being pure works of art. Unless we've got to change our criticism to account for it...
How can you be so dumb? It is the act of criticism that creates art; without the critic all one has is objects devoid of social context.
Entirely incorrect. Two different critics could have two completely opposing opinions on whether or not something is a work of art. Does it automatically qualify if one says it is even if the other says it is not? The only constant is the artwork itself and its inherent quality. No offence, but the posturings of a deluded philosophy student mean nothing.
I'm not negating the importance of the audience, but art is an ongoing evolution of communication between all sorts of audiences. Try playing both sides of the ball, and then come back here with an opinion.
If there's one thing I've learned from emphasizing my studies in the philosophy of aesethetics...
Yawn. All that makes you is a critic.
However, code is just a skilled labor position, much like assembly work or something along those lines. You people really need to think before you post.
Code is to a computer game as scaffolding is to a sculpture. You've missed the point, Mr. Aestheticist. If it gives the audience an experience, that makes it comparable to any narrative work, which makes a computer game just as much a work of art as literature or film. How it goes from inspiration to final product is irrelevent.
Start interviewing project leaders of popular software titles at Freshmeat or Sourceforge.
Not to start a GNOME vs KDE flame war...
on
KDE Wins 3 awards
·
· Score: 3, Funny
...but it's high time someone started a GNOME vs KDE flame war.;)
Seriously, where's the beef, Miguel? What've your boys been up to?
1- Office Suite? Still waiting.
2- Flagship Browser? Still waiting.
3- Dedicated components architecture fully integrated with the environment and gone through several debugging stages? Still waiting.
4- Some sort of IDE tool above and beyond Glade? Still waiting.
5- Database application? Still waiting.
Meanwhile, KDE's been addressing all of these, three of them to the extent of winning awards.
Granted, KDE's not my tool of choice for a couple of the above (currently prefer Mozilla & wouldn't use Rekall over PostgreSQL anyway), and the promise of.NET compatibility intrigues me (sorry anti-MS folks, but it does), but it's been REALLY quiet on the Ximian front.
First of all, I want to thank you from the bottom of my heart for this soliloquay:
"So the mustache was in love. Oh, that's cool. Love is cool. That mustache is cool. But it didn't make me cool. It made Sewer Urchin swing ten miles by his upper lip!"
"And look at Jim Rave. He should have been cool. He had a cool eye patch, cool RV, cool gadgets, and he traveled the world with three vivacious, exciting, talented beauticians. That's cool! But he wasn't cool."
"You know, Arthur, I may have lost my mustache, but I've gained... heh... I haven't gained a thing."
As for the question... Comic book hero farce as a genre doesn't exactly have a huge tradition. Where did you draw most of your inspiration from?
I don't think there's anything wrong with your method. Certainly if you can coordinate everything, your approach has definite advantages.
;). It's also a great glue language, so that if you've got one language that doesn't query a database, but it can interact with C, then you can write the C stuff to query the database and have the other portion of the program call that. Pretty much everything out there has a C-based API.
Personally, I've found that a good knowledge of C can pretty much be used to fix any limitations of any other language (and pretty much every language has better string-handling routines than C
In my case, I coded a messageboard website in PHP, which does everything really well, except that when it came time to work in a search engine for the site, I figured I wouldn't want to go through some sequential parsing of all the files through PHP each time because it would probably be superslow and interpreted each time.
Now, you can redirect from a php page to a c-based cgi page and vice-versa (just have to know your HTTP headers), and you can code sockets in c in linux pretty easily. So what I have is a daemon process running in the background in C, with all the information indexed in a binary search tree (from when it was loaded) and ready to receive connections. The php search page hands off to the cgi page, which queries the daemon with some data, receives the resulting data, and redirects the output as part of the header to a php page, which displays the results. The search daemon in the background is all c-based, with queries to postgresql, and the way it's set up now, could receive CRON commands to rebalance the tree, repopulate the tree, add new messages to be indexed, dump all the contents to an XML file, etc.
Now, PHP has bindings to pretty much every database worth its salt, does great string manipulation, can interact with XML files, can interact with LDAP (I think), has some socket capabilities, and they're working on making it work with GTK+ and also be CORBA compatible. PHP combined with a web-browser can pretty much create the perfect client, and of course, you do whatever the hell you want with the server...
The main problem is having a good protocol to communicate between everything. That's nothing to scoff at. But I still think your approach is sound.
...their punishment is to advertize themselves.
grumble grumble stupid tag-stripping code grumble
I'm sick of this crap. Time to start a second Internet. Free up all the domain names all over again, and this time, keep out all the corporate lawyers. Let's have some FREEDOM again! Who's with me?
I SAID, who's with me?!
It might have gotten that way, but this guy was going for something bigger. If you haven't yet, check out Joseph Campbell's A Hero of a Thousand Faces, which Lucas studied, and you might see how Star Wars, even with the Burger King cups, still strove to be a universal mythic story.
Sigh.
I'm a programming instructor myself. Notwithstanding the fact that I don't need to be told about abstracting or arrogantly warned to steer clear of specific languages, the OP was about how C was dangerous, and I just thought I'd share a story from A LONG TIME AGO in a proof-of-concept endevour about how I personally found out the hard way just how dangerous C could be.
That said, even using data abstraction at that stage, in a brain fart I might have forgotten to subtract 1 to get at the last element and make the same mistake...
#define MOVELISTCOUNT 6
struct movenode movelist[MOVELISTCOUNT];
...
movelist[MOVELISTCOUNT].x = ball.x;
etc.
...and as a result end up overwriting other memory anyway.
My mistake was thinking that this story might be amusing to some. Obviously, the need to criticize here is more important than the need to laugh.
Please let us all know when you're through flexing your geek.
Thanks.
Now I want to hug you.
C is *supposed* to be dangerous, damnit.
Heh. Reminds me of a problem I had coding my tackle-handball game for Linux. Every now and then a computer player would go on a breakaway, and then another player would get in his way, and so the original player would reset to his regular offence. Only problem was that from that time forth whenever that player threw the ball, he did it at lightning speed.
Took me forever to figure out what I was doing. That bit about it always seeming to happen after a breakaway ended up being the key difference, though, because whenever the breakaway conditions came up, I was writing to player->movelist[6].x and player->movelist[6].y when I'd only declared the arrays to have 6 movelist elements to begin with. Not too far down on the player struct was player->strength, so that turned ou to be the problem.
Now, if I could only figure out how to stop them from running into the walls...
I never did learn how to use ddd...
Faulkner, baby, Faulkner.
Here me out. I'd like to see JarJar beaten within an inch of his life and tortured the rest of the way, just like anyone else, but let's be honest about what's going on.
Lucas thought JarJar was a good idea. He went with him in TPM. The masses cried bloody murder. Obviously, whatever reasons Lucas might have for using JarJar would still be applicable at this point of the story -- because he's consistently been creating these stories with the big picture in mind -- and if JarJar were to be taken out it'd basically be because he as compromising artistic integrity for the fans.
Arguably, in a creative sense he was already on this route (would you describe the alien species in TPM as more creative or derivative?), but if he'd been this sort of waffler in his development on the original trilogy, the product probably would have been lukewarm and we wouldn't enjoy it as much.
Just a thought.
I'm tired of developers taking criticism so damn personally and not seeing it for what it is when they really shouldn't. (not to sound harsh, but really enough of the silly "artiste" type rants). If you're getting a lot of heat and you can't take it, it's probably best to step back quietly.
While I agree that a certain amount of backbone with regards to criticism is necessary to grow as a creative type, there are some people who are so unschooled at constructive criticism that if I were a developer, and all the feedback I was getting was "this suxors" or whatnot, I'd probably leave in a fury, too.
In a parallel to this, in creative writing workshops (and before people say anything about writing being artsy and coding being analytical, there is a HUGE amount of craft that goes into writing), the best criticism doesn't try to figure out whether or not something is good or bad, but instead tries to figure out what it IS, and what the developer has in mind, and what steps need to be taken to get from where it is now to where the developer wants to go with it.
That's not to say that end-user criticism isn't necessary -- of course it is. But that's an entirely different level of criticism that developers need, and usually, that's not helpful in the design stages. Usually, in an attempt to sound open-minded about their work, a person will welcome any and all criticism, and that's a bit of a mistake if the person doesn't know what sorts of grains of salt to take with every bit of advice they get. You have to try to meet them halfway.
This is just general stuff I've picked up, probably not applicable to this particular situation.
Having worked at the UPS in Victoria, BC, let me just say that you do not want to ship computers either into or out of Victoria BC via UPS.
My last move I said "fuck it" and shipped it all regular mail.
It's good to see some high profile hackers putting their minds to making GNU/Linux easier for people. This language should make it easier for hackers to fiddle with their kernel, and to get into kernel hacking, which is a great thing considering how daunting a challenge it is at the moment.
I don't know that I agree. What we've essentially got here is yet another language that a user needs to learn in order to take advantage of something that's supposed to make the user's life easier. It's like forcing a student to study thermal dynamics so that they can learn to put gas in the car tank. It's this approach to making things user-friendly that Linux has been taking for a long time now, and it's only making things worse the more applications and tools show up.
Windows may have it's sucky points, but it's pretty much always click-point-click-scroll-click to get something set up. You can't get easier than that. Yes, it limits the interface for the user. For a potential hacker, I know that's a problem. For an end user and help-desk technician, it is a wonderful boon.
In my opinion, a completely radical approach should be taken -- all config and setup scripts as XML files. That way, you've got one DTD binding you to whatever you're trying to set up, and a protocol that you only need to learn the nuances of once.
Mersenne primes are used to tell ET about us.
I wonder if it'll encourage or dicourage them from making first contact with us if they think we're all a bunch of math geeks with too much time on our hands?
Slashdot: Press Releases for Nerds.
better, but not quite there...experience varies (sometimes wildly) from person to person, so what I may judge art YOU may judge as highly offensive.
Well, now you're getting into what is art and what is "good" art. Just because something is offensive doesn't mean it's not art.
Alright, fine. Whether or not something is a work of art needs to be judged based on the experience it provides to the audience. How's that?
>stick to vigorously tearing down other people's comments, it seems as though that's the only part of your post that had any thought given to it
Ah yes. Quite.
Art forms like video games tend to get mired in these sort of debates because they lack snob appeal.
Well, there's that, but there's also the fact that video games have a really obvious visceral appeal but few (no?) games out there really have thematic depth. Even though one can successfully argue that the video game genre is an art form, the fact is is that games out there haven't really lived up to the potential of being pure works of art. Unless we've got to change our criticism to account for it...
How can you be so dumb? It is the act of criticism that creates art; without the critic all one has is objects devoid of social context.
Entirely incorrect. Two different critics could have two completely opposing opinions on whether or not something is a work of art. Does it automatically qualify if one says it is even if the other says it is not? The only constant is the artwork itself and its inherent quality. No offence, but the posturings of a deluded philosophy student mean nothing.
I'm not negating the importance of the audience, but art is an ongoing evolution of communication between all sorts of audiences. Try playing both sides of the ball, and then come back here with an opinion.
trollin' trollin' trollin'...
If there's one thing I've learned from emphasizing my studies in the philosophy of aesethetics...
Yawn. All that makes you is a critic.
However, code is just a skilled labor position, much like assembly work or something along those lines. You people really need to think before you post.
Code is to a computer game as scaffolding is to a sculpture. You've missed the point, Mr. Aestheticist. If it gives the audience an experience, that makes it comparable to any narrative work, which makes a computer game just as much a work of art as literature or film. How it goes from inspiration to final product is irrelevent.
It's art. And like all art, it's crap.
Start interviewing project leaders of popular software titles at Freshmeat or Sourceforge.
...but it's high time someone started a GNOME vs KDE flame war. ;)
.NET compatibility intrigues me (sorry anti-MS folks, but it does), but it's been REALLY quiet on the Ximian front.
Seriously, where's the beef, Miguel? What've your boys been up to?
1- Office Suite? Still waiting.
2- Flagship Browser? Still waiting.
3- Dedicated components architecture fully integrated with the environment and gone through several debugging stages? Still waiting.
4- Some sort of IDE tool above and beyond Glade? Still waiting.
5- Database application? Still waiting.
Meanwhile, KDE's been addressing all of these, three of them to the extent of winning awards.
Granted, KDE's not my tool of choice for a couple of the above (currently prefer Mozilla & wouldn't use Rekall over PostgreSQL anyway), and the promise of
Anything we should know about?
First of all, I want to thank you from the bottom of my heart for this soliloquay:
"So the mustache was in love. Oh, that's cool. Love is cool. That mustache is cool. But it didn't make me cool. It made Sewer Urchin swing ten miles by his upper lip!"
"And look at Jim Rave. He should have been cool. He had a cool eye patch, cool RV, cool gadgets, and he traveled the world with three vivacious, exciting, talented beauticians. That's cool! But he wasn't cool."
"You know, Arthur, I may have lost my mustache, but I've gained... heh... I haven't gained a thing."
As for the question... Comic book hero farce as a genre doesn't exactly have a huge tradition. Where did you draw most of your inspiration from?