My point is - bloated, poorly coded software vs. well coded and slim software.
Same features. There is always more than one way to write something, a successful and good programmer finds the shortest path and does it well.
If you believe you *need* spaghetti code to finish, I think you're a dipshit in all honesty. Because I've finished many software projects that were well-designed and thought out. Yeah, sure there are components that were not as clean as they could be - but those are things that typically act as black boxes and can be re-written later (and typically do).
You wonder why Microsoft software sucks? Because people have the same rational as you.
...the sheer complexity of what is achieved by the current Freenet codebase would make most software engineers give up before they had started. Connection pooling, real-time unwrapping, progressive hash checking, splitting, and rewrapping of encrypted streams, incorporation of a servlet architecture, threadpooling, unit tests, the list goes on, this is a massively sophisticated piece of software, the code is well commented, and as soon as the inter-node protocols are finalized, they will be documented (in fact, Adam Langley is working on this as we speak). Yes, the code and protocol are complicated, but no more-so than they need to be.
Just to insert my $0.02 on this statement. While I think that Freenet is spiffy, and the work is great, judging programmers skill by what they produce is not always the best method. Please note I am not talking about the Freenet developers here.
I strongly believe in the million monkeys principle. I have seen code that was written by a team of people that expanded over 150K lines to do some amazing things. But the code was shit. You could tell the programmers did not have a grasp on not only how to write what they wrote, but even on common agreed-upon design and implementation principles.
The result: a rewrite bringing it to 57K lines and utilizing a tremendously lesser amount of memory.
The code when we got it was really phenominal. It did a lot, but had a lot of problems under the hood.
Judge a persons ability by the quality of code, not the features they produce.
Python, while a good language, does not encompass everything. Python on an embedded device is not a great choice. Python also cannot be compiled into a native binary, nor does it have decent alternate language bindings and requires wrappers.
Any programmer who thinks one language can do anything, and is the best, is quite frankly an idiot and shouldn't code.
Google is not written in Python. Google has pieces of it written in Python.
NASA also uses Fortran, COBOL, Pascal, Perl, C, C++, Java. What's your point?
Python is really not an all-in-wonder language, it's good but please don't tote it that it is the wonder language that will solve all the problems of the world, because no language is. Python has it's fallacies as well.
Escape sequences were directly used to communicate commands and documents between computers.
The concept and method of linking documents across distributed computers arises directly from the usage of escape sequences on old IBM mainframes. It was before my time, but I do know from reading that dumb terminals used escape sequences to load pages from the mainframe. Explain again how it has nothing to do with that...
Unfortunately I think a lot of people are turned off hearing about Turing and Von Neumann not because they didn't play an important part in the creation of computer science but because of the things that were going on.
When I was younger I started reading about the early computing days (Going back to the wonderful countess of Lovelace and her difference machine) and being completely intruiged if for no other reason to be able to gain a little insight as to what it was like to be in a world where the operating system you used was one you built, because there were no alternatives.
I hope a Great Ideas course does pop up in uni's -- I think a lot of the next generation CS majors could stand to learn a lot from it.
If you ask a physicist who discovered displacement, they know. Ask your average computer scientist who created the spreadsheet, and they stare blankly. (Or respond Microsoft!)
I'm not saying that it invalidates them. I'm saying that Einstein claiming to invent newtons laws would just be wrong. Such as BT claiming to invent hyperlinking is wrong.
Credit the mothers and fathers of science and learn about them, not profit off their work. Actually, it's highly probably that a lack of Franklin's influence would be a lot less substantial than Tessla's work.
Inspiration is not the same as prior art. Velcro was inspired by thistles in nature, but so what? Velcro was a brilliant invention.
The concept of the hyperlink is irrelevent to the implementation of a hyperlink. They can be implemented totally without any sort of embedded escapes.
Your velcro analogy would be more correct if it was natures way of causing two seeds to stick together and that was it's function.
His used escape sequences to a pointer and documents from two different hosts. That is a 'hyperlink' in a general sense of the word. It's not HTML formatted, but it is a link.
His discussion about prior art is talking about the use of escape sequences to link term A on computer A to data B on computer B.
The talking of escape sequence is just a premise of what it is. It's a vague abstracted concept that basically equates to user-defined interrupt calls that can happen at any time, inserted by the end user or the program.
Hyperlinks as a concept, are innovations build upon actual escape sequences as used previously. I'm wondering when we are going to start seeing classes coming up that deal with Computer History were people can learn about Berner, Hooper, Lovelace and the rest of the bunch.
In a nutshell: Everything we have done since 1957 is based upon the work they did before.
I was more thinking of having a system similar to Bushido Blade/Samurai Showdown/Tekken where you have a series of moves grouped into attacks and defenses, each one with speed multipliers. At first when you start out your skill would be low and you would be sluggish, then the multiplier would increase causing you to move faster.
Having something as refined as 'This is a strike to my neck, block at this height' would be difficult and not much fun (IMHO) However, having a system like 'This is a strike against my upper body, I have to do a high block' or 'This is a strike against my lower body, I have to do a low block' would be cool.
This also would alleviate the need for hitpoints as well, which is something I really dislike in most games. I prefer the bushido blade style combat, where you can die in one hit.
Thanks for the link, unfortunately any game that requires me to play for 3 hours a week will be neglected. That is why SWG sounds spiffy, you can still progress.. just really slowly if you don't play often.
I have an idea for an RPG that I hope someone picks up which is automating your tasks. You have your own defined safe zones (which you can setup as part of another players zone, and then it is a cascade effect) that are patrolled by the NPCs. You can automate tasks while in the safe zone, there by still increasing your skills in the game but only in the field you were doing while logging off and then have a/2 ratio on the skill or something. In order to be attacked, they have to take out your top level providor (Which, if it's computer controlled, would be difficult) and to keep people from doing that always setting it up so that you have to pay pretty hefty taxes for the security. It would provide a safety net for the really high up players that can afford it, and incentive for the lower players to team up with other higher players who have their own zones or play more and get their own secured zones (with computer soldiers that you pay to sustain, offset by collecting "rent" from lower players wanting safety)
I have a lot of great ideas for RPGs.. Unfortunately time doesn't allow me actually working on refinine any of them, or making them a reality.
From what I hear this will actually be pretty different in the structure. I hate dealing with the I'm IRC'ing feeling that I get while trying MMORPGs. It's IRC with a lot of clicking.
That being said, City of Heroes looks pretty damned cool. One thing I think a lot of the RPGs are missing is an actual real-time realistic combat system. If I'm holding two swords, or a sword and a shield, I want to be able to use both the way I want to. I don't want any autoblocking, or a 'Two handed slash attack'. I want to see realistic fighting in these games.
I know it takes a lot more resources to code, and handle, but damnit it would be sweet.
The thing that irritates me about frivilous lawsuits, is not only that they exist, but that lawsuits and lawyers have such a tainted name that if you do have a valid cause because a company does to some to harm you, it's looked down upon to sue.
I remember years ago, I sat down and there was the TV show 'Wings' on. The characters were suing someone or something, and they have the comic-relief-foreigner say, "You have to sue! It's the american way!"
What we need is if you are suing somebody because of your own stupidity, not only will the case be dismissed but you lose the right to future lawsuits even if it's valid or not. Or maybe penalize the lawyers for it too, if they represent in a lawsuit based upon the stupidity of the person or party then they get disbarred or something.
Yes, this is now off-topic. This just seemed more worthwhile than responding to the article which is pretty much, "ooh flashy things!" and doesn't require much conversation.
When did I say it wasn't a serious programming language?
My points were A) VisualAge sucks, according to a trust source and B) You can make any decent language do whatever you need it to do if you know how to do it.
I agree with you on smalltalk, tis a good language.
However, I have a friend constantly bitching to me about VisualAge. From the list of "features" *cough* bugs *cough* it has (and well documented over the last couple months) I wouldn't touch it for a serious development problem.
The thing that irked me about this question is for the most part, any language can do those things with the proper libraries. I've yet to see a GUI kit that makes GUI programming easier than QT does. You can always add onto a programming language, pick the one that suits the problem not the one that lets you be lazy.
That actually makes a lot of sense. I have encountered people that have Masters degrees from Indian "universities" that don't know what linked lists are.
One of my favorite interview dialogs (Guy claimed to hold a bachelors with "Many years of UNIX experience"):
Me: So, you have UNIX experience and all our software is developed on UNIX. What platforms have you worked on?
Him: Uhm.. 5.2?
Me: I'm not sure I understand you. 5.2 for which? Do you know what platform you have experience on?
Him: Uhm.. red hat!
It went on to him claiming he worked on a non-existent version of SunOS. It got pretty laughable and I ended up making him sweat with some data structure questions and then got tired of it. It has provided a lot of humor though.
Favorite thing seen on a resume:
"Objective: Fill in content here"
One of the guys was absolutely hilarious (in the at, not with sense). We interviewed him, and he was working on a project that formatted HTML documents. Talking about any work he constantly referred to that project and the "two thousand five hundred documents to be parsed!"
Because of his obsession (and his ghastly programming skillers.. he was here for 2 weeks wrote a couple hundred lines of code that did not a)compile, b)work, c)have any reusability factor) it's now become a joke around the office.
Good to know that it's just a coincidence about the ones I've met. I was starting to lose faith in the Indian higher education system.
Excellent advice. When I went into the job that I have now they looked at my resume and thought it was a slight gamble cause I was either full of shit or knew my shit.
I was really surprised because this was the first time since about 1998 that they have really grilled me about technology. I passed their scrutiny, and got my job.
We needed to bring in a consultant, so we started looking around and calling the vampire-agencies and got quite a few resumes that I got picked to sift through to pick the best of them (My boss already filtered the obvious out) and I found that most of them were pretty much one of three:
I started a company in my parents garage and it failed.
I got my degree in India and can do XYZ
I went to school, got my degree hoping to make big bucks and just graduated and now I can't get a job and I have $60K in loans
While providing entertainment to anyone who was in the industry pre-IdiotIPOera I feel slightly bad for all the fax machines that have to pass these guys resumes around. I've found that a lot of the indian developers in America are only good at one or two things, and anything else is just lost. This is basing my opinion on roughly 20 developers I know that are indians, who are great developers when they are in their niche. Has anyone else noticed this?
The problem with that, and isn't your problem at all, but he's pissed off at the people who detract from everyone else at the sake of being quirky.
I have to agree with him, it's bullshit. I can't stand people who think it's their given right to wear a starwars shirt that fit them with then were 17 and they saw Empire Strikes Back and hasn't been washed sense just because they're programmers.
His criticism was to get over the special treatment developers get because they simply know how to compile a program. If you can do your job, and not hinder other peoples work, I don't give a flying fuck what you do. If you come into the office, spend an hour a day playing with nerf guns causing the other people on your floor to be distracted then you deserve to be on food stamps or working at the local day care.
Having said all that, I'm in my 20s. I wear slacks and a nice shirt with dress shoes. I have been coding since I was 11. I know it's not a prerequisite to be a starwars obsessed nimrod to be a good programmer.
The icon in the top left looks really similar to KDE-style. In fact, a lot of it looks KDE-ish.
Maybe it's just me..
You do realize they would get mugged for their segways right?
Just envision a troop of geeks hiding behind a set of bushes. Kind of like the Far Side comics.
You totally missed my point.
My point is - bloated, poorly coded software vs. well coded and slim software.
Same features. There is always more than one way to write something, a successful and good programmer finds the shortest path and does it well.
If you believe you *need* spaghetti code to finish, I think you're a dipshit in all honesty. Because I've finished many software projects that were well-designed and thought out. Yeah, sure there are components that were not as clean as they could be - but those are things that typically act as black boxes and can be re-written later (and typically do).
You wonder why Microsoft software sucks? Because people have the same rational as you.
...the sheer complexity of what is achieved by the current Freenet codebase would make most software engineers give up before they had started. Connection pooling, real-time unwrapping, progressive hash checking, splitting, and rewrapping of encrypted streams, incorporation of a servlet architecture, threadpooling, unit tests, the list goes on, this is a massively sophisticated piece of software, the code is well commented, and as soon as the inter-node protocols are finalized, they will be documented (in fact, Adam Langley is working on this as we speak). Yes, the code and protocol are complicated, but no more-so than they need to be.
Just to insert my $0.02 on this statement. While I think that Freenet is spiffy, and the work is great, judging programmers skill by what they produce is not always the best method. Please note I am not talking about the Freenet developers here.
I strongly believe in the million monkeys principle. I have seen code that was written by a team of people that expanded over 150K lines to do some amazing things. But the code was shit. You could tell the programmers did not have a grasp on not only how to write what they wrote, but even on common agreed-upon design and implementation principles.
The result: a rewrite bringing it to 57K lines and utilizing a tremendously lesser amount of memory.
The code when we got it was really phenominal. It did a lot, but had a lot of problems under the hood.
Judge a persons ability by the quality of code, not the features they produce.
Python, while a good language, does not encompass everything. Python on an embedded device is not a great choice. Python also cannot be compiled into a native binary, nor does it have decent alternate language bindings and requires wrappers.
Any programmer who thinks one language can do anything, and is the best, is quite frankly an idiot and shouldn't code.
Google is not written in Python. Google has pieces of it written in Python.
NASA also uses Fortran, COBOL, Pascal, Perl, C, C++, Java. What's your point?
Python is really not an all-in-wonder language, it's good but please don't tote it that it is the wonder language that will solve all the problems of the world, because no language is. Python has it's fallacies as well.
That's my point is that it isn't taught in school and I believe it should be.
That is like saying that newton and einstein should not be grouped together though.
Uhm, actually it does.
Escape sequences were directly used to communicate commands and documents between computers.
The concept and method of linking documents across distributed computers arises directly from the usage of escape sequences on old IBM mainframes. It was before my time, but I do know from reading that dumb terminals used escape sequences to load pages from the mainframe. Explain again how it has nothing to do with that...
hostnamedocument.name
or
http://hostname/document.name
Go learn about escape sequences. Considering the modern day URL is a direct version branch of old-time escape sequences, it does debunk them.
If you have ever done any CGI programming, why is it: URI_escape() to format a url? That's right.. because a URL is an escape sequence.
Unfortunately I think a lot of people are turned off hearing about Turing and Von Neumann not because they didn't play an important part in the creation of computer science but because of the things that were going on.
When I was younger I started reading about the early computing days (Going back to the wonderful countess of Lovelace and her difference machine) and being completely intruiged if for no other reason to be able to gain a little insight as to what it was like to be in a world where the operating system you used was one you built, because there were no alternatives.
I hope a Great Ideas course does pop up in uni's -- I think a lot of the next generation CS majors could stand to learn a lot from it.
If you ask a physicist who discovered displacement, they know. Ask your average computer scientist who created the spreadsheet, and they stare blankly. (Or respond Microsoft!)
1's and 0's.
I'm not saying that it invalidates them. I'm saying that Einstein claiming to invent newtons laws would just be wrong. Such as BT claiming to invent hyperlinking is wrong.
Credit the mothers and fathers of science and learn about them, not profit off their work. Actually, it's highly probably that a lack of Franklin's influence would be a lot less substantial than Tessla's work.
And please use preview.
Please go back to school.
Thank you.
Inspiration is not the same as prior art. Velcro was inspired by thistles in nature, but so what? Velcro was a brilliant invention.
The concept of the hyperlink is irrelevent to the implementation of a hyperlink. They can be implemented totally without any sort of embedded escapes.
Your velcro analogy would be more correct if it was natures way of causing two seeds to stick together and that was it's function.
His used escape sequences to a pointer and documents from two different hosts. That is a 'hyperlink' in a general sense of the word. It's not HTML formatted, but it is a link.
RTFA.
His discussion about prior art is talking about the use of escape sequences to link term A on computer A to data B on computer B.
The talking of escape sequence is just a premise of what it is. It's a vague abstracted concept that basically equates to user-defined interrupt calls that can happen at any time, inserted by the end user or the program.
Hyperlinks as a concept, are innovations build upon actual escape sequences as used previously. I'm wondering when we are going to start seeing classes coming up that deal with Computer History were people can learn about Berner, Hooper, Lovelace and the rest of the bunch.
In a nutshell: Everything we have done since 1957 is based upon the work they did before.
I was more thinking of having a system similar to Bushido Blade/Samurai Showdown/Tekken where you have a series of moves grouped into attacks and defenses, each one with speed multipliers. At first when you start out your skill would be low and you would be sluggish, then the multiplier would increase causing you to move faster.
Having something as refined as 'This is a strike to my neck, block at this height' would be difficult and not much fun (IMHO) However, having a system like 'This is a strike against my upper body, I have to do a high block' or 'This is a strike against my lower body, I have to do a low block' would be cool.
This also would alleviate the need for hitpoints as well, which is something I really dislike in most games. I prefer the bushido blade style combat, where you can die in one hit.
Thanks for the link, unfortunately any game that requires me to play for 3 hours a week will be neglected. That is why SWG sounds spiffy, you can still progress.. just really slowly if you don't play often.
/2 ratio on the skill or something. In order to be attacked, they have to take out your top level providor (Which, if it's computer controlled, would be difficult) and to keep people from doing that always setting it up so that you have to pay pretty hefty taxes for the security. It would provide a safety net for the really high up players that can afford it, and incentive for the lower players to team up with other higher players who have their own zones or play more and get their own secured zones (with computer soldiers that you pay to sustain, offset by collecting "rent" from lower players wanting safety)
I have an idea for an RPG that I hope someone picks up which is automating your tasks. You have your own defined safe zones (which you can setup as part of another players zone, and then it is a cascade effect) that are patrolled by the NPCs. You can automate tasks while in the safe zone, there by still increasing your skills in the game but only in the field you were doing while logging off and then have a
I have a lot of great ideas for RPGs.. Unfortunately time doesn't allow me actually working on refinine any of them, or making them a reality.
From what I hear this will actually be pretty different in the structure. I hate dealing with the I'm IRC'ing feeling that I get while trying MMORPGs. It's IRC with a lot of clicking.
That being said, City of Heroes looks pretty damned cool. One thing I think a lot of the RPGs are missing is an actual real-time realistic combat system. If I'm holding two swords, or a sword and a shield, I want to be able to use both the way I want to. I don't want any autoblocking, or a 'Two handed slash attack'. I want to see realistic fighting in these games.
I know it takes a lot more resources to code, and handle, but damnit it would be sweet.
The thing that irritates me about frivilous lawsuits, is not only that they exist, but that lawsuits and lawyers have such a tainted name that if you do have a valid cause because a company does to some to harm you, it's looked down upon to sue.
I remember years ago, I sat down and there was the TV show 'Wings' on. The characters were suing someone or something, and they have the comic-relief-foreigner say, "You have to sue! It's the american way!"
What we need is if you are suing somebody because of your own stupidity, not only will the case be dismissed but you lose the right to future lawsuits even if it's valid or not. Or maybe penalize the lawyers for it too, if they represent in a lawsuit based upon the stupidity of the person or party then they get disbarred or something.
Yes, this is now off-topic. This just seemed more worthwhile than responding to the article which is pretty much, "ooh flashy things!" and doesn't require much conversation.
When did I say it wasn't a serious programming language?
My points were A) VisualAge sucks, according to a trust source and B) You can make any decent language do whatever you need it to do if you know how to do it.
I agree with you on smalltalk, tis a good language.
However, I have a friend constantly bitching to me about VisualAge. From the list of "features" *cough* bugs *cough* it has (and well documented over the last couple months) I wouldn't touch it for a serious development problem.
The thing that irked me about this question is for the most part, any language can do those things with the proper libraries. I've yet to see a GUI kit that makes GUI programming easier than QT does. You can always add onto a programming language, pick the one that suits the problem not the one that lets you be lazy.
That actually makes a lot of sense. I have encountered people that have Masters degrees from Indian "universities" that don't know what linked lists are.
One of my favorite interview dialogs (Guy claimed to hold a bachelors with "Many years of UNIX experience"):
Me: So, you have UNIX experience and all our software is developed on UNIX. What platforms have you worked on?
Him: Uhm.. 5.2?
Me: I'm not sure I understand you. 5.2 for which? Do you know what platform you have experience on?
Him: Uhm.. red hat!
It went on to him claiming he worked on a non-existent version of SunOS. It got pretty laughable and I ended up making him sweat with some data structure questions and then got tired of it. It has provided a lot of humor though.
Favorite thing seen on a resume:
"Objective: Fill in content here"
This has been a total of 3 different companies.
One of the guys was absolutely hilarious (in the at, not with sense). We interviewed him, and he was working on a project that formatted HTML documents. Talking about any work he constantly referred to that project and the "two thousand five hundred documents to be parsed!"
Because of his obsession (and his ghastly programming skillers.. he was here for 2 weeks wrote a couple hundred lines of code that did not a)compile, b)work, c)have any reusability factor) it's now become a joke around the office.
Good to know that it's just a coincidence about the ones I've met. I was starting to lose faith in the Indian higher education system.
I was really surprised because this was the first time since about 1998 that they have really grilled me about technology. I passed their scrutiny, and got my job.
We needed to bring in a consultant, so we started looking around and calling the vampire-agencies and got quite a few resumes that I got picked to sift through to pick the best of them (My boss already filtered the obvious out) and I found that most of them were pretty much one of three:
While providing entertainment to anyone who was in the industry pre-IdiotIPOera I feel slightly bad for all the fax machines that have to pass these guys resumes around. I've found that a lot of the indian developers in America are only good at one or two things, and anything else is just lost. This is basing my opinion on roughly 20 developers I know that are indians, who are great developers when they are in their niche. Has anyone else noticed this?
The problem with that, and isn't your problem at all, but he's pissed off at the people who detract from everyone else at the sake of being quirky.
I have to agree with him, it's bullshit. I can't stand people who think it's their given right to wear a starwars shirt that fit them with then were 17 and they saw Empire Strikes Back and hasn't been washed sense just because they're programmers.
His criticism was to get over the special treatment developers get because they simply know how to compile a program. If you can do your job, and not hinder other peoples work, I don't give a flying fuck what you do. If you come into the office, spend an hour a day playing with nerf guns causing the other people on your floor to be distracted then you deserve to be on food stamps or working at the local day care.
Having said all that, I'm in my 20s. I wear slacks and a nice shirt with dress shoes. I have been coding since I was 11. I know it's not a prerequisite to be a starwars obsessed nimrod to be a good programmer.