Also, it doesn't stand up to wheeled traffic like concrete does. Just seemed like one of those amusing cases where a solution loops back around to being nearly as good as the thing it replaces, but now someone makes money off it.
Hmm, since we're being green anyway, lets eliminate some of the cars--then perhaps we could make the concrete softer to walk on.
We could use some other color but grey--yuck. Maybe green to represent the fact that it purifies the air.
Being softer, it would be nice if it had some kind of self-patching mechanism...
As long as it's going to be self-patching, let's get really sci-fi and have it create itself using some kind of a system involving materials from underneath itself in some kind of a synthesis process.
Damn, I'm thinking way too far ahead--our science will never get to the point where it can do this stuff. Guess I'll have to be happy with air-purifying concrete.
This is exactly what republicans say they should do. Take a hard line against government waste. If the existing systems can't do the job, get new systems.
Also if the controller thinks that it will take as long to undo as it took to do (knowing when you are doing it that you will have to undo it), FIRE HIM AND EVERYONE WHO GAVE HIM AN ESTIMATE RIGHT NOW! This concept is so unforgivably wrong that for an engineer to not recognize that right off is virtually not possible (I expect this has been put forward a few times in this thread for just this reason).
If they actually wanted to update it using modern development methodologies, it probably wouldn't even be anywhere near as expensive as they have been quoting.
First of all, tag all items with the name of the initial owner/creator.
Create a second server. Fully playable, fine server--except it's only for people who choose to go there and people who cheat.
Watch players and identify bots (as usual--ongoing process) but don't kick them immediately (So that you don't let on that you know or how you figured out).
After a while, just transfer every character owned by the person over to the new server, and eliminate every item tagged with the cheaters name from the original server. No warning whatsoever, just a little notice after the fact--you belong on this server instead.
The person may either stay on the new server with his great character and all the other cheaters, or he can buy a new serial number and go back to the "non-cheating" server.
On the cheating server, there is little attempt to identify cheaters except in the most blatant cases. If people really enjoy cheating more--they should be able to! Just don't interact with people who don't want to be on the same server as cheaters.
It would also have a serious dampening effect on ebay item sales--items purchased may disappear at any time! You'd be more careful with in-game trades/purchases too.
You would not be harming the cheaters by moving them to a different server--they should be happier! If their guild thinks cheating is okay, maybe the whole guild should go over and they can remain together. If not--well you were in the wrong guild and shouldn't miss them too much.
Well, that should make it more fun than destroying it like the botters to to WoW, Diablo2, and most other games that can't prevent cheating.
And yeah, I find the theory interesting.
I've been considering making a RTS where the human player simply guides what happens through programs and general input. Basically you make your own client, or create macros for the default client and the server just enforces rules.
It's a completely different game obviously--I mean your theory doesn't hold at all for bejeweled or Sudoku, and yet those are considered very interesting games by some.
My ultimate end result would be a tournament where 20 teams of 4-5 people compete--Two pilots, 2-3 programmers working over say 48 hours, with a game moving so quickly that it simply looks more like flows of colors rather than thousands of armies moving across the board.
In an RTS, the strategy is the game. In an MMORPG, actually spending time sitting in front of your character leveling it and earning each little advance is the game.
I've almost always had the most fun in MMORPGs in the first few levels--the first few levels can EASILY be just as fun as the last few, unless you ruin it by having cheaters around giving you weapons and helping you.
Yes, I agree completely. The game would be fun except, as you said "Because everyone levels (bots...) his way up to 70". That ruins it. You made my point better than I could.
If people weren't botting, they would be playing in dungeons the whole time and enjoying it, instead they destroy it for themselves by changing the game into a grind.
MMORPGs tend to be addictive enough that people play quite a few characters too. How many games are really good more than 2 times through? How many aren't a grind the 5th time through?
Quick person to person games are probably the only ones that have that kind of repeatability.
No matter how good Final Fantasy n is, you're not going to enjoy replaying it on the 10th pass, and yet most of the replies here are insisting on that kind of performance from a MMORPG that they are ruining themselves by botting and making the powerful items too available even to people just playing through the first time. With nothing to look forward to, the game becomes a grind.
If you were handed all the items, money and levels at the beginning of any RPG and told to play it through to the end, you'd consider it a grind (and you'd be right).
Again (Said this in another reply), it's the difference between an RPG and non-RPG sytle game. In an RPG, you are improving your character. That improvement has to have a cost and take time or it's no longer an RPG, it's a really really lame--well there is no category for that game because nobody would make a game that stupid.
RPGs are really about building a character--if that's free or easier, it's more like your first "Fix" of doom, just having no enemies while you walk through the levels.
But my statement was too generic, you're right... Depending on what part you cheat, some can be kinda fun, and some cheats (like the IRL) aren't even cheats, they are gimmies in the games, but game developers keep these rare because it still limits the games replayability.
Civ games are not open-ended, it is not a mmorpg. It pits human against human. When you are done with a days play, the only thing you take to the next game is your personal skill improvement.
Completely different concept.
And yet, I'm pretty sure that if you went out and attached with random people playing civ, you'd get cheaters.
What it sounds like you are saying is that you enjoy other games more, so you don't consider them grind? Others (in this same thread) have indicated that they do consider it significant grind (guild wars).
Just out of curiosity, if you get to the point in a game that you are playing where you dislike it enough that you consider it hard (a "grind") what in the world could keep you playing it? I've gotten to that point in games (including Civ), recognized it and put the game away.
I don't think you understand game psychology. There is a crossover between a smooth, slow progression and long-term enjoyability.
If a game had no grind, players would lose interest quickly--the rewards need to be spaced out and not constant. In order for a good experience to stand out from the grind, there has to be a grind.
If you give people "what they want to play", they will not enjoy it at all. I can give you a game that you win at the push of a button--no grind at all. Would that make you happy?
When I used to find myself spending too much time on any game, a truly reliable way to make me sick of it is to cheat--to get everything I want as fast as I want. End of all my interest in the game within a couple days to a week. (this is how I broke my original addictions to Diablo and Diablo years ago)
Sure you think you want to be handed all these things you cheat for, but if that was really all you wanted, why not play single player? There are massive, undetectable cheats for that.
The only reason to cheat on b.net is to compare yourself to people who don't--to somehow give yourself an edge up against those who don't because, hmm, because it makes you feel better about yourself maybe? That's just pathetic.
Think about it for a while. Analyze what you play and why you play it. From your statement you obviously play a lot, but do you ever really think about what you enjoy about gaming? What you really want? Again, from your email, I have to guess no...
If I pick up my mail from another P, is that P2P file sharing, or does P2P implicitly involve many connections?
If it does involve many connections, then could I restrict bit torrent to a single connection and use it?
If I send huge attachments in my email (say.mp3 files) to a bunch of other people on a mailing list and pick up other music from their mailing lists, is that p2p? It's the same bandwidth overall (but a much bigger centralized load on an email server somewhere)
Maybe we need an automated mail-based encrypted multi-message attachment system that is as easy to use as bit torrent. They wouldn't dare start kicking people for too many email messages.
Hey, email is p2p isn't it? (anyone can run a server, anyone can pick up from anyone else). So if all clients ran servers and all clients picked up from all the other clients, you'd have a distributed file distribution system that ran on top of email, right? You could even make it bit-torrent like, just running on email messages with encrypted payloads.
I believe eco-friendly usually has to do with the materials used in the circuit board. It wouldn't have anything to do with the stuff listed (although the one piece of aluminum would be extremely recyclable, much more than plastic, that could actually be quite a bit of it!).
Old laptops generally have pathetic or completely useless batteries. Replacements are often in the $100 range. The LCD hinge gets flaky as they get older if they are used a bit. Problems may be heat dependent, sell your cheap laptops in the winter!
I've got an old Pentium laptop with a bad monitor and a bunch of keys that don't work and an old Mac (from enron--might have secret files!) that I think is in perfect shape aside from being a non-osx mac (aka doorstop). I have two other laptops with various quirks--one that makes some clicking/static sounds all the time, and the other is fairly good, but the power connector is fried so I have to plug it in through a docking station.
Taking offers on any of them.
Old laptops suck, and if they don't suck now, they will soon.
On the other hand, I'll wait until the $100 laptops have a few more features...
Involving parents means that you are giving up on a large number of children. Many have parents that won't get involved, and many don't have parents or have some that won't have anything to do with the children.
Your solution is that the world needs uneducated workers too?
I agree parents should be involved, in fact they can be much more effective than the school as it is now, but again--what's your plan for the rest?
There is no reason it has to be less efficient is my only point.
Maybe it is, maybe it isn't.
As far as intuitive--I'm not sure I like "Intuitive" code much. I saw a lot of it in Ruby and to tell you the truth, The more "Intuitive" the language, the harder the code tends to be to read (and often, the worse the implementation--some of these string manipulation tools built into the language become the "Go-to" solution for all problems when in fact they are creating some horrid underlying solutions..)
I'd like longer, more explicit code as long as the compiler is smart enough to grind it down to the same machine language. (Yes, java ends up as machine language if you haven't been paying attention, and potentially more efficient machine language than C since it is optimized at runtime.).
I suppose we all have these balance points--being willing to give up a certain amount of understanding of the underlying implementation for simplicity and abstraction at a higher level. If not, we'd all still be using assembly (I remember programmers complaining about C vs assembly the same way many people now complain about java vs c)
As long as you know that Java is virtually as fast as C, that it's significantly more reliable and can have a much better level of abstraction allowing quicker development, choosing to stick with C is fine.
Personally there are Java competitors that are becoming just about as fast and some people claim are better abstractions (Scala), but I'm just getting too old to wrap my head around (I tried), so I'll stick with Java, telling myself that it's better to stick with simplicity and more explicit code and no cute language tricks--actually, I really believe that.
>>Or maybe a C++ programmer just throws things in there as needed. No mallocs = fast memory usage.
This kind of proves a point. C++ keeps programmers from understanding OO development. Just as a quick review--when I moved from C++ to Java, I suddenly realized I had NO IDEA how to program OO in C++. It wouldn't let me.
To think in OO, you create objects without owners or lifecycles. They are shared--they kind of float around. Others may have references to your objects or not.
the way you are able to design is a level up. You can't care about when to destroy memory, and you can't be in any way reluctant to create a new class. The elegance and simplicity of OO comes form creating a class EVERY SINGLE time it enters your mind to do so. Good classes are rarely more than a screen or two long, and never have more than one concern.
This leads to a massive number of small memory allocations that cannot be stack-based (Well, of course many can be stack based, but to even make you think of that is a pretty big distraction to your design and a huge hole for bugs).
Basically I've never seen an OO C++ program.
I know that a lot of what I said makes you feel like I have no design process and my code must be horrible, but that's not the case. It's like the design process has gone up a level and left a lot of the less important concerns to the compiler which can be trusted (the reason it makes you nervous is that the C++ compiler could not be trusted to handle those details).
But whatever. I've spent 7 years in C++/C and 10 in Java. I suppose if you've spent a few years in Java and a few in C++ then we've just had different experiences, teams and design approaches.
Honestly I started to argue and then had to stop and consider if you were messing with me.
Pointers are simply an artifact left over from when it was too difficult to make a compiler produce high-performance code. There is absolutely no advantage to pointers now that compilers can be written to perform with the same speed on arrays. They are just a horrid horrid idea.
I'm actually quite good with pointers--I'm not scared of them or anything, It's not that they aren't a little fun at times, but they don't supply a single positive thing to the programming experience that can't be done better through other mechanisms with a better language/compiler. Even memory-mapped I/O could be done with an array if anyone really wanted to do so--there is absolutely no reason it shouldn't compile down to code exactly as fast as pointers.
The more information your compiler has, the smarter it can be about optimizing your code. When C was made (and C++ followed with similar syntax) they didn't really consider optimizing, just making an easy to write, easy to port compiler (a very admirable goal for the time!).
Oh, I agree about Java being a "Hand-holding" language, but if you have to work on some crappy code written by a bunch of crappy engineers that is extremely bug-laden, wouldn't you prefer it was in simpler language?
Hmm, seriously, while I was typing out that paragraph I answered myself--it's a trick question (and perhaps the one HUGE advantage to C++!) You won't find really really crappy c++ code because there is a much higher "Minimum programming ability" than most other languages.
You don't gain anything, but it does keep you in a more exclusive club.
PS: I spent years programming the windows 3.0-3.1 api with C including the giant 100 line switch-statements from hell and the debugging binaries and all... It's not like I don't understand C/C++..
I think a point was made that the crime had to entail a lack of empathy. This is also a serious contributor to violent crimes. Empathy is not often considered as important (well, it's not often considered at all), but when it comes right down to it may be one of the most important factors allowing civilization--yet the amount any given person has varies widely.
If speed were your primary concern, how could you not go with assembly.
On the other hand, one little programming challenge on Cecric Beust's website was solved in a large variety of algorithms/languages and when implemented with the fastest algorithm, the C++ solution had to be compiled with high optimization (-03) to simply match Java's performance.
If you were to program OO using C++, it should always be significantly slower than Java due to the large number of tiny heap allocations/de-allocations. In order to compete, C++ programmers constantly have to consider putting every object on the Stack. Java's short-term heap performance challenges that of a C++ stack, which is MUCH better than malloc.
C++ is also unable to do many runtime optimizations that Java can do.
My last two java jobs have involved working on a frequency analyzer where Java ran the entire GUI (at 12fps on a lower power CPU) and embedded in set top boxes (all cable STB & cable DVR apps will be written in Java soon as per new standards). In both of these embedded cases (a former stronghold of c/c++ development), Java was chosen over C++ for a variety of reasons.
In the long run, the concepts behind using a VM and memory management have far more potential than C++. Every year, without even recompiling, old Java apps get faster while old C++ apps--well for the most part they get replaced with new Java apps, but c++ has pretty much gotten as fast is it will get.
Also, many languages are going away from speed concerns altogether. Ruby is so far out of the C++/Java ballpark that it's silly. Most Java stuff tends to be about 1:2 the speed of C++, almost never slower than 1:4 with Ruby you're talking like 1:100, and yet people are moving to it because speed isn't that much of a consideration any more--and yet anyone (well, anyone who doesn't have some personal stake in C++) will agree that speed is the ONLY thing C++ has going for it.
And if IBM had maintained its monopoly on PC hardware? If they were still $5000/each and ran at 286 speeds due to lack of competition. If they were still targeted at business and not home because that was IBMs market?
Okay, so then we say well IBM could compete with APPLE. We'd have no dell, hp,... So I guess you don't HAVE to call it a monopoly if you want to split hairs, but unhealthy as hell for the consumer--yes. Horrid and greedy move by IBM and others, yes.
See, we're not really trying to get Apple to do anything by calling it a monopoly, we're simply looking at the bigger picture and calling it Right or Wrong--the practice itself (if it became common) would have set personal computer development back two decades.
You are only looking at Apple, but if this was practiced by IBM and we didn't want to use the term "Monopoly", we would have to make up a worse one for it--"Evil Soulless Asshattery" perhaps.
No, I'm pretty happy with my mac book. I think it's a really impressive piece of hardware. The battery lasts 3 times longer than dell, and the boot/suspend is amazing (A lot of that is OS, and the fact that the OS just has to target a very narrowed set of hardware).
But as far as being a monopoly? If they weren't trying to leverage that position (Of being the exclusive vendor of OS/X based hardware), why would they stop competitors? Aren't they losing themselves sales of the OS for every box not sold, or are they trying to use their position to get you to buy their hardware as well as the OS?
Really all I was saying is try small changes and adapt--that if a small group of people looked at this full-time with the ability to make interface changes, it should be a pretty easy arms race to win.
There are a million little changes you could make. A few would be effective, keep them. A few would not--get rid of them. Experiment a little.
All of the experimenting should be done at a level that involves minimal changes to the operational path of the mail system.. Mostly monitoring and evaluating.
I think that's kind of what you were saying.
As for the examples I provided, some were ridiculous some were better... none were good, just saying that stuff can be done--I'm just one guy in 5 minutes.
The trick would be to put a small team on it full-time and come up with better ideas. As spammers come up with counters (such as some of the ones you pointed out), Google adapts, each time possibly gathering more info about the spammers and bot-nets.
As you pointed out, they aren't stupid and probably already are doing a lot of stuff like this, so when you put it that way you're right--my point is kind of pointless...
Hardware that runs windows is competitive, hardware that runs OSX is not. Are you disagreeing with that.
I didn't realize I had to be so specific to stop fanboys from picking apart very simple, obvious statements.
ps. I own a mac and prefer not to use a PC, but blindly defending a company by twisting viewpoints until I find one that makes them look good is a privilege I reserve for Google alone.
Also, it doesn't stand up to wheeled traffic like concrete does. Just seemed like one of those amusing cases where a solution loops back around to being nearly as good as the thing it replaces, but now someone makes money off it.
Maybe we could do even better.
Hmm, since we're being green anyway, lets eliminate some of the cars--then perhaps we could make the concrete softer to walk on.
We could use some other color but grey--yuck. Maybe green to represent the fact that it purifies the air.
Being softer, it would be nice if it had some kind of self-patching mechanism...
As long as it's going to be self-patching, let's get really sci-fi and have it create itself using some kind of a system involving materials from underneath itself in some kind of a synthesis process.
Damn, I'm thinking way too far ahead--our science will never get to the point where it can do this stuff. Guess I'll have to be happy with air-purifying concrete.
He's actually much like the original republicans were. Small government, responsibility, etc...
New republicans are pretty much a tool for industry to use to adjust the US policy.
Not that dems are much different...
Disclamer: Arnold stepped on my wife once.
For how long? A day? A Week? A Month?
You can play a game every day for a year and never repeat yourself?
I just think some of you guys haven't thought this through very well.
but I kinda like this guy.
This is exactly what republicans say they should do. Take a hard line against government waste. If the existing systems can't do the job, get new systems.
Also if the controller thinks that it will take as long to undo as it took to do (knowing when you are doing it that you will have to undo it), FIRE HIM AND EVERYONE WHO GAVE HIM AN ESTIMATE RIGHT NOW! This concept is so unforgivably wrong that for an engineer to not recognize that right off is virtually not possible (I expect this has been put forward a few times in this thread for just this reason).
If they actually wanted to update it using modern development methodologies, it probably wouldn't even be anywhere near as expensive as they have been quoting.
First of all, tag all items with the name of the initial owner/creator.
Create a second server. Fully playable, fine server--except it's only for people who choose to go there and people who cheat.
Watch players and identify bots (as usual--ongoing process) but don't kick them immediately (So that you don't let on that you know or how you figured out).
After a while, just transfer every character owned by the person over to the new server, and eliminate every item tagged with the cheaters name from the original server. No warning whatsoever, just a little notice after the fact--you belong on this server instead.
The person may either stay on the new server with his great character and all the other cheaters, or he can buy a new serial number and go back to the "non-cheating" server.
On the cheating server, there is little attempt to identify cheaters except in the most blatant cases. If people really enjoy cheating more--they should be able to! Just don't interact with people who don't want to be on the same server as cheaters.
It would also have a serious dampening effect on ebay item sales--items purchased may disappear at any time! You'd be more careful with in-game trades/purchases too.
You would not be harming the cheaters by moving them to a different server--they should be happier! If their guild thinks cheating is okay, maybe the whole guild should go over and they can remain together. If not--well you were in the wrong guild and shouldn't miss them too much.
Problem solved.
Well, that should make it more fun than destroying it like the botters to to WoW, Diablo2, and most other games that can't prevent cheating.
And yeah, I find the theory interesting.
I've been considering making a RTS where the human player simply guides what happens through programs and general input. Basically you make your own client, or create macros for the default client and the server just enforces rules.
It's a completely different game obviously--I mean your theory doesn't hold at all for bejeweled or Sudoku, and yet those are considered very interesting games by some.
My ultimate end result would be a tournament where 20 teams of 4-5 people compete--Two pilots, 2-3 programmers working over say 48 hours, with a game moving so quickly that it simply looks more like flows of colors rather than thousands of armies moving across the board.
In an RTS, the strategy is the game. In an MMORPG, actually spending time sitting in front of your character leveling it and earning each little advance is the game.
I've almost always had the most fun in MMORPGs in the first few levels--the first few levels can EASILY be just as fun as the last few, unless you ruin it by having cheaters around giving you weapons and helping you.
Yes, I agree completely. The game would be fun except, as you said "Because everyone levels (bots...) his way up to 70". That ruins it. You made my point better than I could.
If people weren't botting, they would be playing in dungeons the whole time and enjoying it, instead they destroy it for themselves by changing the game into a grind.
MMORPGs tend to be addictive enough that people play quite a few characters too. How many games are really good more than 2 times through? How many aren't a grind the 5th time through?
Quick person to person games are probably the only ones that have that kind of repeatability.
No matter how good Final Fantasy n is, you're not going to enjoy replaying it on the 10th pass, and yet most of the replies here are insisting on that kind of performance from a MMORPG that they are ruining themselves by botting and making the powerful items too available even to people just playing through the first time. With nothing to look forward to, the game becomes a grind.
If you were handed all the items, money and levels at the beginning of any RPG and told to play it through to the end, you'd consider it a grind (and you'd be right).
Again (Said this in another reply), it's the difference between an RPG and non-RPG sytle game. In an RPG, you are improving your character. That improvement has to have a cost and take time or it's no longer an RPG, it's a really really lame--well there is no category for that game because nobody would make a game that stupid.
RPGs are really about building a character--if that's free or easier, it's more like your first "Fix" of doom, just having no enemies while you walk through the levels.
But my statement was too generic, you're right... Depending on what part you cheat, some can be kinda fun, and some cheats (like the IRL) aren't even cheats, they are gimmies in the games, but game developers keep these rare because it still limits the games replayability.
Civ games are not open-ended, it is not a mmorpg. It pits human against human. When you are done with a days play, the only thing you take to the next game is your personal skill improvement.
Completely different concept.
And yet, I'm pretty sure that if you went out and attached with random people playing civ, you'd get cheaters.
What it sounds like you are saying is that you enjoy other games more, so you don't consider them grind? Others (in this same thread) have indicated that they do consider it significant grind (guild wars).
Just out of curiosity, if you get to the point in a game that you are playing where you dislike it enough that you consider it hard (a "grind") what in the world could keep you playing it? I've gotten to that point in games (including Civ), recognized it and put the game away.
I don't think you understand game psychology. There is a crossover between a smooth, slow progression and long-term enjoyability.
If a game had no grind, players would lose interest quickly--the rewards need to be spaced out and not constant. In order for a good experience to stand out from the grind, there has to be a grind.
If you give people "what they want to play", they will not enjoy it at all. I can give you a game that you win at the push of a button--no grind at all. Would that make you happy?
When I used to find myself spending too much time on any game, a truly reliable way to make me sick of it is to cheat--to get everything I want as fast as I want. End of all my interest in the game within a couple days to a week. (this is how I broke my original addictions to Diablo and Diablo years ago)
Sure you think you want to be handed all these things you cheat for, but if that was really all you wanted, why not play single player? There are massive, undetectable cheats for that.
The only reason to cheat on b.net is to compare yourself to people who don't--to somehow give yourself an edge up against those who don't because, hmm, because it makes you feel better about yourself maybe? That's just pathetic.
Think about it for a while. Analyze what you play and why you play it. From your statement you obviously play a lot, but do you ever really think about what you enjoy about gaming? What you really want? Again, from your email, I have to guess no...
attachments?
If I pick up my mail from another P, is that P2P file sharing, or does P2P implicitly involve many connections?
If it does involve many connections, then could I restrict bit torrent to a single connection and use it?
If I send huge attachments in my email (say .mp3 files) to a bunch of other people on a mailing list and pick up other music from their mailing lists, is that p2p? It's the same bandwidth overall (but a much bigger centralized load on an email server somewhere)
Maybe we need an automated mail-based encrypted multi-message attachment system that is as easy to use as bit torrent. They wouldn't dare start kicking people for too many email messages.
Hey, email is p2p isn't it? (anyone can run a server, anyone can pick up from anyone else). So if all clients ran servers and all clients picked up from all the other clients, you'd have a distributed file distribution system that ran on top of email, right? You could even make it bit-torrent like, just running on email messages with encrypted payloads.
I believe eco-friendly usually has to do with the materials used in the circuit board. It wouldn't have anything to do with the stuff listed (although the one piece of aluminum would be extremely recyclable, much more than plastic, that could actually be quite a bit of it!).
Old laptops generally have pathetic or completely useless batteries. Replacements are often in the $100 range. The LCD hinge gets flaky as they get older if they are used a bit. Problems may be heat dependent, sell your cheap laptops in the winter!
I've got an old Pentium laptop with a bad monitor and a bunch of keys that don't work and an old Mac (from enron--might have secret files!) that I think is in perfect shape aside from being a non-osx mac (aka doorstop). I have two other laptops with various quirks--one that makes some clicking/static sounds all the time, and the other is fairly good, but the power connector is fried so I have to plug it in through a docking station.
Taking offers on any of them.
Old laptops suck, and if they don't suck now, they will soon.
On the other hand, I'll wait until the $100 laptops have a few more features...
Involving parents means that you are giving up on a large number of children. Many have parents that won't get involved, and many don't have parents or have some that won't have anything to do with the children.
Your solution is that the world needs uneducated workers too?
I agree parents should be involved, in fact they can be much more effective than the school as it is now, but again--what's your plan for the rest?
There is no reason it has to be less efficient is my only point.
Maybe it is, maybe it isn't.
As far as intuitive--I'm not sure I like "Intuitive" code much. I saw a lot of it in Ruby and to tell you the truth, The more "Intuitive" the language, the harder the code tends to be to read (and often, the worse the implementation--some of these string manipulation tools built into the language become the "Go-to" solution for all problems when in fact they are creating some horrid underlying solutions..)
I'd like longer, more explicit code as long as the compiler is smart enough to grind it down to the same machine language. (Yes, java ends up as machine language if you haven't been paying attention, and potentially more efficient machine language than C since it is optimized at runtime.).
I suppose we all have these balance points--being willing to give up a certain amount of understanding of the underlying implementation for simplicity and abstraction at a higher level. If not, we'd all still be using assembly (I remember programmers complaining about C vs assembly the same way many people now complain about java vs c)
As long as you know that Java is virtually as fast as C, that it's significantly more reliable and can have a much better level of abstraction allowing quicker development, choosing to stick with C is fine.
Personally there are Java competitors that are becoming just about as fast and some people claim are better abstractions (Scala), but I'm just getting too old to wrap my head around (I tried), so I'll stick with Java, telling myself that it's better to stick with simplicity and more explicit code and no cute language tricks--actually, I really believe that.
>>Or maybe a C++ programmer just throws things in there as needed. No mallocs = fast memory usage.
This kind of proves a point. C++ keeps programmers from understanding OO development. Just as a quick review--when I moved from C++ to Java, I suddenly realized I had NO IDEA how to program OO in C++. It wouldn't let me.
To think in OO, you create objects without owners or lifecycles. They are shared--they kind of float around. Others may have references to your objects or not.
the way you are able to design is a level up. You can't care about when to destroy memory, and you can't be in any way reluctant to create a new class. The elegance and simplicity of OO comes form creating a class EVERY SINGLE time it enters your mind to do so. Good classes are rarely more than a screen or two long, and never have more than one concern.
This leads to a massive number of small memory allocations that cannot be stack-based (Well, of course many can be stack based, but to even make you think of that is a pretty big distraction to your design and a huge hole for bugs).
Basically I've never seen an OO C++ program.
I know that a lot of what I said makes you feel like I have no design process and my code must be horrible, but that's not the case. It's like the design process has gone up a level and left a lot of the less important concerns to the compiler which can be trusted (the reason it makes you nervous is that the C++ compiler could not be trusted to handle those details).
But whatever. I've spent 7 years in C++/C and 10 in Java. I suppose if you've spent a few years in Java and a few in C++ then we've just had different experiences, teams and design approaches.
Honestly I started to argue and then had to stop and consider if you were messing with me.
Pointers are simply an artifact left over from when it was too difficult to make a compiler produce high-performance code. There is absolutely no advantage to pointers now that compilers can be written to perform with the same speed on arrays. They are just a horrid horrid idea.
I'm actually quite good with pointers--I'm not scared of them or anything, It's not that they aren't a little fun at times, but they don't supply a single positive thing to the programming experience that can't be done better through other mechanisms with a better language/compiler. Even memory-mapped I/O could be done with an array if anyone really wanted to do so--there is absolutely no reason it shouldn't compile down to code exactly as fast as pointers.
The more information your compiler has, the smarter it can be about optimizing your code. When C was made (and C++ followed with similar syntax) they didn't really consider optimizing, just making an easy to write, easy to port compiler (a very admirable goal for the time!).
Oh, I agree about Java being a "Hand-holding" language, but if you have to work on some crappy code written by a bunch of crappy engineers that is extremely bug-laden, wouldn't you prefer it was in simpler language?
Hmm, seriously, while I was typing out that paragraph I answered myself--it's a trick question (and perhaps the one HUGE advantage to C++!) You won't find really really crappy c++ code because there is a much higher "Minimum programming ability" than most other languages.
You don't gain anything, but it does keep you in a more exclusive club.
PS: I spent years programming the windows 3.0-3.1 api with C including the giant 100 line switch-statements from hell and the debugging binaries and all... It's not like I don't understand C/C++..
Actually, I think he made more sense than that.
I think a point was made that the crime had to entail a lack of empathy. This is also a serious contributor to violent crimes. Empathy is not often considered as important (well, it's not often considered at all), but when it comes right down to it may be one of the most important factors allowing civilization--yet the amount any given person has varies widely.
If speed were your primary concern, how could you not go with assembly.
On the other hand, one little programming challenge on Cecric Beust's website was solved in a large variety of algorithms/languages and when implemented with the fastest algorithm, the C++ solution had to be compiled with high optimization (-03) to simply match Java's performance.
If you were to program OO using C++, it should always be significantly slower than Java due to the large number of tiny heap allocations/de-allocations. In order to compete, C++ programmers constantly have to consider putting every object on the Stack. Java's short-term heap performance challenges that of a C++ stack, which is MUCH better than malloc.
C++ is also unable to do many runtime optimizations that Java can do.
My last two java jobs have involved working on a frequency analyzer where Java ran the entire GUI (at 12fps on a lower power CPU) and embedded in set top boxes (all cable STB & cable DVR apps will be written in Java soon as per new standards). In both of these embedded cases (a former stronghold of c/c++ development), Java was chosen over C++ for a variety of reasons.
In the long run, the concepts behind using a VM and memory management have far more potential than C++. Every year, without even recompiling, old Java apps get faster while old C++ apps--well for the most part they get replaced with new Java apps, but c++ has pretty much gotten as fast is it will get.
Also, many languages are going away from speed concerns altogether. Ruby is so far out of the C++/Java ballpark that it's silly. Most Java stuff tends to be about 1:2 the speed of C++, almost never slower than 1:4 with Ruby you're talking like 1:100, and yet people are moving to it because speed isn't that much of a consideration any more--and yet anyone (well, anyone who doesn't have some personal stake in C++) will agree that speed is the ONLY thing C++ has going for it.
And if IBM had maintained its monopoly on PC hardware? If they were still $5000/each and ran at 286 speeds due to lack of competition. If they were still targeted at business and not home because that was IBMs market?
Okay, so then we say well IBM could compete with APPLE. We'd have no dell, hp, ... So I guess you don't HAVE to call it a monopoly if you want to split hairs, but unhealthy as hell for the consumer--yes. Horrid and greedy move by IBM and others, yes.
See, we're not really trying to get Apple to do anything by calling it a monopoly, we're simply looking at the bigger picture and calling it Right or Wrong--the practice itself (if it became common) would have set personal computer development back two decades.
You are only looking at Apple, but if this was practiced by IBM and we didn't want to use the term "Monopoly", we would have to make up a worse one for it--"Evil Soulless Asshattery" perhaps.
No, I'm pretty happy with my mac book. I think it's a really impressive piece of hardware. The battery lasts 3 times longer than dell, and the boot/suspend is amazing (A lot of that is OS, and the fact that the OS just has to target a very narrowed set of hardware).
But as far as being a monopoly? If they weren't trying to leverage that position (Of being the exclusive vendor of OS/X based hardware), why would they stop competitors? Aren't they losing themselves sales of the OS for every box not sold, or are they trying to use their position to get you to buy their hardware as well as the OS?
Really all I was saying is try small changes and adapt--that if a small group of people looked at this full-time with the ability to make interface changes, it should be a pretty easy arms race to win.
There are a million little changes you could make. A few would be effective, keep them. A few would not--get rid of them. Experiment a little.
All of the experimenting should be done at a level that involves minimal changes to the operational path of the mail system.. Mostly monitoring and evaluating.
I think that's kind of what you were saying.
As for the examples I provided, some were ridiculous some were better... none were good, just saying that stuff can be done--I'm just one guy in 5 minutes.
The trick would be to put a small team on it full-time and come up with better ideas. As spammers come up with counters (such as some of the ones you pointed out), Google adapts, each time possibly gathering more info about the spammers and bot-nets.
As you pointed out, they aren't stupid and probably already are doing a lot of stuff like this, so when you put it that way you're right--my point is kind of pointless...
Hardware that runs windows is competitive, hardware that runs OSX is not. Are you disagreeing with that.
I didn't realize I had to be so specific to stop fanboys from picking apart very simple, obvious statements.
ps. I own a mac and prefer not to use a PC, but blindly defending a company by twisting viewpoints until I find one that makes them look good is a privilege I reserve for Google alone.