I hear so many clames like language X can produce code that's as fast as code written in C.
Can anyone here actually point me to some hard facts that substantiate this claim for any language that's significantly higher-level than C?
The ICFP competitions for the last few years make an interesting testing ground. While not large scale developments in the grand scheme of things, the requirements are non-trivial and well-specified. There have been entries in many languages, and performance comparisons can be made between entries written in different languages in some cases.
Clearly, the sample size isn't great, and you have problems with consistency of programmer skill among the developers entering their code. Thus the statistical validity of any generalisation would be questionable. However, some languages (O'Caml, for example) have now been used for several entries performing comparably to those written in C or C++.
If you're genuinely interested, you might be interested in looking up old results. You can decide for yourself how much faith you put in them as a comparison between languages based on how many entries to each competition there have been from each language.
Now let's talk about memory footprint and how small you can make Hello World + the interpreter be in Java. I can get it disk space to 500k (with PAR) without even trying. The python folks can do similar with py2exe.
You can write "Hello, world!" in only 500k?
I'm impressed. In my youth, we did it using feeble tools like x86 assembler on MS-DOS, and it required a massive 25 bytes, more than half of them taken by the string in question.
I know about apples and oranges, but I can't help wondering if the way that half megabyte overhead is tossed around so casually doesn't account for why today's 3Ghz processor, 1GB RAM beasts still struggle to handle a mid-size word processor document...
Backups. Consumer level PC need a VERY GOOD inexpensive method of backing up stuff...
You mean RAID 1?
Unfortunately, RAID 1 isn't removable, so as you say it's OK for hard drive failure but useless for theft, fire/flood, etc. It also doubles your expenses for no benefit unless something actually does go wrong, which is a high price for a backup solution, IMHO.
You won't see your computer. You will have a reflective-surface tablet on which you interact graphically.
I don't think we'll get too radical within ten years, but I think you're on the right lines.
The days of the desktop PC as we know it today are numbered. It's still essentially based on a particular idea of how we work, and a particular architecture. Both of them are a couple of decades old, and no longer reflect the requirements of end users as well as they once did. As a result, I think we'll see (or at least move towards) a few key changes over the next decade.
In particular, I think a lot of technologies in the home that we currently perceive as individual will converge. I expect your "home cinema" kit (TV/projector and DVD player), your sound system (radio, CD player, amp, speakers), general purpose appliances (desktop PCs, game consoles) and convenience tools like remote controls will all become more interactive, to the point where each device is just a node in a home multimedia network. You'll only need one DVD drive and one Internet connection anywhere, and it's quite possible that things like graphical tablets or today's PDAs will be used around the home. I expect there will still be some sort of workstation at your desk, probably still with a screen, keyboard and mouse or something similar, though.
The other big changes I see coming involve communications outside the home. Increased bandwidth and performance will probably spell the end of various current technologies, including "timetabled" TV and radio in their current form. Instead, we'll see a combination of pay-per-play offerings (and probably some option to download permanently for unlimited play, at a higher but fair price) and guide/recommendation systems rather than strict programming by channel as we have today. The classical telephone network will give way to Internet telephony, as will current mobile systems, with the service providers moving to support fully Internet-based bandwidth or just giving up. Telecommuting will become much more widespread as the infrastructure improves and travel conditions worsen, although it'll take a couple of knocks when big companies fold due to viruses, security breaches or other communications flaws costing them a fortune.
Finally, mobile technology will advance a lot. I think the current "3rd generation" mobile phones will flop -- data of the Internet kind doesn't work well on a tiny screen -- but some form of PDAs or laptops that hook into the network routinely and securely interact with your home or office systems will become the norm. There will also be a booming market for information on local services, both so that you can investigate your holiday destination in detail from the comfort of home, and so you can look up local taxi services or reviews of nearby restaurants from your mobile system, which will automatically identify relevant information given your current position.
So there you go: serious home networking, making the Internet what it should be, and more powerful mobile technology. Any takers?:-)
...just call Human Resources and pretend you're from HR at some company that's just been reviewing your resume.
Heh... I once watched a manager give a lengthy phone description of how great a former employee was, only to find after a quarter hour that he wasn't speaking to that employee's new employer, but to a different potential employer who didn't realise he'd already got a new job... Surreal conversation, though, amazing what people will say without knowing who they're speaking to...
If there is a possibility that someone you employ is using facilities you provide to perform illegal activities, you might feel obligated to relieve them of access to your facilities.
That is a reasonable precautionary measure, which is OK.
i doubt you could perform your job with an abacus, so the next step would be to fire you.
That is making someone guilty until proven innocent, which is not OK.
The implications for someone's career if they're fired for even possibly doing something like this -- whether or not they actually did it -- are very bad.
I don't work as a contractor in the US, so I'm not familiar with how much information can/must be disclosed when someone's contract is terminated there. If the guy can just say that his contract was up and he's moving on, he might have a case for wrongful dismissal (or not) but that's probably about it; no harm, no foul.
If, OTOH, this guy's professional reputation suffers as a result of the company's actions, for example if the company tells some potential future employer that they fired him for cracking, then there should be grounds for a defamation case and some compensation in line with lost income. Of course, whether the legal system recognises the reality is a different question entirely...
Yes, I was in part describing C++, because I think it's a good example of a library that gets some things right, but some things spectacularly wrong. In particular, it shows where trying to keep an artificial separation between language and library breaks down.
Incidentally, I stand by my claim that you do need the standard library in C++ on occasions such as I mentioned. It interacts with language features such as dynamic_cast and the new operator. Sure, you can use printf instead of cout (and who'd blame you?;-)) but that wasn't my point. There are subtle, intricate interactions there, and there will be similar interactions in any other language with similar features. Trying to keep them separate simply doesn't gain you anything worthwhile, IMHO.
As for limitations in the standard C++ library, here are a few that come immediately to mind.
The I/O streams library forces the structure of output strings into code by using the << operator. Unfortunately, while that gains a little theoretical flexibility, it also makes for hideously unreadable code. Worse, it means that when you translate your application into a foreign language with different word order conventions, you have to rewrite that code, instead of just changing a formatting string stored somewhere. Most translation agencies don't want to touch your code and would much rather process a simple text file with the strings arriving in one language and being sent back suitably adjusted in another. Java, C# and others support this much better.
The string class is infamous for its "designed by committee" nature. In particular, it was designed to support copy-on-write and reference counting semantics, which have subsequently been shown to be unsafe in a C++ environment. A better solution, offering both a constant string and a mutable string type, would do much more to improve both flexibility and performance, and again this is a technique found in many other mainstream languages today.
The STL has some good ideas, but isn't perfect by any means. There's a thread just starting on comp.std.c++ right now about why it doesn't support a native "range" concept rather than using (pairs of) iterators for everything.
Much of the real usefulness of the STL is destroyed by the lack of adequate function objects to bind things together in the standard library at present. Fortunately, the heroes over at Boost have been working hard on this, and some much better solutions will hopefully find their way into standard C++ next revision. For now, however, the standard algorithms are crippled.
Concurrency? What concurrency?
File system support? What file system support?
My biggest problem with standard C++, particularly its library, is that it looks far more complex than it actually is. You don't (or shouldn't) need 400+ pages to define a language, even formally. You don't (or shouldn't) need a similar number just to define a library that provides little more than some basic I/O, basic data structures and algorithms, basic maths and basic text processing.
The complaints that C++ is too complicated and too limited are both justified, in their way. A new language with a new library would do well to learn from both the successes and failures that C++ has had in its lifetime.
You well could be right, but I have my doubts, because myself and any other student with any sense would never choose to attend an institution that tried to pull a stunt like that.
Beggars can't be choosers. Most of the top universities I know about in the UK seem to have this sort of policy, and while a serious PhD student might just register on their scale as someone worth negotiating with, an undergrad barely pays the rent.
I'll try to find a copy of the rules for submitting my diploma dissertation and check the details, but I'm pretty sure they included a fairly generic rights transfer; I did check at the time.
Are you sure you are in Computer Science?
University of Cambridge Computer Lab, albeit a few years ago.
Bollocks. If they don't make you sign a copyright transfer document, then it's still yours.
And the rules for submitting your project, diploma dissertation, masters thesis or whatever at many UK universities include just such a declaration. The rules are quite clear on this from the start, or at least were where I studied. That's the deal; take it or leave it.
Of course, postgraduate work is quite different. They do sometimes ask for copyright to that.
On the contrary; you typically have rather more control over postgrad work. Obviously you'll be required to give them a copy of, say, a PhD thesis, and some relevant rights to have it in libraries etc. Many people from my university have gone on to set up successful businesses based on the research they did during their PhDs, completely independent of the university, though.
There are still people who think Linux is all command line. Then we have advocates (like you) who run around flinging out terms like "nightmare". Do you do this to hype your own Guru-ship for having conqurored the nightmare?
Not at all. I might claim to be good at some computer-related things, but Linux isn't one of them. Right now, I'm just a generally computer-literate guy thinking of moving to using Linux as the main OS for my home PC, and not a dual-boot option installed out of curiosity.
For someone like me -- the kind of person Linux should really appeal to -- the current state of installation and package management seems to be around 95% of the way to where I'd like to be. Every time I think a distro might now merit being my main platform, I find a whole load of reviews from generally reliable sources that say "It was great, until this tiny detail was wrong, and then I had to drop back to a text editor and hack this obscure configuration file with this setting that, luckily enough, one of my colleagues had found previously."
I kid you not. The last four reviews of major Linux distros I read, including one covering Suse 8.2, all had a paragraph that ran almost exactly like that, and the word "nightmare" was borrowed from one of them.
As I said, it's getting much better. Still, I tend to believe that the way for something like Linux (or OpenOffice, or Mozilla, or...) to gain real popularity is for the "semi-geek" population to start trying it out at home, and then if they decide they like it, advocating it to their own friends and family, and their work colleagues. And for that to happen, an OS that doesn't support top-end peripherals with their own drivers until a year or more after they're out, and that requires hand-tweaking of settings from an older driver to get that to work instead, has to improve that little bit more.
My personal opinion -- and that's all it is -- is that improving this face of Linux usability would do just as much in the long run to improve the standing of the Linux world as copying a few more features from established Windows apps. Hence, I think we should bear in mind the other side of usability to that explored by the article here.
I've heard about this arbitrary disconnection by BTO after 12 hours of use as well, but it seems very odd. Considering that I must be on-line for very close to that boundary typically one or two weekend days each week, it's amazing I've never hit it.
As for BTO's policies more generally... I don't think BT or BTO are particularly great, and yes I've have had bad experiences with them in the past. OTOH, I've also had generally good service aside from the occasional screw ups -- better than I've had with alternative providers, who also screwed up from time to time. I still use both BT and BTO today, and I'm the sort of customer who will quite happily vote with his wallet and switch to an alternative company when I consider that the situation merits doing so.
Since they imposed the two-hour cap, it's much easier to connect, and they've recently raised the cap to 4 hours at once. The only time this is really annoying now, given we're talking about dial-up anyway, is if you're playing a long on-line game. You can resume broken downloads or other activities pretty much immediately with minimal inconvenience, so it's no great hassle.
I found the 150 hour cap offensive when I first heard about it, too, but decided to give it a fair chance before taking my business elsewhere. To date, in spite of being a pretty heavy user, I have never even been warned I'm near it. And I have my PC connected for several hours most evenings, download 20-30MB+ installations for Mozilla/OOo/etc. frequently, etc.
So I have somewhat revised my opinions of ISPs capping dial-up connections. As far as I can see, there's definitely an element of truth to their claims that the only people who'll really be hit are those using it very heavily for things like P2P, and those people should be paying more for a better package anyway. Why the hell should I, or any other user, subsidise the line rental for people downloading illegal copies of music and games all day?
I would much rather all ISPs were up-front about what restrictions they place on the various services they offer, and didn't try to change the deal after you'd signed up. In fact, I'm in favour of legal action to require this at present, since misleading advertising by several of the big names is hurting a lot of people right now.
However, I don't find the restrictions themselves to be unreasonable in practice, at least on my dial-up line. If they were honest about the limits of the deal, what the alternatives were and what everything would cost, then I'd probably still have picked the deal I currently have over similar packages offered by competitors. I will continue to use that package until it no longer meets my needs, either through limited functionality or non-competitive pricing, and then I will drop it and move to a more appropriate one.
Cablevision may, in its sole discretion, change, modify, add or remove portions of this Agreement at any time.
Don't count on it. Hopefully we all know by now that just because something is written into a contract, it doesn't make it binding if the terms are not legal. Contracts that say that one party may modify the contract, at any time and without consulting the other party, are probably the #1 example of this.
I charge about 50% less, simply because I don't have the overhead of my competitors.
You have to be careful with that sort of policy. A lot of serious business will look at a price differential that big, and ask what you're not telling them. Some places automatically ignore the highest and lowest bids for any job. Better to accept that people want to pay for things so they feel they've got a quality job done, and charge 80-90% of the market rate instead. Think of it as a downpayment on your honesty in charging less than everyone else.:-)
Actually it's quite impressive that KDE can keep up with Windows in a 45-minute test with Windows-users.
That is indeed a very impressive achievement, and one of which the developers behind KDE and its fellow Linux tools can feel justly proud.
The thing that gets me is that Linux has two usability hurdles to overcome before it can take on Windows head-to-head for desktop market share:
applications
installation and configuration.
This survey suggests that applications are now at least comparable, although I suspect most of us had figured that out already. It's interesting that the tasks mentioned were pretty straightforward on both platforms, though. I suspect typical commercial Windows apps are still some way ahead of typical free, Linux-based equivalents when it comes to usability for more advanced tasks, at least for now.
The killer, as I see it, is still that getting a Linux installation up and running can be a nightmare. The situation is getting much better, with many distros now shipping with excellent installation software and/or package managers for later changes. Yet, it still requires at least "guru" status to fix a problem when it does go wrong, particularly where things like hardware and device drivers, or configuring the GUI, are concerned.
It's notable that this study was done using preconfigured systems, glossing over this whole issue. There's obviously no problem with that if it's not what they were investigating, but it would have been interesting to see an equivalent study of experienced sysadmins, trying to get an office network of Linux-based systems up to speed compared to the equivalent Windows-based set-up, and to try the same experiment again in a year or two.
I realise that there is scope for abuse here, but I don't think Microsoft would be stupid enough to risk censoring critical posts. It would come out within hours anyway, if they ever did try it.
I guess I'm just more willing to give them the benefit of the doubt over this than you are. I think the problems are genuine, and I don't think current Usenet clients are (in general) up to the job. I would welcome a newsreader that gave me more information on groups: what the subject really is, whether it's moderated, where the FAQ is, how many posts per day (and how many of those are spam), how many replies to existing posts per day and what proportion of original posts go unanswered, etc. I know of no current newsreader that gets anywhere near this.
The problem with AOL is precisely that they made things more easy to use without bothering to tell anybody how to use them properly, resulting in a whole generation of users lacking in any sort of netiquette and going around with holier-than-thou attitudes as they completely screwed up a previously working system. Mercifully, most of them have since given up. If Microsoft could get the same level of popularity, but address the lack of netiquette at the same time, it would go a long way. They do get things right occasionally, and in this case, the ideas sound far more constructive to me than they apparently do to you.
I really have no idea what you're talking about. I got into Usenet when i was 14 years old (i'm 16 now), and i was subscribed to all the groups i like within 2 or 3 minutes of downloading the groups from my server for the very first time. Of course, i only use Usenet for binaries, but i have taken part in discussion once or twice. It's not difficult at all.
Get back to us when you've tried to take part in a couple of dozen different discussion groups.:-)
But seriously, the problem that you're overlooking is that the name of a group doesn't necessarily tell you enough about its purpose to work out whether it's the right place to lurk/post.
Programming language groups are great examples of this. To give some examples from personal experience, suppose you're writing an e-mail client in C++, using GCC on a Linux box and some library or other to do the Internet protocol stuff. Which of the following groups are relevant to you?
comp.lang.c++
comp.lang.c++.moderated
comp.std.c++
alt.comp.lang.learn.c-c++
Which of the above are moderated groups? Which are for experienced users, and which for newbies? Where should you ask questions about:
a syntax problem you're having with a class in your program
compiler options for GCC
a library API you don't understand
checking the security of your app
using a container class from the C++ standard library?
If you get more than one of those right, without knowing the groups concerned, I'll be impressed.
(Anyone about to bitch about why you'd want to use C++ anyway can consider that comp.lang.perl doesn't even exist -- although it gets dozens of posts every month -- and go figure.)
There are FAQs for the C++ newsgroups, frequently referenced in the sigs of regular posters and in the footers appended to posts to the moderated groups, that make it quite clear what's on-topic and what's not. They even provide lengthy lists of related groups where many questions people might be thinking of posting should be sent instead. And yet still, numerous people every month clog up already crowded groups with inane questions that are asked a million times (sometimes prefaced with "This might be a FAQ but..." or something equally irritating) or with subjects that are completely off-topic and just get in the way of useful discussion.
Now, this was the first example that came to mind, but there are myriad others. I'm very happy for you that you found all the groups you ever wanted in two minutes, but the world of downloading pr0n and illegal copies of games is different to the useful discussion that goes on elsewhere in Usenet, and does have genuine problems at the moment. A more optimistic view of Microsoft's work is that they might help to fix some of those problems, and make the rest of Usenet a better place for those of us interested in using it.
/. displays fine in mozilla 1.4 blame something else for your problems
Unfortunately, no, it doesn't. A few days ago, shortly after Slashdot started changing the markup for things like the sidebar and also shortly after I upgraded to Moz 1.4, the site stopped rendering properly a lot of the time. From other replies I've had, I am far from the only person to notice this, and I'm told the problem persists in current test versions of Moz 1.5. Nothing else on my system changed around the time the problems started, and it had been happily displaying/. for ages in previous incarnations of Mozilla until that point, so the only two candidates for blame are/. itself and recent changes in Mozilla.
...people could find a way to hide email addresses in news groups.
I probably post hundreds of times a month in diverse newsgroups. I have a basic spam filter on my e-mail address -- something obvious, but not one of the common ones that the smarter spammers spot and unmunge these days -- and get almost 0 spam to my Usenet-related account.
I've only ever encountered one guy on one group who objected to having a munged reply address, and threatened to killfile me. Since that seemed to be all he ever did to anyone, I just told him to go ahead. No-one else who needs to read you mail address has a problem, so go ahead and munge it in an original and witty way, and say goodbye to Usenet-related spam.
If you know where to look, and what you are looking for, usenet is ok.
Exactly: it's great, but only if you know where to look. Sounds as though Microsoft's ideas on this one are steps in the right direction. I'm a Usenet veteran, but still find it difficult to identify a group that's relevant to me when I first want to explore a new subject.
For bonus marks, if they could just get people to understand that it's polite to read the FAQ before posting (and make the FAQ an obvious link somewhere) and that following local customs and keeping on-topic also go a long way, they'd be ahead of everyone else who currently offers Usenet access. A group with influence of Microsoft could do a lot to improve the signal/noise ratio on some newsgroups. Extending their reach into Usenet isn't necessarily a bad thing.
Ill-informed editorial comments like Taco's don't help much, BTW. Most newsgroups actually are pretty good these days, as long as there's one where your interest is on-topic and you have decent filtering in your client to cut out the noise. I've found worthwhile groups on various technical subjects, all of my major hobbies, my local area and more. We can do without putting off people who might be genuinely interested in reading and/or contributing to such groups with juvenile statements like Taco's.
But that isn't true. Radio stations don't pay jack shit for the music.
OK, maybe in the US that's true. It certainly isn't over here in the UK. I help to run a large dance club in my spare time, and we pay thousands of pounds to the licensing bodies for the rights to play recorded music at our club's lessons and events. We have nearly 2,000 members and run around 40 hours of classes per week, but compared to us, radio stations can reach much wider audiences. Given that the rates we pay depend on the number of hours we're using the music, I imagine they're paying significantly more than we are...
One can allocate resources for education (computer, internet, books), housing, food, bare essentials and not any any left over for movies or music. Being able to afford a computer does not imply being able to afford $20 DVDs or $15 CDs.
I'm sorry, I don't believe you.
Buy a PC with a smaller monitor or hard drive next time, or a cheaper Internet connection.
If you're so hand to mouth that you cannot afford to drop some other luxury to pay for your music habit, perhaps you should consider that having a PC and a broadband connection are too high on your list of life priorities and consider saving some money or looking to get a better paid job instead?
Disney just reported an increase in sales over the last year from $5.8 billion to $6.2 billion, [...] If the rest of the entertainment industry has been that successful in this economy, then it's going to be difficult to prove that piracy is killing their business model.
Did it occur to you that far more people copy far more music illegally than movies? I know of almost no-one who rips movies on a regular basis. Probably half the people I know rip music. Go figure.
The ICFP competitions for the last few years make an interesting testing ground. While not large scale developments in the grand scheme of things, the requirements are non-trivial and well-specified. There have been entries in many languages, and performance comparisons can be made between entries written in different languages in some cases.
Clearly, the sample size isn't great, and you have problems with consistency of programmer skill among the developers entering their code. Thus the statistical validity of any generalisation would be questionable. However, some languages (O'Caml, for example) have now been used for several entries performing comparably to those written in C or C++.
If you're genuinely interested, you might be interested in looking up old results. You can decide for yourself how much faith you put in them as a comparison between languages based on how many entries to each competition there have been from each language.
Of course. Python is executable pseudocode, but Perl is executable line noise. (First saw this on the Slashdot "wisdom line". :-))
You can write "Hello, world!" in only 500k?
I'm impressed. In my youth, we did it using feeble tools like x86 assembler on MS-DOS, and it required a massive 25 bytes, more than half of them taken by the string in question.
I know about apples and oranges, but I can't help wondering if the way that half megabyte overhead is tossed around so casually doesn't account for why today's 3Ghz processor, 1GB RAM beasts still struggle to handle a mid-size word processor document...
Unfortunately, RAID 1 isn't removable, so as you say it's OK for hard drive failure but useless for theft, fire/flood, etc. It also doubles your expenses for no benefit unless something actually does go wrong, which is a high price for a backup solution, IMHO.
Yep, and anyone who's ever had to maintain Perl code wishes there was only one... ;-)
I don't think we'll get too radical within ten years, but I think you're on the right lines.
The days of the desktop PC as we know it today are numbered. It's still essentially based on a particular idea of how we work, and a particular architecture. Both of them are a couple of decades old, and no longer reflect the requirements of end users as well as they once did. As a result, I think we'll see (or at least move towards) a few key changes over the next decade.
In particular, I think a lot of technologies in the home that we currently perceive as individual will converge. I expect your "home cinema" kit (TV/projector and DVD player), your sound system (radio, CD player, amp, speakers), general purpose appliances (desktop PCs, game consoles) and convenience tools like remote controls will all become more interactive, to the point where each device is just a node in a home multimedia network. You'll only need one DVD drive and one Internet connection anywhere, and it's quite possible that things like graphical tablets or today's PDAs will be used around the home. I expect there will still be some sort of workstation at your desk, probably still with a screen, keyboard and mouse or something similar, though.
The other big changes I see coming involve communications outside the home. Increased bandwidth and performance will probably spell the end of various current technologies, including "timetabled" TV and radio in their current form. Instead, we'll see a combination of pay-per-play offerings (and probably some option to download permanently for unlimited play, at a higher but fair price) and guide/recommendation systems rather than strict programming by channel as we have today. The classical telephone network will give way to Internet telephony, as will current mobile systems, with the service providers moving to support fully Internet-based bandwidth or just giving up. Telecommuting will become much more widespread as the infrastructure improves and travel conditions worsen, although it'll take a couple of knocks when big companies fold due to viruses, security breaches or other communications flaws costing them a fortune.
Finally, mobile technology will advance a lot. I think the current "3rd generation" mobile phones will flop -- data of the Internet kind doesn't work well on a tiny screen -- but some form of PDAs or laptops that hook into the network routinely and securely interact with your home or office systems will become the norm. There will also be a booming market for information on local services, both so that you can investigate your holiday destination in detail from the comfort of home, and so you can look up local taxi services or reviews of nearby restaurants from your mobile system, which will automatically identify relevant information given your current position.
So there you go: serious home networking, making the Internet what it should be, and more powerful mobile technology. Any takers? :-)
Heh... I once watched a manager give a lengthy phone description of how great a former employee was, only to find after a quarter hour that he wasn't speaking to that employee's new employer, but to a different potential employer who didn't realise he'd already got a new job... Surreal conversation, though, amazing what people will say without knowing who they're speaking to...
That is a reasonable precautionary measure, which is OK.
That is making someone guilty until proven innocent, which is not OK.
The implications for someone's career if they're fired for even possibly doing something like this -- whether or not they actually did it -- are very bad.
I don't work as a contractor in the US, so I'm not familiar with how much information can/must be disclosed when someone's contract is terminated there. If the guy can just say that his contract was up and he's moving on, he might have a case for wrongful dismissal (or not) but that's probably about it; no harm, no foul.
If, OTOH, this guy's professional reputation suffers as a result of the company's actions, for example if the company tells some potential future employer that they fired him for cracking, then there should be grounds for a defamation case and some compensation in line with lost income. Of course, whether the legal system recognises the reality is a different question entirely...
Yes, I was in part describing C++, because I think it's a good example of a library that gets some things right, but some things spectacularly wrong. In particular, it shows where trying to keep an artificial separation between language and library breaks down.
Incidentally, I stand by my claim that you do need the standard library in C++ on occasions such as I mentioned. It interacts with language features such as dynamic_cast and the new operator. Sure, you can use printf instead of cout (and who'd blame you? ;-)) but that wasn't my point. There are subtle, intricate interactions there, and there will be similar interactions in any other language with similar features. Trying to keep them separate simply doesn't gain you anything worthwhile, IMHO.
As for limitations in the standard C++ library, here are a few that come immediately to mind.
My biggest problem with standard C++, particularly its library, is that it looks far more complex than it actually is. You don't (or shouldn't) need 400+ pages to define a language, even formally. You don't (or shouldn't) need a similar number just to define a library that provides little more than some basic I/O, basic data structures and algorithms, basic maths and basic text processing.
The complaints that C++ is too complicated and too limited are both justified, in their way. A new language with a new library would do well to learn from both the successes and failures that C++ has had in its lifetime.
Beggars can't be choosers. Most of the top universities I know about in the UK seem to have this sort of policy, and while a serious PhD student might just register on their scale as someone worth negotiating with, an undergrad barely pays the rent.
I'll try to find a copy of the rules for submitting my diploma dissertation and check the details, but I'm pretty sure they included a fairly generic rights transfer; I did check at the time.
University of Cambridge Computer Lab, albeit a few years ago.
And the rules for submitting your project, diploma dissertation, masters thesis or whatever at many UK universities include just such a declaration. The rules are quite clear on this from the start, or at least were where I studied. That's the deal; take it or leave it.
On the contrary; you typically have rather more control over postgrad work. Obviously you'll be required to give them a copy of, say, a PhD thesis, and some relevant rights to have it in libraries etc. Many people from my university have gone on to set up successful businesses based on the research they did during their PhDs, completely independent of the university, though.
Not at all. I might claim to be good at some computer-related things, but Linux isn't one of them. Right now, I'm just a generally computer-literate guy thinking of moving to using Linux as the main OS for my home PC, and not a dual-boot option installed out of curiosity.
For someone like me -- the kind of person Linux should really appeal to -- the current state of installation and package management seems to be around 95% of the way to where I'd like to be. Every time I think a distro might now merit being my main platform, I find a whole load of reviews from generally reliable sources that say "It was great, until this tiny detail was wrong, and then I had to drop back to a text editor and hack this obscure configuration file with this setting that, luckily enough, one of my colleagues had found previously."
I kid you not. The last four reviews of major Linux distros I read, including one covering Suse 8.2, all had a paragraph that ran almost exactly like that, and the word "nightmare" was borrowed from one of them.
As I said, it's getting much better. Still, I tend to believe that the way for something like Linux (or OpenOffice, or Mozilla, or...) to gain real popularity is for the "semi-geek" population to start trying it out at home, and then if they decide they like it, advocating it to their own friends and family, and their work colleagues. And for that to happen, an OS that doesn't support top-end peripherals with their own drivers until a year or more after they're out, and that requires hand-tweaking of settings from an older driver to get that to work instead, has to improve that little bit more.
My personal opinion -- and that's all it is -- is that improving this face of Linux usability would do just as much in the long run to improve the standing of the Linux world as copying a few more features from established Windows apps. Hence, I think we should bear in mind the other side of usability to that explored by the article here.
I've heard about this arbitrary disconnection by BTO after 12 hours of use as well, but it seems very odd. Considering that I must be on-line for very close to that boundary typically one or two weekend days each week, it's amazing I've never hit it.
As for BTO's policies more generally... I don't think BT or BTO are particularly great, and yes I've have had bad experiences with them in the past. OTOH, I've also had generally good service aside from the occasional screw ups -- better than I've had with alternative providers, who also screwed up from time to time. I still use both BT and BTO today, and I'm the sort of customer who will quite happily vote with his wallet and switch to an alternative company when I consider that the situation merits doing so.
Since they imposed the two-hour cap, it's much easier to connect, and they've recently raised the cap to 4 hours at once. The only time this is really annoying now, given we're talking about dial-up anyway, is if you're playing a long on-line game. You can resume broken downloads or other activities pretty much immediately with minimal inconvenience, so it's no great hassle.
I found the 150 hour cap offensive when I first heard about it, too, but decided to give it a fair chance before taking my business elsewhere. To date, in spite of being a pretty heavy user, I have never even been warned I'm near it. And I have my PC connected for several hours most evenings, download 20-30MB+ installations for Mozilla/OOo/etc. frequently, etc.
So I have somewhat revised my opinions of ISPs capping dial-up connections. As far as I can see, there's definitely an element of truth to their claims that the only people who'll really be hit are those using it very heavily for things like P2P, and those people should be paying more for a better package anyway. Why the hell should I, or any other user, subsidise the line rental for people downloading illegal copies of music and games all day?
I would much rather all ISPs were up-front about what restrictions they place on the various services they offer, and didn't try to change the deal after you'd signed up. In fact, I'm in favour of legal action to require this at present, since misleading advertising by several of the big names is hurting a lot of people right now.
However, I don't find the restrictions themselves to be unreasonable in practice, at least on my dial-up line. If they were honest about the limits of the deal, what the alternatives were and what everything would cost, then I'd probably still have picked the deal I currently have over similar packages offered by competitors. I will continue to use that package until it no longer meets my needs, either through limited functionality or non-competitive pricing, and then I will drop it and move to a more appropriate one.
Don't count on it. Hopefully we all know by now that just because something is written into a contract, it doesn't make it binding if the terms are not legal. Contracts that say that one party may modify the contract, at any time and without consulting the other party, are probably the #1 example of this.
You have to be careful with that sort of policy. A lot of serious business will look at a price differential that big, and ask what you're not telling them. Some places automatically ignore the highest and lowest bids for any job. Better to accept that people want to pay for things so they feel they've got a quality job done, and charge 80-90% of the market rate instead. Think of it as a downpayment on your honesty in charging less than everyone else. :-)
That is indeed a very impressive achievement, and one of which the developers behind KDE and its fellow Linux tools can feel justly proud.
The thing that gets me is that Linux has two usability hurdles to overcome before it can take on Windows head-to-head for desktop market share:
This survey suggests that applications are now at least comparable, although I suspect most of us had figured that out already. It's interesting that the tasks mentioned were pretty straightforward on both platforms, though. I suspect typical commercial Windows apps are still some way ahead of typical free, Linux-based equivalents when it comes to usability for more advanced tasks, at least for now.
The killer, as I see it, is still that getting a Linux installation up and running can be a nightmare. The situation is getting much better, with many distros now shipping with excellent installation software and/or package managers for later changes. Yet, it still requires at least "guru" status to fix a problem when it does go wrong, particularly where things like hardware and device drivers, or configuring the GUI, are concerned.
It's notable that this study was done using preconfigured systems, glossing over this whole issue. There's obviously no problem with that if it's not what they were investigating, but it would have been interesting to see an equivalent study of experienced sysadmins, trying to get an office network of Linux-based systems up to speed compared to the equivalent Windows-based set-up, and to try the same experiment again in a year or two.
I realise that there is scope for abuse here, but I don't think Microsoft would be stupid enough to risk censoring critical posts. It would come out within hours anyway, if they ever did try it.
I guess I'm just more willing to give them the benefit of the doubt over this than you are. I think the problems are genuine, and I don't think current Usenet clients are (in general) up to the job. I would welcome a newsreader that gave me more information on groups: what the subject really is, whether it's moderated, where the FAQ is, how many posts per day (and how many of those are spam), how many replies to existing posts per day and what proportion of original posts go unanswered, etc. I know of no current newsreader that gets anywhere near this.
The problem with AOL is precisely that they made things more easy to use without bothering to tell anybody how to use them properly, resulting in a whole generation of users lacking in any sort of netiquette and going around with holier-than-thou attitudes as they completely screwed up a previously working system. Mercifully, most of them have since given up. If Microsoft could get the same level of popularity, but address the lack of netiquette at the same time, it would go a long way. They do get things right occasionally, and in this case, the ideas sound far more constructive to me than they apparently do to you.
Get back to us when you've tried to take part in a couple of dozen different discussion groups. :-)
But seriously, the problem that you're overlooking is that the name of a group doesn't necessarily tell you enough about its purpose to work out whether it's the right place to lurk/post.
Programming language groups are great examples of this. To give some examples from personal experience, suppose you're writing an e-mail client in C++, using GCC on a Linux box and some library or other to do the Internet protocol stuff. Which of the following groups are relevant to you?
Which of the above are moderated groups? Which are for experienced users, and which for newbies? Where should you ask questions about:
If you get more than one of those right, without knowing the groups concerned, I'll be impressed.
(Anyone about to bitch about why you'd want to use C++ anyway can consider that comp.lang.perl doesn't even exist -- although it gets dozens of posts every month -- and go figure.)
There are FAQs for the C++ newsgroups, frequently referenced in the sigs of regular posters and in the footers appended to posts to the moderated groups, that make it quite clear what's on-topic and what's not. They even provide lengthy lists of related groups where many questions people might be thinking of posting should be sent instead. And yet still, numerous people every month clog up already crowded groups with inane questions that are asked a million times (sometimes prefaced with "This might be a FAQ but..." or something equally irritating) or with subjects that are completely off-topic and just get in the way of useful discussion.
Now, this was the first example that came to mind, but there are myriad others. I'm very happy for you that you found all the groups you ever wanted in two minutes, but the world of downloading pr0n and illegal copies of games is different to the useful discussion that goes on elsewhere in Usenet, and does have genuine problems at the moment. A more optimistic view of Microsoft's work is that they might help to fix some of those problems, and make the rest of Usenet a better place for those of us interested in using it.
Unfortunately, no, it doesn't. A few days ago, shortly after Slashdot started changing the markup for things like the sidebar and also shortly after I upgraded to Moz 1.4, the site stopped rendering properly a lot of the time. From other replies I've had, I am far from the only person to notice this, and I'm told the problem persists in current test versions of Moz 1.5. Nothing else on my system changed around the time the problems started, and it had been happily displaying /. for ages in previous incarnations of Mozilla until that point, so the only two candidates for blame are /. itself and recent changes in Mozilla.
I probably post hundreds of times a month in diverse newsgroups. I have a basic spam filter on my e-mail address -- something obvious, but not one of the common ones that the smarter spammers spot and unmunge these days -- and get almost 0 spam to my Usenet-related account.
I've only ever encountered one guy on one group who objected to having a munged reply address, and threatened to killfile me. Since that seemed to be all he ever did to anyone, I just told him to go ahead. No-one else who needs to read you mail address has a problem, so go ahead and munge it in an original and witty way, and say goodbye to Usenet-related spam.
Exactly: it's great, but only if you know where to look. Sounds as though Microsoft's ideas on this one are steps in the right direction. I'm a Usenet veteran, but still find it difficult to identify a group that's relevant to me when I first want to explore a new subject.
For bonus marks, if they could just get people to understand that it's polite to read the FAQ before posting (and make the FAQ an obvious link somewhere) and that following local customs and keeping on-topic also go a long way, they'd be ahead of everyone else who currently offers Usenet access. A group with influence of Microsoft could do a lot to improve the signal/noise ratio on some newsgroups. Extending their reach into Usenet isn't necessarily a bad thing.
Ill-informed editorial comments like Taco's don't help much, BTW. Most newsgroups actually are pretty good these days, as long as there's one where your interest is on-topic and you have decent filtering in your client to cut out the noise. I've found worthwhile groups on various technical subjects, all of my major hobbies, my local area and more. We can do without putting off people who might be genuinely interested in reading and/or contributing to such groups with juvenile statements like Taco's.
Oh no, there are plenty more after that... :o)
OK, maybe in the US that's true. It certainly isn't over here in the UK. I help to run a large dance club in my spare time, and we pay thousands of pounds to the licensing bodies for the rights to play recorded music at our club's lessons and events. We have nearly 2,000 members and run around 40 hours of classes per week, but compared to us, radio stations can reach much wider audiences. Given that the rates we pay depend on the number of hours we're using the music, I imagine they're paying significantly more than we are...
I'm sorry, I don't believe you.
Buy a PC with a smaller monitor or hard drive next time, or a cheaper Internet connection.
If you're so hand to mouth that you cannot afford to drop some other luxury to pay for your music habit, perhaps you should consider that having a PC and a broadband connection are too high on your list of life priorities and consider saving some money or looking to get a better paid job instead?
Did it occur to you that far more people copy far more music illegally than movies? I know of almost no-one who rips movies on a regular basis. Probably half the people I know rip music. Go figure.