Totally contrived example: imagine you want to count the number of upper case characters in a large string. You could zip through it in a loop in a single thread. But that would only use a single CPU on a single node. Instead, break it into a thousand parts and create concurrent jobs to compute the number of upper case characters in each one, then sum them all together at the end. Doing that would take some serious thought to do correctly using threads, and it would be very inefficient. These new concurrent languages are built with primitives that allow you to do this kind of thing quickly and safely and in a scalable way to boot.
Not a great example for a single machine. Easy to do something like that with pthreads/windows threads/fork/whatever (fork a zillion threads for your string, pass them the string pointer, their start and their end. Each calculates its sum for its portion of the string, write that value to memory (sum[i]). Parent waits for all threads to finish, then adds the sums). What does Axum add? Maybe if it makes network concurrency easier then it's useful, but I'm sure there are APIs for that?
Note: I haven't done a massive amount of parallel computing.
Because counting votes can be done by a computer and therefore should be done by a computer (saving time, money, effort). I don't know what the technical problem is but there's no way online voting is this complex. If we can put satelliltes in orbit we should have 'online voting'.
This is a "bug". Under recent POSIX revisions this is now considered incorrect behaviour (something about trying to follow "/." and "/.."):
Any reference for this? It's not mentioned in your link. It doesn't make sense to me as 'rm -rf bleah' doesn't try and recurse into bleah/. or bleah/.. (the parent).
Yeah, we more or less do. I certainly go through more keyboards than I do computers. With the amount of junk keyboards out there including a new keyboard with every new computer makes sense to me.
I can't see anything that looks very Gnome-y, except for 'ooqstart', which uses glib (and nothing else Gnome-y).
So, without downloading the source, I guess it's either doing it all itself in Xlib or Xt, or those java libraries that it's linking are doing the drawing. Hmm.
Other things to experience: The Wasting Time On Slashdot Experience The Editing Text With EMACS Experience The Gracefully Restarting Apache Experience The GRUB Config File Editing Experience
But programming is/fun/. CS without programming is not fun. Getting a computer to do what you tell it is, I think, a real eye opener for young people. If you just teach them language X and some graphical API they can write their own programs! 'Look ma: I wrote my own notepad, isn't it cool?'
Teaching CS without programming is pointless. You need programming to apply what you learnt in CS. Without it you're not going to get all that you can out of CS - it's just a bunch of algorithms with no practical use. If you can play with the computer ('programming') you can design your own algorithms for things, see how they work, see what doesn't work: you can learn.
They're also unlikely to do socially inappropriate things in front of customers or do really stupid things with your hardware like yanking good drives on a production machine "to see if the RAID works".
Curious: What is the problem with testing the RAID like this? The first hit on google for 'testing if raid works' says 'pull the drive'. How can you have any confidence in your system if you're not willing to test it like this? If there are any problems better to iron them out when someone's on site and prepared for problems than when you least expect it (which is when it will probably fail anyway). Obviously you need backups as well, but that's a given.
Pedestrians are unpredictable and hard to avoid on a bicycle. If bicycles were confined to footpaths cyclists would have to slow to pedestrian speeds or else expect to crash multiple times a day.
echo "select * from huge_table" | cat > querry.sql; mysql -u user -p huge_db < querry.sql | grep value argh! echo 'select * from huge_table' | mysql -u user -p huge_db | grep value
Totally contrived example: imagine you want to count the number of upper case characters in a large string. You could zip through it in a loop in a single thread. But that would only use a single CPU on a single node. Instead, break it into a thousand parts and create concurrent jobs to compute the number of upper case characters in each one, then sum them all together at the end. Doing that would take some serious thought to do correctly using threads, and it would be very inefficient. These new concurrent languages are built with primitives that allow you to do this kind of thing quickly and safely and in a scalable way to boot.
Not a great example for a single machine. Easy to do something like that with pthreads/windows threads/fork/whatever (fork a zillion threads for your string, pass them the string pointer, their start and their end. Each calculates its sum for its portion of the string, write that value to memory (sum[i]). Parent waits for all threads to finish, then adds the sums). What does Axum add? Maybe if it makes network concurrency easier then it's useful, but I'm sure there are APIs for that?
Note: I haven't done a massive amount of parallel computing.
Because counting votes can be done by a computer and therefore should be done by a computer (saving time, money, effort). I don't know what the technical problem is but there's no way online voting is this complex. If we can put satelliltes in orbit we should have 'online voting'.
I don't see any difference between what you're saying and the grand-parent.
Occam's Razor says that the explanation of a phenomena should make as few assumptions as possible
the explanation of a phenomena = the (correct) answer
Any additional /unnecessary/ complexity is an 'assumption' so:
as few assumptions as possible = as simple as possible.
=> the (best) answer is as simple as possible
This is a "bug". Under recent POSIX revisions this is now considered incorrect behaviour (something about trying to follow "/." and "/.."):
Any reference for this? It's not mentioned in your link. It doesn't make sense to me as 'rm -rf bleah' doesn't try and recurse into bleah/. or bleah/.. (the parent).
Cisco are also GPL violaters. http://www.theregister.co.uk/2008/12/12/free_software_foundation_sues_cisco/
Yeah, we more or less do. I certainly go through more keyboards than I do computers. With the amount of junk keyboards out there including a new keyboard with every new computer makes sense to me.
getopt_long also matches unambiguous options given the first few chars, so you might be able to do:
attack --w torpedo --cou 2 --coo 42394799879x3179478912
thus sinking their battleship
Hmm, don't know about this.
This page claims it only needs GTK for the optional 'crash reporter'.
On my system (Debian Etch) if I do the following:
find /usr/lib/openoffice -type f -perm +ugo+x -exec bash -c 'file {} | grep -q 64-bit && echo {}' \; | xargs ldd | less
I can't see anything that looks very Gnome-y, except for 'ooqstart', which uses glib (and nothing else Gnome-y).
So, without downloading the source, I guess it's either doing it all itself in Xlib or Xt, or those java libraries that it's linking are doing the drawing. Hmm.
Good stuff, university being used for what it's there for - education. I'm sure that guy won't ever make that mistake again.
Download experience? Jesus
Other things to experience:
The Wasting Time On Slashdot Experience
The Editing Text With EMACS Experience
The Gracefully Restarting Apache Experience
The GRUB Config File Editing Experience
But programming is /fun/. CS without programming is not fun. Getting a computer to do what you tell it is, I think, a real eye opener for young people. If you just teach them language X and some graphical API they can write their own programs! 'Look ma: I wrote my own notepad, isn't it cool?'
Teaching CS without programming is pointless. You need programming to apply what you learnt in CS. Without it you're not going to get all that you can out of CS - it's just a bunch of algorithms with no practical use. If you can play with the computer ('programming') you can design your own algorithms for things, see how they work, see what doesn't work: you can learn.
you left out 'mkswap swapfile'
They're also unlikely to do socially inappropriate things in front of customers or do really stupid things with your hardware like yanking good drives on a production machine "to see if the RAID works".
Curious: What is the problem with testing the RAID like this? The first hit on google for 'testing if raid works' says 'pull the drive'. How can you have any confidence in your system if you're not willing to test it like this? If there are any problems better to iron them out when someone's on site and prepared for problems than when you least expect it (which is when it will probably fail anyway). Obviously you need backups as well, but that's a given.
Pedestrians are unpredictable and hard to avoid on a bicycle. If bicycles were confined to footpaths cyclists would have to slow to pedestrian speeds or else expect to crash multiple times a day.
A bicycles place is on the road.
echo "select * from huge_table" | cat > querry.sql; mysql -u user -p huge_db < querry.sql | grep value
argh!
echo 'select * from huge_table' | mysql -u user -p huge_db | grep value
much better