Use a fairly comprehensible language like eg: python. Then teach not the whole language, but a useful subset. print(), for, if, raw_input() and range() are enough to get some simple starter programs going.
I used to like perl, I don't anymore, except for extremely transient glue code.
The goodness of perl: it allows you to design and express the success mode of a program in a clean, compact and, if you are any good, also readable form.
The badness of perl: it makes the task of mapping and trapping the potential failure modes of your program, pragmatically impossible. In particular this relates to "coverage": that for the full set of possible erroneous inputs, the program detects and cleanly handles the error. Loosely typed variables and various forms of DWIM cause a re-multiplication of complexity as each input passes through each operator. Bugs can of this sort can typically only be solved by trace logging, and there is no plausible way to be certain that none such remain.
Compare this to something like eg: ocaml, where there is absolutely no ambiguity about types, where the transformations applied to the input are deterministic for a given type, and where incomplete coverage is a syntax error.
What, you thought socialist tax-funded handouts were all for your altruistic good? And that companies dealing with the government don't see it as an endless money spigot, to be milked for every extra they can slip past the oversight?
Just write an extension to a standard login shell, and have it sitting on one of the virtual consoles. The extension being: it preemptively mallocs a bunch of memory, sets it as non-swappable, and then does its own memory management inside that fixed chunk of RAM. Use one of those rescue shells with all the simple commands like "ps" built in. Voila, emergency fallback recovery shell.
Seriously, how do you think the species managed to survive, nay, thrive, when up until quite recently, there was no government which regulated much of anything beyond weights-and-measures?
Obvious answer: most people are actually quite smart, and when they know they aren't, they go hire someone who is.
You should learn to treat adults as adults, leave children to parents, and let Darwin take care of the rest.
Sometimes, when a process goes haywire, it will start munching RAM. If important programs like, say, sshd or X, can't malloc when they need to, they'll die ignominiously. Swap gives you the chance to kill the rogue process before your OS goes kaput. Its slowness can actually help for this.
The telcos will have no easier a job monopolizing the IP phones, or the government tapping them, than the RIAA is having banning pirated music, and for exactly the same reasons. You can't tax air.
Which is hardly surprising given the amount of red tape, legal requirements, and tax and compliance costs imposed upon a business.
Big business exists as such for the same reason as assembly-line manufacturing: economies of scale. A big business can absorb costs and wastes-of-time that would drag down an individual.
In a freer market, many more people would prefer to be self-employed or freelance.
It has been said "communists love the poor and oppressed, they make so many of them". Likewise, it's ironic that anti-corporate socialists create the necessity for big corporations.
You tax or regulate a business, it is going to pass the cost on to one or more of the following:
- Workers, as a reduced "pay pool", maning fewer jobs or lower pay
- Shareholders, as dividend cuts (if it pays dividends at all)
- Capital, by liquidating assets or buying less new ones
- Customers, as price rises, quality decreases, less availability, etc
You can't tax "big business", because it's just an abstract standing-wave in a sea of human action and human wealth. Sooner or later, in the end, it's humans who get screwed. The "shareholders" are you, through your pensions and investments. The assets not being bought are the stuff you make and sell. It's you who'll be pushed onto the dole, or not hired. It's you who'll pay more, or get worse stuff, or less of it.
Seems to me that the telecom companies were just being honest. If you want cheaper bills, vote cuts in tax and red-tape.
Those mirror sites were created when dial-up was the best connectivity Joe Ordinary cold expect, and a few megs of hard disk to store stuff in. Nowadays they look like an anachronism to me. Serve your stuff from your multigigabyte broadband machine, put up a torrent, put it on sourceforge. There realy isn't any need for big mirrors.
Afterall, who now expects SCO's own brand Unix OS to make much money for them? Linux and Solaris have squeezed them out from above and below. If you have a major amount of money riding on SCOX, the only hope you have of recouping it is via the IP lawsuit.
Of course, you should also sack whatever ignorant chimp bought their shares to begin with...
With LyX, you get clean-looking output without having to tweak a ton of settings. It's very useful as a tool to get straight down to the business of composition, without worrying the output will look a mess.
...find a way to checksum, not merely the data, but the sound of a music file. Something conceptually similar to what a "soundex" is for text.
This has three immediate uses
1. Anti-garble for P2P 2. Detect accidental/incidental damage to sound quality 3. Classify music. Sort songs by their "musicex" and they'll be grouped by similarity
They used an assumption that always holds true. One way or another, a horizontal beer pitcher is empty. The other sensors have failure modes: locally bright light, beer sloshing away from the sensor, droplet left over on the sensor, apparent weight changes due to inertia, movement tripping the mercury switch.
"It's called key splitting or secret sharing. See Schneier, etc etc."... and it's overkill for the task. Just tell a few people one word each from your passphrase. Secret splitting is for when the actual thing split is confidential.
I live in the UK, surveillance-camera central. it isn't a big deal. Yet, I'm a libertarian and no friend of big brother. So, why relax? Because the cameras aren't networked, and aren't systematic. They're just a bunch of shops and town councils hooking up cameras, seperately on their own initiative. Sure the cops can ask for a tape after the fact. And if they happened to be taping, chances are the shopkeeper would cooperate. But there's no "ministry of truth" watching. "Big brother might request a videotape" doesn't have quite that same bite;-)
So then, two ways this car thing is evil. First, it's networked, or it could easily become so. Second, it's individually numbered. (The talk of replacing toll tickets implies this.) As a result this is far different from cameras. This is a system that could track your movements as individually as a biologist's radio collar. And it could do so either post-facto, assembling data points to plot your habits, or in realtime.
Not only do I not trust any government with that power, I think it's inherently corrupting. It would breed paranoia on both ends of the data pipe. The human mind, staring at data-scatter, can't help but derive patterns. Look at TV-snow, you'll see shapes. Look at people's movements, laid out for you as points on a map, you'll see conspiracies.
C is a bit of a straw man, really. Nobody uses it anymore for any reason but three: you can compile it anywhere, you can call it from anything, and you can bit-bash without the language getting underfoot. Performance wise, there's really no difference between C, C++, Ocaml, Ada...
If you want a non-straw-man, consider comparing to java. A very "imperative" design, but with fairly heavy bug protection, and capable of much abstraction.
You are criticizing Lisp's syntax and not its design. I don't like seeing long sequences of parentheses in code but it is a fine language.
Yes, precisely.
Functional languages (like Lisp or Haskell) are a compelling alternative.
I've not been much impressed with "pure functional" programming. It seems like a lot of hoop-jumping to no good end, and pretending the computer is something it's not. Real computers execute instructions in sequence, and all that fancy tail-recursion you wracked your brains to craft will compile down to a goto loop in assembler.
That's as seperate from "functional tricks", stuff that functional languages often have but isn't involved in their "functionalness". In which basket I include: functions as parameters, functions-that-return-functions, closures, mapping and folding, cons lists, etc. Perl does those, java can be made to, and they're useful.
...and I'd say your post validates my point, more than anything. What I'm talking about is the visual structure of code, which communicates information about the code's meaning. The appearance of the page, from a "right brain", artistic point of view. Imagine how your code might look like, to someone who was only able to read Chinese.
Perl has this in spades, and no accident, Larry Wall built it that way quite deliberately. In my experience, java has about as much as perl, C has slightly less (due to its comparatively minimalist syntax), and lisp has hardly any at all - it's just words and brackets.
Sure you can indent lisp and color it, but you can do that in java and perl, too. It doesn't close the gap.
When I see a screenful of lisp, I see words and brackets. I have to read in order to parse struture.
When I see a screenful of java, even a brief glance shows me what's going on. I can recognise a for-loop, a while with an Iterator, a method definition, a method call, an assignment. I can see the try and catch blocks. Before I mentally parse any of the words.
Lisp isn't code. Lisp is assembler for the Lisp VM, that somebody forgot to write a code parser on top of.
Use a fairly comprehensible language like eg: python. Then teach not the whole language, but a useful subset. print(), for, if, raw_input() and range() are enough to get some simple starter programs going.
It's called "isotopes".
For inventing operators that perl might actually have in version 7!
I used to like perl, I don't anymore, except for extremely transient glue code.
The goodness of perl: it allows you to design and express the success mode of a program in a clean, compact and, if you are any good, also readable form.
The badness of perl: it makes the task of mapping and trapping the potential failure modes of your program, pragmatically impossible. In particular this relates to "coverage": that for the full set of possible erroneous inputs, the program detects and cleanly handles the error. Loosely typed variables and various forms of DWIM cause a re-multiplication of complexity as each input passes through each operator. Bugs can of this sort can typically only be solved by trace logging, and there is no plausible way to be certain that none such remain.
Compare this to something like eg: ocaml, where there is absolutely no ambiguity about types, where the transformations applied to the input are deterministic for a given type, and where incomplete coverage is a syntax error.
Film at 11!
What, you thought socialist tax-funded handouts were all for your altruistic good? And that companies dealing with the government don't see it as an endless money spigot, to be milked for every extra they can slip past the oversight?
Heh, socialists are so naive.
Just write an extension to a standard login shell, and have it sitting on one of the virtual consoles. The extension being: it preemptively mallocs a bunch of memory, sets it as non-swappable, and then does its own memory management inside that fixed chunk of RAM. Use one of those rescue shells with all the simple commands like "ps" built in. Voila, emergency fallback recovery shell.
Seriously, how do you think the species managed to survive, nay, thrive, when up until quite recently, there was no government which regulated much of anything beyond weights-and-measures?
Obvious answer: most people are actually quite smart, and when they know they aren't, they go hire someone who is.
You should learn to treat adults as adults, leave children to parents, and let Darwin take care of the rest.
Sometimes, when a process goes haywire, it will start munching RAM. If important programs like, say, sshd or X, can't malloc when they need to, they'll die ignominiously. Swap gives you the chance to kill the rogue process before your OS goes kaput. Its slowness can actually help for this.
The telcos will have no easier a job monopolizing the IP phones, or the government tapping them, than the RIAA is having banning pirated music, and for exactly the same reasons. You can't tax air.
...a nice little menu option in mozilla saying "block flash from this server".
Big business exists as such for the same reason as assembly-line manufacturing: economies of scale. A big business can absorb costs and wastes-of-time that would drag down an individual.
In a freer market, many more people would prefer to be self-employed or freelance.
It has been said "communists love the poor and oppressed, they make so many of them". Likewise, it's ironic that anti-corporate socialists create the necessity for big corporations.
You tax or regulate a business, it is going to pass the cost on to one or more of the following:
- Workers, as a reduced "pay pool", maning fewer jobs or lower pay
- Shareholders, as dividend cuts (if it pays dividends at all)
- Capital, by liquidating assets or buying less new ones
- Customers, as price rises, quality decreases, less availability, etc
You can't tax "big business", because it's just an abstract standing-wave in a sea of human action and human wealth. Sooner or later, in the end, it's humans who get screwed. The "shareholders" are you, through your pensions and investments. The assets not being bought are the stuff you make and sell. It's you who'll be pushed onto the dole, or not hired. It's you who'll pay more, or get worse stuff, or less of it.
Seems to me that the telecom companies were just being honest. If you want cheaper bills, vote cuts in tax and red-tape.
Those mirror sites were created when dial-up was the best connectivity Joe Ordinary cold expect, and a few megs of hard disk to store stuff in. Nowadays they look like an anachronism to me. Serve your stuff from your multigigabyte broadband machine, put up a torrent, put it on sourceforge. There realy isn't any need for big mirrors.
Afterall, who now expects SCO's own brand Unix OS to make much money for them? Linux and Solaris have squeezed them out from above and below. If you have a major amount of money riding on SCOX, the only hope you have of recouping it is via the IP lawsuit.
Of course, you should also sack whatever ignorant chimp bought their shares to begin with...
With LyX, you get clean-looking output without having to tweak a ton of settings. It's very useful as a tool to get straight down to the business of composition, without worrying the output will look a mess.
...find a way to checksum, not merely the data, but the sound of a music file. Something conceptually similar to what a "soundex" is for text.
This has three immediate uses
1. Anti-garble for P2P
2. Detect accidental/incidental damage to sound quality
3. Classify music. Sort songs by their "musicex" and they'll be grouped by similarity
They used an assumption that always holds true. One way or another, a horizontal beer pitcher is empty. The other sensors have failure modes: locally bright light, beer sloshing away from the sensor, droplet left over on the sensor, apparent weight changes due to inertia, movement tripping the mercury switch.
"It's called key splitting or secret sharing. See Schneier, etc etc." ... and it's overkill for the task. Just tell a few people one word each from your passphrase. Secret splitting is for when the actual thing split is confidential.
I live in the UK, surveillance-camera central. it isn't a big deal. Yet, I'm a libertarian and no friend of big brother. So, why relax? Because the cameras aren't networked, and aren't systematic. They're just a bunch of shops and town councils hooking up cameras, seperately on their own initiative. Sure the cops can ask for a tape after the fact. And if they happened to be taping, chances are the shopkeeper would cooperate. But there's no "ministry of truth" watching. "Big brother might request a videotape" doesn't have quite that same bite ;-)
So then, two ways this car thing is evil. First, it's networked, or it could easily become so. Second, it's individually numbered. (The talk of replacing toll tickets implies this.) As a result this is far different from cameras. This is a system that could track your movements as individually as a biologist's radio collar. And it could do so either post-facto, assembling data points to plot your habits, or in realtime.
Not only do I not trust any government with that power, I think it's inherently corrupting. It would breed paranoia on both ends of the data pipe. The human mind, staring at data-scatter, can't help but derive patterns. Look at TV-snow, you'll see shapes. Look at people's movements, laid out for you as points on a map, you'll see conspiracies.
91 ca c1 9a ea a5 5?
4D 61 6B 65 20 73 65 6E 73 65 20 64 61 6D 6D 69 74 21 00
C is a bit of a straw man, really. Nobody uses it anymore for any reason but three: you can compile it anywhere, you can call it from anything, and you can bit-bash without the language getting underfoot. Performance wise, there's really no difference between C, C++, Ocaml, Ada...
If you want a non-straw-man, consider comparing to java. A very "imperative" design, but with fairly heavy bug protection, and capable of much abstraction.
That's as seperate from "functional tricks", stuff that functional languages often have but isn't involved in their "functionalness". In which basket I include: functions as parameters, functions-that-return-functions, closures, mapping and folding, cons lists, etc. Perl does those, java can be made to, and they're useful.
...and I'd say your post validates my point, more than anything. What I'm talking about is the visual structure of code, which communicates information about the code's meaning. The appearance of the page, from a "right brain", artistic point of view. Imagine how your code might look like, to someone who was only able to read Chinese.
Perl has this in spades, and no accident, Larry Wall built it that way quite deliberately. In my experience, java has about as much as perl, C has slightly less (due to its comparatively minimalist syntax), and lisp has hardly any at all - it's just words and brackets.
Sure you can indent lisp and color it, but you can do that in java and perl, too. It doesn't close the gap.
...that you're blaming poor UI design and slipshod coding on the language.
When I see a screenful of lisp, I see words and brackets. I have to read in order to parse struture.
When I see a screenful of java, even a brief glance shows me what's going on. I can recognise a for-loop, a while with an Iterator, a method definition, a method call, an assignment. I can see the try and catch blocks. Before I mentally parse any of the words.
Lisp isn't code. Lisp is assembler for the Lisp VM, that somebody forgot to write a code parser on top of.