As stated implementation, especially with regard to ensuring security, is the biggst difficulty. Thus its not a problem inherent in the system, but it is a problem for anyone trying to make the system a reality.
Have you used previous versions of X11 before 2001?
Yes, though it was mostly Sun's X server that I was using back then. Hell, I remember using X in the early 90s. There are a lot of different implementations, some better than others. XFree86 really stagnated a bit a while ago, but things are moving again with Xorg.
THere has been talk several years ago about the Berlin project which was going to be a replacement for X and would be moddeled after Apple's aqua. Unfortunately it was written in an obscure langauge called Forth so no one knew how to work on it. THe project was abandoned.
It wasn't abandoned. I am not sure what gave you that idea. It was, however, renamed to Fresco, and is still in development. I followed Berlin development since about 1998. It has been very slow, but the concept is nice. I doubt it will ever become mainstream. Far more likely is improvements to existing X implementations, and new and better extensions (see Keith Packard's latest work).
Win32 GDI as buggy as it is can run on a 486 with 8 megs of ram. Can Xfree86 do that?
The problem is less the complexity of the implementation.
How do you avoid votes being bought?
By lack of assurance that you get what you pay for, just like the current system.
And how do avoid a reversal of power? In other words, how do you avoid that you empowering your proxy doesn't give him the power to coerce you to make him your proxy? The anonymity of the voter is a very important part of democracy.
There's no reason to eliminate anonymity here - not unless the central server keeping track of everything in compromised. You simply make sure that you can only check upstream for where your vote(s) are going, but an't look downstream to see who listed you as their proxy. You can get a count of how many proxy votes you have, but not a list of who they are.
Which brings it back to complexity of implementation issue, because the issue is security of the system. Because the system needs to keep track of all this data it needs to be aware of who is giving their proxy to who, and who voting for what. Presuming that that's a computer system, that's fine - unless the system is compromised and it is possible for someone to actually access the full dataset. Presuming the system is secure there needn't be issues.
No I'm not claiming to be able to write said secure system.
The proxy/recovery approach you describe could probably be applied in other contexts. (Investment decision-making comes to mind, but it might not be a terribly good example.) Once the technology is proven for other applications, adapting it to function as the decision-making process of a large political system would probably be an easier task.
True, but realistically I see it as more likely that such a system might get instituted somewhere small, or in an emerging democracy, and after having proved itself there, gather momentum and interest in larger more established democracies.
A lot hangs on implementation of course. It is all down to the security and pervasiveness of the network. Looking at how the US has gone with electronic voting, they'd have to do a hell of a lot better to implement a system like this.
The most interesting voting system I've ever heard of was called "Dynamic Recoverable Proxy", and was essentially a form of continuous voting like this. It was very ingenious, and is only possible now that we have powerful computing and communication resources, so ought to fit in well on Slashdot. Let me give you a rough overview of how it would work:
At the base level it is a direct democracy on every issue. For every issue, every bill, everyone gets a vote, one vote per person. Of course most people don't care to follow every issue, nor take the time to vote on them. That's okay, because under this system you can pass your vote on to a proxy, who will vote for you. You can nominate anyone as your proxy - your wife, your brother, some professor you happen to think is intelligent and informed, or a politician who campaigned to get your proxy. In turn, the person with your vote can pass their (and all the votes of the people who nominated them as a proxy) on to yet another person. This essentially amounts to a concentration of votes into a small number of representatives - their voting power weighted by the number of people they are the effective proxy for. As you can see, keeping track of that tree of proxy voting requires some computing power, especially given that anyone can change their proxy at any time.
Now, besides being able to change you proxy at any time (so there are no fixed terms, no fixed voting days to decide representatives), you can also, at any time, recover your vote. That means that if some issue does arise that you do have an interest in, you can, if you choose, cast your vote individually on that particular issue yourself. This can happen at any level of the proxy tree, so if you gave your vote to your brother, who in turn passed it on to some politician, your brother can recover and vote for both himself and you (unless of course you recover your vote). This means that you can always be sure that your vote goes the way you want, regardless of what your upstream proxy believes, on any issue you care about.
The two major problems with this system that I can see are implementation, and getting such a thing instituted. To track all the votes, and allow anyone to cast their vote individually requires a strong secure network with some powerful mainframes to keep the tallies. Implementation is far from trivial. At the same time, this isn't a system that can evolve naturally from current systems, it would require a ground up restructuring of whatever democracy decided to implement it - it's a revolutionary rather than evolutionary change. That means, realistically, it won't be implemented by any current modern democracy, but instead possibly by some future newly formed democratic republic.
In theory it is to stop early voting trends affecting the way people vote. Consider it this way: it took a lot of work to get the media to shut up and hold off on publishing their exit polls until after voting had closed. Despite that various exit polls were still published on-line. Now consider voting stretched over 2 weeks or more - can you really imagine exit polls not slipping out and getting published. Can you really imagine the mainstream media holding their tongue for 2 weeks?
If you have a running exit poll every day for 2 weeks of "how the election is going" thatv is going to effect how people vote. It may not change your or my decision, but a surprising number of people vote on trivial reasons like "wanting to vote for the winner", and hence knowing who is head right now makes a difference. At the same time there are all the people who will be discouraged from voting because they think their person is already fated to lose/win. It has the potential to seriously mess with the numbers in strange ways.
The problem I have with both KDE (which I use) and GNOME is that they both require that ancient bloatware package known as "The X Window System."
What, exactly, is wrong with the X Window System? It's not bloat - X gets used on handheld and embedded devices. It's not that the network transparency slows it down - when connecting to a local server X uses shared memory on the machine and doesn't go through any network calls. Speed? Now we're talking implementation issues, but X has been getting better on that front since it finally moved on from XFree86 as the default implementation on Linux. More importantly, in raw rendering speed, X is actually faster than windows. Percieved lack of speed is more due to some lingering X rendering issues (which Keith Packard is fixing), and the toolkits that run on top.
Sure X isn't ideal - nothing is, but it is a hell of a lot better than most stuff out there, and it certainly has many advantages over Win32 GDI.
How often do you need to run an X app across the wire?
Every damn day! Just because you don't use this feature doesn't mean it isn't (a) immensely valuable, (b) used regularly by everyone else. It is not at all uncommon for me to have a desktop full of apps, where each app is actually running on a different machine. X lets me do that, and have a perfetly seamless desktop as if all the apps were running locally. That is a huge advantage.
I'd love to see a thin, fast, cross-platform replacement for X.
X is surprisingly thin - more so than Windows, which has Win32 GDI tied in to everything else. X runs on embedded devices - how slim do you want? X is fast - run some raw render benchmarks for yourself. X is cross platform. I've run X servers on Windows, on Mac, on Linux, on Solaris, on AIX, and on BSD. They all connect to each other happily with no complaints. Show me Win32 GDI doing anything similar.
Jedidiah.
Re:Welcome to capitalism
on
HIV Vaccine
·
· Score: 1
Well, it's a trade-off: we want private companies to invest billions of dollars to develop medicines we need, but they'll only do so if there's the potential for profit. [Emphasis mine]
While in general I do agree with you (to try and stave the misplaced flames that may follow), it is worth pointing out that profit and money are rarely the sole motivations for people to do things. To try and base everything on the assumption that money is the only motivation is perhaps not the most sensible approach.
You wouldn't believe the number of second year analysis papers I've marked (currently a TA having gone back to school to get a Ph.D.) with a big red X through everything and the comment "Proof by random example will always get an immediate 0!"
It's kind of depressing really. Hopefully they do get broken of the habit.
When we tried hiring CS grads a while back, they all wanted us to pay for classes to learn this stuff. Isn't that what college was supposed to be for?
Nope that's what trade schools are for. People, for some reason, look down on trade schools and polytechnics, but they're fantastic at what they do: teach a trade, or otherwise vocational oriented course. College and University is supposed to be about learning for learning's sake. If you want to learn for vocational purposes, go to the right place to do that.
At its core, a University is supposed to be a place where research is conducted. The whole teaching aspec is just to try and bring along the next class of researchers, and help pass along knowledge gained through the research already done. That is, in many ways teaching is supposed to be an incidental point at Universities. They are supposed to breaking new ground in science and math, out understanding of history, and literature, and art etc. They are not supposed to be training you how to do a job.
Plus, calc makes a lot of the other things seem easier, particularly discrete math (hey, if you can comprehend infinitesimals, discrete math is *easy*) and stats (understanding why statistics are the way they are is as important as understanding how to use them).
I mostly agree, though calc is littl use in pure algebra (groups, rings, fields) and say the finer points of graph theory - though I don't know exactly what passes for "discrete math" in the US.
For statistics - if you're serious about really understanding it, courses in measure theory would be the way to go: it provides the most structured way to approach the really core issues (which are pretty much cmpletely passed over in most lower level stats courses). Measure theory pretty much requires a very strong understanding of Calculus.
If you havn't learned the ins and outs of assembly, C, Java, TCP/IP, and at least some Unix/Linux I'd leave. Other nice things on top of that would be C++, C# and.net, SQL, webpage stuff, etc, but just make sure the major things are covered first.
That sounds like a trade school, not a CS degree! I freely admit that I am biased - I did my undergrad degree in pure mathematics - but to a certain extent University is about learning for learning's sake. If I want to know SQL I'll pick up a book on it - I in fact did so in my first job out of school, and had no difficulty.
I would suggest you spend time at University learning what you find interesting, and learning what you find hardest. If it is hard, you'll be harder pressed to pick it up easily later. Many people here will tell you they are self taught at programming, UNIX, networking etc. Few will tell you they are self taught at the harder more abstract points: data structures, information theory etc. Personally I think a good CS degree should contain a healthy dose of mathematics - but as I said, I'm biased.
Realistically, if you can get into a better school, and can afford the tuition etc. to do so you really should. The question is not "Should you transfer?", the question is "why are you going to a mediocre school?". Is it money? Is it a matter of admissions? Is it friends? If it's the last if those, I highly suggest you buck up and head somewhere better. You can stay in touch with friends easily these days, and you could well make more at any new location. If its money of admissions... all the desire in the world isn't going to get you there, so what's you father worried about?
I totally agree with your comments about the need for a standard library. But, as you observe yourself, such things can be developed by the community: CPAN for Perl...
On that front, it will be interesting to see what will happen in Parrot successfully manages its dream of uniting (amongst others) Perl, Python and Ruby - allowing a module from one language to be used in another. Surely that confluence of communities could build a very formidable library indeed...
But didn't have a project on hand to try coding in Ocaml with. To be honest I found it hard to kick my brain into the rather different gear that OCaml requires (though I have done a little Lisp programming, I haven't had too much experience in real functional languages). Without an example to work on yourself, and understand quite how to structure things I think it can be hard going. I just didn't have the time to commit properly, unfortunately. What I did see of the language was truly impressive, and this book certainly sounds like an excellent resource. Maybe it's time to go back and try again.
They donated $2 million to the Mozilla Foundation to get them going and willingly donated the mozilla.org domain name, the Mozilla-related trademarks, and related equipment such as the mozilla.org servers, to Mozilla Foundation. They was obliged to do none of this, just having purchased Netscape and got all this along with them.
Yes, but at that point it seemed that they were planning to bring Mozilla up to be the replacement browser in their whole AOL mess, freeding themselves from MS. Certainly this was a good plan, and it was only sensible to put in the money to get the thing going - invest now, pick up the payoff when Mozilla matures. Except they never made any move to Mozilla. The politics inside AOL obviously changed. And now they've essentially ditched the whole endeavour not long before its starting to look like a serious competitor for IE - regardless of AOL support.
Yes they did a lot for Mozilla, but they did it very much in their own interests, and then disowned the child shortly before it grew up enough to start earning money. Their loss on the deal is their fault.
Part of the reason the US has been able to carry such a large current account deficit for so long without any noticeable depreciation in the Dollar is the fact that Japan, and recently also China, have been buying large amounts of US bonds and securities, propping up the value of the Dollar. There are other reasons - for instance the budget surpluses during the Clinton years, and the worldwide view of the US as an economic powerhouse (so they are a little more forgiving of the imbalance). A good discussion of the current account deficit, and why it was carried in the past is here. A discussion of why this careful balance may be tipping toward instability can be found in my journal. feel free to follow the link in my sig if you're interested.
NSA's involvement in Linux amounts to a research project. Although I think it is interesting and useful, it shouldn't be mistaken for an endorsement by the NSA.
I agree. In many ways it was an attempt by the NSA to demonstrate how security should be done - it wasn't even considered an ideal implementation, but simply a demonstration of the right direction, and that it can be easily added to existing systems.
At the same time, however, the NSA doesn't have any obvious issues with the open source nature of Linux. It was precisely that that lead them to use Linux for the demonstration project. While it is hardly an endorsement of open source, the fact they they were willing to work with such a system would imply that at least the INFOSEC division of NSA doesn't see open source as an evil.
This should be self evident to anyone. Admittedly the National Security Agency bothered to make additions to the Linux kernel to make it more secure, and freely returned their work to the open source community. That just shows that the National Security Agency doesn't know anything about National Security.
When I'm concerned about National Security I know I trust a random small commercial software company. It would only make sense that they would be better informed about National Security than some lowly government organisation.
There's plenty to worry about. See my sig for an attempt a non-partisan, level headed approach to looking into the economic issues the US may in fact be facing.
Wasn't centrino a success? It's low power and integrated wireless made AMD have to follow suit and revamp its mobile core line. Of course, the anti-intel slant (not you!) on this board tends to not see AMD failures.
Yes, Centrino was a definite win for Intel. That means they're doing well in the laptop market, but are losing share on the desktop. And yes, AMD is not without its own issues: The Opteron hasn't been doing quite as well as they would like. That's not exactly fatal, but its not exactly great press either.
So, in summary: laptop: Intel, desktop: AMD, server: still up for grabs. The question is whether the laptop market will supercede the desktop market - certainly the laptop market is growing faster... it may have a lower ceiling though, and there's always Apple and the Power chips to compete with there, and Apple is quite strong in laptops.
oh, come on, what company doesn't burn some R & D money that ends up junked? I am sure all the "good" companies like IBM and so on have failed projects too.
Yes, but I think the point is that Intel is somewhat lacking in the "recent successes" department to cover the losses on the failures - For now they're still happily on top of the market, and that is their strength, but they are losing mindshare, which really is crucial. The more that other chips are seen as perfectly viable options the faster Intel could lose market share.
There is, of course, no reason to go counting them out just yet. I'm sure Intel has plenty of fight left, and potentially a few cards still up their sleeve. Compared to their position 3 or 4 years ago however, they are not looking anywhere near so good.
n my experience, the nature of IT work tends to rule out being able to hold down a side job. The biggest obstacle is the fact that almost all IT work (or salaried work in general, really) tends to have at least one or two "crunch times" per year where you have to work weird hours.
I think this is spot on. A lot of IT jobs are salaried, and there is a huge difference between hourly wages and salary. Waged employment usually has a very fixed set of hours you are expected to work, and any work outside of that is overtime and more expensive for the employer, so it's discouraged. You are being paid for a fixed set of hours, so time outside that is your own, allowing for work on the side. On the other hand salaried work is essentially paying you to "get the job done" regardless of hours. They're paying you up front for as much of your time as it takes. Side jobs just don't come into it.
Having worked both waged (as a baker) and salaried (as a research mathematician) jobs, that's exactly how it generally worked for me. Both have their advantages, and side jobs is simply one of the advantages of waged employment.
The more different RPGs I played, the less I enjoyed long sets of rules. Some of the best games I played had extremely spare rules that simply laid out some basics of the world, and left the rest up to the GM. Yes, that requires a good GM, but then the heavily rule bound games just become mindless dice fests without a good GM. In the end I often played a very simplified game with only 2 rules:
You don't question the GMs decisions
You don't question the GMs decisions
And the GM simply had a fairly free flowing game tried to understand the skills and abilities of the characters and just worked out a percentage chance of success in his head, and asked people to roll on it for any given action.
In the end great RPGs are made by great story telling. Get in a good storyteller for the GM and rules are almost irrelevant. Get in a bad one and not matter how many rules you add you just have a boring dice game suitable only for pedants who like to say things like "But it says here on page 237 paragraph 4 of the Rogue Illusionists handbook..."
As stated implementation, especially with regard to ensuring security, is the biggst difficulty. Thus its not a problem inherent in the system, but it is a problem for anyone trying to make the system a reality.
Jedidiah.
Have you used previous versions of X11 before 2001?
Yes, though it was mostly Sun's X server that I was using back then. Hell, I remember using X in the early 90s. There are a lot of different implementations, some better than others. XFree86 really stagnated a bit a while ago, but things are moving again with Xorg.
THere has been talk several years ago about the Berlin project which was going to be a replacement for X and would be moddeled after Apple's aqua. Unfortunately it was written in an obscure langauge called Forth so no one knew how to work on it. THe project was abandoned.
It wasn't abandoned. I am not sure what gave you that idea. It was, however, renamed to Fresco, and is still in development. I followed Berlin development since about 1998. It has been very slow, but the concept is nice. I doubt it will ever become mainstream. Far more likely is improvements to existing X implementations, and new and better extensions (see Keith Packard's latest work).
Win32 GDI as buggy as it is can run on a 486 with 8 megs of ram. Can Xfree86 do that?
Yes, I believe it can.
Jedidiah.
The problem is less the complexity of the implementation.
How do you avoid votes being bought?
By lack of assurance that you get what you pay for, just like the current system.
And how do avoid a reversal of power? In other words, how do you avoid that you empowering your proxy doesn't give him the power to coerce you to make him your proxy? The anonymity of the voter is a very important part of democracy.
There's no reason to eliminate anonymity here - not unless the central server keeping track of everything in compromised. You simply make sure that you can only check upstream for where your vote(s) are going, but an't look downstream to see who listed you as their proxy. You can get a count of how many proxy votes you have, but not a list of who they are.
Which brings it back to complexity of implementation issue, because the issue is security of the system. Because the system needs to keep track of all this data it needs to be aware of who is giving their proxy to who, and who voting for what. Presuming that that's a computer system, that's fine - unless the system is compromised and it is possible for someone to actually access the full dataset. Presuming the system is secure there needn't be issues.
No I'm not claiming to be able to write said secure system.
Jedidiah.
The proxy/recovery approach you describe could probably be applied in other contexts. (Investment decision-making comes to mind, but it might not be a terribly good example.) Once the technology is proven for other applications, adapting it to function as the decision-making process of a large political system would probably be an easier task.
True, but realistically I see it as more likely that such a system might get instituted somewhere small, or in an emerging democracy, and after having proved itself there, gather momentum and interest in larger more established democracies.
A lot hangs on implementation of course. It is all down to the security and pervasiveness of the network. Looking at how the US has gone with electronic voting, they'd have to do a hell of a lot better to implement a system like this.
Jedidiah.
The most interesting voting system I've ever heard of was called "Dynamic Recoverable Proxy", and was essentially a form of continuous voting like this. It was very ingenious, and is only possible now that we have powerful computing and communication resources, so ought to fit in well on Slashdot. Let me give you a rough overview of how it would work:
At the base level it is a direct democracy on every issue. For every issue, every bill, everyone gets a vote, one vote per person. Of course most people don't care to follow every issue, nor take the time to vote on them. That's okay, because under this system you can pass your vote on to a proxy, who will vote for you. You can nominate anyone as your proxy - your wife, your brother, some professor you happen to think is intelligent and informed, or a politician who campaigned to get your proxy. In turn, the person with your vote can pass their (and all the votes of the people who nominated them as a proxy) on to yet another person. This essentially amounts to a concentration of votes into a small number of representatives - their voting power weighted by the number of people they are the effective proxy for. As you can see, keeping track of that tree of proxy voting requires some computing power, especially given that anyone can change their proxy at any time.
Now, besides being able to change you proxy at any time (so there are no fixed terms, no fixed voting days to decide representatives), you can also, at any time, recover your vote. That means that if some issue does arise that you do have an interest in, you can, if you choose, cast your vote individually on that particular issue yourself. This can happen at any level of the proxy tree, so if you gave your vote to your brother, who in turn passed it on to some politician, your brother can recover and vote for both himself and you (unless of course you recover your vote). This means that you can always be sure that your vote goes the way you want, regardless of what your upstream proxy believes, on any issue you care about.
The two major problems with this system that I can see are implementation, and getting such a thing instituted. To track all the votes, and allow anyone to cast their vote individually requires a strong secure network with some powerful mainframes to keep the tallies. Implementation is far from trivial. At the same time, this isn't a system that can evolve naturally from current systems, it would require a ground up restructuring of whatever democracy decided to implement it - it's a revolutionary rather than evolutionary change. That means, realistically, it won't be implemented by any current modern democracy, but instead possibly by some future newly formed democratic republic.
Jedidiah.
In theory it is to stop early voting trends affecting the way people vote. Consider it this way: it took a lot of work to get the media to shut up and hold off on publishing their exit polls until after voting had closed. Despite that various exit polls were still published on-line. Now consider voting stretched over 2 weeks or more - can you really imagine exit polls not slipping out and getting published. Can you really imagine the mainstream media holding their tongue for 2 weeks?
If you have a running exit poll every day for 2 weeks of "how the election is going" thatv is going to effect how people vote. It may not change your or my decision, but a surprising number of people vote on trivial reasons like "wanting to vote for the winner", and hence knowing who is head right now makes a difference. At the same time there are all the people who will be discouraged from voting because they think their person is already fated to lose/win. It has the potential to seriously mess with the numbers in strange ways.
Jedidiah.
The problem I have with both KDE (which I use) and GNOME is that they both require that ancient bloatware package known as "The X Window System."
What, exactly, is wrong with the X Window System? It's not bloat - X gets used on handheld and embedded devices. It's not that the network transparency slows it down - when connecting to a local server X uses shared memory on the machine and doesn't go through any network calls. Speed? Now we're talking implementation issues, but X has been getting better on that front since it finally moved on from XFree86 as the default implementation on Linux. More importantly, in raw rendering speed, X is actually faster than windows. Percieved lack of speed is more due to some lingering X rendering issues (which Keith Packard is fixing), and the toolkits that run on top.
Sure X isn't ideal - nothing is, but it is a hell of a lot better than most stuff out there, and it certainly has many advantages over Win32 GDI.
How often do you need to run an X app across the wire?
Every damn day! Just because you don't use this feature doesn't mean it isn't (a) immensely valuable, (b) used regularly by everyone else. It is not at all uncommon for me to have a desktop full of apps, where each app is actually running on a different machine. X lets me do that, and have a perfetly seamless desktop as if all the apps were running locally. That is a huge advantage.
I'd love to see a thin, fast, cross-platform replacement for X.
X is surprisingly thin - more so than Windows, which has Win32 GDI tied in to everything else. X runs on embedded devices - how slim do you want? X is fast - run some raw render benchmarks for yourself. X is cross platform. I've run X servers on Windows, on Mac, on Linux, on Solaris, on AIX, and on BSD. They all connect to each other happily with no complaints. Show me Win32 GDI doing anything similar.
Jedidiah.
Well, it's a trade-off: we want private companies to invest billions of dollars to develop medicines we need, but they'll only do so if there's the potential for profit. [Emphasis mine]
While in general I do agree with you (to try and stave the misplaced flames that may follow), it is worth pointing out that profit and money are rarely the sole motivations for people to do things. To try and base everything on the assumption that money is the only motivation is perhaps not the most sensible approach.
Jedidiah.
You wouldn't believe the number of second year analysis papers I've marked (currently a TA having gone back to school to get a Ph.D.) with a big red X through everything and the comment "Proof by random example will always get an immediate 0!"
It's kind of depressing really. Hopefully they do get broken of the habit.
Jediiah.
When we tried hiring CS grads a while back, they all wanted us to pay for classes to learn this stuff. Isn't that what college was supposed to be for?
Nope that's what trade schools are for. People, for some reason, look down on trade schools and polytechnics, but they're fantastic at what they do: teach a trade, or otherwise vocational oriented course. College and University is supposed to be about learning for learning's sake. If you want to learn for vocational purposes, go to the right place to do that.
At its core, a University is supposed to be a place where research is conducted. The whole teaching aspec is just to try and bring along the next class of researchers, and help pass along knowledge gained through the research already done. That is, in many ways teaching is supposed to be an incidental point at Universities. They are supposed to breaking new ground in science and math, out understanding of history, and literature, and art etc. They are not supposed to be training you how to do a job.
Jedidiah.
Plus, calc makes a lot of the other things seem easier, particularly discrete math (hey, if you can comprehend infinitesimals, discrete math is *easy*) and stats (understanding why statistics are the way they are is as important as understanding how to use them).
I mostly agree, though calc is littl use in pure algebra (groups, rings, fields) and say the finer points of graph theory - though I don't know exactly what passes for "discrete math" in the US.
For statistics - if you're serious about really understanding it, courses in measure theory would be the way to go: it provides the most structured way to approach the really core issues (which are pretty much cmpletely passed over in most lower level stats courses). Measure theory pretty much requires a very strong understanding of Calculus.
Jedidiah.
If you havn't learned the ins and outs of assembly, C, Java, TCP/IP, and at least some Unix/Linux I'd leave. Other nice things on top of that would be C++, C# and .net, SQL, webpage stuff, etc, but just make sure the major things are covered first.
That sounds like a trade school, not a CS degree! I freely admit that I am biased - I did my undergrad degree in pure mathematics - but to a certain extent University is about learning for learning's sake. If I want to know SQL I'll pick up a book on it - I in fact did so in my first job out of school, and had no difficulty.
I would suggest you spend time at University learning what you find interesting, and learning what you find hardest. If it is hard, you'll be harder pressed to pick it up easily later. Many people here will tell you they are self taught at programming, UNIX, networking etc. Few will tell you they are self taught at the harder more abstract points: data structures, information theory etc. Personally I think a good CS degree should contain a healthy dose of mathematics - but as I said, I'm biased.
Jedidiah.
Realistically, if you can get into a better school, and can afford the tuition etc. to do so you really should. The question is not "Should you transfer?", the question is "why are you going to a mediocre school?". Is it money? Is it a matter of admissions? Is it friends? If it's the last if those, I highly suggest you buck up and head somewhere better. You can stay in touch with friends easily these days, and you could well make more at any new location. If its money of admissions... all the desire in the world isn't going to get you there, so what's you father worried about?
Jedidiah.
I totally agree with your comments about the need for a standard library. But, as you observe yourself, such things can be developed by the community: CPAN for Perl...
On that front, it will be interesting to see what will happen in Parrot successfully manages its dream of uniting (amongst others) Perl, Python and Ruby - allowing a module from one language to be used in another. Surely that confluence of communities could build a very formidable library indeed...
Jedidiah.
But didn't have a project on hand to try coding in Ocaml with. To be honest I found it hard to kick my brain into the rather different gear that OCaml requires (though I have done a little Lisp programming, I haven't had too much experience in real functional languages). Without an example to work on yourself, and understand quite how to structure things I think it can be hard going. I just didn't have the time to commit properly, unfortunately. What I did see of the language was truly impressive, and this book certainly sounds like an excellent resource. Maybe it's time to go back and try again.
Jedidiah.
They donated $2 million to the Mozilla Foundation to get them going and willingly donated the mozilla.org domain name, the Mozilla-related trademarks, and related equipment such as the mozilla.org servers, to Mozilla Foundation. They was obliged to do none of this, just having purchased Netscape and got all this along with them.
Yes, but at that point it seemed that they were planning to bring Mozilla up to be the replacement browser in their whole AOL mess, freeding themselves from MS. Certainly this was a good plan, and it was only sensible to put in the money to get the thing going - invest now, pick up the payoff when Mozilla matures. Except they never made any move to Mozilla. The politics inside AOL obviously changed. And now they've essentially ditched the whole endeavour not long before its starting to look like a serious competitor for IE - regardless of AOL support.
Yes they did a lot for Mozilla, but they did it very much in their own interests, and then disowned the child shortly before it grew up enough to start earning money. Their loss on the deal is their fault.
Jedidiah.
Part of the reason the US has been able to carry such a large current account deficit for so long without any noticeable depreciation in the Dollar is the fact that Japan, and recently also China, have been buying large amounts of US bonds and securities, propping up the value of the Dollar. There are other reasons - for instance the budget surpluses during the Clinton years, and the worldwide view of the US as an economic powerhouse (so they are a little more forgiving of the imbalance). A good discussion of the current account deficit, and why it was carried in the past is here. A discussion of why this careful balance may be tipping toward instability can be found in my journal. feel free to follow the link in my sig if you're interested.
Jedidiah.
NSA's involvement in Linux amounts to a research project. Although I think it is interesting and useful, it shouldn't be mistaken for an endorsement by the NSA.
I agree. In many ways it was an attempt by the NSA to demonstrate how security should be done - it wasn't even considered an ideal implementation, but simply a demonstration of the right direction, and that it can be easily added to existing systems.
At the same time, however, the NSA doesn't have any obvious issues with the open source nature of Linux. It was precisely that that lead them to use Linux for the demonstration project. While it is hardly an endorsement of open source, the fact they they were willing to work with such a system would imply that at least the INFOSEC division of NSA doesn't see open source as an evil.
Jedidiah.
This should be self evident to anyone. Admittedly the National Security Agency bothered to make additions to the Linux kernel to make it more secure, and freely returned their work to the open source community. That just shows that the National Security Agency doesn't know anything about National Security.
When I'm concerned about National Security I know I trust a random small commercial software company. It would only make sense that they would be better informed about National Security than some lowly government organisation.
Jedidiah.
There's plenty to worry about. See my sig for an attempt a non-partisan, level headed approach to looking into the economic issues the US may in fact be facing.
Jedidiah.
Wasn't centrino a success? It's low power and integrated wireless made AMD have to follow suit and revamp its mobile core line. Of course, the anti-intel slant (not you!) on this board tends to not see AMD failures.
Yes, Centrino was a definite win for Intel. That means they're doing well in the laptop market, but are losing share on the desktop. And yes, AMD is not without its own issues: The Opteron hasn't been doing quite as well as they would like. That's not exactly fatal, but its not exactly great press either.
So, in summary: laptop: Intel, desktop: AMD, server: still up for grabs. The question is whether the laptop market will supercede the desktop market - certainly the laptop market is growing faster... it may have a lower ceiling though, and there's always Apple and the Power chips to compete with there, and Apple is quite strong in laptops.
Only time will tell.
Jedidiah.
oh, come on, what company doesn't burn some R & D money that ends up junked? I am sure all the "good" companies like IBM and so on have failed projects too.
Yes, but I think the point is that Intel is somewhat lacking in the "recent successes" department to cover the losses on the failures - For now they're still happily on top of the market, and that is their strength, but they are losing mindshare, which really is crucial. The more that other chips are seen as perfectly viable options the faster Intel could lose market share.
There is, of course, no reason to go counting them out just yet. I'm sure Intel has plenty of fight left, and potentially a few cards still up their sleeve. Compared to their position 3 or 4 years ago however, they are not looking anywhere near so good.
Jedidiah.
n my experience, the nature of IT work tends to rule out being able to hold down a side job. The biggest obstacle is the fact that almost all IT work (or salaried work in general, really) tends to have at least one or two "crunch times" per year where you have to work weird hours.
I think this is spot on. A lot of IT jobs are salaried, and there is a huge difference between hourly wages and salary. Waged employment usually has a very fixed set of hours you are expected to work, and any work outside of that is overtime and more expensive for the employer, so it's discouraged. You are being paid for a fixed set of hours, so time outside that is your own, allowing for work on the side. On the other hand salaried work is essentially paying you to "get the job done" regardless of hours. They're paying you up front for as much of your time as it takes. Side jobs just don't come into it.
Having worked both waged (as a baker) and salaried (as a research mathematician) jobs, that's exactly how it generally worked for me. Both have their advantages, and side jobs is simply one of the advantages of waged employment.
Jedidiah.
Is that where they test Linux by throwing it in the ocean? Much like testing Windows by defenestrating it?
Thankfully penguins are good swimmers. On the other hand, contrary to marketing, Windows XP does not, in fact, allow you to fly.
Chalk up another win for Linux.
Jedidiah.
And the GM simply had a fairly free flowing game tried to understand the skills and abilities of the characters and just worked out a percentage chance of success in his head, and asked people to roll on it for any given action.
In the end great RPGs are made by great story telling. Get in a good storyteller for the GM and rules are almost irrelevant. Get in a bad one and not matter how many rules you add you just have a boring dice game suitable only for pedants who like to say things like "But it says here on page 237 paragraph 4 of the Rogue Illusionists handbook..."
Jedidiah.