You're right, web applications are perhaps a poor example here, but there are many other applications that run on the average desktop that will now run faster if they can make use of a multi-core system. Somebody has to do the coding that will effect this change, and that coding will often be non-trivial.
As many slashdotters are in software development or something related, we should all be grateful that multi-core processors are becoming so prevalent, because it will mean more jobs for hard-core code-cutters.
The paradigm for using many types of software is pretty well established now, and many new software projects can be put together by bolting together existing tools. As a result of this, there has been a lot of hype about the use of high level application development like Ruby on Rails, where you don't need to have a lot of programming expertise to chuck together a web-facing database application.
However, all the layers of software beneath Ruby on Rails are based on single-threaded languages and libraries. To benefit from the advances of multi-core technology, all that stuff will have to be brought up to date and of course making a piece of code make good use of a number of processors is often a non-trivial exercise. In theory, it should mean many more jobs for us old-schoolers, who were building web/database apps when it took much more than 10 lines of code to do it...
In my view, any revolutionary new technology has to try to not to destroy the planet any more than we are already.
Widespread 3D printers will probably mean that we buy less pre-fabricated items from shops, which will reduce shipping. However I presume the energy efficiency (and whatever the equivalent of a toner cartridge for 3D) will be a lot worse per unit for a home printer than a mass production unit. What about waste products? Will this encourage the throwaway society even further?
I should say that I didn't buy or install this box. It was bought for a biological research institution and the guy who made the purchasing decision chose it because it was Dell's recommended choice. RHEL3 may be ancient, but it came on a fairly new machine, bought in early 2006, so they were obviously still selling it.
It's fair enough that they focus on rock solid stability over new packages. However, it's a bit disappointing that my employers were still paying a support contract on this box but the package updates that were part of this contract were more than 3 years old.
I don't think it's too much to expect a little flexibility when you're paying for it.
My experience with RHEL was really not that good. We had an RHEL3 box which had a truly ancient version of Python installed - more than 2 years old. You couldn't force an upgrade, because packages could only be installed if fully compatible with that version of RHEL and that version of Python was the latest that was considered fully compatible. You couldn't do a major version upgrade to, say, RHEL4 without reinstalling the system. When I manually changed the version of Python by compiling it myself, it borked the package manager so it wouldn't get security updates anymore. I ended up with an old and a new version installed next to each other, which is fine, but I had to do all the work of getting them to coexist myself.
A similar story with PHP. To update from PHP4 to PHP5 was a good day of compiling and tweaking to make sure I could get it installed alongside a pukka packaged version of PHP4, thereby not upsetting the package system and invalidating our support.
I know their method is to restrict the versions to make it very well understood and easy to support. It just seems a bit pants to pay for a system that has less update capabilities than most of the free linuxes.
3. Other parts of the market see this tremor so market waivers a lot
4. Panic ensues
5. Indices drop 10%
6. a pension company goes bust
7. my grandpa doesn't get to eat.
The last few steps are somewhat hypothetical, but still. The stock market must be one of the most immediately visible examples of chaos theory kicking humans in the nuts.
1st Amendment rights is one thing, but a variety of laws restrict freedom of speech if it slanders, intimidates or incites others. This is true in the real world and probably, as has already been pointed out, this applies even more in schools where you're trying to teach children to be responsible citizens.
That's the problem with trumpeting "freedom" as a great virtue. Too much freedom means that you would have to legalise a variety of evils such as child abuse and racial discrimination. Freedom to do something needs the proviso that it does not restrict the freedom of others, which is a bit more of a subtle concept.
I really hadn't intended to criticise people's use of any system. There is much to admire in Windows and Mac OS. I just mean that there aren't as many unpaid Mac or Windows developers who dedicate enormous amounts of their free time to writing software for the machine *just to make it more accessible to others*, such as device drivers.
A user who likes a product, such as yourself, is one level of dedication. Giving up your free time to horrendous documentation and piles of C/assembly code is another.
That said, I broadly agree with you on the subject of sanctimonious Linux users. Although I am not currently a Linux user myself, I apologise.
Whatever you might say about the Linux community - that it is elitist or sanctimonious or whatever - it is impossible to ignore their commitment to what they believe in. That somebody would be willing to write device drivers for nothing, apparently just to forward the cause of a free operating system, is pretty impressive. Microsoft and Apple can match this devotion only in the ferocity with which they defend their control over their customers, in anti-trust trials and by imposing DRM.
IBS sounds to me like a medical condition, which can be diagnosed by a doctor and treated with a prescription treatment. A multi-million pound market with saturation peak time advertising is hardly aimed at this kind of medical market.
Another one of these things that really hacks me off is over-the-counter symptom suppressors like Lemsip. You've got an infection and your body is fighting it off. What you should do is drink this sweet powder which will reduce your body's defenses to the infection (like a high temperature) and give you the illusion that you're better. This will in all likelihood make you ill for longer. That will be £5 please.
This is a general trend where you can get the consumer to cough up cash to make themselves feel better about how generally unhealthy they are.
- Eaten one too many big-macs this week? Why not take our an annual subscription to the gym! We don't actually care if you don't come, as long as you pay.
- Had another night on the bevies? Why not drink some of this foul muck? It will pacify your conscience!
- Hopelessly overweight? It's not your fault! You must be one of the minute percentage of people who have a genuine obesity disorder, rather than because you're a lazy slob. Why not have your stomach stapled/pay for some other expensive surgery?
Being healthy is not complicated and hardly ever involves eating gimmicky probiotics. Just eat a balanced diet with plenty of fruit and vegetables and exercise regularly. Unfortunately, you can't sell any book/diet/fad food item with this advice, because for some people it involves genuine effort, rather than just effort-free financial outlay.
Giving people the skills to acquire skills is a nice idea and should certainly be the goal of a University course. Other people have already mentioned the distinction between a graduate who knows computer science and one who knows how to program. However, it may not be too common for employers to be aware of the importance of this meta-skill. Very few programming jobs beyond entry level will say "don't worry if you don't know this language as long as you would be able to learn it." Is engineering any different?
This is even more true for post-grads. A PhD usually trains you to be an independent thinker, self motivated and able to acquite new skills quickly but certainly in the UK, it's rare to find a corporate computing house that will take having a PhD as a proof of any of that.
- Different pitches - a swamp world where you can get eaten by things in the water; gadget world with tons more of those bouncing domes and other things; Moon world, where the gravity is lower.
- Different play options. Include the one from the original, but you could also play as first person.
- Online multiplayer. You could have your own team with your mates, playing a player each, or join in spontaneous games.
I would love to play this game, but it's the sort of thing that needs to be done by a big software house. You would need the finishing touches and variety of graphics that only big money can bring. Unless somebody wants to do the graphics for me and I'll write the code;)
Don't think you were getting special treatment because you were a girl. Unfortunately, stereotypes are based on truth and there are a lot of very arrogant tossers in CS. I spent my first undergraduate year in CS feeling extremely stupid because of the supercilious and condascending attitude of my peers and lecturers. The upside, as you point out, is that it makes you tough and gives you confidence in your abilities when you get through it.
One guy who lauded it over me in first year turned out not to be quite as good as he had boasted (one guy of many in this category) and got a worse degree than me. He went to work for a bank and actually said to me "oh, my company don't take people who get firsts because they obviously didn't have a social life."
I know I shouldn't allow this stuff to get to me, but the attitude of these multi-millionaire fat-cats who think that their poxy little business and the freedom for people to be as selfish as they want is somehow more important than the entire planet make me really pretty angry.
Actually, this is a more general problem with large scale modelling.
I work in Systems Biology - building in-silico models of whole physiological systems, such as the liver or the cochlea. One of the problems in this field is that models can be very large and complex, people use their favourite modelling tool (often to a high degree of expertise) supporting data is dense and diverse and both the model and the provenance information are rarely stored in a standardised format. A consequence of all this is that, as you point out, repeatability and reuse is pretty difficult, as is exploring the exact decisions behind a model.
One of the things I'm trying to do (along with a pile of colleagues, obviously) is build some software infrastructure to support standardised collation of supporting information, linking everything together exposing the whole lot on the web. This includes access to execution of the models themselves, so that even if you're not a level 12 smack-fu master of Matlab you can still run a model (to some degree) and try to interpret the results, with everything linked back into the database of supporting information.
I can provide URLs to our tools if individuals are interested, but it's a bit flaky for the full Slashdot treatment at the moment.
You might be surprised how little mind hardcore modelling people pay to this kind of methodological work. It's not very sexy. Many also think that letting even other researchers loose on their models can possibly be beneficial. We find this a bit worrying.
That's a bit harsh. Surely you must know people who are perfectly bright but have not done well because they have not had the right guidance. This is especially true in post-graduate work, where a poor supervisor can destroy the career of a promising grad-student by (in my experience) not giving them the supervision they need.
Yes, good students will sometimes overcome this, but that is surely not an excuse to tolerate poor teaching or poor supervision.
I quite agree. I know performance and features matter, but surely even the zealouts can start to realise that ease of use is just as important. There seems to be a prevailing attitude in some environments that if you can't get it to work you must be stupid. Man, that's annoying.
One of the measures I use a gauge a new tool is whether it behaves how I would expect *without tweaking* and without needing to refer to the documentation. The idea of thinking "if I do this, maybe it will just work".
This might sound like an ambitious criteria: expecting the developer to read your mind. However, with good tools it occurs more often than you might think. Two examples of this: Python, the language where you can often guess how the arguments to library functions work often without needing to look them up, and the editor NEdit, which just seems to always have its options, features and windows in the right place and behaving as I want them.
Of course, make sure the backend is sound as well, but this out-of-the-box usefulness will win you a lot of friends.
Oh, and in the documentation: examples. Loooots of examples.
"Can't print to your printer? Well who'd want to! And besides, it's not our problem, go talk to the printer people, or buy another printer, or write your own damn driver."
Amen to that, brother. I use an HP multifunction printer served by CUPS. It works whenever it feels like it sometimes just abandoning jobs halfway through or printing weird postscript error messages. When it does print it adds little lines above some characters.
The truly distressing thing is that it took me weeks to get it to this hopelessly broken state. The driver manual tells me to run some lunatic diagnostic ghostscript command with literally 15 command line arguments. Of course, it doesn't actually work on my system. The number of layers between me and my printer makes my head spin. Is it the hp driver? The postscript drivers (what are these anyway? Where is the manual that tells me?)? My cups client installation? The CUPS server installation??
How can they make this most basic operation so f***ing difficult?? However, as you say, CUPS has a zillion highly exciting and detailed features. It's just impossible to understand or set up, which is obviously of no importance to the developers.
Also, it fills up your history. If you scroll a lot and then hit "back", it just dicks about in the list of links you've just scrolled through. That alone is enough to make me never use it.
Peter
This is tangentially ontopic. Mod me to hell if you like.
> Don't be fooled, slashdot has many lying astroturfers fraudulently misrepresenting > company propaganda as third party opinion. FUD too.
For this to be true, somebody would have to be trying to influence somebody of importance and think that astroturfing Slashdot is the right way to do it. If so, these people would come from one of two categories:
(i) Fanatical Support: ("I love Apple! I worship my suite of Apple products every night!") which is possible, but you'd imagine that these weirdos would not be very convincing.
(ii) They're employees of the company. In this case, they'd have to be astroturfing either off their own bat (does anybody love their employers that much??) or being paid directly to astroturf.
In the most insidious of these categories, the "paid to astroturf" brigade, do those with the purse-strings *really* believe that Slashdot is inhabited by people who are influential enough to make it worth *paying somebody* to win them over?
In conclusion: your comment was very interesting, but you.sig sounds a bit like it might be from the tin-foil-hat category.
You're right, web applications are perhaps a poor example here, but there are many other applications that run on the average desktop that will now run faster if they can make use of a multi-core system. Somebody has to do the coding that will effect this change, and that coding will often be non-trivial.
Peter
As many slashdotters are in software development or something related, we should all be grateful that multi-core processors are becoming so prevalent, because it will mean more jobs for hard-core code-cutters.
The paradigm for using many types of software is pretty well established now, and many new software projects can be put together by bolting together existing tools. As a result of this, there has been a lot of hype about the use of high level application development like Ruby on Rails, where you don't need to have a lot of programming expertise to chuck together a web-facing database application.
However, all the layers of software beneath Ruby on Rails are based on single-threaded languages and libraries. To benefit from the advances of multi-core technology, all that stuff will have to be brought up to date and of course making a piece of code make good use of a number of processors is often a non-trivial exercise. In theory, it should mean many more jobs for us old-schoolers, who were building web/database apps when it took much more than 10 lines of code to do it...
Peter
In my view, any revolutionary new technology has to try to not to destroy the planet any more than we are already.
Widespread 3D printers will probably mean that we buy less pre-fabricated items from shops, which will reduce shipping. However I presume the energy efficiency (and whatever the equivalent of a toner cartridge for 3D) will be a lot worse per unit for a home printer than a mass production unit. What about waste products? Will this encourage the throwaway society even further?
It also reminds me of this:
http://www.youtube.com/watch?v=kuGvPhglGEc
which might be a nice idea, but it's an enormous use of energy for something we can do perfectly well without a machine.
Peter
You're mistaking "God" for "Gödel".
Peter
I should say that I didn't buy or install this box. It was bought for a biological research institution and the guy who made the purchasing decision chose it because it was Dell's recommended choice. RHEL3 may be ancient, but it came on a fairly new machine, bought in early 2006, so they were obviously still selling it.
It's fair enough that they focus on rock solid stability over new packages. However, it's a bit disappointing that my employers were still paying a support contract on this box but the package updates that were part of this contract were more than 3 years old.
I don't think it's too much to expect a little flexibility when you're paying for it.
Peter
My experience with RHEL was really not that good. We had an RHEL3 box which had a truly ancient version of Python installed - more than 2 years old. You couldn't force an upgrade, because packages could only be installed if fully compatible with that version of RHEL and that version of Python was the latest that was considered fully compatible. You couldn't do a major version upgrade to, say, RHEL4 without reinstalling the system. When I manually changed the version of Python by compiling it myself, it borked the package manager so it wouldn't get security updates anymore. I ended up with an old and a new version installed next to each other, which is fine, but I had to do all the work of getting them to coexist myself.
A similar story with PHP. To update from PHP4 to PHP5 was a good day of compiling and tweaking to make sure I could get it installed alongside a pukka packaged version of PHP4, thereby not upsetting the package system and invalidating our support.
I know their method is to restrict the versions to make it very well understood and easy to support. It just seems a bit pants to pay for a system that has less update capabilities than most of the free linuxes.
Peter
> A butterfly flaps it's wings in Asia , and the dow drop 400 points in the US... brilliant.
Of course, the usual moron response to this is to say "why don't we just kill all the butterflies in Asia?"
Peter
1. Computer switch-over is a bit slow
2. Market starts to waiver
3. Other parts of the market see this tremor so market waivers a lot
4. Panic ensues
5. Indices drop 10%
6. a pension company goes bust
7. my grandpa doesn't get to eat.
The last few steps are somewhat hypothetical, but still. The stock market must be one of the most immediately visible examples of chaos theory kicking humans in the nuts.
Peter
1st Amendment rights is one thing, but a variety of laws restrict freedom of speech if it slanders, intimidates or incites others. This is true in the real world and probably, as has already been pointed out, this applies even more in schools where you're trying to teach children to be responsible citizens.
That's the problem with trumpeting "freedom" as a great virtue. Too much freedom means that you would have to legalise a variety of evils such as child abuse and racial discrimination. Freedom to do something needs the proviso that it does not restrict the freedom of others, which is a bit more of a subtle concept.
Peter
I really hadn't intended to criticise people's use of any system. There is much to admire in Windows and Mac OS. I just mean that there aren't as many unpaid Mac or Windows developers who dedicate enormous amounts of their free time to writing software for the machine *just to make it more accessible to others*, such as device drivers.
A user who likes a product, such as yourself, is one level of dedication. Giving up your free time to horrendous documentation and piles of C/assembly code is another.
That said, I broadly agree with you on the subject of sanctimonious Linux users. Although I am not currently a Linux user myself, I apologise.
Peter
Whatever you might say about the Linux community - that it is elitist or sanctimonious or whatever - it is impossible to ignore their commitment to what they believe in. That somebody would be willing to write device drivers for nothing, apparently just to forward the cause of a free operating system, is pretty impressive. Microsoft and Apple can match this devotion only in the ferocity with which they defend their control over their customers, in anti-trust trials and by imposing DRM.
Peter
IBS sounds to me like a medical condition, which can be diagnosed by a doctor and treated with a prescription treatment. A multi-million pound market with saturation peak time advertising is hardly aimed at this kind of medical market.
Another one of these things that really hacks me off is over-the-counter symptom suppressors like Lemsip. You've got an infection and your body is fighting it off. What you should do is drink this sweet powder which will reduce your body's defenses to the infection (like a high temperature) and give you the illusion that you're better. This will in all likelihood make you ill for longer. That will be £5 please.
Peter
This is a general trend where you can get the consumer to cough up cash to make themselves feel better about how generally unhealthy they are.
- Eaten one too many big-macs this week? Why not take our an annual subscription to the gym! We don't actually care if you don't come, as long as you pay.
- Had another night on the bevies? Why not drink some of this foul muck? It will pacify your conscience!
- Hopelessly overweight? It's not your fault! You must be one of the minute percentage of people who have a genuine obesity disorder, rather than because you're a lazy slob. Why not have your stomach stapled/pay for some other expensive surgery?
Being healthy is not complicated and hardly ever involves eating gimmicky probiotics. Just eat a balanced diet with plenty of fruit and vegetables and exercise regularly. Unfortunately, you can't sell any book/diet/fad food item with this advice, because for some people it involves genuine effort, rather than just effort-free financial outlay.
Peter
Giving people the skills to acquire skills is a nice idea and should certainly be the goal of a University course. Other people have already mentioned the distinction between a graduate who knows computer science and one who knows how to program. However, it may not be too common for employers to be aware of the importance of this meta-skill. Very few programming jobs beyond entry level will say "don't worry if you don't know this language as long as you would be able to learn it." Is engineering any different?
This is even more true for post-grads. A PhD usually trains you to be an independent thinker, self motivated and able to acquite new skills quickly but certainly in the UK, it's rare to find a corporate computing house that will take having a PhD as a proof of any of that.
Peter
Oh, come on though. We need a *proper* sequel, not just the same game with slightly different graphics. I'm talking about:
;)
- Different races of player - think enormous trolls, flying fairies, monsters that can teleport.
- Power-ups - weapons, spells, remote controlled ball add-ons.
- Different pitches - a swamp world where you can get eaten by things in the water; gadget world with tons more of those bouncing domes and other things; Moon world, where the gravity is lower.
- Different play options. Include the one from the original, but you could also play as first person.
- Online multiplayer. You could have your own team with your mates, playing a player each, or join in spontaneous games.
I would love to play this game, but it's the sort of thing that needs to be done by a big software house. You would need the finishing touches and variety of graphics that only big money can bring. Unless somebody wants to do the graphics for me and I'll write the code
Peter
Don't think you were getting special treatment because you were a girl. Unfortunately, stereotypes are based on truth and there are a lot of very arrogant tossers in CS. I spent my first undergraduate year in CS feeling extremely stupid because of the supercilious and condascending attitude of my peers and lecturers. The upside, as you point out, is that it makes you tough and gives you confidence in your abilities when you get through it.
One guy who lauded it over me in first year turned out not to be quite as good as he had boasted (one guy of many in this category) and got a worse degree than me. He went to work for a bank and actually said to me "oh, my company don't take people who get firsts because they obviously didn't have a social life."
Peter
Like the man says
I know I shouldn't allow this stuff to get to me, but the attitude of these multi-millionaire fat-cats who think that their poxy little business and the freedom for people to be as selfish as they want is somehow more important than the entire planet make me really pretty angry.
Deep breath.
(slightly off topic)
Actually, this is a more general problem with large scale modelling.
I work in Systems Biology - building in-silico models of whole physiological systems, such as the liver or the cochlea. One of the problems in this field is that models can be very large and complex, people use their favourite modelling tool (often to a high degree of expertise) supporting data is dense and diverse and both the model and the provenance information are rarely stored in a standardised format. A consequence of all this is that, as you point out, repeatability and reuse is pretty difficult, as is exploring the exact decisions behind a model.
One of the things I'm trying to do (along with a pile of colleagues, obviously) is build some software infrastructure to support standardised collation of supporting information, linking everything together exposing the whole lot on the web. This includes access to execution of the models themselves, so that even if you're not a level 12 smack-fu master of Matlab you can still run a model (to some degree) and try to interpret the results, with everything linked back into the database of supporting information.
I can provide URLs to our tools if individuals are interested, but it's a bit flaky for the full Slashdot treatment at the moment.
You might be surprised how little mind hardcore modelling people pay to this kind of methodological work. It's not very sexy. Many also think that letting even other researchers loose on their models can possibly be beneficial. We find this a bit worrying.
Peter
That's a bit harsh. Surely you must know people who are perfectly bright but have not done well because they have not had the right guidance. This is especially true in post-graduate work, where a poor supervisor can destroy the career of a promising grad-student by (in my experience) not giving them the supervision they need.
Yes, good students will sometimes overcome this, but that is surely not an excuse to tolerate poor teaching or poor supervision.
Peter
I quite agree. I know performance and features matter, but surely even the zealouts can start to realise that ease of use is just as important. There seems to be a prevailing attitude in some environments that if you can't get it to work you must be stupid. Man, that's annoying.
One of the measures I use a gauge a new tool is whether it behaves how I would expect *without tweaking* and without needing to refer to the documentation. The idea of thinking "if I do this, maybe it will just work".
This might sound like an ambitious criteria: expecting the developer to read your mind. However, with good tools it occurs more often than you might think. Two examples of this: Python, the language where you can often guess how the arguments to library functions work often without needing to look them up, and the editor NEdit, which just seems to always have its options, features and windows in the right place and behaving as I want them.
Of course, make sure the backend is sound as well, but this out-of-the-box usefulness will win you a lot of friends.
Oh, and in the documentation: examples. Loooots of examples.
Peter
"Can't print to your printer? Well who'd want to! And besides, it's not our problem, go talk to the printer people, or buy another printer, or write your own damn driver."
Amen to that, brother. I use an HP multifunction printer served by CUPS. It works whenever it feels like it sometimes just abandoning jobs halfway through or printing weird postscript error messages. When it does print it adds little lines above some characters.
The truly distressing thing is that it took me weeks to get it to this hopelessly broken state. The driver manual tells me to run some lunatic diagnostic ghostscript command with literally 15 command line arguments. Of course, it doesn't actually work on my system. The number of layers between me and my printer makes my head spin. Is it the hp driver? The postscript drivers (what are these anyway? Where is the manual that tells me?)? My cups client installation? The CUPS server installation??
How can they make this most basic operation so f***ing difficult?? However, as you say, CUPS has a zillion highly exciting and detailed features. It's just impossible to understand or set up, which is obviously of no importance to the developers.
Sorry, irrelevant rant.
Peter
Also, it fills up your history. If you scroll a lot and then hit "back", it just dicks about in the list of links you've just scrolled through. That alone is enough to make me never use it. Peter
This is tangentially ontopic. Mod me to hell if you like.
.sig sounds a bit like it might be from the tin-foil-hat category.
> Don't be fooled, slashdot has many lying astroturfers fraudulently misrepresenting > company propaganda as third party opinion. FUD too.
For this to be true, somebody would have to be trying to influence somebody of importance and think that astroturfing Slashdot is the right way to do it. If so, these people would come from one of two categories:
(i) Fanatical Support: ("I love Apple! I worship my suite of Apple products every night!") which is possible, but you'd imagine that these weirdos would not be very convincing.
(ii) They're employees of the company. In this case, they'd have to be astroturfing either off their own bat (does anybody love their employers that much??) or being paid directly to astroturf.
In the most insidious of these categories, the "paid to astroturf" brigade, do those with the purse-strings *really* believe that Slashdot is inhabited by people who are influential enough to make it worth *paying somebody* to win them over?
In conclusion: your comment was very interesting, but you
Peter
Peter
We also wouldn't have that quality quote about bandwidth, one of the only things I remember (explicitly) from my undergraduate networking course:
"Never underestimate the bandwidth of a station wagon full of tapes hurtling down the highway".
Peter