I agree with this. I actually wrote a rather long blog entry here about why I think a lot of web-based "web 2.0" applications are a bad thing (or, at least, not the best thing for the intelligent and creative people in computing to be focused on).
My main two points were that:
A: There are security implications involved with using web applications. Theoretically, a cracker, marketing firm, or government intent on getting access to personal documents would only have to gain access to a single server (or cluster) to get access to the documents of everyone who uses the service. Even if you delete documents, you have no way of knowing if the documents are actually deleted.
B: Moving things onto the web stifles innovation. While there are many interesting things that can be done by having applications communicate over the internet, instead of building on already mature desktop technologies, we are instead trying to do all of these things through the browser. While there are benefits to this, I feel that they are outweighed by the limitations of working on the immature and rather limited platform of AJAX/DHTML/etc. inside of a web browser. The best we could hope to accomplish over the next few years is to recreate on the web what we already have available on the desktop now- so we can write web applications in a few years that we could write for the desktops today.
I seem to recall another company that focused on getting into schools, hoping to get children familiar with their products and thus have them become lifelong users.
I know there are a lot of Mac users on slashdot (including myself) but how many people really started using macs in school and just never bothered to learn anything else?
The problem with this line of thinking is that technology moves too fast for this to really be effective. Someone starting at one of those 70 Universities today will, in the 4 to 6 years it takes them to graduate, go from either liking or hating this new thing, to being tired of the lame old software the University uses and looking to the next new thing.
The thing about this is, these figures are absolutely empty. The "1 in 5 children is solicited online" thing gets me particularly. I would really like to know what they count a solicited. Anyone who uses AIM or Yahoo chatrooms (can't speak for the MSN chatrooms, but I would assume it is common in those as well) and to a lesser extent, IRC has experienced bots that automatically solicit people- usually trying to trick people into pay porn sites or to the peronsons personal escort service. If they are counting this as solicitation (and it seems the most likely way that they would get the 1-in-5 figure) then it's really not nearly as much of a danger as they are making it seem. If a parent has properly configured their network connection, the vast majority of sites that spambots in chatrooms would send children to would be blocked anyway; and it's not as though there is an actual person on the other end who is actively trying to lure a child into meeting for a sexual encounter.
Furthermore, I wonder if they cound instances of flirtation where the adult ceases communication with the child if/when they become away that the person with whom they are talking is a child. Once again, this isn't a case of an adult actively conspiring to lure a child to them in order to commit sexual acts- but both instances could be used to support the 1-in-5 statistic.
One thing that gets me too is, they are talking about cracking down on child porn, but in my experience this isn't really the case. Last year someone on a newsgroup I was on (this wasn't a pornographic newsgroup, but the person who posted it was someone I had seen post before, I can only assume that they must have posted to the wrong newsgroup or something) posted bunch of child porn photos. When I saw it I got all of the relevant information I could gather and called the local FBI office, and the local police department. Neither group even seemed interested in my call. The FBI told me to contact my ISP, my ISP told me to contact the local police, local police told me to contact the FBI- and after a day on the phone getting the runaround I ended up just posting the information I had to a child abuse pervention website and hoping that they could find the right people to talk to catch the guy.
No, instead of taking information that someone was trying to give them to catch a child pornographer, they want to log everyone's online activity. The thing is, logging all of that activity will do nothing to help catch child pornography. The amount of data would be such that it would still require someone to find and report the activity- and if someone can find it and report it, then there should be enough information already to catch the person.
This leads me to believe that the interest in logging all of this is in no way related to catching child pornographers. Instead it seems like the neo-cons are doing what they do best- brewing up an invisible boogeyman and using the threat of this boogeyman in order abridge the rights and privacy of the citizens. After all, if anyone tries to stand up against it, then they "are just a prevert who doesn't care about exploited children being used for sex and porography"- the same as with the patriot act and anyone who opposed it being "a commie american hating terrorist".
Of course, most people on slashdot probably already realize this, and other people aren't going to bother signing onto slashdot to read this post- let alone rethink their position based on it.
I don't understand why basic VR technology isn't available for the average person to buy right now. I was talking to some friends of mine about this the other day.
Something like the virtual boy for display today should be realtively cheap to make (it sold for what, $150 back in '95 or so? - plus blue and green LEDs are much cheaper now, so a full colour display could be practical). Combine that with some sort of glove that has simple motion detection, maybe a couple of gyroscopes and an accellerometer, analog sensors to determine the position of the fingers, and some sort of tiny pnumatic resistance to simulate the resistance of touching something in virtual space- and you would have a 3D view with some basic approximation of being able to maniuplate things in the virtual 3D space. Headphones that emulate 3D sound are cheap now days too.
It seems to me like something that combined all this should still be able to be built and sold for somewhere in the area of $500-$1,000. Of course, I'm not much with the hardware, so I could be on the wrong track.
Aside for the obvious gaming applications, I can see a lot of things that this could be useful for. Imagine being able to go to an online shop and download a 3D representation of a product that you can play with in virtual space, or being able to have a 3D tour of some remote location from your PC. If something could be made cheap enough that a home user could afford it, it could allow developers to play with new types of GUIs (Imagine something like Project LookingGlass that was true 3D that you could manipulate with your hands, or an interface where you actually place your virtual hands into a text box to type, or being able to grab a window and squeeze it to shrink it down, then placing it inside of a virtual container.).
Anyone more qualified to talk about this want to chime in? I'm really interested in things like this.
I'm tired of all of the things meant to make searching the web easier- I would like something more effective. What I would love to see is a search engine that will allow me to search using a combination of regular expressions and something that perhaps resembles SQL.
It seems to me that too many people focus on making things "easier" when we should be focusing on making them "better' and let the users learn how to use things properly instead of molly-coddling them.
Microsoft seems to be the worst about this, but it seems to run through too many applications.
IANASA (I am not a system administrator), but on my own boxes I tend to use sudo if the task I'm doing only involves a few steps. If I'm doing something that requires more than 4 or 5 commands, then I tend to su -
The 1 and 8 are also different. Segoe uses a bottom line on the 1, and has a slightly smaller upper loop on the 8, whereas frutiger omits the bottom line on the 1, and uses equal sized loops on top and bottom for the 8.
Overall though, I do think the differences are more subtle than between most fonts.
I see a lot of negative comments here, and so I thought I would post something that his hopefully helpful.
Firstly, I have to say that a lot of the comments here should be heeded, Computer Science is a hard science, and is as mathematical as any other hard science, and more mathematical than some. In light of this, you should first think about you're statement that you do not care for hard science or mathematics. You may find that this is not true, instead you may find that what you really find is that you are primarily interested in those areas of mathematics and science which directly relate to computer science, and find it loathsome to be forced into required math and science courses which you do not see as directly related to CS. If this is true, then I urge you to push forward, you will often find that at the beginning of you're education, things seem disjointed. It is not until you near the end of you're education that those disperate elements of you're education begin to form a cohesive whole. If, on the other hand, you decide that hard math and science is not for you, then you should seriously consider changing you're major.
Computer Science is not the only technology related field of study, and it is not the only vector to working in a technology related job. I would say that you may consider looking into Computer Information Systems, which focuses less on algorithms and hard programming, and instead takes a look at how systems work together at a higher level, desiging those systems on that higher level, and resolving computer and business sytems into a cohesive and useful technological infrastructure for business. This will mean that you won't do much hard programming, though there may be some programming involved. Instead, as you expressed a desire for, you're focus will be on communication within a buisness. Writing documentation on the design of the system, interacting with people, departments, managers, and users. You act as a lieson between the developers and admnistrators and the business side of things.
I'm in a very similar situation as to yours, except I started out in CIS and realized that my interest in mathematics and hard science meant that I should have chosen CS instead of settling for CIS as my major. I'm getting ready to graduate this term and I have to say that I would suggest you don't make my mistake, and find the major that really suits you.
If analysis and design does not suit you, you may also consider other fields such as working as a technical writer, a technological reporter, or (if you're evil) working with marketing. There are a lot of areas where people need someone who can act as a translator between technological people and systems and others.
Not that it will help you now, but that's a clue that you're in the wrong major or possibly the wrong school for your aptitude. I'm not saying there's anything wrong with your major or school, just that you personally may have been happier somewhere else.
Yeah, this was something that I realized, unfortunately to lately to reasonably consider being able to change majors without going to school an extra few years. It's not specifically that I dislike CIS, I am infact fairly skilled with systems analysis and CIS disiplines, but in the end my true heart lies with CS. I enjoy messing about with compilers and OSes in my spare time, as well as more abstract CS problems. My plan is to try to find work, and possibly go back for a second degree in computer science in a few years.
I completely agree with you're point, and just thought I would pose a random sort of thought I had.
The biggest problem with C and C++ is that it's very easy for novice programmers to create insecure programs because, for the most part, they don't know how to properly work with pointers. Now days it seems to me that much fewer people learn C/C++ than used to just a few years ago. In highschool in my CS pretty much everyone who knew any programming knew C or C++. Back then, and that was only a few years ago mind, it seemed rare to me to know anyone who knew, e.g. perl or Java, and didn't know C or (more often) C++.
Now, this semester I graduate with a degree in Computer Information Systems, and of the 20 or 30 people I know off hand that are within a semester or two of me, I'm the only one who is competent with C++. There are a couple of other people who vaguely know it, and could probably recognize the syntax, but couldn't write anything useful in it.
At my school, the programming languages that are explicitly required are Java, VB.NET, COBOL, and just enough C# to do some stuff in ASP.NET- which is required for the web class. They teach a couple of assembly classes, and a couple of C++ classes that are required for the CET majors and offered as an elective to the CIS majors. I'm the *ONLY* person in the 4 years I've been at school I know who is a CIS major who took these classes.
So now, a lot of people who call themselves programmers are graduating and, quite literally, have no idea what a pointer is. So, this makes me wonder. Are C and C++ safer because most of the bad programmers are now working in "safe" languages like Java, or are they less safe because people don't learn about pointers early on?
Personally, I never understood why people have such trouble with understanding pointers, but then it may be because in highschool I was lucky enough to have an absolutely fantastic computer science teacher who instilled the basic ideas in us about how the compiler works and how variables work, and what memory addresses are, etc. from our first programming class.
Anyway, there wasn't much of a point to all that (it's 4:20am right now, and I should have been in bed 4 or 5 hours ago, so just be thankful that it's coherent (if indeed it is)) but maybe it'll stimulate discussion anyway.
You know, I've joked about learning the language and moving to india, but if what you say is true then it might be something to look into. I've already planned to try to find work outside of the US anyway- though I've mainly been looking at Canada or one of a couple of European countries where I have friends and can speak the language - if not completely fluenty- well enough to be able to function and reasonably consider living there.
Of course, standard of living isn't everything. I don't know much about the culture of india, and moving to a country where I can easy fit in with the local culture is important to me. I was under the impression that india is a relatively conservative nation (a strong caste system, few rights for woment, etc) which would really counter any argument for my moving (as one of the reason I want to live out of the US for a while is to be able to live in a more liberal culture).
Actually, I had a similiar idea. Such a law would never be passed, but I thought a law that went along the lines of this would make outsourcing much less tempting:
Any state has the right to set a minimum wadge. A company is bound to pay at least the minimum wadge of the state in which it is incorporated to all employees, although individual countries/states/cities/etc. may impose additional requiremens, such as a higher minimum wadge, that the company would be bound to follow.
That would basically say that if I start a company in some state, and the minimum wadge is $5.15 (that's what it is here). Then if I outsourced work to india, I would be required to pay at least that minimum wadge to workers there.
Given that minimum wadge is (supposedly) the minimum amount one can make working and still be able to live, it would at least give US workers a chance to compete with foreign workers.
But, it will never happen.
I've always been a big advocate for pair programming. In my experience, two equally skilled programmers working together on a project tend to progress more quickly and produce better code. When you're working with someone who has less experience than you in the subject on which you are working, I think there is a sort of natural tendency to try to "take over". The most common way this happens that I've seen is that the less experienced programmer says "why are you doing A? wouldn't B work better?" Many times the more experienced programmer will disregard a better solution because they've been using their solution forever and a day. Remember that a less experienced clever programmer has that sort of fresh set of eyes and hasn't become clouded into thinking something is good just because it's common. Remember to use that to your mutal advantage.
Another thing, as other posters have mentioned, is that a lot of code that would be boring broiler plate stuff to you may still be an interesting challenge to your friend. Consider the 90/10 rule (10% of the code takes 90% of the time) and use it to your advantage here. As the more experienced programmer, take on the "10%" (I use quotes because it will probably vary depending on the project anywhere from 1% to 30% of the actual code) and let your friend work on the "90%". Also remember that you and your friend probably have different areas of expertise, so something that may seem difficult to you could seem obvious to her/him.
In the end, play to your respective strengths. Respect eachothers knowledge and opinions, and don't forget the insite that can come from fresh eyes. Keep things light and fun, and try to learn from eachother.
This makes me think of something I've thought would be nice to have. Something like voicemail that would go along the lines of "Hi, this is such and such, I'm busy right now. If it's important press 1 to ring me anyway; otherwise press 2 to leave me a message.". It would be sort of like the phone equivilent of an away message. You could use it when you were busy enough that you didn't want to be interrupted for something unimportant, but not so busy as to necessitate turning you're phone off (e.g. laying down for a quick nap, watching a movie at home, at lunch, etc). This would also be useful to stop wrong numbers, because as soon as someone got the message "this is such and such" they would realize they have the wrong number, and hang up.
While I don't think they should require porn to move to the.xxx domain name, it seems like simply offering it would go a long way toward the goal they want. After all, porn sites are a business, and business want to attract customers interested in their product. It seems to me that a lot of porn sites would voluntarily moved to.xxx (or, more likely, buy.xxx as well as keeping their other TLDs).
I really don't think that anyone who builds things from source does it the way that you suggest (or if they do they deserve the headaches they get). Without going into why someone would choose to build from source (there are reasons peppered throughout this thread) let's look at a much more sane (and I would hope more common) way of going about it:
Sysadmin wants to install/upgrade program.
Sysadmin decides for whatever reason that this should be built from source.
Sysadmin downloads source to testing machine.
Sysadmin builds and tests the program to ensure that it works in the testing environment.
Sysadmin builds the program for the few environments the program will need to run under.
Sysadmin takes these binaries and installs them on the machines the same as (s)he would with a binary package.
Deployment is done after building and testing. No reasonble person is going to compile the program 50 times when they only have to do so once or twice. Sometimes (Often?) it's much easier to build the program from source for the limited number of environments in the shop than to try to force the binary to work on those systems in a square-peg-round-hole sort of way.
Actually, they mentioned this in the article. It was decided that they would not use exceptions for built in functions, because they couldn't decide where to draw the line between throwing an exception and halting the interpreter.
I agree that it would be a nice option to have, though in my experience the only language I've worked with on any regular basis where people actually use try/catch blocks instead of the return false way is in Java, which requires it.
From what I seem to recall someone on slashdot saying a few days ago on a different thread, the reason that game demos are distributed with the copy protection is that one of the ways the copy protection works is that it installs it's own VM and converts some of the.EXE into a bytecode. This way you have to have the copy protection program running so that it can interpret some of the bytecode in the.EXE. Since interpreting bytecode is slow, a lot of games have that code in the menus and stuff. So if they distributed the demos unprotected, the crackers could take the demo, pull out that bit of code that is bytecode in the retail version, replace it, and therefore make the game run without the copy protection.
Anyway, that's how I understand it based off what another slashdotter said.
I DM a regular tabletop game based around a zombie-themed variant of the D20 system called Year of the Zombie (disclaimer: I did some artwork for the book...so buy it and help a fellow slashdotter get some royalty checks) and I've found that the general theme works very well among roleplayers. Specifically, in a lot of the games that I run, I've found that people who can roleplay well get a lot from the games, though powergamers tend to lose interest quickly. I've never let a player actually play as a zombie, and I'm curious as to how the mechanics for it will work in this game (if it is included in the end). What I think could really make the game interesting is if they play up the need to survive. In most of the games that I run, the zombies are more of a complicating issue than the real problem at hand. In general, most of the conflict, and interesting gaming, comes from the need for food, water, and shelter. It would be interesting to set up a system where there are heavily infested cities, and groups of characters have to go on raids to get supplies. PVP also is particularly interesting in this scenario. In my games, players often have to choose between trying to get supplies from heavily infested cities, or try to steal food or supplies from other groups who may be smaller in numbers, but also can shoot back.
I'd love them to make a Mac or Linux port of this so that I could play it...I might even have to consider setting up a windows machine for this game if it looks promising as it gets nearer to launch.
I have a PS2 and a Gamecube, and there were a few multiplatform games that I got on the GC because the graphics are nicer, but for the most part I found myself picking up multiplatform titles for the PS2 because most games did not use the GC controller very well.
I think that the Revolution will suffer from this even more than the GC did. The GC controller wasn't bad, and I think was the most comfortable of the controllers for this generation if you were playing a game designed for it, but it was just different enough from the PS2 controller that a lot of games were not comfortable to play it with (The best two examples I can think of would be the Tony Hawk games and Soul Caliber II).
There is truth to this. I never was into FPS myself, but a friend of mine used to be hardcore into counterstrike. I remember watching him play when his clan was practicing for the CPL and I was baffled by the amount of strategy that they developed. I actually saw my friend kill several people by shooting through objects when he couldn't see anyone, simply becuase they had their strategy worked out well enough that he knew where it was very likely that people would be.
Actually, I beleive that GTA: Vice City and GTA: San Andreas were both considered part of the "GTA3 Franchise". I seem to recall reading something several months ago where Rockstar said that the next GTA game would be GTA4 and would somehow be differentiated from the GTA3 series.
I do agree that it would be a bad idea for the GTA series to go exclusively to the 360. It seems like the PS3 architecture would be particularly suited to running a game like GTA where there is a big focus on a lot of things going on simultaneously.
I agree with this. I actually wrote a rather long blog entry here about why I think a lot of web-based "web 2.0" applications are a bad thing (or, at least, not the best thing for the intelligent and creative people in computing to be focused on).
My main two points were that:
A: There are security implications involved with using web applications. Theoretically, a cracker, marketing firm, or government intent on getting access to personal documents would only have to gain access to a single server (or cluster) to get access to the documents of everyone who uses the service. Even if you delete documents, you have no way of knowing if the documents are actually deleted.
B: Moving things onto the web stifles innovation. While there are many interesting things that can be done by having applications communicate over the internet, instead of building on already mature desktop technologies, we are instead trying to do all of these things through the browser. While there are benefits to this, I feel that they are outweighed by the limitations of working on the immature and rather limited platform of AJAX/DHTML/etc. inside of a web browser. The best we could hope to accomplish over the next few years is to recreate on the web what we already have available on the desktop now- so we can write web applications in a few years that we could write for the desktops today.
I seem to recall another company that focused on getting into schools, hoping to get children familiar with their products and thus have them become lifelong users.
I know there are a lot of Mac users on slashdot (including myself) but how many people really started using macs in school and just never bothered to learn anything else?
The problem with this line of thinking is that technology moves too fast for this to really be effective. Someone starting at one of those 70 Universities today will, in the 4 to 6 years it takes them to graduate, go from either liking or hating this new thing, to being tired of the lame old software the University uses and looking to the next new thing.
The thing about this is, these figures are absolutely empty. The "1 in 5 children is solicited online" thing gets me particularly. I would really like to know what they count a solicited. Anyone who uses AIM or Yahoo chatrooms (can't speak for the MSN chatrooms, but I would assume it is common in those as well) and to a lesser extent, IRC has experienced bots that automatically solicit people- usually trying to trick people into pay porn sites or to the peronsons personal escort service. If they are counting this as solicitation (and it seems the most likely way that they would get the 1-in-5 figure) then it's really not nearly as much of a danger as they are making it seem. If a parent has properly configured their network connection, the vast majority of sites that spambots in chatrooms would send children to would be blocked anyway; and it's not as though there is an actual person on the other end who is actively trying to lure a child into meeting for a sexual encounter.
Furthermore, I wonder if they cound instances of flirtation where the adult ceases communication with the child if/when they become away that the person with whom they are talking is a child. Once again, this isn't a case of an adult actively conspiring to lure a child to them in order to commit sexual acts- but both instances could be used to support the 1-in-5 statistic.
One thing that gets me too is, they are talking about cracking down on child porn, but in my experience this isn't really the case. Last year someone on a newsgroup I was on (this wasn't a pornographic newsgroup, but the person who posted it was someone I had seen post before, I can only assume that they must have posted to the wrong newsgroup or something) posted bunch of child porn photos. When I saw it I got all of the relevant information I could gather and called the local FBI office, and the local police department. Neither group even seemed interested in my call. The FBI told me to contact my ISP, my ISP told me to contact the local police, local police told me to contact the FBI- and after a day on the phone getting the runaround I ended up just posting the information I had to a child abuse pervention website and hoping that they could find the right people to talk to catch the guy.
No, instead of taking information that someone was trying to give them to catch a child pornographer, they want to log everyone's online activity. The thing is, logging all of that activity will do nothing to help catch child pornography. The amount of data would be such that it would still require someone to find and report the activity- and if someone can find it and report it, then there should be enough information already to catch the person.
This leads me to believe that the interest in logging all of this is in no way related to catching child pornographers. Instead it seems like the neo-cons are doing what they do best- brewing up an invisible boogeyman and using the threat of this boogeyman in order abridge the rights and privacy of the citizens. After all, if anyone tries to stand up against it, then they "are just a prevert who doesn't care about exploited children being used for sex and porography"- the same as with the patriot act and anyone who opposed it being "a commie american hating terrorist".
Of course, most people on slashdot probably already realize this, and other people aren't going to bother signing onto slashdot to read this post- let alone rethink their position based on it.
I don't understand why basic VR technology isn't available for the average person to buy right now. I was talking to some friends of mine about this the other day.
Something like the virtual boy for display today should be realtively cheap to make (it sold for what, $150 back in '95 or so? - plus blue and green LEDs are much cheaper now, so a full colour display could be practical). Combine that with some sort of glove that has simple motion detection, maybe a couple of gyroscopes and an accellerometer, analog sensors to determine the position of the fingers, and some sort of tiny pnumatic resistance to simulate the resistance of touching something in virtual space- and you would have a 3D view with some basic approximation of being able to maniuplate things in the virtual 3D space. Headphones that emulate 3D sound are cheap now days too.
It seems to me like something that combined all this should still be able to be built and sold for somewhere in the area of $500-$1,000. Of course, I'm not much with the hardware, so I could be on the wrong track.
Aside for the obvious gaming applications, I can see a lot of things that this could be useful for. Imagine being able to go to an online shop and download a 3D representation of a product that you can play with in virtual space, or being able to have a 3D tour of some remote location from your PC. If something could be made cheap enough that a home user could afford it, it could allow developers to play with new types of GUIs (Imagine something like Project LookingGlass that was true 3D that you could manipulate with your hands, or an interface where you actually place your virtual hands into a text box to type, or being able to grab a window and squeeze it to shrink it down, then placing it inside of a virtual container.).
Anyone more qualified to talk about this want to chime in? I'm really interested in things like this.
I'm tired of all of the things meant to make searching the web easier- I would like something more effective. What I would love to see is a search engine that will allow me to search using a combination of regular expressions and something that perhaps resembles SQL.
It seems to me that too many people focus on making things "easier" when we should be focusing on making them "better' and let the users learn how to use things properly instead of molly-coddling them.
Microsoft seems to be the worst about this, but it seems to run through too many applications.
IANASA (I am not a system administrator), but on my own boxes I tend to use sudo if the task I'm doing only involves a few steps. If I'm doing something that requires more than 4 or 5 commands, then I tend to su -
The 1 and 8 are also different. Segoe uses a bottom line on the 1, and has a slightly smaller upper loop on the 8, whereas frutiger omits the bottom line on the 1, and uses equal sized loops on top and bottom for the 8.
Overall though, I do think the differences are more subtle than between most fonts.
I see a lot of negative comments here, and so I thought I would post something that his hopefully helpful.
Firstly, I have to say that a lot of the comments here should be heeded, Computer Science is a hard science, and is as mathematical as any other hard science, and more mathematical than some. In light of this, you should first think about you're statement that you do not care for hard science or mathematics. You may find that this is not true, instead you may find that what you really find is that you are primarily interested in those areas of mathematics and science which directly relate to computer science, and find it loathsome to be forced into required math and science courses which you do not see as directly related to CS. If this is true, then I urge you to push forward, you will often find that at the beginning of you're education, things seem disjointed. It is not until you near the end of you're education that those disperate elements of you're education begin to form a cohesive whole. If, on the other hand, you decide that hard math and science is not for you, then you should seriously consider changing you're major.
Computer Science is not the only technology related field of study, and it is not the only vector to working in a technology related job. I would say that you may consider looking into Computer Information Systems, which focuses less on algorithms and hard programming, and instead takes a look at how systems work together at a higher level, desiging those systems on that higher level, and resolving computer and business sytems into a cohesive and useful technological infrastructure for business. This will mean that you won't do much hard programming, though there may be some programming involved. Instead, as you expressed a desire for, you're focus will be on communication within a buisness. Writing documentation on the design of the system, interacting with people, departments, managers, and users. You act as a lieson between the developers and admnistrators and the business side of things.
I'm in a very similar situation as to yours, except I started out in CIS and realized that my interest in mathematics and hard science meant that I should have chosen CS instead of settling for CIS as my major. I'm getting ready to graduate this term and I have to say that I would suggest you don't make my mistake, and find the major that really suits you.
If analysis and design does not suit you, you may also consider other fields such as working as a technical writer, a technological reporter, or (if you're evil) working with marketing. There are a lot of areas where people need someone who can act as a translator between technological people and systems and others.
Not that it will help you now, but that's a clue that you're in the wrong major or possibly the wrong school for your aptitude. I'm not saying there's anything wrong with your major or school, just that you personally may have been happier somewhere else.
Yeah, this was something that I realized, unfortunately to lately to reasonably consider being able to change majors without going to school an extra few years. It's not specifically that I dislike CIS, I am infact fairly skilled with systems analysis and CIS disiplines, but in the end my true heart lies with CS. I enjoy messing about with compilers and OSes in my spare time, as well as more abstract CS problems. My plan is to try to find work, and possibly go back for a second degree in computer science in a few years.
I completely agree with you're point, and just thought I would pose a random sort of thought I had.
The biggest problem with C and C++ is that it's very easy for novice programmers to create insecure programs because, for the most part, they don't know how to properly work with pointers. Now days it seems to me that much fewer people learn C/C++ than used to just a few years ago. In highschool in my CS pretty much everyone who knew any programming knew C or C++. Back then, and that was only a few years ago mind, it seemed rare to me to know anyone who knew, e.g. perl or Java, and didn't know C or (more often) C++.
Now, this semester I graduate with a degree in Computer Information Systems, and of the 20 or 30 people I know off hand that are within a semester or two of me, I'm the only one who is competent with C++. There are a couple of other people who vaguely know it, and could probably recognize the syntax, but couldn't write anything useful in it.
At my school, the programming languages that are explicitly required are Java, VB.NET, COBOL, and just enough C# to do some stuff in ASP.NET- which is required for the web class. They teach a couple of assembly classes, and a couple of C++ classes that are required for the CET majors and offered as an elective to the CIS majors. I'm the *ONLY* person in the 4 years I've been at school I know who is a CIS major who took these classes.
So now, a lot of people who call themselves programmers are graduating and, quite literally, have no idea what a pointer is. So, this makes me wonder. Are C and C++ safer because most of the bad programmers are now working in "safe" languages like Java, or are they less safe because people don't learn about pointers early on?
Personally, I never understood why people have such trouble with understanding pointers, but then it may be because in highschool I was lucky enough to have an absolutely fantastic computer science teacher who instilled the basic ideas in us about how the compiler works and how variables work, and what memory addresses are, etc. from our first programming class.
Anyway, there wasn't much of a point to all that (it's 4:20am right now, and I should have been in bed 4 or 5 hours ago, so just be thankful that it's coherent (if indeed it is)) but maybe it'll stimulate discussion anyway.
You know, I've joked about learning the language and moving to india, but if what you say is true then it might be something to look into. I've already planned to try to find work outside of the US anyway- though I've mainly been looking at Canada or one of a couple of European countries where I have friends and can speak the language - if not completely fluenty- well enough to be able to function and reasonably consider living there.
Of course, standard of living isn't everything. I don't know much about the culture of india, and moving to a country where I can easy fit in with the local culture is important to me. I was under the impression that india is a relatively conservative nation (a strong caste system, few rights for woment, etc) which would really counter any argument for my moving (as one of the reason I want to live out of the US for a while is to be able to live in a more liberal culture).
Actually, I had a similiar idea. Such a law would never be passed, but I thought a law that went along the lines of this would make outsourcing much less tempting:
Any state has the right to set a minimum wadge. A company is bound to pay at least the minimum wadge of the state in which it is incorporated to all employees, although individual countries/states/cities/etc. may impose additional requiremens, such as a higher minimum wadge, that the company would be bound to follow.
That would basically say that if I start a company in some state, and the minimum wadge is $5.15 (that's what it is here). Then if I outsourced work to india, I would be required to pay at least that minimum wadge to workers there.
Given that minimum wadge is (supposedly) the minimum amount one can make working and still be able to live, it would at least give US workers a chance to compete with foreign workers.
But, it will never happen.
I've always been a big advocate for pair programming. In my experience, two equally skilled programmers working together on a project tend to progress more quickly and produce better code. When you're working with someone who has less experience than you in the subject on which you are working, I think there is a sort of natural tendency to try to "take over". The most common way this happens that I've seen is that the less experienced programmer says "why are you doing A? wouldn't B work better?" Many times the more experienced programmer will disregard a better solution because they've been using their solution forever and a day. Remember that a less experienced clever programmer has that sort of fresh set of eyes and hasn't become clouded into thinking something is good just because it's common. Remember to use that to your mutal advantage.
Another thing, as other posters have mentioned, is that a lot of code that would be boring broiler plate stuff to you may still be an interesting challenge to your friend. Consider the 90/10 rule (10% of the code takes 90% of the time) and use it to your advantage here. As the more experienced programmer, take on the "10%" (I use quotes because it will probably vary depending on the project anywhere from 1% to 30% of the actual code) and let your friend work on the "90%". Also remember that you and your friend probably have different areas of expertise, so something that may seem difficult to you could seem obvious to her/him.
In the end, play to your respective strengths. Respect eachothers knowledge and opinions, and don't forget the insite that can come from fresh eyes. Keep things light and fun, and try to learn from eachother.
This makes me think of something I've thought would be nice to have. Something like voicemail that would go along the lines of "Hi, this is such and such, I'm busy right now. If it's important press 1 to ring me anyway; otherwise press 2 to leave me a message.". It would be sort of like the phone equivilent of an away message. You could use it when you were busy enough that you didn't want to be interrupted for something unimportant, but not so busy as to necessitate turning you're phone off (e.g. laying down for a quick nap, watching a movie at home, at lunch, etc). This would also be useful to stop wrong numbers, because as soon as someone got the message "this is such and such" they would realize they have the wrong number, and hang up.
While I don't think they should require porn to move to the .xxx domain name, it seems like simply offering it would go a long way toward the goal they want. After all, porn sites are a business, and business want to attract customers interested in their product. It seems to me that a lot of porn sites would voluntarily moved to .xxx (or, more likely, buy .xxx as well as keeping their other TLDs).
And if Java programmers understood Pointers they would be using C++
I really don't think that anyone who builds things from source does it the way that you suggest (or if they do they deserve the headaches they get). Without going into why someone would choose to build from source (there are reasons peppered throughout this thread) let's look at a much more sane (and I would hope more common) way of going about it:
Sysadmin wants to install/upgrade program.
Sysadmin decides for whatever reason that this should be built from source.
Sysadmin downloads source to testing machine.
Sysadmin builds and tests the program to ensure that it works in the testing environment.
Sysadmin builds the program for the few environments the program will need to run under.
Sysadmin takes these binaries and installs them on the machines the same as (s)he would with a binary package.
Deployment is done after building and testing. No reasonble person is going to compile the program 50 times when they only have to do so once or twice. Sometimes (Often?) it's much easier to build the program from source for the limited number of environments in the shop than to try to force the binary to work on those systems in a square-peg-round-hole sort of way.
Actually, they mentioned this in the article. It was decided that they would not use exceptions for built in functions, because they couldn't decide where to draw the line between throwing an exception and halting the interpreter.
I agree that it would be a nice option to have, though in my experience the only language I've worked with on any regular basis where people actually use try/catch blocks instead of the return false way is in Java, which requires it.
From what I seem to recall someone on slashdot saying a few days ago on a different thread, the reason that game demos are distributed with the copy protection is that one of the ways the copy protection works is that it installs it's own VM and converts some of the .EXE into a bytecode. This way you have to have the copy protection program running so that it can interpret some of the bytecode in the .EXE. Since interpreting bytecode is slow, a lot of games have that code in the menus and stuff. So if they distributed the demos unprotected, the crackers could take the demo, pull out that bit of code that is bytecode in the retail version, replace it, and therefore make the game run without the copy protection.
Anyway, that's how I understand it based off what another slashdotter said.
I DM a regular tabletop game based around a zombie-themed variant of the D20 system called Year of the Zombie (disclaimer: I did some artwork for the book...so buy it and help a fellow slashdotter get some royalty checks) and I've found that the general theme works very well among roleplayers. Specifically, in a lot of the games that I run, I've found that people who can roleplay well get a lot from the games, though powergamers tend to lose interest quickly. I've never let a player actually play as a zombie, and I'm curious as to how the mechanics for it will work in this game (if it is included in the end). What I think could really make the game interesting is if they play up the need to survive. In most of the games that I run, the zombies are more of a complicating issue than the real problem at hand. In general, most of the conflict, and interesting gaming, comes from the need for food, water, and shelter. It would be interesting to set up a system where there are heavily infested cities, and groups of characters have to go on raids to get supplies. PVP also is particularly interesting in this scenario. In my games, players often have to choose between trying to get supplies from heavily infested cities, or try to steal food or supplies from other groups who may be smaller in numbers, but also can shoot back.
I'd love them to make a Mac or Linux port of this so that I could play it...I might even have to consider setting up a windows machine for this game if it looks promising as it gets nearer to launch.
I wonder if the grandparent was confusing "Java" with "Javascript".
I have a PS2 and a Gamecube, and there were a few multiplatform games that I got on the GC because the graphics are nicer, but for the most part I found myself picking up multiplatform titles for the PS2 because most games did not use the GC controller very well.
I think that the Revolution will suffer from this even more than the GC did. The GC controller wasn't bad, and I think was the most comfortable of the controllers for this generation if you were playing a game designed for it, but it was just different enough from the PS2 controller that a lot of games were not comfortable to play it with (The best two examples I can think of would be the Tony Hawk games and Soul Caliber II).
There is truth to this. I never was into FPS myself, but a friend of mine used to be hardcore into counterstrike. I remember watching him play when his clan was practicing for the CPL and I was baffled by the amount of strategy that they developed. I actually saw my friend kill several people by shooting through objects when he couldn't see anyone, simply becuase they had their strategy worked out well enough that he knew where it was very likely that people would be.
By the time the PS3 is released (and anyone can afford to buy one) that may very well be one of the more reasonable requirements...
Actually, I beleive that GTA: Vice City and GTA: San Andreas were both considered part of the "GTA3 Franchise". I seem to recall reading something several months ago where Rockstar said that the next GTA game would be GTA4 and would somehow be differentiated from the GTA3 series.
I do agree that it would be a bad idea for the GTA series to go exclusively to the 360. It seems like the PS3 architecture would be particularly suited to running a game like GTA where there is a big focus on a lot of things going on simultaneously.